home *** CD-ROM | disk | FTP | other *** search
- { >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> BEGIN INCLUDE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- Filename : FUNCS.INC
- }
- FUNCTION REPLICATE (NUM : BYTE; C : CHAR) : STRING255;
- { ***************************************************************************
- Return a character replicated string
- ***************************************************************************
- }
- VAR
- TEMP : STRING255;
-
- BEGIN
- TEMP [0] := CHR (NUM);
- FILLCHAR (TEMP [1],NUM,C);
- REPLICATE := TEMP;
- END; { REPLICATE }
-
-
- FUNCTION CENTER (S : STRING80; FIELDSIZE : BYTE) : BYTE;
- { ***************************************************************************
- Return the number of spaces required to augment the left margin to center
- C in the FIELDSIZE
- ***************************************************************************
- }
- BEGIN
- IF (FIELDSIZE-LENGTH(S)) > 0 THEN CENTER := (FIELDSIZE-LENGTH(S)) DIV 2
- ELSE CENTER := 0;
- END; { CENTER }
-
-
- FUNCTION HEX (NUM : INTEGER) : STRING4;
- { ***************************************************************************
- Convert an unsigned integer to its ASCII hex equivalent
- ***************************************************************************
- }
-
- FUNCTION HILO (B : BYTE) : STRING2;
- { ---------------------------------------------------------------------------
- Do one byte at a time
- ---------------------------------------------------------------------------
- }
- VAR
- TEMP : STRING2;
-
- BEGIN
- IF B > $F THEN
- BEGIN
- IF ((B SHR 4)> 9) THEN TEMP := CHR((B SHR 4)+$41-10)
- ELSE TEMP := CHR((B SHR 4) + $30);
- END { IF }
- ELSE TEMP := '0';
- IF ((B AND $F) > 9) THEN TEMP := CONCAT(TEMP,(CHR((B AND $F)+$41-10)))
- ELSE TEMP := CONCAT(TEMP,(CHR((B AND $F)+$30)));
- HILO := TEMP;
- END;
-
- BEGIN
- IF HI(NUM) > 0 THEN HEX := HILO (HI(NUM)) + HILO (LO(NUM))
- ELSE HEX := HILO (LO(NUM));
- END; { HEX }
-
-
- FUNCTION BINARY (C : CHAR) : BYTE;
- { ***************************************************************************
- Return the binary equivalent of the hex character
- ***************************************************************************
- }
- BEGIN
- C := UPCASE (C);
- CASE C OF
- '0'..'9' : BINARY := ORD (C) - $30;
- 'A'..'F' : BINARY := ORD (C) - $37;
- ELSE BINARY := 0;
- END; { CASE }
- END; { BINARY }
-
- { <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< END INCLUDE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- }