Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Random (https://www.delphipraxis.net/140101-random.html)

Mothergrayham 11. Sep 2009 21:22


Random
 
Hallo ich bin ganz frisch bei Delphi bei.

Wollte nur mal wissen ob es mit dem random befehl möglich ist aus dem Hauptfenster raus z.b. ein zufälliges von 10 verschiedenen neuen Fenstern aufzumachen?

würde mich über ne antwort freuen.

Luckie 11. Sep 2009 21:24

Re: Random
 
Und was soll an dieser Aktion zufällig sein? Die Anzahl oder die Position? In einer Schleife kann man natürlich weitere Fenster dynamisch erstellen.

Jens Hartmann 11. Sep 2009 21:28

Re: Random
 
Hallo erstmal,

Möglich ist das. Wenn Du z.B. deinen Fenstern die Namen Form1,Form2,Form3... gibst, könntest Du mit

Delphi-Quellcode:

Form+IntToStr(i);
Die Form wählen.

Gruß Jens

Luckie 11. Sep 2009 21:33

Re: Random
 
Ach jetzt verstehe ich das. Du hast schon zehn Fenster und du willst eins davon zufällig anzeigen.

Erseuge sie alle beim Start dynamisch und unsichtbar und leg die Instanzen in einem Array ab. Dann kannst du mit random einen Index generieren und diese Instanz dann sichtbar machen. Gleiches ginge natürlich auch etwas eleganter Mit einer TObjectList.

Namenloser 11. Sep 2009 21:39

Re: Random
 
Würde ich zwar normal auch so machen, aber für einen Anfänger ist diese einfachere Variante vielleicht durchschaubarer:
Delphi-Quellcode:
RandomValue := random(10);
case RandomValue of
  0: Form1.Show;
  1: Form2.Show;
  2: Form3.Show;
  3: Form4.Show;
  4: Form5.Show;
  5: Form6.Show;
  ...
end;
Geht natürlich auch ohne die Variable, indem man random(10) direkt in die Case-Abfrage einsetzt.

Wolfgang Mix 11. Sep 2009 22:07

Re: Random
 
und vorher
Delphi-Quellcode:
Randomize
nicht vergessen, sonst wird's nicht wirklich zufällig :-)

Gruß

Wolfgang

DeddyH 12. Sep 2009 08:25

Re: Random
 
Aber Randomize nur einmalig aufrufen (etwa im FormCreate).

Mothergrayham 12. Sep 2009 11:39

Re: Random
 
hab das jetzt so gemacht aber da ist irgendwo ein fehler drin

procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
RandomValue := random(10);
case RandomValue of
0: Form1.Show;
1: Form2.Show;
2: Form3.Show;
end;

holliesoft 12. Sep 2009 11:48

Re: Random
 
Zitat:

Zitat von Mothergrayham
hab das jetzt so gemacht aber da ist irgendwo ein fehler drin

procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;

Zitat:

Zitat von DeddyH
Aber Randomize nur einmalig aufrufen (etwa im FormCreate).

Dass Du nicht das gemacht hast, was DeddyH empfohlen hast, ist schon mal der erste Fehler :mrgreen:

Welche Fehlermeldung bekommst Du denn? Das ist nämlich die wichtigste Info die Du vergessen hast...

Hast du denn die Units der aufzurufenden Forms der aktuellen Unit hinzugefügt?

Gruß
Patrick

Mothergrayham 12. Sep 2009 11:56

Re: Random
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 Uhr.
Seite 1 von 4  1 23     Letzte »    

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