home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* TXCRT.PAS *)
- (* TOOLBOX-Crt-Unit *)
- (* ------------------------------------------------------ *)
- UNIT txCrt;
-
- INTERFACE
-
- USES Dos, Crt;
-
- TYPE
- ScreenType = ARRAY [1..4000] OF BYTE;
-
- VAR
- MonoScreen : ScreenType ABSOLUTE $B000:0000;
- ColScreen : ScreenType ABSOLUTE $B800:0000;
-
- ScreenBuf : ScreenType;
- Foreground : BYTE;
- Background : BYTE;
-
-
- PROCEDURE ClrScr;
-
- PROCEDURE GotoXY(x, y : BYTE);
-
- PROCEDURE Delay(mSec : WORD);
-
- FUNCTION KeyPressed : BOOLEAN;
-
- FUNCTION ReadKey : CHAR;
-
- PROCEDURE Normal;
-
- PROCEDURE Invers;
-
- FUNCTION Mono : BOOLEAN;
- { TRUE, wenn eine Mono-Grafikkarte benutzt wird }
-
- PROCEDURE SaveScreen;
- { Bildschirm löschen/Inhalt sichern }
-
- PROCEDURE RestoreScreen;
- { Bildschirm wiederherstellen }
-
- PROCEDURE CursorOn;
-
- PROCEDURE CursorOff;
-
- IMPLEMENTATION
-
- PROCEDURE ClrScr;
- BEGIN
- Crt.ClrScr;
- END;
-
- PROCEDURE GotoXY(x, y : BYTE);
- BEGIN
- Crt.GotoXY(x, y);
- END;
-
- PROCEDURE Delay(mSec : WORD);
- BEGIN
- Crt.Delay(mSec);
- END;
-
- FUNCTION KeyPressed : BOOLEAN;
- BEGIN
- KeyPressed := Crt.KeyPressed;
- END;
-
- FUNCTION ReadKey : CHAR;
- BEGIN
- ReadKey := Crt.ReadKey;
- END;
-
- PROCEDURE Normal;
- BEGIN
- Crt.Textcolor(Foreground);
- Crt.Textbackground(Background);
- END;
-
- PROCEDURE Invers;
- BEGIN
- Crt.TextColor(Background);
- Crt.TextBackground(Foreground);
- END;
-
- FUNCTION Mono : BOOLEAN;
- VAR
- Regs : Dos.Registers;
- BEGIN
- Regs.AH := $F;
- Dos.Intr($10, Regs);
- Mono := (Regs.AL = 7);
- END;
-
- PROCEDURE SaveScreen;
- BEGIN
- IF Mono THEN
- ScreenBuf := MonoScreen
- ELSE
- ScreenBuf := ColScreen;
- ClrScr;
- END;
-
- PROCEDURE RestoreScreen;
- BEGIN
- IF Mono THEN
- MonoScreen := ScreenBuf
- ELSE
- ColScreen := ScreenBuf;
- END;
-
- PROCEDURE CursorOn;
- BEGIN
- INLINE($B4/$01/
- $B9/13/12/ { Cursoranf. 12.Z, Cursorende 13.Z }
- $CD/$10);
- END;
-
- PROCEDURE CursorOff;
- BEGIN
- INLINE($B4/$01/
- $B9/$FF/$FF/ { Cursoranfang und -ende auf }
- $CD/$10); { 255 setzen löscht den Cursor }
- END;
-
- END.
- (* ------------------------------------------------------ *)
- (* Ende von TXCRT.PAS *)
-