Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.039 c
4-1087048881
kalmykovser
2004-06-12 18:01
2004.07.25
как узнать HICON ?


14-1088972995
Khabibulin
2004-07-05 00:29
2004.07.25
BIOS


1-1089500958
Satan
2004-07-11 03:09
2004.07.25
Как вытащить из письма в Outlook вложеные изображения?


14-1089300094
СатирЪ
2004-07-08 19:21
2004.07.25
Proxies.dcu


3-1087971632
Lukin
2004-06-23 10:20
2004.07.25
Ошибка чтени/записи BLOB поля