I just tested this 3 times and get the same numbers each time.
I am setting the Random number to 15 and created 10
The numbers I get are
0 0 5 0 5 3 8 2 10 14 each of the 3 times I tested this.

I hope I am missing something, I sent an update out several months
back that needs truley random numbers.

Marc



----- Original Message ----
From: MikeB <[EMAIL PROTECTED]>
To: RBASE-L Mailing List <[email protected]>
Sent: Friday, April 4, 2008 5:16:28 PM
Subject: [RBASE-L] - Re: Random has order ?


----- Original Message ----- From: "Castanaro, Bob" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Friday, April 04, 2008 7:06 PM
Subject: [RBASE-L] - Re: Random has order ?


I think RBTI needs to step in on this sooner or later and advise.  I'm sure
they are probably looking at this now.  Maybe I am wrong, but I thought the
random function generator had some sort of trigger based on the system time it was started. I know that many, many years ago, I and some others had trouble with repeating random series, but I thought there was a fix in one of earlier
versions.

I am about to rewrite a random drug screening program based on this function
and I need to count on it to be truly random, each time it is run.

That is the reason for GUIDs.  When it Absolutely has to be random.  Would
that Help?

Bob C

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of MikeB
Sent: Friday, April 04, 2008 6:58 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Random has order ?

A Further test of 200 passwords produced 1 duplicate. YMMV


----- Original Message -----
From: "MikeB" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Friday, April 04, 2008 6:51 PM
Subject: [RBASE-L] - Re: Random has order ?


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]





Reply via email to