Entwickler-Ecke

Sonstiges (Delphi) - Case-Auswahl


van RanDahlE - Fr 16.11.07 13:21
Titel: Case-Auswahl
Wie man ne Case - Auswahl macht weiß ich..aber wie mache ich das zu nem Zufall, dass der das per Zufall aussucht?


JayEff - Fr 16.11.07 13:27

Über die funktion Random(range) //zahl zwischen 0 und range-1 bekommst du deine Zufallszahl, die du direkt ans case-Statement übergeben kannst. Du solltest den Zufallsgenerator vorher per Randomize initialisieren, es reicht, das ein einziges Mal, z.B. im FormCreate zu machen. Das muss wirklich nur 1 mal pro Programm aufgerufen werden ;)


TProgger - Fr 16.11.07 13:27


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
x:=Random(10)+1;
case x of
  1: ; //was tun
  2: ; //was tun
  3: ; //was tun
  4: ; //was tun
  5: ; //was tun
  6: ; //was tun
  7: ; //was tun
  8: ; //was tun
  9: ; //was tun
  10: ; //was tun
end

Meinst du sowas?


ub60 - Fr 16.11.07 13:30


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Anzahl:=5;
case Random(Anzahl) of
  0: TueWas0;  
  1: TueWas1;  
  2: TueWas2;
  3: TueWas3;
  4: TueWas4;
end;

ub60

Oh, TProgger war schneller;-(


Calculon - Fr 16.11.07 13:30

Mal'n Bsp.:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure RandomCase;
var
  zufallswert: integer;
begin
  zufallswert := random(2) + 1;
  case zufallswert of
    1: ShowMessage('1');
    2: ShowMessage('2');
    3: ShowMessage('3');
  end;
end;

Gruß

EDIT: :lol:

Calculon
--


TProgger - Fr 16.11.07 13:47

ähm... random(2)+1 wird nie 3, random(2) zieht nur 0 oder 1 ;) *anmerk*


JayEff - Fr 16.11.07 13:58

Da versucht man, ja keinen komplett copy & paste-fähigen Code zu schreiben und was machen die 3 direkt nach dir ... ? :roll:


Herr Bananerama - Fr 16.11.07 14:31

user profile iconub60 hat folgendes geschrieben:

Delphi-Quelltext
1:
2:
Anzahl:=5;
case Random(Anzahl) of


Deine Lösung versteh ich nicht ... wieso machst du Case Random(Anzahl) of ... das Random musst du doch der Anzahl zuweisen oder?

Moderiert von user profile iconNarses: Zitat repariert


van RanDahlE - Fr 16.11.07 15:08
Titel: Danke
Danke leutz..ihr habt mir echt geholfen


JayEff - Sa 17.11.07 14:32

user profile iconHerr Bananerama hat folgendes geschrieben:
Deine Lösung versteh ich nicht ... wieso machst du Case Random(Anzahl) of ... das Random musst du doch der Anzahl zuweisen oder?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Anzahl:=5;
case Random(Anzahl) of
//ist das selbe wie
Anzahl := 5;
Zufall := Random (Anzahl);
case Zufall of
//ist das selbe wie
case Random (5of
// etc.


;)