Eben wenn ich mir diesen Code anschaue, sehe ich, warum er falsch ist!
Bsp.: AFrom = 2, ATo = 100 --> Random(100-2)+2 = Random(98)+2
Random(98) spuckt aber Zahlen von 0 bis 97 aus!
Richtig wäre wohl:
Delphi-Quellcode:
function RandomRange(const AFrom, ATo: Integer): Integer;
begin
if AFrom > ATo then
Result := Random(AFrom - ATo + 1) + ATo
else
Result := Random(ATo - AFrom + 1) + AFrom;
end;