![]() |
Timer offline laufen
Hallo
Habe folgenden Code:
Delphi-Quellcode:
Nur wieso stoppt der Countdown nach ablauf der Zeit nicht sondern fängt von neu an?
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IniFiles, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormActivate(Sender: TObject); private Zielzeit: TDateTime; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ini: TIniFile; filename: String; begin filename := ExtractFilePath(ParamStr(0)) + 'einstellungen.ini'; ini := TIniFile.Create(filename); Zielzeit := now + 1; try ini.WriteDateTime('Daten','Zielzeit',Zielzeit); finally ini.Free; end; Timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption:= TimeToStr(zielzeit - now); if now >= Zielzeit then begin Showmessage('Klappt'); Timer1.enabled:=false; end; end; procedure TForm1.FormActivate(Sender: TObject); var ini: TIniFile; filename: String; begin filename := ExtractFilePath(ParamStr(0)) + 'einstellungen.ini'; ini := TIniFile.Create(filename); Zielzeit:=StrtoDateTime(ini.ReadString('Daten','Zielzeit','')); end; end. lg |
AW: Timer offline laufen
Hier ist der Anfang:
![]() Und ich würde dir empfehlen deinen Quellcode mal ordentlich zu formatieren, dann sieht man eventuell auch die Fehler. |
AW: Timer offline laufen
Bevor sich irgendjemand hier bemüht, auf den Beitrag zu antworten, empfehle ich die Lektüre
![]() Könnte einiges an Zeit und Nerven sparen... //edit: arrrrr! |
AW: Timer offline laufen
:lol::lol:
|
AW: Timer offline laufen
@Luckie
Den anfang hab ich ja schon Muss nur noch in OnActivate von Hauptformular die Zielzeit auslesen. Nur wenn ich den Button klick läuft die Zeit runter das passt alles soweit nur das der Timer bei Ablauf der Zeit nicht aufhört zu laufen sondern bei 23:59:59 wieder anfängt. lg |
AW: Timer offline laufen
Kann mir den keiner Helfen???
|
AW: Timer offline laufen
Wenn ich im OnActivate die Zielzeit auslese und den Timer starten lasse,
läuft die Zeit. Allerdings glaub ich das sobald die zeit abgelaufen ist das OnActivate Event neu ausgeführt wird und somit eine endlos schleife wird. Wie kann ich das verhindern? |
AW: Timer offline laufen
Delphi-Quellcode:
setzt die Zielzeit auf einen Tag nach jetzt. Ist das wirklich, was du willst? Wenn ja, musst du ca. 24 Stunden warten, bis die Zielzeit erreicht ist.
Zielzeit := now + 1;
|
AW: Timer offline laufen
@Uwe
Ja das ist schon richtig mit 24Stunden. Zum testen kann ich ja in der Ini das Gespeicherte Datum ändern. Allerdings hört der Countdown nicht auf zum rennen. lg |
AW: Timer offline laufen
In FormActivate ist ein Speicherleck, das solltest du auf jeden Fall mal schließen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz