EMSError($A6);

TEMSVector. Done and

end; {TEMSArray.Load} /————————————;

Procedure TEMSArray.Store(var F: File);

{Ñîõðàíÿåò îáúåêò TEMSArray â ôàéëå - ñîõðàíÿåò áàçîâûé îáúåêò TEMSVector, çàòåì ïèøåò çàãîëîâîê, ïîëå NIndex è ñïèñîê ãðàíèö èíäåêñîâ} var

It: Word;

begin

TEMSVector.Store(F);

if not EMSErrorFlag then

if WriteFile(F,RegHeadTEMSArray,SizeOf(RegHeadTEMSArray)) and WriteFile(F,NIndex,4) then for k := 1 to NIndex do begin

WriteFile(F,bndex^[k,1],4) ;

WriteFile(F,Index"[k,2],4) ;

WriteFile(F,Index*[k,3],4) • end

end; {TEMSArray.Store} /-—————————— ——}

Function TEMSArray.GetVecIndex(var Ind): Longint;

{Ïî òåêóùèì çíà÷åíèÿì ñïèñêà èíäåêñîâ Ind âû÷èñëÿåò èíäåêñ äëÿ îáúåêòà TEMSVector} var

Indx: TIndexList absolute Ind;

N: Longint;

k: Word;

begin

EMSErrorFlag •.•=• False;

N := Î;

for k :- 1 to NIndex do l$IFNDEF NOTCHECKf

if (Indx[k]<Index"[k,ll) or (Indx[k]>Index^[k,2]) then

EMSErrorFlag :•= True else {$end.IF}

N :» N+dndxtkl-Index^tk^jrindax^Ik.S];

i? EMSErrorFlag then

EMSError($AB) else

GetVecIndex :« N-1 end; {TEMSArray.GetVecIndex} ^_-_——————————;

Procedure TEMSArray.SetItem(var Source,Ind);

{Ïîìåùàåò çíà÷åíèå Source â ýëåìåíò ìíîãîìåðíîãî ìàññèâà} var

N: Longint;

begin

N := GetVecIndex(Ind) ;

{$IFNDEF NOTCHECK}

if not EMSErrorFlag then ($endIF}

TEMSVector.SetItem(Source,N) end; {TEMSArray.SetItem) ^-_————__——————_