AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Logfunktion mit Datum und Uhrzeit

Ein Thema von Duffy · begonnen am 3. Aug 2003 · letzter Beitrag vom 13. Aug 2003
Antwort Antwort
Benutzerbild von Duffy
Duffy

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

Logfunktion mit Datum und Uhrzeit

  Alt 3. Aug 2003, 16:16
Hallo alle zusammen,
hier ist mal eine einfache Logfunktion.
Delphi-Quellcode:
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;
bye

[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]
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
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
Daniel B
(Gast)

n/a Beiträge
 
#3

Re: eine einfache triviale Logfunktion mit Datum und Uhrzeit

  Alt 13. Aug 2003, 16:44
Hallo Claus,
Zitat von Duffy:
Delphi-Quellcode:
const
  CR = #13;
  LF = #10;
  CRLF = CR + LF;
Das geht natürlich auch in einer Zeile:
Delphi-Quellcode:
const
  CRLF = #13#10;
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz