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

  1. (* ------------------------------------------------------ *)
  2. (*                      SCRDEMO.PAS                       *)
  3. (*     demonstriert die Funktionsweise von SCROLL.TPU     *)
  4. (*               (c) 1989  H.Mende  & TOOLBOX             *)
  5. (* ------------------------------------------------------ *)
  6. {$F+}
  7. PROGRAM SCROLL_DEMO;
  8.  
  9. USES Crt, Graph, Scroll;
  10.  
  11. VAR
  12.   GDriver,
  13.   GMode, n : INTEGER;
  14.   taste    : CHAR;
  15.  
  16.   PROCEDURE Border(x1, y1, x2, y2 : BYTE);
  17.   VAR
  18.     n : BYTE;
  19.   BEGIN
  20.     GotoXY(x1, y1);  Write(#201);
  21.     GotoXY(x2, y1);  Write(#187);
  22.     GotoXY(x1, y2);  Write(#200);
  23.     GotoXY(x2, y2);  Write(#188);
  24.     FOR n := Succ(x1) TO Pred(x2) DO BEGIN
  25.       GotoXY(n, y1);  Write(#205);
  26.       GotoXY(n, y2);  Write(#205);
  27.     END;
  28.     FOR n := Succ(y1) TO Pred(y2) DO BEGIN
  29.       GotoXY(x1, n);  Write(#186);
  30.       GotoXY(x2, n);  Write(#186);
  31.     END;
  32.   END;
  33.  
  34. BEGIN
  35.   ClrScr;
  36.   GotoXY(32, 2);  WriteLn('SCROLLDEMO',#10);
  37.   Write(' Die Turbo Pascal 5.0 Unit "SCROLL.TPU" stellt');
  38.   WriteLn(' dem Anwender zwei Routinen zur');
  39.   Write(' Verfügung, die es erlauben, Bildfenster im');
  40.   WriteLn(' Text- als auch im Grafikmodus in');
  41.   WriteLn(' beliebige Richtungen zu rollen!',#10);
  42.   WriteLn(' Bsp:');
  43.   Border(10,10,70,20);
  44.   WriteLn(#10);
  45.   Write(#10,'Dies ist ein Fenster mit den Koordinaten');
  46.   WriteLn(' Links/Oben=10/10 und Rechts/Unten=70/20');
  47.   Write('':25,'Weiter mit beliebiger Taste ...');
  48.   GotoXY(11,19); WriteLn('TP5.0 UNIT SCROLL');
  49.  
  50.   { DEMO-Start }
  51.   REPEAT
  52.     GotoXY(25,8);
  53.     Write('SCROLLWINDOW(UP,8,11,11,69,19);    ');
  54.     ScrollWindow(UP,8,11,11,69,19);
  55.     GotoXY(25,8);
  56.     Write('SCROLLWINDOW(DOWN,8,11,11,69,19);  ');
  57.     ScrollWindow(DOWN,8,11,11,69,19);
  58.     GotoXY(25,8);
  59.     Write('SCROLLWINDOW(RIGHT,42,11,11,69,19);');
  60.     ScrollWindow(RIGHT,42,11,11,69,19);
  61.     GotoXY(25,8);
  62.     Write('SCROLLWINDOW(LEFT,42,11,11,69,19); ');
  63.     ScrollWindow(LEFT,42,11,11,69,19);
  64.   UNTIL KeyPressed;
  65.   taste := ReadKey;
  66.   GDriver := Detect;
  67.   InitGraph(GDriver,GMode,'A:\');
  68.   MoveTo(70,10);
  69.   OutText('Das gleiche funktioniert auch im ');
  70.   OutText('Grafikmodus mit SCROLLVIEWPORT');
  71.   MoveTo(300,30); OutText('Bsp:');
  72.   MoveTo(30,170);
  73.   OutText('Das Grafikfenster hat die Koordinaten X1/Y1 =');
  74.   OutText(' 100/50 und X2/Y2 = 539/150!');
  75.   MoveTo(140,190);
  76.   OutText('Ende der Demonstration mit beliebiger Taste !');
  77.   OutTextXY(100,140,'TP5.0 UNIT SCROLL');
  78.   Rectangle(92,46,547,154);
  79.   Rectangle(96,48,544,152);
  80.   SetViewPort(100,50,539,150,true);
  81.   REPEAT
  82.     IF NOT KeyPressed THEN
  83.       FOR n := 12 DOWNTO 1 DO ScrollViewPort(UP,n);
  84.     IF NOT KeyPressed THEN
  85.       FOR n := 1 TO 12 DO ScrollViewPort(DOWN,n);
  86.     IF NOT KeyPressed THEN
  87.       FOR n := 24 DOWNTO 1 DO ScrollViewPort(RIGHT,n);
  88.     IF NOT KeyPressed THEN
  89.       FOR n := 1 TO 24 DO ScrollViewPort(LEFT,n);
  90.   UNTIL KeyPressed;
  91.   taste := ReadKey;
  92.   CloseGraph;
  93. END.
  94. (* ------------------------------------------------------ *)
  95. (*                 Ende von SCRDEMO.PAS                   *)