Einzelnen Beitrag anzeigen

Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
212 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi 11 kein RandomRange für 64-bits?

  Alt 23. Apr 2022, 09:14
Hallo Softtouch,
Du kannst die Routine System.Mathe.RandomRange(..) einfach abwandeln:
Delphi-Quellcode:
Function RandomRange(Const AFrom, ATo: UInt64): UInt64; Overload;
Begin
  IF AFrom > ATo Then
    Result:= Random(AFrom - ATo) + ATo
  Else
    Result:= Random(ATo - AFrom) + AFrom;
End;
Da das Result von Random eine Extended-Zahl ist, hast Du genug (bis zu 18..19) zufällige Ziffern, was knapp auch für den obersten Bereich von UInt64 (9223372036854775810) ausreichen dürfte.

Grüße, Andreas

[Edit]: Für Deinen Zahlenbereich zwischen 100000 und 9999999999 reicht es alle mal.
Das erzeugt einen range check error, da ato-afrom immer noch mehr als ein integer ist.
  Mit Zitat antworten Zitat