![]() |
Re: Timer
Zitat:
In der Schule lernen wir es grad mit dem Button was mir zu einfach war.. Hat mich jez interessiert wie das ganze mit einem Timer aussieht war dann aber doch komplizierter als gedacht. :coder2: |
Re: Timer
Delphi-Quellcode:
So sind Grün und Rot jeweils doppelt so lang wie Gelb. Das kannst du natürlich noch beliebig erweitern.
type
TAmpelPhase = ( apRot = 0, apRot2 = 1, apGelb = 2, apGruen = 3 apGruen2 = 4); type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } AktuelleAP: TAmpelPhase; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin AktuelleAP := apRot; end; procedure TForm1.Timer1Timer(Sender: TObject); begin case AktuelleAP of apRot, apRot2: begin Caption := 'Rot'; AktuelleAP := apRotGelb; end; apGelb: begin Caption := 'Gelb'; AktuelleAP := apRot; end; apGruen, apGruen2: begin Caption := 'Grün'; AktuelleAP := apGelb; end; end; end; |
Re: Timer
Statt 2 Rot-Phasen zu simululieren würd ich den TimerInterval im TimerEreignis entsprechend neu setzen.
|
Re: Timer
das sähe dann so aus:
Delphi-Quellcode:
type
TAmpelPhase = ( apRot = 0, apGelb = 1, apGruen = 2 ); type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } AktuelleAP: TAmpelPhase; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin AktuelleAP := apRot; end; procedure TForm1.Timer1Timer(Sender: TObject); begin case AktuelleAP of apRot: begin Caption := 'Rot'; AktuelleAP := apGelb; Timer1.Interval := 500; end; apGelb: begin Caption := 'Gelb'; AktuelleAP := apRot; Timer1.Interval := 1000; end; apGruen: begin Caption := 'Grün'; AktuelleAP := apGelb; Timer1.Interval := 500; end; end; end; |
Re: Timer
ah ok vielen dank jez isses perfekt :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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