home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / EDISK.ZIP / FUNCS.INC < prev   
Encoding:
Text File  |  1985-12-22  |  2.4 KB  |  79 lines

  1. {  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> BEGIN INCLUDE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  2.    Filename :  FUNCS.INC
  3. }
  4. FUNCTION REPLICATE (NUM : BYTE; C : CHAR) : STRING255;
  5. {  ***************************************************************************
  6.    Return a character replicated string
  7.    ***************************************************************************
  8. }
  9. VAR
  10.    TEMP    : STRING255;
  11.  
  12. BEGIN
  13.    TEMP [0] := CHR (NUM);
  14.    FILLCHAR (TEMP [1],NUM,C);
  15.    REPLICATE := TEMP;
  16. END; { REPLICATE }
  17.  
  18.  
  19. FUNCTION CENTER (S : STRING80; FIELDSIZE : BYTE) : BYTE;
  20. {  ***************************************************************************
  21.    Return the number of spaces required to augment the left margin to center
  22.    C in the FIELDSIZE
  23.    ***************************************************************************
  24. }
  25. BEGIN
  26.    IF (FIELDSIZE-LENGTH(S)) > 0 THEN CENTER := (FIELDSIZE-LENGTH(S)) DIV 2
  27.    ELSE CENTER := 0;
  28. END; { CENTER }
  29.  
  30.  
  31. FUNCTION HEX (NUM : INTEGER) : STRING4;
  32. {  ***************************************************************************
  33.    Convert an unsigned integer to its ASCII hex equivalent
  34.    ***************************************************************************
  35. }
  36.  
  37. FUNCTION HILO (B : BYTE) : STRING2;
  38. {  ---------------------------------------------------------------------------
  39.    Do one byte at a time
  40.    ---------------------------------------------------------------------------
  41. }
  42. VAR
  43.    TEMP    : STRING2;
  44.  
  45. BEGIN
  46.    IF B > $F THEN
  47.    BEGIN
  48.       IF ((B SHR 4)> 9) THEN  TEMP := CHR((B SHR 4)+$41-10)
  49.       ELSE TEMP := CHR((B SHR 4) + $30);
  50.    END { IF }
  51.    ELSE TEMP := '0';
  52.    IF ((B AND $F) > 9) THEN TEMP := CONCAT(TEMP,(CHR((B AND $F)+$41-10)))
  53.    ELSE TEMP := CONCAT(TEMP,(CHR((B AND $F)+$30)));
  54.    HILO := TEMP;
  55. END;
  56.  
  57. BEGIN
  58.    IF HI(NUM) > 0 THEN HEX := HILO (HI(NUM)) + HILO (LO(NUM))
  59.    ELSE HEX := HILO (LO(NUM));
  60. END; { HEX }
  61.  
  62.  
  63. FUNCTION BINARY (C : CHAR) : BYTE;
  64. {  ***************************************************************************
  65.    Return the binary equivalent of the hex character
  66.    ***************************************************************************
  67. }
  68. BEGIN
  69.    C := UPCASE (C);
  70.    CASE C OF
  71.       '0'..'9' : BINARY := ORD (C) - $30;
  72.       'A'..'F' : BINARY := ORD (C) - $37;
  73.       ELSE       BINARY := 0;
  74.    END; { CASE }
  75. END; { BINARY }
  76.  
  77. {  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< END INCLUDE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  78. }
  79.