Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Zeitversetzt senden (https://www.delphipraxis.net/126030-zeitversetzt-senden.html)

Thomas F 16. Dez 2008 16:16


Zeitversetzt senden
 
Wie kann ich eine Email zeitversetzt senden.

Das normale Versenden mit Button.Onclick hab ich schon fertig und es funktioniert auch,

müßte nur noch , vermutlich mit TTimer , eine Zeit einstellen und dann verschicken.

z.B in 15 Minuten oder 21:00 Uhr

Matze 16. Dez 2008 16:19

Re: Zeitversetzt senden
 
Hi,

wo ist nun dein Problem? Wenn du das Timer-Intervall auf 1000 ms setzt, kannst du eine Variable hochzählen lassen und nach x Sekunden eine Aktion ausführen. Die DateTime-Funktionen kannst du zum Vergleichen mit der Systemzeit verwenden.

Grüße, Matze

Thomas F 16. Dez 2008 16:30

Re: Zeitversetzt senden
 
Zitat:

Zitat von Matze
Hi,

wo ist nun dein Problem? Wenn du das Timer-Intervall auf 1000 ms setzt, kannst du eine Variable hochzählen lassen und nach x Sekunden eine Aktion ausführen. Die DateTime-Funktionen kannst du zum Vergleichen mit der Systemzeit verwenden.

Grüße, Matze

Die Differenz aus Systemzeit und Versende_Zeit ermitteln, und dann mit dem Timer hochzählen.

DeddyH 16. Dez 2008 16:35

Re: Zeitversetzt senden
 
In 15 Minuten -> Timer.Interval := 15000, zu einer bestimmten Uhrzeit könntest Du im Timer die aktuelle Zeit pollen und vergleichen (natürlich mit einer gewissen Toleranz).

Noedel 16. Dez 2008 16:46

Re: Zeitversetzt senden
 
DeddyH
dir ist aber schon bewusst, dass 15.000 Millisekunden 15 Sekunden sind, oder ? :D
Wenn dann 900.000 ms ;)

DeddyH 16. Dez 2008 16:47

Re: Zeitversetzt senden
 
:oops: klar

Thomas F 16. Dez 2008 16:54

Re: Zeitversetzt senden
 
Zitat:

Zitat von DeddyH
In 15 Minuten -> Timer.Interval := 15000, zu einer bestimmten Uhrzeit könntest Du im Timer die aktuelle Zeit pollen und vergleichen (natürlich mit einer gewissen Toleranz).

Delphi-Quellcode:
procedure TForm1.Zeitversetzt_Senden;
var Systemzeit,Systemzeit_Datum,Versende_Zeit_Datum,Versende_Zeit,Differenz:TDatetime;
begin
Systemzeit:=Time;
Systemzeit_Datum:=Date;
Versende_Zeit:= Datetimepicker2.Time;
Versende_Zeit_Datum:=Datetimepicker1.Date;
If  Systemzeit_Datum = Versende_Zeit_Datum then
Differenz:= Versende_Zeit - Systemzeit;
end;
aber wie rechnet man die Differenz in Timer1.Intervall um , wenn Timer1.Intervall:=1000 ist ?????

DeddyH 16. Dez 2008 16:56

Re: Zeitversetzt senden
 
Musst Du doch gar nicht. Wie schon beschrieben, merk Dir die "Startzeit" und schau im Timer nach, ob sie erreicht ist.

Thomas F 16. Dez 2008 17:05

Re: Zeitversetzt senden
 
Zitat:

Zitat von DeddyH
Musst Du doch gar nicht. Wie schon beschrieben, merk Dir die "Startzeit" und schau im Timer nach, ob sie erreicht ist.

Achso, jetzt hab ichs kapiert.....

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval:= 1000;
if Systemzeit = Versende_Zeit then
Zeitversetzt_Senden;

end;

DeddyH 16. Dez 2008 17:07

Re: Zeitversetzt senden
 
Das wird so wahrscheinlich nicht funktionieren, Du solltest auf größer oder gleich abfragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.
Seite 1 von 3  1 23      

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