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;