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;