Ограничение log-файла по количеству строк
Автор: VID
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Ограничение log-файла, по количеству строк
Функция добавляет в файл LogFileName строку Log.
Если файл LogFileName не существует, он будет создан.
В параметре StrLimit указывается ограничение на
количество строк в лог-файле. Функция возвращает
число строк в лог-файле (LogFileName)
Зависимости: sysutils, classes, system
Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала
Copyright: VID
Дата: 11 июня 2002 г.
***************************************************** }
function WriteLog(LogFileName, Log: string; StrLimit: Integer): Integer;
var
F: TextFile;
function CheckLogFile: Integer;
var
I, Diff: Integer;
FStr: TstringList;
begin
FStr := TStringList.Create;
FStr.LoadFromFile(LogFileName);
Diff := 0;
if FStr.Count > StrLimit then
begin
Diff := FStr.Count - StrLimit;
AssignFile(F, LogFileName);
Rewrite(F);
for I := Diff to FStr.Count - 1 do
WriteLn(F, FStr[i]);
CloseFile(F);
end;
Result := FStr.Count - Diff;
FStr.Free;
end;
begin
Result := 0;
if StrLimit < 1 then
Exit;
try
AssignFile(F, LogFileName);
if FileExists(LogFileName) then
Append(f)
else
Rewrite(F);
WriteLn(F, Log);
Closefile(f);
except Exit;
end;
Result := CheckLogFile;
end;
|