Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Как дописать в конец текстового файла?   Найти похожие ветки 

 
jeon   (2004-07-08 18:04) [0]

Как дописать в конец текстового файла? Или в середину. Если можно с примером...


 
ssk ©   (2004-07-08 18:08) [1]

так все таки куда? конец и середина - это разные вещи. подход в свою очередь тоже будет разный.


 
Fay ©   (2004-07-08 18:11) [2]

createfile/setfilepointer/writefile+f1


 
pasha_golub ©   (2004-07-08 18:14) [3]

Дописать Append


 
clickmaker ©   (2004-07-08 18:16) [4]

StringList.LoadFromFile
StringList.Insert / Add
StringList.SaveToFile


 
MMF   (2004-07-08 18:29) [5]

var
 hFile: THandle;
 size, Len: DWORD;
 buf: PChar;
 str: string;
begin
 if Not(FUseServerLog) then Exit;
 //если лог-файл еще не создан - создадим его
 hFile:=CreateFile(PChar(FLogFileName),GENERIC_READ or GENERIC_WRITE, 0, nil,
                   OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL,0);
 if (hFile=INVALID_HANDLE_VALUE) then
   begin
     ShowErrMessage("Не удалось создать лог-файл");
     Exit;
   end;
 str:= FormatDateTime("hh:nn:ss:zzz", Now())+#$09;
 buf:= PChar(str+ EventStr + #$0d +#$0a);
 //дописываем в файл
 size:= GetFileSize(hFile, NIL);
 Len:= Length(Buf);
 try
   SetFilePointer(hFile, size + Len, nil, FILE_BEGIN);
   SetEndOfFile(hFile);
   SetFilePointer(hFile, size, nil, FILE_BEGIN);
   WriteFile(hFile, Buf^, Len, size, nil);
 finally
   CloseHandle(hFile);
 end;
end;


 
IceBeerg ©   (2004-07-08 18:30) [6]

В конец это Append
А в середину это Seek Trunc от FileSize/2


 
Fay ©   (2004-07-08 19:32) [7]

2IceBeerg ©   (08.07.04 18:30) [6]
div. Есть такое слово


 
wl   (2004-07-08 19:52) [8]

Чём только не пользуются для работы с файлами. F1 TFileStream


 
jeon   (2004-07-09 06:35) [9]

Спасибо большое...


 
Fay   (2004-07-09 08:18) [10]

2MMF   (08.07.04 18:29) [5]
Чего-то Вы страшное написали 8). Это делается чуть проще.

var
 h, n : DWORD;
 s : string;
begin
 h := CreateFile(PChar(FLogFileName), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_ALWAYS, 0, 0);
 if h = INVALID_HANDLE_VALUE then
   Application.MessageBox(PChar(SysErrorMessage(GetLastError)), "Еррор!!!", MB_OK or MB_ICONERROR)
 else
   try
     s := FormatDateTime("hh:nn:ss:zzz", Now()) + #09 + EventStr + #13#10;
     SetFilepointer(h, 0, nil, FILE_END);
     WriteFile(h, PChar(s)^, Length(s), n, nil);
   finally
     CloseHandle(h);
   end;
end;


 
MMF   (2004-07-09 10:42) [11]

Fay  (09.07.04 08:18) [10]
пасиба. Сложно написать легко, а просто и понятно - сложнее :-)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1088748804
so_well
2004-07-02 10:13
2004.07.25
база и Rave Reports


1-1089738629
Helper
2004-07-13 21:10
2004.07.25
Упаковка файлов компонентом Tzip


1-1089340636
Pavelkq
2004-07-09 06:37
2004.07.25
Удаление дубликатов с подсчетом повторов.


14-1088701331
DeadMeat
2004-07-01 21:02
2004.07.25
Письмо


1-1089478690
Delphi5.01
2004-07-10 20:58
2004.07.25
Prostoi vopros po povodu FileStream, CopyFrom! :-)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский