home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 01 / tricks / scrdemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-10-19  |  2.2 KB  |  81 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     SCRDEMO.PAS                        *)
  3. (*              Demo für Unit SCREENS.PAS                 *)
  4. (*                    Turbo Pascal 5.5                    *)
  5. (*              (c) 1990 H.Zenz & TOOLBOX                 *)
  6. (* ------------------------------------------------------ *)
  7. PROGRAM ScreenDemo;
  8.  
  9. USES Crt, Screens;
  10.  
  11. VAR i    : INTEGER;
  12.     ch   : CHAR;
  13. CONST                { Verzögerungswert für die Effekte    }
  14.     Dauer: BYTE = 4; { optimal für 8 Mhz-AT, ggf. anpassen }
  15.  
  16. PROCEDURE Bildschirm;                { Testbilder aufbauen }
  17. VAR
  18.   n, x, y: BYTE;
  19. CONST
  20.   Meldung  : ARRAY[1..3] OF STRING =
  21.             ('╔═════════╗',
  22.              '║ toolbox ║',
  23.              '╚═════════╝');
  24. BEGIN
  25.   Randomize;
  26.   Cls(0, 0);
  27.   FOR n := 1 TO 200 DO BEGIN                     { Seite 0 }
  28.     TextColor(Random(8)+8);       { bunte toolbox-Kästchen }
  29.     TextBackground(Random(8));
  30.     x := Random(70);
  31.     y := Random(23);
  32.     for i := 1 TO 3 DO
  33.       WriteStrXY(x, y+i-1, 0, Meldung[i]);
  34.   END;
  35.   Cls(1, Blue);                                  { Seite 1 }
  36.   FOR x := 0 TO 79 DO                      { buntes Muster }
  37.     FOR y := 0 TO 24 DO BEGIN
  38.       TextColor((x+2*y) MOD 16);
  39.       TextBackGround((x*y) MOD 8);
  40.       WriteStrXY(x, y, 1, #176);
  41.     END;
  42.   TextColor(White);
  43.   TextBackground(Red);                  { Meldung anzeigen }
  44.   WriteStrXY(23,11,1,'╔═════════════════════════════════╗');
  45.   WriteStrXY(23,12,1,'║  Dies ist ein Demo nach Art  0  ║');
  46.   WriteStrXY(23,13,1,'╚═════════════════════════════════╝');
  47. END;
  48.  
  49. PROCEDURE Ende;
  50. BEGIN
  51.   CopyScreen(2, 0, 0, 0);
  52.   SetPage(0);
  53.   Cls(1, 0);
  54.   CopyScreen(1, 0, Dauer, Random(9) + 1);
  55.   TextBackGround(Black);
  56.   ClrScr;
  57.   Halt;
  58. END;
  59.  
  60. BEGIN
  61.   SetPage(2);
  62.   Bildschirm;
  63.   i := 1;
  64.   REPEAT
  65.     WriteIntXY(54, 12, 1, i, 2);
  66.     CopyScreen(1, 2, Dauer, i);
  67.     ch := ReadKey;
  68.     IF ch = #27 THEN
  69.       Ende;
  70.     CopyScreen(0, 2, Dauer, i);
  71.     ch := ReadKey;
  72.     IF ch = #27 THEN
  73.       Ende;
  74.     Inc(i);
  75.     IF i > 9 THEN
  76.       i := 1;
  77.   UNTIL FALSE;
  78. END.
  79. (* ------------------------------------------------------ *)
  80. (*                 Ende von SCRDEMO.PAS                   *)
  81.