Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Timer zufällig wiederholen


MaxMara - Sa 26.04.08 19:42
Titel: Timer zufällig wiederholen
Hallo!
Ich hab ein kleines Problem an dem ich gerade grüble:
Ich möchte einen Timer so ansteuern, dass er nach einem zufällig gewählten Intervall Code ausführt UND möchte auch festlegen können wie oft der onTimer-Code durchläuft.

Wie macht man das am geschicktesten?

Grüße
Christian

EDIT: Habs schon gefunden. Danke!


bflegel - Sa 26.04.08 20:10

Hi,


Delphi-Quelltext
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:
[pseudocode]

durchlauf : boolean;   <----  1. Eingabe falsch: muss natürlich integer sein!
durchlauf : integer;   <----  berichtigt und korrekt

procedure TForm1.oncreate;
begin
  durchlauf := 0;
  Timer1.enabled := false;
  Timer1.Interval := random(10000);
  Timer1.enabled := true;
end;


procedure Timer1onTimer;
begin

if durchlauf < 3 then
  begin
    ..code..
    inc(durchlauf); 
  end
else
  Timer1.enabled := false;
end;

end;
[/pseudocode]


Hiermit wird beim Start des Programmes ein zufälliges Intervall erzeugt und der Timer aktiviert. Im Timer wird die globale Variable "durchlauf" bei jedem Aufruf des Timers erhöht und nach dem 3. Durchlauf wird der Timer deaktiviert.

bye
bflegel

//Edit: Die Durchstreichen-Tags funktionieren anscheinend nicht, daher Code mit falscher und richtiger Anweisung eingegeben.


huuuuuh - Sa 26.04.08 20:26

hä? warum machst du die variable durchlauf als boolean? das muss integer sein...


bflegel - Sa 26.04.08 20:31

Hallo Huuuuh,

hast natürlich recht, die Variable durchlauf muss integer sein!

Ich hab den Code schnell aus dem Kopf zusammengetippt.

Bye
bflegel