home *** CD-ROM | disk | FTP | other *** search
- Uses Dos,Crt;
- { saves and restores and area of screen }
- Const
- Max = 3;
-
- Type
- ScreenImage = Array[0..1999] of word;
- FrameRec = Record
- Upperleft : Word;
- LowerRight : Word;
- ScreenMemory : ScreenImage;
- End;
-
- VAR
- SnapShot : ^ScreenImage;
- FrameStore : Array [1..10] of ^FrameRec;
- WindowNum : Byte;
-
- Procedure OpenWindow(UpLeftX,UpLeftY,LoRightX,LoRightY : Byte);
- Begin
- SnapShot := Ptr( $B800, $0000);
- Inc(WindowNum);
- New(FrameStore[WindowNum]);
- WITH Framestore[WindowNum]^ do
- Begin
- ScreenMemory := SnapShot^;
- UpperLeft := WindMin;
- LowerRight := WindMax;
- end;
- Window(UpLeftX,UpLeftY,LoRightX,LoRightY);
- end;
-
- Procedure CloseWindow;
- Begin
- With Framestore[WindowNum]^ do
- Begin
- Snapshot^ := ScreenMemory;
- Window ( (Lo(UpperLeft)+1), (Hi(UpperLeft)+1),
- (Lo(LowerRight)+1), (Hi(LowerRight)+1) );
- end;
- Dispose( Framestore[WindowNum]);
- Dec(WindowNum);
- End;
-
- Begin
- OpenWIndow(3,3,45,15);
- ClrScr;
- Readkey;
- CloseWindow;
- End.