Geçenlerde DOS platformu için Borland Pascal ile tasarladığım nesne kodlarını buldum. Bunlar o zaman da çok temel ve basit kodlardı. Bunların üzerine birçok uygulama tasarladım. İşte bu nesnelere ait bir tane örnek yöntem.
function TScreen.SaveToMem(Const X1,Y1,X2,Y2: Byte): PSaveCoor;
Var
I,J: Byte;
SaveCoor: PSaveCoor;
C,Size: Word;
begin
Size:=(X2-X1+1)*(Y2-Y1+1)*2;
If MemAvail <= Size Then RunError(203);
New(SaveCoor);
SaveCoor^.DistanceX:=X2-X1+1;
SaveCoor^.Distancey:=Y2-Y1+1;
SaveCoor^.Size:=Size;
GetMem(SaveCoor^.Buffer,SaveCoor^.Size);
C:=0;
For I:=Y1 To Y2 Do
For J:=X1 To X2 Do Begin
Move(Mem[FCardAdr:ScrAdr(J,I)],
Mem[Seg(SaveCoor^.Buffer^):Ofs(SaveCoor^.Buffer^)+C],1);
Inc(C);
Move(Mem[FCardAdr:ScrAdr(J,I) + 1],
Mem[Seg(SaveCoor^.Buffer^):Ofs(SaveCoor^.Buffer^)+C],1);
Inc(C);
End;
FSaveBuffer^.Insert(SaveCoor);
SaveToMem:=SaveCoor;
end;