Thema: Delphi Probleme mit Now()

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Probleme mit Now()

  Alt 15. Mai 2009, 14:53
Zitat von Sphinx2k:
Eine andere Now Funktion gibt es nicht wie evtl. Probleme verursachen könnte.
Nun, als Programmierer hat man manchmal Tomaten auf den Augen.
Du musst dir also erst einmal selbst beweisen,
dass du mit der Aussage "Eine andere Now Funktion gibt es nicht" Recht hast.
Zwei Möglichkeiten:
1.) Bei gedrückter Strg-Taste im Sourcecode auf das Wort Now klicken.
Nun müsste sich die Unit SysUtils öffnen und zur Deklaration der Funktion springen.
Das klappt nur ab Delphi Prof. und höher; also wenn der VCL Sourcecode vorhanden ist
2.) angeben, dass die Unit SysUtils verwendet werden soll:
Delphi-Quellcode:
var Jetzt: TDateTime;
begin
  Jetzt:=SysUtils.Now();
Du kannst dich darauf verlassen, dass SysUtils.Now fehlerfrei funktioniert.

Im nächsten Schritt beweisst du dir selbst, dass sich die Uhrzeit ändert:
Delphi-Quellcode:
var Jetzt: TDateTime;
begin
  Jetzt:=SysUtils.Now();
  ShowMessage(DateTimeToStr(Jetzt));
Du wirst sehen, dass die Uhrzeit richtig ist.
Dann nimmst du die Verbesserung aus Beitrag #3 und lässt dir den Dateinamen vorher anzeigen:
Delphi-Quellcode:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
  DName: String;
  Jetzt: TDateTime;
begin
  if OpenPictureDialog1.Execute() then
  begin
    Jetzt:=SysUtils.Now();
    DName := Format('%s%s%s',['temp\',FormatDateTime('yyyymmddhhnnsszzz', Jetzt),'.jpg']);
    DateiNeuPfad:=ExtractFilePath(Application.ExeName)+DName;
    ShowMessage(DateiNeuPfad); // <====== zum Testen anzeigen
    Copyfile(PCHAR(OpenPictureDialog1.FileName), PCHAR(DateiNeuPfad), false);
  end;
end;
  Mit Zitat antworten Zitat