home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 05 / leser / oop6.neu < prev    next >
Encoding:
Text File  |  1991-03-13  |  1.5 KB  |  36 lines

  1. (* ------------------------------------------------------ *)
  2. (*     Ergänzung für Objektorientiertes Panoptikum (6)    *)
  3. (*           (C) 1991 René Hoppe & TOOLBOX                *)
  4. (* ------------------------------------------------------ *)
  5.   PROCEDURE ExtVSManager.CopyVS(Source, Dest : BYTE);
  6.   { Kopiert den ganzen Bildschirm mit der Nummer 'Source'  }
  7.   { in den mit der Nummer 'Dest', wobei die Zeilen- und    }
  8.   { Spaltenzahl des Zielbildschirms beachtet wird. Sollte  }
  9.   { beispielsweise die Spaltenzahl des Quellbildschirms    }
  10.   { größer sein als die des Zielbildschirms, so werden die }
  11.   { überzähligen Zeichen und Attribute nicht kopiert.      }
  12.   VAR
  13.     i : BYTE;
  14.     j : WORD;
  15.   BEGIN
  16.    IF (Source >= 0) AND (Source < VSNum) AND
  17.       (Dest   >= 0) AND (Dest < VSNum) THEN BEGIN
  18.      IF VScreens^[Source]^.GetXLength >
  19.         VScreens^[Dest]^.GetXLength THEN
  20.        j := VScreens^[Dest]^.GetXLength * 2
  21.      ELSE
  22.        j := VScreens[Source]^.GetXLength * 2;
  23.      IF VScreens^[Source]^.GetYLength >
  24.         VScreens^[Dest]^.GetYLength THEN
  25.        FOR i := 1 TO VScreens^[Dest]^.GetYLength DO
  26.          Move(VScreens^[Source]^.GetPartPtr(1, i)^,
  27.               VScreens^[Dest]^.GetPartPtr(1, i)^, j)
  28.      ELSE
  29.        FOR i := 1 TO VScreens^[Source]^.GetYLength DO
  30.          Move(VScreens^[Source]^.GetPartPtr(1, i)^,
  31.               VScreens^[Dest]^.GetPartPtr(1, i)^, j);
  32.    END ELSE
  33.      SetReturnCode(VSInvalidNr);
  34. END;
  35. (* ------------------------------------------------------ *)
  36.