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);