![]() |
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:
Liegt bestimmt daran, das ich den Code aus einer Combobox auslese und deshalb nicht mehr rückwärts läuft.
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; Kann mir vielleicht jemand bei dem Problem helfen? Habe schon alles probiert! :love: Danke UC |
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:
...:cat:...
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; |
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 |
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:... |
Re: Counter zählt nicht
Hallo,
falls es auch ohne Timer sein darf:
Delphi-Quellcode:
Grüsse, Daniel :hi:
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; |
Re: Counter zählt nicht
:love: Danke Daniel funktioniert.
PS: Netter Spruch als Signatur :lol: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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