Einzelnen Beitrag anzeigen

MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Problem beim erzeugen von Zufallszahlen 100.000<

  Alt 27. Jun 2005, 01:50
Zitat von xaromz:
Delphi-Quellcode:
ListBox1.Items.BeginUpdate; // <--
for i:=1 to StrToInt64(Edit1.Text) do//////hier wird bestimmt wieviel Zz erzeugt werden
begin
  Zahl :=random(7)+1;
  meineListe.Add(IntToStr(Zahl)); // <--
  if Zahl in [1,37] then farbe := clblue else
  farbe := clyellow;
  Listbox1.Items.InsertObject(0,IntToStr(Zahl), Pointer(farbe));
end;
ListBox1.Items.EndUpdate; // <--
Wenn du nun auch noch statt
for i:=1 to StrToInt64(Edit1.Text) do for i := StrToInt64(Edit1.Text) downto 1 do schreibst, ist dein Code
1. nochmal etwas schneller, und
2. hast du sogar die gleiche reihenfolge der zufallszahlen wie bei deinem code.
(normalweiße egal da ja alle zahlen zufällig sind, es soll aber doch Leute geben für die mit random erzeugte zufallszahlen nicht zufällig sind)

Um wieder auf deinen Code zurück zu kommen:
Delphi-Quellcode:
...
Zahl :=random(7)+1;
...
if Zahl in [1,37] then farbe := clblue else // deine Zahl wird nie 37 sein
...
ob der code schneller wird, wenn du die 37 wegnimmst, weiß ich nicht, aber da der fall sowieso nicht eintrifft, würd ich sie rauslöschen.

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat