{ RETURNS AN INTEGER VALUE FROM THE ARGUMENT STRING STARTING AT POSITION cpos. EXAMPLE: PAY := CTOI( currline, cpos ); REQUIRES THE FOLLOWING GLOBAL DEFINITIONS: type buffer = string xx; var line : buffer; } FUNCTION CTOI(buf:BUFFER; i:int):int; const space = ' '; ZERO = 48; { ORDinal value of ASCII '0' } var sign, { for signed number } val :int; BEGIN WHILE (buf[i] = space) OR (buf[i] = chr(9)) DO i := i + 1; sign := 1; if ( buf[i]='-' ) then begin sign := -1; i := i + 1 end; val := 0; WHILE ( buf[i] IN ['0'..'9'] ) DO BEGIN val := val * 10 + ORD(buf[i]) - zero; i := i + 1 END; CTOI := val * sign END{ of CTOI }; { STR - returns an alphanumeric equal of integer (tval) EXAMPLE: date := STR( idate ); REQUIRES THE FOLLOWING GLOBAL DEFINITIONS: CONST DEFAULT = 80; { or whatever } TYPE DSTRING = STRING DEFAULT; } FUNCTION STR(tval: INTEGER): DSTRING; const size = 10; { Max number of digits in the number } ZERO = 48; { ORDinal value of '0' } var cix : char; S : DSTRING; i, { length of number } d,t,j: INTEGER; begin t := ABS(tval); setlength(S,0); { * S := ''; * } i := 0; repeat {generate digits} i := i + 1; d := t MOD 10; append( S, chr(d + zero) ); t := t DIV 10; until (t=0) or (i>=size); If (tval<0) AND (i