![]() |
Per Zufall eine Zahl erzeugen und dann ein Ereignis
Hallo, is schon lange her als ich in Delphi mal was gemacht habe, aber jetzt hats mich wieder gepackt.
und zwar will ich beim Programmstart eine zufällige Zahl zwischen 1 Minute und einer Stunde generieren lassen, die dann ein Timer übernimmt. Wenn der Timer abgelaufen ist, dann soll ein Ereignis stattfinden. Das mit dem Ereignis ist jetzt nicht das Problem, nur die generierte Zahl in den Timer bringen, da weiß ich mir nicht zu helfen. |
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Delphi-Quellcode:
[edit] Interval im Englischen mit einfachem L *g* [/edit]
Timer.Interval := (Random(60) + 1) * 1000;
|
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Delphi-Quellcode:
nicht vergessen.
randomize;
|
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Aber Randomize nur einmalig aufrufen (z.B. OnCreate). Nun sollte aber alles gesagt sein :zwinker:
|
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Muß ich dann das Ereignis in den Timer mit reinsetzen oder mach ich bei Form.Create einfach folgendes:
Delphi-Quellcode:
P.S. Das Ereignis soll erst nach abgelaufener Zeit eintreten.
procedure TForm1.FormCreate(Sender: TObject);
begin randomize; Ereignis; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Interval := (random(3600)+60) * 1000; // 1 bis 60 Minuten end; |
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Delphi-Quellcode:
so müsste es sein
procedure TForm1.FormCreate(Sender: TObject);
begin randomize; Timer1.Interval := (random(3600)+60) * 1000; // 1 bis 60 Minuten end; procedure TForm1.Timer1Timer(Sender: TObject); begin Ereignis; end; |
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Du musst die Prozedur um eine Zahl zu generieren erst starten und dann deine Ereignisse in die Prozedur vom Timer legen.
Delphi-Quellcode:
Der Timer sollte also im Inspektor deaktiviert sein.
procedure TForm1.FormCreate(Sender: TObject);
begin randomize; end; procedure TForm1.Button1click(Sender: TObject); begin Timer1.Interval := (random(3600)+60) * 1000; // 1 bis 60 Minuten Timer1.enabled := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin //hier dein Ereignis end; |
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Oh super, danke an alle Mitwirkenden!
|
Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis
Nur nicht vergessen den Timer wieder zu stoppen, falls gewünscht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 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