![]() |
Timer1 restarten
Hey, ich hätte eine Frage:
Wie starten man den Timer neu. Ich möchte nicht das er den Befehl *****1.Visible:= False; nach 5000 ms anfägt zu bearbeiten, sondern das er es nach 1000 ms macht und danach restarten um *****2.Visible:= False; nach denselben 1000 ms zu bearbeiten. Ansonsten ist es so: Nach 5000/ bzw die 1000 ms die ich haben will,: *****1.Visible:= False; *****2.Visible:= False; werden zur selben Zeit bearbeitet. Ich möchte: *****1.Visible:= False; nach 1000ms Restart:Timer1 *****2.Visible:= False; nach weiteren 1000ms Mfg Ghost |
Re: Timer1 restarten
Erstell Dir ein Flag, das Du in jedem Timer-Event auswertest und hochsetzt.
Delphi-Quellcode:
type
TDeinForm = class(TForm) ... private FFlag: Cardinal; ... end; ... procedure TDeinForm.DeinTimerTimer(Sender: TObject); begin case FFlag of 0: XXX1.Visible := false; 1: XXX2.Visible := false; //usw. end; inc(FFlag); end; |
Re: Timer1 restarten
So siehts jetzt aus:
Delphi-Quellcode:
Resultat:
type
TForm1 = class(TForm) procedure FormDblClick(Sender: TObject); private FFlag: Cardinal; end; procedure TForm1.Timer1Timer(Sender: TObject); begin case FFlag of 0:Image1.Visible:=False; 1:Image2.Visible:=False; 2:Image3.Visible:=False; 3:Image4.Visible:=False; 4:Image5.Visible:=False; 5:Image6.Visible:=False; 6:Image7.Visible:=False; 7:Image8.Visible:=False; 8:Image9.Visible:=False; 9:Image10.Visible:=False; 10:Image11.Visible:=False; 14:Image12.Visible:=False; 15:Image13.Visible:=False; 16:Image14.Visible:=False; 17:Image15.Visible:=False; 18:Image16.Visible:=False; 19:Image17.Visible:=False; 20:Image18.Visible:=False; end; end; inc(FFlag); end; Image1: TImage; Button1: TButton; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; StatusBar1: TStatusBar; Panel1: TPanel; Image7: TImage; Image8: TImage; Timer1: TTimer; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; Image13: TImage; Image14: TImage; Image15: TImage; Image16: TImage; Image17: TImage; Image18: TImage; procedure Button1Click(Sender: TObject); procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image6MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image7MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image8MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Timer1Timer(Sender: TObject); procedure Image9MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image10MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image12MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image11MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image13MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image14MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image15MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image16MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image17MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image18MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; Die Methode FormCreate die auf Form1.OnCreate verweist existiert nicht Soll der Verweis entfernt werden? # Mfg Ghost |
Re: Timer1 restarten
ähm, wie wärs denn, wenn du den Code mal nach Definition und Aktionen (Prozeduren/Funktionen) sortierst und das, was nach Defiunition aussieht, oberhalb von "implementation" belässt und alles andere darunter? Dann sollte es vllt. gehen.
Bernhard PS: Heißt im Klartext
Delphi-Quellcode:
[edit]Einige Sortierfehler entfernt, nun syntaktisch richtiger[/edit]
type
TForm1 = class(TForm) procedure FormDblClick(Sender: TObject); Image1: TImage; Button1: TButton; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; StatusBar1: TStatusBar; Panel1: TPanel; Image7: TImage; Image8: TImage; Timer1: TTimer; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; Image13: TImage; Image14: TImage; Image15: TImage; Image16: TImage; Image17: TImage; Image18: TImage; procedure Button1Click(Sender: TObject); procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image6MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image7MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image8MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Timer1Timer(Sender: TObject); procedure Image9MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image10MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image12MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image11MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image13MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image14MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image15MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image16MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image17MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image18MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } FFlag: Cardinal; public { Public-Deklarationen } end; implementation procedure TForm1.Timer1Timer(Sender: TObject); begin case FFlag of 0:Image1.Visible:=False; 1:Image2.Visible:=False; 2:Image3.Visible:=False; 3:Image4.Visible:=False; 4:Image5.Visible:=False; 5:Image6.Visible:=False; 6:Image7.Visible:=False; 7:Image8.Visible:=False; 8:Image9.Visible:=False; 9:Image10.Visible:=False; 10:Image11.Visible:=False; 14:Image12.Visible:=False; 15:Image13.Visible:=False; 16:Image14.Visible:=False; 17:Image15.Visible:=False; 18:Image16.Visible:=False; 19:Image17.Visible:=False; 20:Image18.Visible:=False; end; inc(FFlag); end; |
Re: Timer1 restarten
Gut Danke.
Und wie kann ich die Zeit anzeigen lassen? Also sozusagen einen Countdown für Timer1 in einem Panel. (Timer1 und Panel2.) mfg Ghost |
Re: Timer1 restarten
Beim Start des Countdowns die Endzeit merken.
Im Timerevent die Differenz zur aktuellen Zeit ermitteln und in eine Zeichenkette umwandeln. Die Zeichenkette dem Ausgabesteuerelement zuweisen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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