Einzelnen Beitrag anzeigen

Moyyer

Registriert seit: 31. Mai 2003
155 Beiträge
 
Delphi 7 Enterprise
 
#1

bei Random niemals diegleiche Zahl Teil 2

  Alt 23. Aug 2003, 20:43
Hallo Alle Zusammen.

Ich habe mir aus der Fülle der Prozeduren die folgende herausgesucht.
Doch es gibt wie immer ein Problem. Wenn ich von 8 Zahlen 8 (in unterschiedlicher Reihenfolge) haben will (z.B 5,2,4,1,8,3,7,6) so hängt sich das Programm weg. Warum?
P.S. Die null darf nicht dabeisein.


Delphi-Quellcode:
procedure tForm1.Mischen;
var i, j, x: integer;
  function inarray(number: integer): boolean;
  var i : integer;
  begin
    result := false;
    for i := 0 to High(numbers) do begin
      if numbers[i] = number then begin
        result := true;
        Break;
      end;
    end;
  end;

begin
  randomize;
  SetLength(numbers, 0);
  while High(numbers) < 8 do begin//Anzahl Zahlen
    x := random(8) + 1;//Wertebereich <--- es muss irgendwo hier was falsch sein, doch ich weis nicht was --->
    if inarray(x) = false then begin
       j := High(numbers) + 1;
       SetLength(numbers, j + 1);
       numbers[j] := x;
     end;
  end;
  {Caption := InttoStr(High(numbers));}
  ListBox1.Items.Clear;
  for i := 1 to High(numbers) do begin
    ListBox1.Items.Add(InttoStr(numbers[i]));
   end;
end;
[edit=Christian Seehase] Delphi-Tags gesetzt, bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat