Frank,
Try this using the new DLCALL functions in RBASE
{These two must be declared only ONCE in an RBASE SESSION}
STDCALL function 'GetTickCount' () : integer
STDCALL void 'Sleep' (integer)
{
"We get the last two numbers from the TickCount, test if they are between
Ascii 65 and 90, if success, then add to String vPASS. If String is
vPassLength, then write to file. It takes a couple of minutes to
generate 80 passwords. In my test, there were no Dupes. I used RBASE
RANDOM function to make the Sleep API vary so the GetTickCount would be
more random as well.
}
IF (chkvar('vsleep')) = 0 THEN
SET VAR vsleep INTEGER = 100
ENDIF
Set var vMaxWordsToGen integer = 80
Set var vPassLength integer = 8
SET VAR vret INTEGER = 0
SET VAR i INTEGER = 0
SET VAR vpass TEXT = NULL
SET VAR vgettick INTEGER = NULL
SET VAR vtext TEXT = ''
SET VAR vascii INTEGER = 0
OUTPUT holdrand.csv
WHILE i < .vMaxWordsToGen THEN
SET VAR vsleep = (RANDOM(50))
SET VAR vret = (dlcall('Kernel32','Sleep', vsleep))
SET VAR vgettick = (dlcall('Kernel32','GetTickCount'))
SET VAR vtext = (CTXT(.vgettick))
SET VAR vascii = (INT((SGET(.vtext ,2, (SLEN(.vtext)) - 1))))
IF vascii BETWEEN 65 AND 90 THEN
SET VAR vpass = (.vpass + (CHAR(.vascii)))
ENDIF
IF (SLEN(.vpass)) = .vPassLength THEN
WRITE .vpass
SET VAR vpass = ''
SET VAR i = (.i + 1)
ENDIF
ENDWHILE
OUTPUT SCREEN
RETURN
----- Original Message -----
From: "Frank Taylor" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Friday, April 04, 2008 3:59 PM
Subject: [RBASE-L] - Random has order ?
I created a password generator the other day using the Random command as such
SET VAR gen1 = (RANDOM(33))
IF gen1 BETWEEN 1 AND 24 THEN
SET VAR gen2 = (RANDOM(2))
ENDIF
The code loops 8 times and uses the values of gen1 and gen2 with a case
statement to make an 8 character password. The first random generated gives me
either a letter or number and the second random generator gives me upper or
lower case if it is to be a letter (I do not use L,O or Zero in case you are
wondering)
I used the code to generate 7 passwords yesterday, then today I used the code
to generate 8 more passwords.. When I went back to look at them, the first 7
passwords I created today, were the exact same and in the same order as the
Seven I created yesterday. I went out of RBase and came back in and sure
enough it started over.. So can I assume that Random is not really random but
has order ? Anyone have a suggestion as a work around, maybe using a system
variable in the mix ?
Using RB7.6 ver 7.6.3.30321
n Frank
Frank Taylor - Information Systems Administrator
F.J. O'Hara & Sons, Inc - Araho Transfer Inc.
Boston, MA - Rockland, ME - Miami, FL
Direct Dial - 617-790-3093
email: [EMAIL PROTECTED]