Показать сообщение отдельно
  #2  
Старый 10.09.2014, 19:21
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Наверное лучше так построить эту процедуру, заполнение патч-переменной fn предпочтительно выполнить всего один раз, напр. при создании формы - прога по-любому во время выполнения никуда не денется
Код:
var
 fn: string; 
...
procedure AddToLog(s: string);
var
 f: TextFile;
begin
 AssignFile(f, fn);
 if FileExists(fn) then Append(f) else Rewrite(f);
 Writeln(f, DateTimeToStr(Now) + s);
 if FileSize(f) > 100 then
  begin
   CloseFile(f);
   RenameFile(fn, ChangeFileExt(ExtractFileName(fn), '') +
   FormatDateTime('dd-mm-yyyy hh-nn-ss', Now) + '.txt');
  end else  CloseFile(f);
end;
в текстовом файле функция FileSize возвращает кол-во строк а не байтов, причём строкой считается кусок в 255 знаков, т.е. пока он не будет ими заполнен перехода на следующую строку не произойдёт, это нужно учитывать
Ответить с цитированием