Random number generator (device): Difference between revisions

Added Delphi example
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
(Added Delphi example)
Line 511:
run 4: ...
</pre>
=={{header|Delphi}}==
==={{header|Windows}}===
{{libheader| System.SysUtils}}
{{libheader| Winapi.WinCrypt}}[[https://github.com/magicxor/WinCryptographyAPIs]]
<lang Delphi>
program Random_number_generator;
 
{$APPTYPE CONSOLE}
 
uses
System.SysUtils,
Winapi.WinCrypt;
 
var
hCryptProv: NativeUInt;
i: Byte;
UserName: PChar;
 
function Random: UInt64;
var
pbData: array[0..7] of byte;
i: integer;
begin
if not CryptGenRandom(hCryptProv, 8, @pbData[0]) then
exit(0);
Result := 0;
for i := 0 to 7 do
Result := Result + (pbData[i] shl (8 * i));
end;
 
procedure Randomize;
begin
CryptAcquireContext(hCryptProv, UserName, nil, PROV_RSA_FULL, 0);
end;
 
begin
Randomize;
for i := 0 to 9 do
Writeln(Random);
Readln;
end.</lang>
{{out}}
<pre>6246170830
2020144138
5469928375
5580575688
3947181392
4671237100
4269461866
4842880207
4217687233
1714028876</pre>
==={{header|Linux}}===
See [[#Pascal]].
=={{header|EchoLisp}}==
No random device provided by the host (browser). But we can use the system timer to get a physical input.
478

edits