item: Longint;

begin

Item := GetVecIndex(Indl,Ind2);

{$IFNDEF NOTCHECK}

if not EMSErrorFlag then {$endIF}

ExtendedItem := TEMSVector.ExtendedItem(Item) end; {TEMSMatrix.ExtendedItem} ^———————————;

Function TEMSMatrix.IntegerItem(Indl,Ind2: Longint): Integer;

var

Item: Longint;

begin

Item := GetVecIndexdndl, Ind2) ;

f$IFNDEF NOTCHECK}

if not EMSErrorFlag then {$endIF}

Integerltem := TEMSVector.Integerltem(Item) end; {TEMSMatrix.Integerltem} {—— ————————— —}

Function TEMSMatrix.LongIntItemfIndl,Ind2: Longint): Longint;

var

Item: Longint;

begin

Item := GetVecIndexdndl, Ind2) ;

{$IFNDEF NOTCHECK}

if not EMSErrorFlag then {$endIF}

LongIntItem := TEMSVector.LongIntItem(Item) end; {TEMSMatrix.LongIntItem} ^————————————;

Function TEMSMatrix.Byteltem(Indl,Ind2: Longint): Byte;

var

Item: Longint;

begin

Item := GetVedndex (Indl, Ind2) ;

{?IFNDEF NOTCHECK}

if not EMSErrorFlag then {$endIF}

Byteltem := TEMSVector.Byteltem(Item) end; {TEMSMatrix.Byteltem} (--------- Многомерный массив в EMS ----------}

Constructor TEMSArray.Init(ASize: Longint; Hind: Word; var Ind);

{Создает объект TEMSArray: сначала создаетбазовый объект TEMSVector с индексом от 0, затем заполняет поле NInd, резервирует память для поля Index и заполняет его границами индексов} var

Indx: TIndexBond absolute Ind;

Sz: Longint;

k,j: Word;

begin

(Определяем общее количество Sz элементов массива:}

Sz := 0;

EMSErrorFlag := False;

for k := 1 to NInd do

if Indx[k,l]>Indx[k,2] then

EMSError($AB) else

Sz := Sz+Indx[k,2]-Indx[k,l]+l;