Entwickler-Ecke
Sonstiges (Delphi) - zufallszahlen
minipliman - Di 10.01.06 17:06
Titel: zufallszahlen
also mein ziel ist es mit Canvas.TextOut 6 Zahlen Lottozahlen (1 bis 49) auszugeben, die dann auf knopfdruck sotiert werden.
ich bin jetzt schon am anfang an den zufallszahlen gescheitert
hier mein quelltext
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.Button1Click(Sender: TObject); begin begin randomize; I:= random(50); IF I > 0 THEN Canvas.TextOut(25, 40, inttostr(I)); end;
begin randomize; J:= random(50); IF J > 0 THEN Canvas.TextOut(25, 60, inttostr(J)); end;
begin randomize; K:= random(50); IF K > 0 THEN Canvas.TextOut(25, 80, inttostr(K)); end; end; |
also sind erstmal nur drei zahlen aber das auf 6 zu machen is ja kein problem
das problem ist das alle 3 zahlen gleich sind, obwohl ich jedesmal remdomize eingegeben hab. woran liegts?
Arno Nym - Di 10.01.06 17:14
Hilfe zur Selbsthilfe :
guck einfach mal was in der Delphi-Hilfe über "Randomize" steht... :wink:
Bruder Lal - Di 10.01.06 17:15
randomize sollte nur einmal ausgeführt werden. Abgesehen davon kannst du ein array machen, um die Zufallszahlen zu generieren. So sparst du dir die fast identischen Prozeduren. Und rück bitte richtig ein.. bei diesen Prozeduren ist das noch kein Problem, aber vielleicht programmierst du auch mal anspruchsvollere Sachen...
minipliman - Di 10.01.06 17:25
oh ja array is ne gute idee danke, werd ich gleich mal probieren
[SaWa]barrier23 - Mo 03.04.06 19:26
was steckt da dahinter?man gibt 50 ein und hat die zahlen von 0-19!
was muss ich bei random eingeben damit ich die zahlen von 0-9 habe????
und dann brauch ich noch was für 0-1!also das entweder 0 oder 1 rauskommt!
Born-to-Frag - Mo 03.04.06 19:29
[SaWa]barrier23 hat folgendes geschrieben: |
was steckt da dahinter?man gibt 50 ein und hat die zahlen von 0-19!
was muss ich bei random eingeben damit ich die zahlen von 0-9 habe???? |
Random(50) gibt Zufallszahlen von 0..49 und nicht 0..19 :mahn:
Random(10) gibt dann 0..9 aus..
Ich glaube du vergisst Randomize oder wie kommst du auf 0..19??
EDIT: 0..1 ist dann logischerweise Random(2); ;)
[SaWa]barrier23 - Mo 03.04.06 19:31
ehm weils im quelltext dahinter steht ^^
alzaimar - Mo 03.04.06 19:50
Mann, schon mal was von Tippfehleren gehört? :lol:
Born-to-Frag - Mo 03.04.06 19:51
[SaWa]barrier23 hat folgendes geschrieben: |
| ehm weils im quelltext dahinter steht ^^ |
omfg :rofl:
[SaWa]barrier23 - Mo 03.04.06 19:55
naja als anfänger glaubt man halt das was einer mit so vielen sternen schreibt ;)
alzaimar - Mo 03.04.06 20:09
Die Sterne bedeuten nur, das er viel labert. So wie ich.
Smarty - Mo 03.04.06 20:13
das wusste ich auch noch nicht... :?
cuejo - Mo 03.04.06 23:35
Titel: Kleiner Tipp:
probiers mal mit i:=random(49)+1;
Dann sparst du dir die nervige if i>0 Abfrage :dunce:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!