Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zufälliger Integer-Wert zwischen zwei zahlen (https://www.delphipraxis.net/22872-zufaelliger-integer-wert-zwischen-zwei-zahlen.html)

NikoMitDaMacht 25. Mai 2004 15:11


Zufälliger Integer-Wert zwischen zwei zahlen
 
Hi mir ist diese frage etwas peinlich:

Wie kann man einen zufälligen integer wert inerhalb von zwei zahlen erstllen?

Basic-Master 25. Mai 2004 15:16

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
z.b. so :)
Delphi-Quellcode:
Randomize;
a := Random(maximum) + minimum;

Stevie 25. Mai 2004 15:19

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Zitat:

Zitat von Basic-Master
z.b. so :)
Delphi-Quellcode:
Randomize;
a := Random(maximum) + minimum;

Nicht ganz... :wink:
Delphi-Quellcode:
Random(Succ(High-Low)) + Low;

NikoMitDaMacht 25. Mai 2004 15:19

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
ne das klappt nich so recht:
Delphi-Quellcode:
Randomize;
a := Random(100) + 80;
da kommen werte über hundert raus!

Jens Schumann 25. Mai 2004 15:20

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Hallo,
Code:
Random(11)+10
liefert Dir Zufallszahlen von [10 bis 20]

[edit]siehe Stevie[/edit]

Pseudemys Nelsoni 25. Mai 2004 15:21

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Delphi-Quellcode:
function Rand(RandFrom, RandTo: integer): integer;
begin
  if RandTo > RandFrom then
  begin
    Randomize;
    Repeat
      Result := Random(RandTo);
    until Result > RandFrom-1;
  end
  else Result := 0;
end;

kannste dann aufrufen mit:

Delphi-Quellcode:
Var := Rand(minimum, maximum);

NikoMitDaMacht 25. Mai 2004 15:22

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Danke
Delphi-Quellcode:
Random(Succ(High-Low)) + Low;
doch für was steht das Succ

Jens Schumann 25. Mai 2004 15:23

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Zitat:

Zitat von Pseudemys Nelsoni
Delphi-Quellcode:
function Rand(RandFrom, RandTo: integer): integer;
begin
  if RandTo > RandFrom then
  begin
    Randomize;
    Repeat
      Result := Random(RandTo);
    until Result > RandFrom-1;
  end
  else Result := 0;
end;

kannste dann aufrufen mit:

Delphi-Quellcode:
Var := Rand(minimum, maximum);

Das ist völlig unbrauchbar. 1. viel zu viel Code 2. viel zu langsam. 3. Randomize sollte nur einmal im Programm aufgerufen werden. z.B. beim Programmstart

Matze 25. Mai 2004 15:24

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Zitat:

Zitat von NikoMitDaMacht
doch für was steht das Succ

OH ;)

@Pseudemys Nelsoni:
Diese function ist aber nicht so toll, man sollte randomize nur einmal aufrufen, sonst kann es schlechte Auswirkungen haben, auch wenn's zuerst nicht so ausschaut... ;)

sakura 25. Mai 2004 15:38

Re: Zufälliger Integer-Wert zwischen zwei zahlen
 
Und ab Delphi 6

Delphi-Quellcode:
uses
  Math;

...
// function RandomRange(const AFrom, ATo: Integer): Integer;
Wert := RandomRange(1000, 2000);
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz