home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* STOPUHR.PAS *)
- (* (c) 1990 Ulf Kepper & TOOLBOX *)
- (* ------------------------------------------------------ *)
- UNIT StopUhr;
-
- INTERFACE
-
- USES Dos, Crt;
-
- VAR
- Counter : LONGINT;
-
- PROCEDURE Start;
- PROCEDURE Ende;
- PROCEDURE Lap;
-
- IMPLEMENTATION
-
- VAR
- OldTimer : POINTER;
-
- PROCEDURE TimeTest(Flags, CS, IP, AX, BX, CX, DX,
- SI, DI, DS, ES, BP: WORD);
- INTERRUPT;
- VAR
- I : BYTE;
- St1 : STRING;
- BEGIN
- Inc(Counter);
- IF Counter MOD 2 = 0 THEN BEGIN
- { ungefähr alle 0.1 Sekunden zählen }
- St1 := ' ';
- Str(Counter/18.2:0:1, St1); { Umrechnung in Sekunden }
- FOR i := 1 TO 6 DO
- Mem[$b800:120+2*i] := Ord(St1[i]); { für HGC $b000 }
- END;
- END;
-
- PROCEDURE Start;
- BEGIN
- Counter := 0;
- GetIntVec(28, OldTimer);
- SetIntVec(28, @TimeTest);
- END;
-
- PROCEDURE Ende;
- BEGIN
- ClrEol;
- WriteLn('Gestoppte Zeit war ', Counter / 18.2: 0: 2,
- ' Sekunden bzw. ', Counter / 18.2 / 60: 0: 2,
- ' Minuten ');
- SetIntVec(28, OldTimer);
- END;
-
- PROCEDURE Lap;
- BEGIN
- ClrEol;
- Writeln('Gestoppte Zwischenzeit war ',
- Counter / 18.2:0:2,' Sekunden bzw. ',
- Counter / 18.2 / 60: 0: 2, ' Minuten ');
- END;
-
- END.
- (* ------------------------------------------------------ *)
- (* Ende von STOPUHR.PAS *)