home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 08 / tricks / hotkdemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-05-24  |  1.9 KB  |  71 lines

  1. (* ------------------------------------------------------ *)
  2. (*                  HOTKDEMO.PAS                          *)
  3. (*  ... demonstriert die Fähigkeiten der Unit HOTKEY      *)
  4. (*           (c) 1989 Jan Hargens & TOOLBOX               *)
  5. (* ------------------------------------------------------ *)
  6. PROGRAM HotkeyDemo;
  7.  
  8. USES Crt, HotKey;
  9.  
  10. CONST
  11.   F1_Code = $3b00;
  12.   F2_Code = $3c00;
  13.  
  14. VAR
  15.   FrameColor : BYTE;
  16.   Abbruch    : BOOLEAN;
  17.   s          : STRING[60];
  18.  
  19. {$F+}                            { FAR-Codierung notwendig }
  20.   PROCEDURE RewriteFrame;
  21.   CONST
  22.     Box = #219;
  23.   VAR
  24.     x, y, Count, Count2  : BYTE;
  25.     Wmin, Wmax, AttrSave : WORD;
  26.   BEGIN
  27.     x        := WhereX;     y    := WhereY;
  28.     WMin     := WindMin;    WMax := WindMax;
  29.     WindMin  :=0;        WindMax := $FFFF; { kein Scrollen }
  30.     AttrSave :=TextAttr;
  31.     Inc(FrameColor);
  32.     IF FrameColor > 15 THEN FrameColor := 1;
  33.     TextAttr := (TextAttr AND $F0) OR FrameColor;
  34.     FOR count := 0 TO 1 DO BEGIN
  35.       GotoXY(1, count*24 + 1);
  36.       FOR count2 := 1 TO 80 DO Write(Box);
  37.     END;
  38.     FOR count := 2 TO 24 DO
  39.       FOR count2 := 0 TO 1 DO BEGIN
  40.         GotoXY(count2*79 + 1, count);
  41.         Write(Box);
  42.       END;
  43.     TextAttr := AttrSave;
  44.     WindMin := WMin; WindMax := WMax;
  45.     GotoXY(x,y);
  46.   END;
  47.  
  48.   PROCEDURE SetFlag;
  49.   BEGIN
  50.     Abbruch := TRUE;
  51.     DeleteHotkey(F1_Code);    { keine Farbverstellung mehr }
  52.   END;
  53. {$F-}
  54.  
  55. BEGIN
  56.   ClrScr;
  57.   WriteLn(^J' Hotkeydemo (c) 1989 Jan Hargens & TOOLBOX');
  58.   Abbruch := FALSE;
  59.   FrameColor := 1;
  60.   GotoXY(10,21);
  61.   Write(' Für Abbruch <F2> Return tippen');
  62.   Window(10, 10, 41, 20);
  63.   AddHotkey(F1_Code, RewriteFrame);
  64.   AddHotkey(F2_Code, SetFlag);
  65.   REPEAT
  66.     ReadLn(s);
  67.   UNTIL Abbruch;
  68.   ClrScr;
  69. END.
  70. (* ------------------------------------------------------ *)
  71. (*               Ende von HOTKDEMO.PAS                    *)