home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* MKTEST.PAS *)
- (* ------------------------------------------------------ *)
- PROGRAM ManyKeyTest;
-
- USES Crt, ManyKey;
-
- CONST
- KeyName : ARRAY [$01..$53] OF STRING [22] =
- ('Esc','1','2','3','4','5','6',
- '7','8','9','0','ß','''',#17#205,
- 'Tab','Q','W','E','R','T','Z',
- 'U','I','O','P','Ü','+',#17#205#205#190,
- 'Ctrl','A','S','D','F','G','H',
- 'J','K','L','Ö','Ä','<>',
- #24#24#24#24#24,'#','Y','X','C',
- 'V','B','N','M',',','.','-',
- #24#24#24#24#24,' * ','Alt',
- ' Space-Bar ','Caps',
- 'F1','F2','F3','F4','F5',
- 'F6','F7','F8','F9','F0',
- 'Num','Scroll ','Hom',' '#24' ',
- 'PUp',' - ',' '#27' ',' '#250' ',
- ' '#26' ',' + ','End',' '#25' ',
- 'PDn','Insert ','Del');
- KeyPos : ARRAY [$01..$53, 1..2] OF BYTE=
- ((45,1),(11,1),(13,1),(15,1),(17,1),(19,1),(21,1),
- (23,1),(25,1),(27,1),(29,1),(31,1),(33,1),(37,1),
- (8,2),(12,2),(14,2),(16,2),(18,2),(20,2),(22,2),
- (24,2),(26,2),(28,2),(30,2),(32,2),(34,2),(35,3),
- (8,3),(13,3),(15,3),(17,3),(19,3),(21,3),(23,3),
- (25,3),(27,3),(29,3),(31,3),(33,3),(8,1),
- (8,4),(35,1),(14,4),(16,4),(18,4),
- (20,4),(22,4),(24,4),(26,4),(28,4),(30,4),(32,4),
- (34,4),(57,2),(8,5),
- (12,5),(35,5),
- (1,1),(4,1),(1,2),(4,2),(1,3),
- (4,3),(1,4),(4,4),(1,5),(4,5),
- (49,1),(53,1),(45,2),(49,2),
- (53,2),(57,3),(45,3),(49,3),
- (53,3),(57,4),(45,4),(49,4),
- (53,4),(45,5),(53,5));
-
- TYPE
- TScreen = ARRAY [1..25, 1..80] OF WORD;
-
- VAR
- i : INTEGER;
- Scr : ^TScreen;
-
- PROCEDURE PutStr(x, y : BYTE; s : STRING);
- VAR
- i : BYTE;
- w : WORD;
- BEGIN
- w := TextAttr SHL 8;
- FOR i := 1 TO Length(s) DO
- Scr^[y, x+i] := BYTE(s[i]) OR w;
- END;
-
- BEGIN
- ClrScr;
- IF Mem[$40:$49] = 7 THEN
- Scr := Ptr($B000, $0000)
- ELSE
- Scr := Ptr($B800, $0000);
- GotoXY(1, 15);
- WriteLn('Dieses Programm ist eine Demonstration ',
- 'für »ManyKey«');
- WriteLn;
- WriteLn('»ManyKey« erlaubt die Abfrage mehrerer ',
- 'Tasten gleichzeitig!');
- WriteLn;
- WriteLn('[ESC] bricht das Programm ab.');
- WriteLn;
- WriteLn('(c) 1991 Hanno-Ekkehard Müller & TOOLBOX');
- InitManyKey;
- REPEAT
- FOR i := $53 DOWNTO $01 DO BEGIN
- IF ButtonPressed[i] THEN
- TextAttr := $70
- ELSE
- TextAttr := $0F;
- PutStr(KeyPos[i, 1]+5, KeyPos[i, 2]+3, KeyName[i]);
- END;
- UNTIL ButtonPressed[$01];
- ReInitManyKey;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von MKTEST.PAS *)