AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Random

Ein Thema von Mothergrayham · begonnen am 11. Sep 2009 · letzter Beitrag vom 22. Sep 2009
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

Re: Random

  Alt 12. Sep 2009, 12:59
Das Randomize packst Du zuerst einmal ins FormCreate, dann wird es nur einmal ausgeführt . Und RandomValue hast Du ja auch nicht als Variable deklariert (es geht aber auch ohne diese Variable).
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  //Randomize; weg, ins FormCreate damit
  case random(10) of
    0: Form1.Show;
    1: Form2.Show;
    2: Form3.Show;
  end;//das end zum case
end;
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 holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Random

  Alt 12. Sep 2009, 12:59
Zitat von Mothergrayham:
ich hab doch nur einmal randomize geschrieben.

kommt der fehler "undefinierter bezeicher: randomvalue"

bitte nicht so viele fachausdrücke bin da noch nicht so drin.
Na ja, ich meinte eigentlich das hier:
Zitat:
(etwa im FormCreate).
Sonst wird das ja jedes mal beim ButtonClick aufgerufen.

Die Fehlermeldung bedeutet, dass Du die Variable RandomValue nicht deklariert hast.

Es fehlt:

Delphi-Quellcode:
var
  RandomValue: Integer;
vor dem begin.

Gruß
Patrick

//Edit: wo ist der rote Kasten, wenn man ihn braucht?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Random

  Alt 12. Sep 2009, 13:01
Zitat von Mothergrayham:
ich hab doch nur einmal randomize geschrieben.
Aber deine Prozedur wird beim Klick auf den Button komplett durchlaufen und somit wird bei jedem Klick "Randomize" aufgerufen. Es sollte pro Anwensungsstart allerdings nur einmal aufgerufen werden, egal wie oft "Random" folgt. Also packe "Randomize" ins OnCreate deines Formulars.

Wenn du "Random(10)" schreibst, wird dir eine Zufallszahl zwischen 0 und 9 zurückgegeben. Für deinen Testfall mit 3 Formularen müsstest du "Random(3)" nutzen. Denn wenn der Wert aktuell bsp. 5 ist, wird kein Formular aufgerufen. Vielleicht ist das schon der Fehler.

Edit: Hö, der rote Kasten scheint wirklich im Urlaub zu sein.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#14

Re: Random

  Alt 12. Sep 2009, 13:03
[OT] Der Opa war schneller [/OT]
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
Mothergrayham

Registriert seit: 9. Sep 2009
14 Beiträge
 
Delphi 5 Professional
 
#15

Re: Random

  Alt 12. Sep 2009, 13:04
wenn du mir jetzt noch sagst was oder wo formcreate ist? in der unit steht davon nix.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

Re: Random

  Alt 12. Sep 2009, 13:04
Mach mal in der IDE einen Doppelklick auf das Formular
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
Mothergrayham

Registriert seit: 9. Sep 2009
14 Beiträge
 
Delphi 5 Professional
 
#17

Re: Random

  Alt 12. Sep 2009, 13:08
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

RandomValue : random(3);
case RandomValue of
0: Form1.Show;
1: Form2.Show;
2: Form3.Show;
end;

jetzt sieht das so aus aber den fehler macht er immer noch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#18

Re: Random

  Alt 12. Sep 2009, 13:12
Sei mir nicht böse, aber ein Grundlagentutorial erscheint mir angebracht. Nichtsdestotrotz:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);
var RandomValue: integer; //Deklaration der Variablen
begin
  RandomValue := random(3);
  case RandomValue of
    0: Form1.Show;
    1: Form2.Show;
    2: Form3.Show;
  end; //dieses end darf nicht weggelassen werden
end;
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
Mothergrayham

Registriert seit: 9. Sep 2009
14 Beiträge
 
Delphi 5 Professional
 
#19

Re: Random

  Alt 12. Sep 2009, 13:39
das klappt super ich danke euch. kann ich das jetzt mit unendlich vielen fenstern machen?

wenn ich euch dann richtig verstanden habe muss ich einfach die zahl in klammern hintern random verändern?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#20

Re: Random

  Alt 12. Sep 2009, 13:44
Zwischen die Klammern setzt Du die Anzahl der verfügbaren Formulare. Allerdings musst Du nach dieser Vorgehensweise auch für jedes Formular ein case-Label schreiben.
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
Antwort Antwort
Seite 2 von 4     12 34      


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 +1. Es ist jetzt 07:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz