Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Counter zählt nicht (https://www.delphipraxis.net/6698-counter-zaehlt-nicht.html)

Uncle Cracker 18. Jul 2003 20:21


Counter zählt nicht
 
Warum funktioniert der Code nicht mehr?

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var Zeit:Integer;
begin
  Zeit:=StrToInt(ComboBox1.text);
  Zeit:=Zeit*60;
  dec(Zeit);
  case Zeit of
      0 : ExitWindowsEx(EWX_SHUTDOWN,0);
end;
   Label4.Caption := Format('%0.2d:%0.2d:%0.2d',[Zeit div 3600,Zeit div 60,Zeit mod 60]);
end;

Vorher sah er so aus:

Delphi-Quellcode:
var
  Zeit : integer = 3600; //60 x 60 Sekunden

procedure DoSomething;
begin
   Windows.Messagebox(0, 'Der Computer wird in 15 Minuten heruntergefahren!','ACHTUNG',
   MB_OK or MB_ICONINFORMATION);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  dec(Zeit);
  case Zeit of
    900 : DoSomething; //15 Minuten
      0 : ExitWindowsEx(EWX_SHUTDOWN,0);
end;
   Label1.Caption := Format('%0.2d:%0.2d:%0.2d',[Zeit div 3600,Zeit div 60,Zeit mod 60]);
end;
Liegt bestimmt daran, das ich den Code aus einer Combobox auslese und deshalb nicht mehr rückwärts läuft.

Kann mir vielleicht jemand bei dem Problem helfen? Habe schon alles probiert!


:love: Danke UC

sakura 18. Jul 2003 20:23

Re: Counter zählt nicht
 
1. Du erhöchst die Zeit, sofern diese größer 0 ist
2. Du ziehst immer wieder den Startwert aus der Combobox.

Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var Zeit:Integer;
begin
  [color=#ff0000]Zeit:=StrToInt(ComboBox1.text);
  Zeit:=Zeit*60;[/color]
  dec(Zeit);
  case Zeit of
      0 : ExitWindowsEx(EWX_SHUTDOWN,0);
end;
   Label4.Caption := Format('%0.2d:%0.2d:%0.2d',[Zeit div 3600,Zeit div 60,Zeit mod 60]);
end;
...:cat:...

Uncle Cracker 18. Jul 2003 20:36

Re: Counter zählt nicht
 
Danke sakura,

habe nochmal probiert, bekomme es aber trotzdem nicht hin.

Wie kann man den Counter nun zum laufen bringen?


:love: Danke UC

sakura 18. Jul 2003 20:39

Re: Counter zählt nicht
 
Du darfst die beiden roten Zeilen nur einmal ausführen - bei Programmstart oder wenn der User den Startbutton drückt - nicht jede Sekunde, wenn der Timer "vorbei kommt".

...:cat:...

Daniel B 18. Jul 2003 20:47

Re: Counter zählt nicht
 
Hallo,

falls es auch ohne Timer sein darf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 4 downto 0 do
  begin
    if i = 0 then
      ShowMessage('Blupp')
    else
    begin
      ShowMessage(IntToStr(i));
      Sleep(1000);
    end;
  end;
end;
Grüsse, Daniel :hi:

Uncle Cracker 18. Jul 2003 20:50

Re: Counter zählt nicht
 
:love: Danke Daniel funktioniert.



PS: Netter Spruch als Signatur :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.

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