Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Logfile Speichern funktioniert nur bedingt... (https://www.delphipraxis.net/117934-logfile-speichern-funktioniert-nur-bedingt.html)

Chaosente 28. Jul 2008 16:42


Logfile Speichern funktioniert nur bedingt...
 
Also ich benutze folgenden code um mein Log zu speichern allerdings soll er am Ender der Datei weiterschreiben wenn noch der selbe Tag ist, tut er aber nciht ich weis nciht warum...

Delphi-Quellcode:
var
  LogFile: TextFile;
begin
Log.Lines.Add('---------------------------------------------------');
Log.Lines.Add('Log wird gespeichert: am '+DateTostr(date)+' um '+TimeStr+' Uhr.');
Log.Lines.Add('---------------------------------------------------');
if not DirectoryExists('data\log')
  then CreateDir('date\log');

  AssignFile(LogFile,'data\log\'+DateToStr(Date)+'.log');
  ReWrite(LogFile);
  Closefile(LogFile);
  append(LogFile);
  writeln(logfile, log.Text);
  closefile(logfile);

end;

nahpets 28. Jul 2008 17:04

Re: Logfile Speichern funktioniert nur bedingt...
 
ReWrite überschriebt eine bestehende Datei.

So sollte es gehen:

Delphi-Quellcode:
var
  LogFile: TextFile;
  sFileName : String;
begin
Log.Lines.Add('---------------------------------------------------');
Log.Lines.Add('Log wird gespeichert: am '+DateTostr(date)+' um '+TimeStr+' Uhr.');
Log.Lines.Add('---------------------------------------------------');
if not DirectoryExists('data\log')
  then CreateDir('date\log');
  sFileName := 'data\log\'+DateToStr(Date)+'.log';
  AssignFile(LogFile,sFileName);
  If FileExits(sFileName) Then append(LogFile) Else ReWrite(LogFile);
  writeln(logfile, log.Text);
  closefile(logfile);
end;

Chaosente 28. Jul 2008 17:09

Re: Logfile Speichern funktioniert nur bedingt...
 
Danke jetzt funktioniert es...

littleDave 28. Jul 2008 17:34

Re: Logfile Speichern funktioniert nur bedingt...
 
Mir ist gerade noch was aufgefallen:
Zitat:

Zitat von Chaosente
Delphi-Quellcode:
if not DirectoryExists('data\log')
  then CreateDir('date\log');

Zuerst schaust du, ob "data\log" existiert und legst gegebenenfalls "date\log" an. Das solltest du noch ausbessern

DeddyH 28. Jul 2008 17:41

Re: Logfile Speichern funktioniert nur bedingt...
 
Oder am Besten gleich Konstanten definieren (und natürlich auch verwenden), dann kann so etwas nicht passieren.

Luckie 28. Jul 2008 21:52

Re: Logfile Speichern funktioniert nur bedingt...
 
Und auch bitte nicht mi relativen Pfaden arbeiten, sondern mit absoluten.

turboPASCAL 29. Jul 2008 05:11

Re: Logfile Speichern funktioniert nur bedingt...
 
Zitat:

Zitat von Luckie
Und auch bitte nicht mi relativen Pfaden arbeiten, sondern mit absoluten.

Würde ich dir auch dringend raten. Das Verzeichnist wird sonst irgend wo erstellt.

b1zZ 29. Jul 2008 07:21

Re: Logfile Speichern funktioniert nur bedingt...
 
Delphi-Quellcode:
ForceDirectories(Pfad);
Kannst du gleich den kompletten Pfad anlegen sollte er nicht vorhanden sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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