home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / qpdemo / beispiel / seit_ani.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-08-24  |  1.4 KB  |  66 lines

  1.  
  2. PROGRAM Seiten_Animation;
  3.  
  4. (* SEITEN.PAS: Benutzt Videoseiten, um Bewegung auf dem Bildschirm
  5. zu simulieren. *)
  6.  
  7. USES
  8.     MSGraph, Crt;
  9.  
  10. CONST
  11.     springer : ARRAY[0..3] OF String = ('/O','-O-','O/','WOW');
  12.  
  13. VAR
  14.     a, i       : Integer;
  15.     altevseite : Integer;
  16.     alteaseite : Integer;
  17.     vc         : _VideoConfig;
  18.     altcursur  : Boolean;
  19.  
  20. BEGIN  (* Hauptprogramm *)
  21.  
  22.     _ClearScreen( _GClearScreen );
  23.  
  24.     alteaseite := _GetActivePage;
  25.     altevseite := _GetVisualPage;
  26.  
  27.     (* Bildschirmmodus für eine große Textgröße *)
  28.     a := _SetVideoModeRows( _TextBW40, 25 );
  29.     _GetVideoConfig( vc );
  30.  
  31.     IF ((a = 0) OR (vc.NumVideoPages < 4)) THEN
  32.         BEGIN
  33.             WriteLn( '_TEXTBW40-Modus nicht verfügbar;' +
  34.                     ' weiter mit der Eingabetaste.' );
  35.             ReadLn;
  36.             a := _SetVideoMode( _DefaultMode );
  37.             Halt( 0 );
  38.         END;
  39.  
  40.     (* Ausschalten des blinkenden Cursors *)
  41.     altcursur := _DisplayCursor( False );
  42.  
  43.     (* Zeichnen eines Bildes auf jede Seite. *)
  44.     FOR i := 0 TO 3 DO
  45.         BEGIN
  46.             _SetActivePage( i );
  47.             _SetTextPosition( 12, 12 );
  48.             _OutText( springer[i] );
  49.         END;
  50.  
  51.     (* Rotieren der Seiten 0 bis 3 *)
  52.     REPEAT
  53.         FOR i := 0 TO 3 DO
  54.             BEGIN
  55.                 _SetVisualPage( i );
  56.                 Delay( 500 );
  57.             END;
  58.     UNTIL KeyPressed;
  59.  
  60.     (* Wiederherstellen der Standardmodi und Ende des Programms *)
  61.     a := _SetVideoMode( _DefaultMode );
  62.     _SetActivePage( alteaseite );
  63.     _SetVisualPage( altevseite );
  64. END.
  65.  
  66.