home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* SCRDEMO.PAS *)
- (* demonstriert die Funktionsweise von SCROLL.TPU *)
- (* (c) 1989 H.Mende & TOOLBOX *)
- (* ------------------------------------------------------ *)
- {$F+}
- PROGRAM SCROLL_DEMO;
-
- USES Crt, Graph, Scroll;
-
- VAR
- GDriver,
- GMode, n : INTEGER;
- taste : CHAR;
-
- PROCEDURE Border(x1, y1, x2, y2 : BYTE);
- VAR
- n : BYTE;
- BEGIN
- GotoXY(x1, y1); Write(#201);
- GotoXY(x2, y1); Write(#187);
- GotoXY(x1, y2); Write(#200);
- GotoXY(x2, y2); Write(#188);
- FOR n := Succ(x1) TO Pred(x2) DO BEGIN
- GotoXY(n, y1); Write(#205);
- GotoXY(n, y2); Write(#205);
- END;
- FOR n := Succ(y1) TO Pred(y2) DO BEGIN
- GotoXY(x1, n); Write(#186);
- GotoXY(x2, n); Write(#186);
- END;
- END;
-
- BEGIN
- ClrScr;
- GotoXY(32, 2); WriteLn('SCROLLDEMO',#10);
- Write(' Die Turbo Pascal 5.0 Unit "SCROLL.TPU" stellt');
- WriteLn(' dem Anwender zwei Routinen zur');
- Write(' Verfügung, die es erlauben, Bildfenster im');
- WriteLn(' Text- als auch im Grafikmodus in');
- WriteLn(' beliebige Richtungen zu rollen!',#10);
- WriteLn(' Bsp:');
- Border(10,10,70,20);
- WriteLn(#10);
- Write(#10,'Dies ist ein Fenster mit den Koordinaten');
- WriteLn(' Links/Oben=10/10 und Rechts/Unten=70/20');
- Write('':25,'Weiter mit beliebiger Taste ...');
- GotoXY(11,19); WriteLn('TP5.0 UNIT SCROLL');
-
- { DEMO-Start }
- REPEAT
- GotoXY(25,8);
- Write('SCROLLWINDOW(UP,8,11,11,69,19); ');
- ScrollWindow(UP,8,11,11,69,19);
- GotoXY(25,8);
- Write('SCROLLWINDOW(DOWN,8,11,11,69,19); ');
- ScrollWindow(DOWN,8,11,11,69,19);
- GotoXY(25,8);
- Write('SCROLLWINDOW(RIGHT,42,11,11,69,19);');
- ScrollWindow(RIGHT,42,11,11,69,19);
- GotoXY(25,8);
- Write('SCROLLWINDOW(LEFT,42,11,11,69,19); ');
- ScrollWindow(LEFT,42,11,11,69,19);
- UNTIL KeyPressed;
- taste := ReadKey;
- GDriver := Detect;
- InitGraph(GDriver,GMode,'A:\');
- MoveTo(70,10);
- OutText('Das gleiche funktioniert auch im ');
- OutText('Grafikmodus mit SCROLLVIEWPORT');
- MoveTo(300,30); OutText('Bsp:');
- MoveTo(30,170);
- OutText('Das Grafikfenster hat die Koordinaten X1/Y1 =');
- OutText(' 100/50 und X2/Y2 = 539/150!');
- MoveTo(140,190);
- OutText('Ende der Demonstration mit beliebiger Taste !');
- OutTextXY(100,140,'TP5.0 UNIT SCROLL');
- Rectangle(92,46,547,154);
- Rectangle(96,48,544,152);
- SetViewPort(100,50,539,150,true);
- REPEAT
- IF NOT KeyPressed THEN
- FOR n := 12 DOWNTO 1 DO ScrollViewPort(UP,n);
- IF NOT KeyPressed THEN
- FOR n := 1 TO 12 DO ScrollViewPort(DOWN,n);
- IF NOT KeyPressed THEN
- FOR n := 24 DOWNTO 1 DO ScrollViewPort(RIGHT,n);
- IF NOT KeyPressed THEN
- FOR n := 1 TO 24 DO ScrollViewPort(LEFT,n);
- UNTIL KeyPressed;
- taste := ReadKey;
- CloseGraph;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von SCRDEMO.PAS *)