Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: eine einfache triviale Logfunktion mit Datum und Uhrzeit

  Alt 8. Aug 2003, 05:43
Hallo alle zusammen,
hier noch eine zweite, korrigierte und geänderte Fassung nach den Anregungen von negaH.
Delphi-Quellcode:
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;
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat