![]() |
AW: Timer offline laufen
Zum Glück lesen noch andere lernwillige Benutzer mit und gerade die werden hier viel lernen, weil hier Vieles, zu Abwechslung, mal so richtig schön durchgekaut wird.
|
AW: Timer offline laufen
Genau, es geht nämlich auch anders, siehe z.B. hier:
![]() |
AW: Timer offline laufen
*push*
kann mir den keiner sagen wieso der Timer nach ablauf der Zeit wieder neustartet? lg |
AW: Timer offline laufen
Hallo...
Zitat:
Delphi-Quellcode:
oder
if now >= Zielzeit then
Delphi-Quellcode:
oder
if ini.ReadDateTime('Daten','Zielzeit',Zielzeit) < now then
Delphi-Quellcode:
... welche C&P Lösung im Einsatz ist. 8-)
Timer1.Enabled := Zielzeit > now;
|
AW: Timer offline laufen
Delphi-Quellcode:
Wo bitteschön sollte hier der Fehler sein?
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 FormCreate(Sender: TObject); // FormCreate ist die Lösung private { Private declarations } Zielzeit: TTime; function GetIniFilename: string; function ReadZeitwert: TDateTime; procedure WriteZeitwert(Zeit: TDateTime); public { Public declarations } property IniFilename: string read GetIniFilename; end; var Form1: TForm1; implementation {$R *.dfm} const SECTION = 'Daten'; IDENT = 'Zielzeit'; function TForm1.GetIniFilename: string; begin Result := ExtractFilePath(ParamStr(0)) + 'zeit.ini'; end; function TForm1.ReadZeitwert: TDateTime; var ini: TIniFile; begin ini := TIniFile.Create(IniFilename); try Result := ini.ReadDateTime(SECTION, IDENT, 0); finally ini.Free; end; end; procedure TForm1.WriteZeitwert(Zeit: TDateTime); var ini: TIniFile; begin ini := TIniFile.Create(IniFilename); try ini.WriteDateTime(SECTION, IDENT, Zeit); finally ini.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin Zielzeit := now + 1; WriteZeitwert(Zielzeit); Timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption:= TimeToStr(zielzeit - now); if now >= Zielzeit then begin Timer1.enabled:=false; end; end; procedure TForm1.FormCreate(Sender: TObject); // FormCreate verwenden begin Zielzeit := ReadZeitwert; Timer1.Enabled := Zielzeit > now; end; end. |
AW: Timer offline laufen
Ich kaue jetzt nicht nochmal die 6 Seiten durch. Es ist alles gesagt. :roll:
Setze Breakpoints und schaue dir die Werte an. (Zielzeit, Now) Dann überlege ! Es kann ja wohl nicht wahr sein, daß du seit Tagen die paar Quelltextzeilen nicht geregelt bekommst. Hilfe hattest du genug... :roll: |
AW: Timer offline laufen
Habs jetzt hinbekommen mit:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Zielzeit := (now + (1 / 60 / 60 / 24) * 86400); WriteZeitwert(Zielzeit); Timer1.Enabled:=true; end; |
AW: Timer offline laufen
Rechne mal mit dem Taschenrechner
Code:
nach. *Koppschüttel*
(1 / 60 / 60 / 24) * 86400
|
AW: Timer offline laufen
:cheer:
|
AW: Timer offline laufen
ja ich weis das da eins rauskommt allerdings klappt es so.
und wenn ich 1 genommen hätte, hat der Timer nach ablauf der Zeit von vorn begonnen. lg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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