AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Per Zufall eine Zahl erzeugen und dann ein Ereignis

Per Zufall eine Zahl erzeugen und dann ein Ereignis

Ein Thema von lima · begonnen am 7. Nov 2008 · letzter Beitrag vom 7. Nov 2008
Antwort Antwort
lima

Registriert seit: 30. Dez 2002
32 Beiträge
 
Delphi 2007 Enterprise
 
#1

Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:07
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.270 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:15
Timer.Interval := (Random(60) + 1) * 1000; [edit] Interval im Englischen mit einfachem L *g* [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.020 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:16
randomize; nicht vergessen.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.270 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:17
Aber Randomize nur einmalig aufrufen (z.B. OnCreate). Nun sollte aber alles gesagt sein
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lima

Registriert seit: 30. Dez 2002
32 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:22
Muß ich dann das Ereignis in den Timer mit reinsetzen oder mach ich bei Form.Create einfach folgendes:

Delphi-Quellcode:
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;
P.S. Das Ereignis soll erst nach abgelaufener Zeit eintreten.
  Mit Zitat antworten Zitat
ATSV

Registriert seit: 8. Aug 2008
95 Beiträge
 
Delphi 7 Professional
 
#6

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:27
Delphi-Quellcode:
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;
so müsste es sein
  Mit Zitat antworten Zitat
Frankfurtoder

Registriert seit: 27. Mär 2008
112 Beiträge
 
RAD-Studio 2010 Pro
 
#7

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:29
Du musst die Prozedur um eine Zahl zu generieren erst starten und dann deine Ereignisse in die Prozedur vom Timer legen.

Delphi-Quellcode:
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;
Der Timer sollte also im Inspektor deaktiviert sein.
Erik
Alles gut?
  Mit Zitat antworten Zitat
lima

Registriert seit: 30. Dez 2002
32 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:30
Oh super, danke an alle Mitwirkenden!
  Mit Zitat antworten Zitat
Frankfurtoder

Registriert seit: 27. Mär 2008
112 Beiträge
 
RAD-Studio 2010 Pro
 
#9

Re: Per Zufall eine Zahl erzeugen und dann ein Ereignis

  Alt 7. Nov 2008, 11:35
Nur nicht vergessen den Timer wieder zu stoppen, falls gewünscht.
Erik
Alles gut?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf