![]() |
Logfunktion mit Datum und Uhrzeit
Hallo alle zusammen,
hier ist mal eine einfache Logfunktion.
Delphi-Quellcode:
bye
function StringMsgToFile(FileName: TFileName;
Msg: string; WithDateTime: Boolean = True): Boolean; const CR = #13; LF = #10; CRLF = CR + LF; var FileStream: TFileStream; begin Result := False; try // Versuch die existierende Datei zu öffnen FileStream := TFileStream.Create(FileName, fmOpenReadWrite or fmShareExclusive); except // Die Datei existiert nicht, eine neue öffnen FileStream := TFileStream.Create(FileName, fmCreate or fmShareExclusive); end; // an das Ende der Datei gehen (Append Modus) FileStream.Seek(0, soFromEnd); // CRLF an die Message anhängen Msg := MSg + CRLF; // Datum, Uhrzeit falls nötig einfügen if WithDateTime then begin Msg := FormatDateTime('ddd d. mmm. yyyy, hh:mm:ss: ', Now) + Msg; end; // Message schreiben try FileStream.Write(Pointer(Msg)^, Length(Msg)); finally // FileStream freigeben FileStream.Free; end; // und Status zurückgeben Result := True; end; [edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit] |
Re: eine einfache triviale Logfunktion mit Datum und Uhrzeit
Hallo alle zusammen,
hier noch eine zweite, korrigierte und geänderte Fassung nach den Anregungen von negaH.
Delphi-Quellcode:
bye
function StringMsgToFile(Msg: string;
WithDateTime: Boolean = True; FileName: TFileName = ''): Boolean; const OpenFlags: array[Boolean] of Integer = (fmCreate or fmShareExclusive, fmOpenReadWrite or fmShareExclusive); var FileStream: TFileStream; begin Result := False; if Trim(Filename) = '' then FileName := ChangeFileExt(ParamStr(0), '.log'); // Datei öffnen FileStream := TFileStream.Create(FileName, OpenFlags[FileExists(FileName)]); { Falls TFileStream.Create auf einen Fehler rennt, dann ist hier schon Schluß mit der Funktion. Es wird eine Standard Exception von TFileStream.Create ausgelöst. } try // an das Ende der Datei gehen (Append Modus) FileStream.Seek(0, soFromEnd); // CRLF an die Message anhängen Msg := Msg + CRLF; // Datum, Uhrzeit falls nötig einfügen if WithDateTime then Msg := FormatDateTime('ddd d. mmm. yyyy, hh:mm:ss: ', Now) + Msg; // Message schreiben FileStream.Write(PChar(Msg)^, Length(Msg)); finally // FileStream freigeben FileStream.Free; end; // und Status zurückgeben Result := True; end; |
Re: eine einfache triviale Logfunktion mit Datum und Uhrzeit
Hallo Claus,
Zitat:
Delphi-Quellcode:
const
CRLF = #13#10; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 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