home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM Seiten_Animation;
-
- (* SEITEN.PAS: Benutzt Videoseiten, um Bewegung auf dem Bildschirm
- zu simulieren. *)
-
- USES
- MSGraph, Crt;
-
- CONST
- springer : ARRAY[0..3] OF String = ('/O','-O-','O/','WOW');
-
- VAR
- a, i : Integer;
- altevseite : Integer;
- alteaseite : Integer;
- vc : _VideoConfig;
- altcursur : Boolean;
-
- BEGIN (* Hauptprogramm *)
-
- _ClearScreen( _GClearScreen );
-
- alteaseite := _GetActivePage;
- altevseite := _GetVisualPage;
-
- (* Bildschirmmodus für eine große Textgröße *)
- a := _SetVideoModeRows( _TextBW40, 25 );
- _GetVideoConfig( vc );
-
- IF ((a = 0) OR (vc.NumVideoPages < 4)) THEN
- BEGIN
- WriteLn( '_TEXTBW40-Modus nicht verfügbar;' +
- ' weiter mit der Eingabetaste.' );
- ReadLn;
- a := _SetVideoMode( _DefaultMode );
- Halt( 0 );
- END;
-
- (* Ausschalten des blinkenden Cursors *)
- altcursur := _DisplayCursor( False );
-
- (* Zeichnen eines Bildes auf jede Seite. *)
- FOR i := 0 TO 3 DO
- BEGIN
- _SetActivePage( i );
- _SetTextPosition( 12, 12 );
- _OutText( springer[i] );
- END;
-
- (* Rotieren der Seiten 0 bis 3 *)
- REPEAT
- FOR i := 0 TO 3 DO
- BEGIN
- _SetVisualPage( i );
- Delay( 500 );
- END;
- UNTIL KeyPressed;
-
- (* Wiederherstellen der Standardmodi und Ende des Programms *)
- a := _SetVideoMode( _DefaultMode );
- _SetActivePage( alteaseite );
- _SetVisualPage( altevseite );
- END.
-
-