Hallo
Ich habe folgenden Code beim Button klick:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| procedure TForm1.Button1Click(Sender: TObject); begin if ComboBox1.ItemIndex=0 then begin Showmessage('Bitte wähle eine Pflanze aus!'); end; if ComboBox1.ItemIndex=1 then begin Timer1.enabled:=true; Label4.visible:=true; Label5.visible:=true; Label3.visible:=true; Button1.Visible:=false; ct:=10; label4.caption:=inttostr(ct); end; if ComboBox1.ItemIndex=2 then begin Timer2.enabled:=true; Label4.visible:=true; Label3.visible:=true; Button1.Visible:=false; ct:=20; label4.caption:=inttostr(ct); end; if ComboBox1.ItemIndex=3 then begin Timer3.enabled:=true; Label4.visible:=true; Label3.visible:=true; Button1.Visible:=false; ct:=30; label4.caption:=inttostr(ct); end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin ct:=ct-1; label4.caption:=inttostr(ct); if ct=0 then timer1.enabled:=false; if ct=0 then Label4.caption:='Fertig'; if ct=0 then Button2.Visible:=true; end; |
Folgenden Code im Timer1:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Timer1Timer(Sender: TObject); begin ct:=ct-1; label4.caption:=inttostr(ct); if ct=0 then timer1.enabled:=false; if ct=0 then Label4.caption:='Fertig'; if ct=0 then Button2.Visible:=true; end; |
Wenn ich nun in der Combobox einen eintrag auswähle und auf Start klicke,
läuft die Zeit ab und es funktioniert bis auf eine Kleinigkeit.
Bei den ersten beiden Einträgen läuft die Zeit zu Schnell ab und Stoppt nicht bei 0,
sondern geht dann ins Minus nur beim letzten eintrag funzt es wie gewollt
wo liegt da der fehler?
lg