![]() |
Zufallszahl erzeugen in delphi 2005??
Hi Leute ichhabe gerade auf Delphi 2005 umgestellt und versuche einezufalls zahl dort zu erzeugen....
Delphi-Quellcode:
Aber egal was ich da als min und max rein gebe... es kommt immer 1 als wert raus?????
function Tbasis.RandomRange(min, max: integer): integer;
begin result := 0; if min > max then exit; result := random(max - min + 1) + min; end; Hat jemand eineAhnung???? [edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit] |
Re: Zufallszahl erzeugen in delphi 2005??
vielleicht liegt es an den Namen
Delphi-Quellcode:
oder du ruft kein
function Tbasis.RandomRange(AMin, AMax: Integer): Integer;
begin Result := 0; if AMin <=AMax then Result := Random(AMax - AMin + 1) + AMin; end;
Delphi-Quellcode:
auf
Randomize;
|
Re: Zufallszahl erzeugen in delphi 2005??
Zitat:
Bei mir geht es so ohne Probleme:
Delphi-Quellcode:
function RandomRange(min, max: integer): integer;
begin result := 0; if min > max then exit; result := random(max - min + 1) + min; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IntToStr(RandomRange(4, 7)); end; Nachtrag: Bitte den Code mit [delphi]-Tags umschließen. |
Re: Zufallszahl erzeugen in delphi 2005??
Zitat:
Dann ist das definitv FALSCH!! Laut Delphi OH initialisiert Randomize den integrierten Generator mit einem, aus der Systemzeit abgeleiteten, zufälligen Wert. Die Reihenfolge der zufälligen Zahlen wäre damit also nur dann immer gleich, wenn der Wert, den Randomize nutzt, immer der gleiche wäre (da deine Systemuhr allerdings nicht still-steht, dürfte dies sehr unwahrscheinlich sein). Du solltest also Randomize einmal starten (am besten im OnCreate-Ereignis des Forms), damit du bei jedem Start neue "Zufallswerte" bekommst. |
Re: Zufallszahl erzeugen in delphi 2005??
Bei Delphi 2005 ist RandomRange schon eingebaut (Unit Math), wieso also die Mühe?
|
Re: Zufallszahl erzeugen in delphi 2005??
Hi,
Zitat:
![]() Hagen hat uns (mal wieder :zwinker: ) aufgeklärt. MfG Marc |
Re: Zufallszahl erzeugen in delphi 2005??
Zitat:
Randomize sollte also nur einmalig zum Programstart aufgerufen werden wenn überhaupt. Übrigens in 1 Millisekunde = 1/1000 Sekunde führen 2GHz Rechner ca. 2 Millionen Befehle aus, es ist also ein leichtes 1000 mal in der Millisekunde Randomize + Random aufzurufen. Gruß Hagen |
Re: Zufallszahl erzeugen in delphi 2005??
Zitat:
Gruß Hagen |
Re: Zufallszahl erzeugen in delphi 2005??
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr. |
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-2025 by Thomas Breitkreuz