Zitat von
TStringlist:
Hi, du könntest dafür auch das Gleichheitszeichen nehmen. Und zwar dann, wenn du im NOW die darin enthaltenen Millisekunden jedesmal auf Null zurückstellst:
if DateTimePicker1.Time = RecodeMilliSecond(Now, 0) then ...
Dieser Code funktioniert bei mir irgendwie nicht, da er RecodeMilliSecond nicht erkennt.
Zitat von
himitsu:
Es wird wohl einfach nur so sein, das die Diverenz größer als 0,00001 ist.
Speicher einfach, ob der Code schon ausgeführt wurde
Delphi-Quellcode:
Var ausgefuehrt: Boolean;
procedure Tfrme_ausschalten.Timer1Timer(Sender: TObject);
begin
If (DateTimePicker1.Time < now) and not ausgefuehrt then
begin
ausgefuehrt := True;
//hier der code der ausgeführt wird
end;
end;
// ausgefuehrt muß natürlich vorher FALSE sein
oder schalte einfach den Timer aus
Delphi-Quellcode:
procedure Tfrme_ausschalten.Timer1Timer(Sender: TObject);
begin
If DateTimePicker1.Time < now then
begin
Timer1.Enabled := False;
//hier der code der ausgeführt wird
end;
end;
Geht leider auch nicht, ausschalten kann ich ja sowieso, aber er vergleicht ja nicht richtig.
Bei diesem code ist immer jenachdem nach oben oder unten offen.
Auch wenn ich die Diverenz grösser mache, funktioniert es nicht.
Zitat von
marabu:
Hallo Pascal,
in Now ist auch der aktuelle Tag enthalten, darum würde ich den Vergleich so ausführen:
if DateTimePicker.Time < Frac(Now) then ...
Grüße vom marabu
Und bei diesem Code passiert irgendwie auch wieder nichts.
Liegt das wirklich an mir?
Kann mir mal jemand sagen was ich falsch mache?
greez headi