Thanks to all !
The variable GPC_UNIT_PATH works very well and, despite the wise
advice of Frank, I've included the current directory in my PATH (I'm
strictly and for ever a single-user).
The statement "export all" is convenient to export operators, the only
joke is that we must use the full header of the operator (params and
return name) in the implementation part, unlike the forward style of
other routines.
Now, I was puzzled by the comportment of the Borland functions Low and
High. Writing the small test :
program testarraypar ;
procedure writeRange (T : array of integer) ;
begin
WriteLn('param range : ', Low(T), '..', High(T)) ;
end ;
var T : array [1..10] of integer ;
begin
WriteLn('arg range : ', Low(T), '..', High(T)) ;
writeRange(T) ;
WriteLn('arg range : ', Low(T[2..9]), '..', High(T[2..9])) ;
writeRange(T[2..9]) ;
end.
the running gives :
arg range : 1..10
param range : 0..9
arg range : 2..9
param range : 0..7
That's not fair ! And with such a comportment, the parameter type
"array of integer" becomes almost useless : iterative sorting routines
do their job but not the linear search nor the binary one (except with
stupid things like "return index + Low(T)" that I refuse to teach with
beginners).
Knows someone an other way to access the bounds of an "array of
integer" ?
Thanks in advance,
Dominique