Главная страница
    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.46 MB
Время: 0.04 c
14-1089198887
infom
2004-07-07 15:14
2004.07.25
Я вот пользуюсь клиентом DMClient от nikkie


14-1089287372
Igorek
2004-07-08 15:49
2004.07.25
LMD or not LMD? - that is the question


14-1088768820
Dmitriy O.
2004-07-02 15:47
2004.07.25
Не могу установить RxLib на XP !


1-1089751091
Pation
2004-07-14 00:38
2004.07.25
TreeView


14-1089362941
Junior
2004-07-09 12:49
2004.07.25
как сделать задергку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский