![]() |
Re: Zeilenanzahl bei name.log Datei begrenzen
Wenn die Delphiversion Class-Helper unterstützt, dann ginge sowas, für alle Nachfahren von TStrings:
Delphi-Quellcode:
z.B. maximal 1000 Zeilen:
Type TStringsAddHelper = Class Helper for TStrings
Function TruncedAdd(Const S: String; MaxLines: Integer): Integer; End; Function TStringsAddHelper.TruncedAdd(Const S: String; MaxLines: Integer): Integer; Begin If MaxLines > 0 Then While Count >= MaxLines do Delete(0); Result := Add(S); End;
Delphi-Quellcode:
SL := TStringList.Create;
SL.TruncedAdd('string', 1000); // oder Memo1.Lines.TruncedAdd('string', 1000); |
Re: Zeilenanzahl bei name.log Datei begrenzen
Also LogFile ist vorgegeben als TLogFile. Da hab ich auch nicht die Wahl daraus ne StringList zu machen.
Wie lösche ich also eine Zeile aus nem TLogFile? |
Re: Zeilenanzahl bei name.log Datei begrenzen
Was ist denn TLogFile für eine Klasse? Mein D2007 kennt die zummindest nicht.
|
Re: Zeilenanzahl bei name.log Datei begrenzen
Was von meinem Vorgänger
Delphi-Quellcode:
type
TLogFile = class(TObject) private FFileName: String; FLogSize: Integer; FAppLog: Boolean; public constructor Create(FileName: string; LogSize: integer; AppLog: boolean); destructor Destroy; override; procedure AddLine(Line: string); property FileName: string read FFileName; end; |
Re: Zeilenanzahl bei name.log Datei begrenzen
Wo werden die Lines denn gespeichert ? Also ich kann kein Array / keine Liste / oder sonstiges im Private Bereich sehen...
MfG |
Re: Zeilenanzahl bei name.log Datei begrenzen
Das sind aber etwas zu wenig Infos, als dass man nun einen gescheiten Rat geben könnte. Vermutlich werden in der Klasse die Strings ja auch in einer Liste verwaltet, in dem Stück Code ist davon aber nichts zu sehen.
|
Re: Zeilenanzahl bei name.log Datei begrenzen
Delphi-Quellcode:
constructor TLogFile.Create(FileName: string; LogSize: integer;
AppLog: boolean); begin FFileName := FileName; FLogSize := LogSize; FAppLog := AppLog; end; procedure TLogFile.AddLine(Line: string); var F: TextFile; Zeile: String; begin FileMode := fmOpenReadWrite; AssignFile(F, FFileName); try Append(F); except Rewrite(F); end; Zeile := FormatDateTime('c.zzz - ', Now)+Line; WriteLn(F, Zeile); CloseFile(F); end; |
Re: Zeilenanzahl bei name.log Datei begrenzen
Ahja, es wird also direkt in die Datei geschrieben. Aber Du könntest die AddLine-Methode ja dahingehend ändern, dass diese eine TStringlist verwendet.
|
Re: Zeilenanzahl bei name.log Datei begrenzen
Und dann? Hab ich überall Fehlermeldungen, weil die Uni Logfile.pas von vielen anderen Units benutzt wird..
|
Re: Zeilenanzahl bei name.log Datei begrenzen
Zitat:
Zitat:
Gruß, Christoph |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz