Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 575
  • Last Modified:

Random Numbers In Codewarrior

I can't find anywhere that know another way to generate random numbers in a PASCAL program other than "RANDOM (#)" which doesn't work...
If anyone knows anything, let me know.
0
Vriaeliss
Asked:
Vriaeliss
  • 2
1 Solution
 
My name is MudCommented:
Since Randomize from pascal, seek a "Random number" generated by the time in the computer in an exact location in memory $40:$6C for the PC, in the MAC, you must know this exact location, and replace this values, if you don't know them, then you can buil a procedure to "Ask the Time" then sum the hours+Minutes+Seconds+100/sec, to get a randomize number.

{$R-,S-,B-}
UNIT RANDNUM;

INTERFACE

Const
  Rnd_M = 65521;
  Rnd_C = 42000;
  Rnd_A = 58417;
  RndXn: Word = 16;

Procedure MyRandomizer;
Function MyRandomGen: Real;

IMPLEMENTATION

Procedure MyRandomizer;
Var
  Rnd: Word Absolute $40:$6C; {***I think this is the problem***}
Begin
  RndXn:=Rnd
End;

Function MyRandomGen: Real;
VAR
  Tot,Frac: Real;
Begin
  Tot:=(Rnd_A*RndXn+Rnd_C)/Rnd_M;
  Frac:=(Tot-Trunc(Tot));
  RndXn:=Trunc(Frac*Rnd_M);
  MyRandomGen:=Frac;
End;

End.



Mod. version...

{$R-,S-,B-}
UNIT RANDNUM;

INTERFACE

Const
  Rnd_M = 65521;
  Rnd_C = 42000;
  Rnd_A = 58417;
  RndXn: Word = 16;

Procedure MyRandomizer;
Function MyRandomGen: Real;

IMPLEMENTATION

USES
  CRT;

Procedure MyRandomizer;
Var
  Rnd: Word; (*Absolute $40:$6C; {***Eliminate this***}*)
  HH,MM,SS,S100: Word;
Begin
  GetTime(HH,MM,SS,S100);
  RndXn:=HH+MM+SS+S100);
End;

Function MyRandomGen: Real;
VAR
  Tot,Frac: Real;
Begin
  Tot:=(Rnd_A*RndXn+Rnd_C)/Rnd_M;
  Frac:=(Tot-Trunc(Tot));
  RndXn:=Trunc(Frac*Rnd_M);
  MyRandomGen:=Frac;
End;

End.
0
 
Alisher_NCommented:
why doesn't work ??

Randomize;
X := Round( 10 )+1; { get 1..10 }

by the way! if you work Mac (yack! ;) you may want to look at www.freepascal.org
guyz wrote nice compiler for all platforms (I use it on Linux) and it is fully compatible with Borland's Pascal & Delphi... try and you will not regret!

0
 
My name is MudCommented:
So...
0
 
VriaelissAuthor Commented:
Adjusted points to 100
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now