[Allegro] Umgeb.-Var. 'random' mit 'get env random' auslesen?
Heinrich Allers
allers at t-online.de
So Dez 28 12:32:11 CET 2008
Liebe(r) Herr Berger und trotz dieser ruhigen Tage des Jahresausklangs noch Mitlesende:
> ... Von der Umgebungsvariable
> %random% hingegen haben wir gelernt (wenn ich mich recht entsinne), dass
> sie beim Start eines Kommandointerpreters aus a99 heraus quasi konstant
> denselben Wert liefert, das ist nicht pseudo, sondern gar nicht
> zufaellig.
Erinnerung hin, Erinnerung her, und da ich zu faul war, zur Auffrischung der Erinnerung ins
Listenarchiv zu schauen, habe ich eine kleine Stapeldatei gebaut:
@echo off
if not exist c:\allegro\demo2\zufall-a.txt goto anfang
del c:\allegro\demo2\zufall-a.txt
:anfang
echo %time%: %random% >>c:\allegro\demo2\zufall-a.txt
goto anfang
(um schneller das Ergebnis sehen zu können, habe ich es ins Datenbankverzeichnis
geleitet) und in Gang gesetzt (Achtung: Abbruch der Endlosschleife mit <Strg>+c!).
Die Ergebnisdatei zufall-a.txt sieht (in einem winzigen Auszug) so aus:
11:37:43,99: 28194
11:37:43,99: 5323
11:37:43,99: 17441
11:37:43,99: 29212
11:37:43,99: 611
11:37:43,99: 22618
11:37:44,00: 448
11:37:44,00: 1179
11:37:44,00: 15379
11:37:44,00: 24067
11:37:44,00: 17877
Vor dem Leerzeichen die Uhrzeit, dahinter die Zahl - also in Sekundenbruchteilen durchaus
zufällig aussehende Zahlen en masse ...
###
Anschließend dachte ich: Warum nicht diese Zufallszahlenproduktivität der Stapeldatei in
einer Flexdatei benutzen, um schließlich in a99 doch noch zu den Zufallszahlen zu
kommen, die ich mit 'get env random' nicht bekomme, und dachte, daß es folgende
Flexdatei tun sollte:
var D "zufall.txt"\delete
var D "zufall.bat"\xport f
wri "@echo off" n
wri "echo %random% >" D "zufall.num" n
close x
:anfang
var D "zufall.bat"\dos
var D "zufall.num"\open
if no mes zufall.num gibt's nicht;end
get\ins #ux1\close
var D "zufall.num"\delete
var "+" D "zufall.txt"\xport f
wri #dts ": " #ux1 n\close x
keychk\if yes end\jump anfang
(Abbruch dieser Endlosschleife mit <Esc>!). Der Gedake ist halt der, die Arbeit der
Zufallszahlengenerierung einer Stapeldatei zu überlassen und deren Ergebnis einfach
auszulesen.
Was kommt raus, als Ergebnis zufall.txt? Die Enttäuschung ist groß:
...
20081228/11:29:40: 22005
20081228/11:29:40: 22005
20081228/11:29:40: 22005
....
20081228/11:29:41: 22009
20081228/11:29:41: 22009
20081228/11:29:41: 22009
...
Keine Spur von Zufälligkeit! Zu Beginn jeder Sekunde wird 4 (bei anderen Versuchen auch
3) addiert, und dann bleibt die Zahl eine Sekunde lang konstant ... :-((
Enttäuscht und ratlos grüßt:
Heinrich Allers
allers at t-online.de * http://h-allers.de
Bitácora: http://heinrich-erlo-spa.blogspot.com
Netztagebuch: http://heinrich-erlo-ger.blogspot.com
Mehr Informationen über die Mailingliste Allegro