356 Приложение

Function TEMSVector.IntegerItem(Index: Longint): Integer;

var

X: Integer;

begin ($IFNDEF KOTCHECK} if ItemSoSizeOf (Integer) then

EMSError($AC) (Ошибка в длине элемента} else ($endIFI begin

GetItem(X,Index);

IntegerItem := X end

end; {TEMSVector.IntegecItem) (———.———————/

Function TEMSVector.LongIntItemlIndex; Longint): Longint;

var

X: Longint;

begin {$IFNDEF NOTCHECK}

if ItemSOSizeOftLongInt) then

EMSError($AC) (Ошибка в длине элемента) else {$endIF} begin

GetItem(X,Index) ;

LongIntItem := X end

•nd; {TEMSVector.LongIntItem} ^————————————;

Function TEMSVector.ByteItemfIndex: Longint): Byte;

var

X: Byte;

begin {$IFNDEF NOTCHECK]

if ItemSoSizeOf(Byte) then

EMSError($AC) (Ошибка в длине элемента} else {$endIF} begin

GetItem(X,Index) ;

ByteItem := X end end; /r.EMSVector.ByteIteni;

{---------- Двумерный массив в EMS -—--—---}

Constructor TEMSMatrix.Init(ASize,Minl,Maxl,Min2,Max2: Longint);

(Создает объект TEMSMatrix:

ASize - размер элементов массива а байтаи;

Mm,Max - границы индекса.) var

Sz: Longint;

begin

if (Minl>Maxl) or (Min2>Max2) then begin

SMSError($AB); (Неправильные границы} Exit end;

(Преобразуем к одномерному массиву от 0} Sz := (Maxl-Minl+l)*(Max2-Min2+l)-l;

TEMSVector.Init(Asize,0,Sz);