On Mon, 27 Oct 1997 16:47:56 +0100 (MET), Peter Gerwinski wrote:
On 21 September, Frank Heckenbach posted a Unit `Rand' to this list which implements a `random' and a `randomize' function just this way. You can extract it from the GPC mailing list archives (see http://home.pages.de/~GNU-Pascal/support.html) or download it from ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/contrib/rand.pas.
IMHO, this code is still broken. On a non-DOS platform it tries to pass an integer to a function expecting a cardinal and always returns a type check error and doesn't compile. Is there some advanced switch that should be used in situations like this to turn off type-checking (I've never really looked at all of the directives and didn't see where they were in the docs after a quick look) and the type-casting section is empty.
The code in question: FUNCTION Rand:Integer; C; PROCEDURE SRand(Seed:Cardinal); C; FUNCTION GetPID:Integer; C;
PROCEDURE Randomize; BEGIN SRand(GetPID); RandSeed:=Rand END;
-Kevin -- Kevin A. Foss --- kfoss@mint.net --