home *** CD-ROM | disk | FTP | other *** search
- {$S-,R-,V-,I-,B-,F-,O-,A-}
-
-
- UNIT NOBREAK;
- { DIE FUNKTIONEN PAUSE UND CTRL-ALT-DEL WERDEN ABGEFANGEN
- UND DEM HAUPTPROGRAMM ÜBER FUNKTIONEN ZUR VERFÜGUNG GESTELLT.
- WIRD IM HAUPTPROGRAMM CHECKBREAK := FALSE GESETZT,
- STELLT DIE UNIT DEM HAUPTPROGRAMM PER FUNKTION BREAK DAS BETÄTIGEN
- VON CTRL-BREAK ZUR VERFÜGUNG.
- ALLERDINGS MELDET BEI CTRL- BREAK DER TASTATURTREIBER IMMER NOCH EIN
- CTRL-C AN DAS HAUPTPROGRAMM !
- }
- {$F+}
-
- INTERFACE
-
-
- USES DOS;
-
-
- FUNCTION BREAK : BOOLEAN;
- FUNCTION PAUSE : BOOLEAN;
- FUNCTION CTRLALTDEL : BOOLEAN;
-
- PROCEDURE INITKBDVECTORS;
- PROCEDURE RESTOREKBDVECTORS;
-
-
-
- IMPLEMENTATION
-
-
- CONST PAUSEK : BOOLEAN = FALSE;
- BREAKK : BOOLEAN = FALSE;
-
- VAR EXITSAVE : POINTER;
-
- {$L NOBREAK}
-
-
- PROCEDURE NEWINT09; EXTERNAL;
-
- {$F+}
- PROCEDURE INITKBDVECTORS; EXTERNAL;
- PROCEDURE RESTOREKBDVECTORS; EXTERNAL;
-
- PROCEDURE MYEXIT;
- BEGIN
- RESTOREKBDVECTORS;
- MEM[$40:$71] := 0; { BREAK- FLAG RÜCKSETZEN }
- EXITPROC := EXITSAVE;
- END;
-
-
- FUNCTION BREAK : BOOLEAN;
- BEGIN
- BREAK := MEM[$40:$71] <> 0;
- MEM[$40:$71] := 0;
- END;
-
-
- FUNCTION PAUSE : BOOLEAN;
- BEGIN
- PAUSE := PAUSEK;
- PAUSEK := FALSE;
- END;
-
-
- FUNCTION CTRLALTDEL : BOOLEAN;
- BEGIN
- CTRLALTDEL := BREAKK;
- BREAKK := FALSE;
- END;
- {$F-}
-
-
- BEGIN { MAIN }
- INITKBDVECTORS;
- EXITSAVE := EXITPROC;
- EXITPROC := @MYEXIT;
- MEM[$40:$71] := 0;
- END.
-