Delphi-PRAXiS

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

Bernd29bln 13. Okt 2008 12:42


Random mit zufalls zahlen
 
Hallo,

Ich möchte in einer Listbox 4 stellige zahlen per random generieren und anzeigen lassen.
klapt nicht wirklich manchmal generiert mir radom auch 5 stellige zahlen.

Delphi-Quellcode:
var i: integer;
begin
 for i:= 1234 to 9999 do
  begin
   Listbox.Items.Add(inttostr(random(i)));
 end;
end;
Und hat vieleicht Jemand eine Idee, wie ich die Anzahl der zu generierenden zahlen begrenzen kann.

Gruß Bernd

tomsson74 13. Okt 2008 12:54

Re: Random mit zufalls zahlen
 
Hi,

ich verstehe nicht warum die Schleife von 1234 bis 9999 durchlaufen werden soll ...

Ich hätte es so gemacht:

Delphi-Quellcode:
var
  I : Integer;
begin
  Randomize;                                        // Zufallszahlengenerator initialisieren
  for I := 0 to 9 do begin                          // ich möchte 10 Zufallszahlen haben
    Listbox.Items.Add(IntToStr(Random(9000)+1000)); // Zufallszahlen im Bereich von 0 bis 8999,
                                                     // 1000 dazuaddieren, damit das Ergebnis
                                                     // vierstellig wird
  end;
end;

Bernd29bln 13. Okt 2008 12:57

Re: Random mit zufalls zahlen
 
Hallo,

Stimmt hast recht. Vielen Dank

Gruß Bernd

tomsson74 13. Okt 2008 12:58

Re: Random mit zufalls zahlen
 
Habs noch korrigiert, korrekt wären 9000 statt 8999

Luckie 13. Okt 2008 12:59

Re: Random mit zufalls zahlen
 
Du willst die Listbox mit 8765 Einträgen (9999 minus 1234) füllen, die jeweils aus vierstelligen Ganzzahlen bestehen?

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function RandomRange(min, max: integer): integer;
begin
  result := 0;
  if min < max then
    result := random(max - min + 1) + min;
end;


var
  i: Integer;

begin
  Randomize;

  for i := 0 to 99 do
    Writeln(RandomRange(1000, 9999));

  Readln;
end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 Uhr.

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