![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#11
|
|
Добрый вечер уважаемые!
Возникла задача - ведение Log_a, вроде бы просто: Код:
procedure TForm1.AddLog(LogString, LogFileName: string);
var
F: TFileStream;
PStr: PChar;
LengthLogString: integer;
begin
LengthLogString := Length(LogString) + 2;
LogString := LogString + #13#10;
PStr := StrAlloc(LengthLogString + 1);
StrPCopy(PStr, LogString);
if FileExists(LogFileName) then
F := TFileStream.Create(LogFileName, fmOpenWrite)
else
F := TFileStream.Create(LogFileName, fmCreate);
F.Position := F.Size;
F.Write(PStr^, LengthLogString);
StrDispose(PStr);
F.Free;
end;
AddLog((DateToStr(Date)+' '+TimeToStr(Time))+' '+'...Test...' ,extractfilepath(application.exename) + 'Log.log');
Код:
function TForm1.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;
WriteLog(ExtractFilePath(Application.ExeName) +'MyLog.log','...Test...',50)
Попробовал JVCL_log - но увы размер в оперативке (при свернутой в трей программе) - через 20 минут работы приводит к экцепшену. Прошу совета - либо кусок кода, либо ссылку на ПРОВЕРЕННЫЙ компонент. Заранее спасибо.
__________________
У победы много отцов, поражение всегда сирота. Последний раз редактировалось hack; 07.11.2008 в 23:28.. |
|
|
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Сетевые компоненты | frostmourne | Delphi | 9 | 07.02.2011 11:30 |
| Бесплатные компоненты | Gerasoft | Компоненты | 16 | 17.03.2009 14:04 |
| Компоненты | ErrorMs | Компоненты | 708 | 25.12.2007 17:00 |
|
|