home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* Ergänzung für Objektorientiertes Panoptikum (6) *)
- (* (C) 1991 René Hoppe & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROCEDURE ExtVSManager.CopyVS(Source, Dest : BYTE);
- { Kopiert den ganzen Bildschirm mit der Nummer 'Source' }
- { in den mit der Nummer 'Dest', wobei die Zeilen- und }
- { Spaltenzahl des Zielbildschirms beachtet wird. Sollte }
- { beispielsweise die Spaltenzahl des Quellbildschirms }
- { größer sein als die des Zielbildschirms, so werden die }
- { überzähligen Zeichen und Attribute nicht kopiert. }
- VAR
- i : BYTE;
- j : WORD;
- BEGIN
- IF (Source >= 0) AND (Source < VSNum) AND
- (Dest >= 0) AND (Dest < VSNum) THEN BEGIN
- IF VScreens^[Source]^.GetXLength >
- VScreens^[Dest]^.GetXLength THEN
- j := VScreens^[Dest]^.GetXLength * 2
- ELSE
- j := VScreens[Source]^.GetXLength * 2;
- IF VScreens^[Source]^.GetYLength >
- VScreens^[Dest]^.GetYLength THEN
- FOR i := 1 TO VScreens^[Dest]^.GetYLength DO
- Move(VScreens^[Source]^.GetPartPtr(1, i)^,
- VScreens^[Dest]^.GetPartPtr(1, i)^, j)
- ELSE
- FOR i := 1 TO VScreens^[Source]^.GetYLength DO
- Move(VScreens^[Source]^.GetPartPtr(1, i)^,
- VScreens^[Dest]^.GetPartPtr(1, i)^, j);
- END ELSE
- SetReturnCode(VSInvalidNr);
- END;
- (* ------------------------------------------------------ *)
-