home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 03 / tricks / stopuhr.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-12-14  |  1.6 KB  |  67 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     STOPUHR.PAS                        *)
  3. (*        (c) 1990  Ulf Kepper  &  TOOLBOX                *)
  4. (* ------------------------------------------------------ *)
  5. UNIT StopUhr;
  6.  
  7. INTERFACE
  8.  
  9. USES Dos, Crt;
  10.  
  11. VAR
  12.   Counter : LONGINT;
  13.  
  14.   PROCEDURE Start;
  15.   PROCEDURE Ende;
  16.   PROCEDURE Lap;
  17.  
  18. IMPLEMENTATION
  19.  
  20. VAR
  21.   OldTimer : POINTER;
  22.  
  23.   PROCEDURE TimeTest(Flags, CS, IP, AX, BX, CX, DX,
  24.                                 SI, DI, DS, ES, BP: WORD);
  25.   INTERRUPT;
  26.   VAR
  27.     I   : BYTE;
  28.     St1 : STRING;
  29.   BEGIN
  30.     Inc(Counter);
  31.     IF Counter MOD 2 = 0 THEN BEGIN
  32.                        { ungefähr alle 0.1 Sekunden zählen }
  33.       St1 := '      ';
  34.       Str(Counter/18.2:0:1, St1); { Umrechnung in Sekunden }
  35.       FOR i := 1 TO 6 DO
  36.         Mem[$b800:120+2*i] := Ord(St1[i]); { für HGC $b000 }
  37.     END;
  38.   END;
  39.  
  40.   PROCEDURE Start;
  41.   BEGIN
  42.     Counter := 0;
  43.     GetIntVec(28, OldTimer);
  44.     SetIntVec(28, @TimeTest);
  45.   END;
  46.  
  47.   PROCEDURE Ende;
  48.   BEGIN
  49.     ClrEol;
  50.     WriteLn('Gestoppte Zeit war ', Counter / 18.2: 0: 2,
  51.             ' Sekunden  bzw. ', Counter / 18.2 / 60: 0: 2,
  52.             ' Minuten ');
  53.     SetIntVec(28, OldTimer);
  54.   END;
  55.  
  56.   PROCEDURE Lap;
  57.   BEGIN
  58.     ClrEol;
  59.     Writeln('Gestoppte Zwischenzeit war ',
  60.              Counter / 18.2:0:2,' Sekunden  bzw. ',
  61.              Counter / 18.2 / 60: 0: 2, ' Minuten ');
  62.   END;
  63.  
  64. END.
  65. (* ------------------------------------------------------ *)
  66. (*                Ende von STOPUHR.PAS                    *)
  67.