Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zufallszahl ermiteln (https://www.delphipraxis.net/22395-zufallszahl-ermiteln.html)

Christian18 17. Mai 2004 10:45


Zufallszahl ermiteln
 
hallo,

ich möchte gerne mir Delphi eine Zufallszahl ermitteln. Die zahl soll zwischen 0 und 100 liegen. Wie mache ich das.

Mit freundlichen Grüßen

Christian18

sakura 17. Mai 2004 10:48

Re: Zufallszahl ermiteln
 
Die Lösung heißt Hier im Forum suchenRandom und Hier im Forum suchenRandomize

...:cat:...

Christian18 17. Mai 2004 14:14

Re: Zufallszahl ermiteln
 
hallo,

ok es funktioniert jetzt erst einmal, aber wenn ich das programm starte, dann kommen werte z.b. 1, 73, 254, 84.

und wenn ich das programm das nächte mal starte, dann kommen genau die gleichen werte. dann ist das doch kein zufallswert oder??? wie kann ich das beheben???

mirage228 17. Mai 2004 14:16

Re: Zufallszahl ermiteln
 
Du musst

Randomize vor Random() aufrufen.

Dann sollten die Werte zufällig sein.

mfG
mirage228

sakura 17. Mai 2004 14:16

Re: Zufallszahl ermiteln
 
Ich zitiere nochmals ;)

Zitat:

Zitat von sakura

Letzteres ist zu diesem Problem die Lösung ;)

...:cat:...

sakura 17. Mai 2004 14:17

Re: Zufallszahl ermiteln
 
Zitat:

Zitat von mirage228
Randomize vor Random() aufrufen.

Ein wichtiger Teil fehlt :shock: Hier im Forum suchenRandomize nur einmal pro Programmstart aufrufen :!:

...:cat:...

gekmihesg 17. Mai 2004 14:17

Re: Zufallszahl ermiteln
 
hast du die funktion randomize verwendet?
wahrscheinlich nicht, weil die dazu gedacht is genau das zu verhindern!
schreib am besten in des onCreate ereigniss deines forms einfach randomize; dann sollts gehn

mirage228 17. Mai 2004 14:24

Re: Zufallszahl ermiteln
 
Zitat:

Zitat von sakura
Zitat:

Zitat von mirage228
Randomize vor Random() aufrufen.

Ein wichtiger Teil fehlt :shock: Hier im Forum suchenRandomize nur einmal pro Programmstart aufrufen :!:

...:cat:...

Das stimmt allerdings... habe ich vergessen zu schreiben :wall:

mfG
mirage228

Ultimator 17. Mai 2004 16:11

Re: Zufallszahl ermiteln
 
Zitat:

Zitat von sakura
Ein wichtiger Teil fehlt :shock: Hier im Forum suchenRANDOMIZE nur einmal pro Programmstart aufrufen :!:

Es ist zwar besser wenn man es nur einmal aufruft, aber es ist nicht soo Hammer-schlimm, wenn man es öfters macht.

sakura 17. Mai 2004 16:15

Re: Zufallszahl ermiteln
 
Zitat:

Zitat von Ultimator
Es ist zwar besser wenn man es nur einmal aufruft, aber es ist nicht soo Hammer-schlimm, wenn man es öfters macht.

Sicher ;) Es geht a) auf die Performance und b) mindert es die Qualität der Zufallszahlen.

In älteren Delphi Versionen, auf Linux und auf älteren Windows Versionen kannst Du mit folgendem Konstrukt schnell mal 1000 gleiche Zahlen erreichen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  Memo1.Lines.BeginUpdate;
  try
    for I := 0 to 999 do
    begin
      Randomize;
      Memo1.Lines.Add(IntToStr(Random(MaxInt)));
    end;
  finally
    Memo1.Lines.EndUpdate;
  end;
end;
Deswegen, Randomize nur einmal aufrufen.

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 Uhr.
Seite 1 von 3  1 23      

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