Bin zwar kein Profi dadrin. Hoffe aber ich erklär das richtig:
Es gibt sowas wie eine globale Variable, die am Anfang 0 ist und bei jedem aufruf der Random-funktion um eins erhöht wird. Aus dieser Zahl wird mit einem Algorithmus, der immer möglichst verschiedene Zahlen ausgibt, das random errechnet.
Sieht man auch sehr gut, wenn man diesen Code ausführt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Listbox1.Items.Add(inttostr(random(1024)));
end;
Es wird immer rauskommen:
Zitat von
Listbox1:
0
32
881
207
279
...
Es sei denn, man ruft vorher randomize auf.
Durch randomize wird der globalen Zählerariable ein Wert zugewießen, der anhand von Gettickcount errechnet wird