home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / tp_util / tpersatz.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-07-14  |  1.3 KB  |  85 lines

  1.  
  2. UNIT TPERSATZ;
  3. { EINIGE WICHTIGE FUNCTIONS UND PROZEDUREN AUS TURBO PROFESSIONAL
  4.   WERDEN HIER NACHGEBILDET
  5. }
  6.  
  7. INTERFACE
  8.  
  9.  
  10. USES  DOS;
  11.  
  12.  
  13. PROCEDURE HIDDENCURSOR;
  14. PROCEDURE NORMALCURSOR;
  15. FUNCTION HEXB(WERT:BYTE):STRING;
  16. FUNCTION HEXW(WERT:WORD):STRING;
  17. FUNCTION HEXL(WERT:LONGINT):STRING;
  18. FUNCTION TIMEMS:LONGINT;
  19.  
  20.  
  21. IMPLEMENTATION
  22.  
  23.  
  24. VAR   CURS  : WORD;
  25.       R     : REGISTERS;
  26.  
  27.  
  28. PROCEDURE HIDDENCURSOR;
  29. VAR   ADR  : WORD;
  30. BEGIN
  31.   ADR := MEMW[$40:$63];
  32.   PORT[ADR] := $0A;
  33.   PORT[ADR+1] := $1F;
  34. END;
  35.  
  36.  
  37. PROCEDURE NORMALCURSOR;
  38. BEGIN
  39.   R.AH := 1;
  40.   R.CX := CURS;
  41.   INTR($10,R);
  42. END;
  43.  
  44.  
  45. FUNCTION HEXNIB(B:BYTE):CHAR;
  46. BEGIN
  47.   B := B AND $0F;
  48.   IF B > 9 THEN HEXNIB := CHR(B+$37) ELSE HEXNIB := CHR(B+$30);
  49. END;
  50.  
  51.  
  52. FUNCTION HEXB(WERT:BYTE):STRING;
  53. BEGIN
  54.   HEXB := HEXNIB(WERT SHR 4) + HEXNIB(WERT);
  55. END;
  56.  
  57.  
  58. FUNCTION HEXW(WERT:WORD):STRING;
  59. BEGIN
  60.   HEXW := HEXB(HI(WERT)) + HEXB(LO(WERT));
  61. END;
  62.  
  63.  
  64. FUNCTION HEXL(WERT:LONGINT):STRING;
  65. VAR   X  : ARRAY[0..1] OF WORD ABSOLUTE WERT;
  66. BEGIN
  67.   HEXL := HEXW(X[1]) + HEXW(X[0]);
  68. END;
  69.  
  70.  
  71. FUNCTION TIMEMS:LONGINT;
  72. BEGIN
  73.   WITH R DO BEGIN
  74.     AH := $2C;
  75.     MSDOS(R);
  76.     TIMEMS := 1000*(LONGINT(DH)+60*(LONGINT(CL)+60*LONGINT(CH)))+10*LONGINT(DL);
  77.   END;
  78. END;
  79.  
  80.  
  81. BEGIN
  82.   CURS := MEMW[$40:$60];
  83. END.
  84.  
  85.