Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Timer offline laufen (https://www.delphipraxis.net/162305-timer-offline-laufen.html)

chiller4fun1990 16. Aug 2011 23:14

Timer offline laufen
 
Hallo
Habe folgenden Code:

Delphi-Quellcode:
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.
Nur wieso stoppt der Countdown nach ablauf der Zeit nicht sondern fängt von neu an?
lg

Luckie 16. Aug 2011 23:23

AW: Timer offline laufen
 
Hier ist der Anfang: http://www.delphi-forum.de/viewtopic...er=asc&start=0

Und ich würde dir empfehlen deinen Quellcode mal ordentlich zu formatieren, dann sieht man eventuell auch die Fehler.

FaTaLGuiLLoTiNe 16. Aug 2011 23:28

AW: Timer offline laufen
 
Bevor sich irgendjemand hier bemüht, auf den Beitrag zu antworten, empfehle ich die Lektüre dieses Threads aus dem Delphi-Forum.

Könnte einiges an Zeit und Nerven sparen...

//edit: arrrrr!

ehX 16. Aug 2011 23:41

AW: Timer offline laufen
 
:lol::lol:

chiller4fun1990 16. Aug 2011 23:48

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

chiller4fun1990 17. Aug 2011 00:09

AW: Timer offline laufen
 
Kann mir den keiner Helfen???

chiller4fun1990 17. Aug 2011 00:25

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?

Uwe Raabe 17. Aug 2011 00:27

AW: Timer offline laufen
 
Delphi-Quellcode:
Zielzeit := now + 1;
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.

chiller4fun1990 17. Aug 2011 00:29

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

Sir Rufo 17. Aug 2011 01:29

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.
Seite 1 von 7  1 23     Letzte »    

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