if not EMSErrorFlag then begin

MinIndl Mini;

Maxindl :» Maxi;

MinInd2 :° Min2;

Maxlnd2 := Max2 end

end; f TEMSMatrix.Init} {— ——__———__——_;

Constructor TEMSMatrix.Load(var F: File);

{Создает объект TEMSMatrix - читает из файла объект TEMSVector, затем заголовок и поля MinIndl, Maxlnd.1, Minlnd2, Maxlnd2} var

S: String;

begin

TEMSVector.Load(F); {Загружаем из файла объект-родитель} if not EMSErrorFlag then

if ReadFile(F,S,SizeOf(RegHeadTEMSMatrix))

and (S-RegHeadTEMSMatrix) then begin

if ReadFile(F,MinIndl,4) and ReadFile(F,MaxIndl,4) and ReadFile(F,Minlnd2,4) then ReadFile(F,Maxlnd2,4) ;

if EMSErrorFlag then

Done end else

EMSError($A6) end; {TEMSMatrix.Load} _•————————————/

Procedure TEMSMatrix.Store(var F: File);

{Сохраняет вектор в файле - сначала сохраняет родительский объект TEMSVector, потом заголовок и поля MinIndl, Maxindl, Minlnd2, Maxlnd2} begin

TEMSVector.Store(F) ;

if not EMSErrorFlag then begin

if WriteFile(F,RegHeadTEMSMatrix,SizeOf(RegHeadTEMSMatrix)) then if WriteFile(F,MinIndl,4) then if WriteFilefF,Maxindl,4) than if WriteFile(F,Minlnd2,4) then

WriteFile(F,MaxInd2,4) end

end; {TEMSMatrix.Store) ^————————————;

Function TEMSMatrix.GetVecIndex(Indl,Ind2: Longint): Longint;

{Преобразует индексы двумерного пассива к индексу одномерного от 0} begin

EMSErrorFlag := False;

{$IFNDEF KOTCHECK}

if <Indl>MaxIndl) or (IndKMinIndl) or (Ind2>MaxInd2) or (Ind2<MinInd2) then

EMSError($AB) {Неправильный индекс} else {$endIF}

GetVecIndex := (Indl-MinIndl)*(MaxInd2-MinInd2)+Ind2-MinInd2 end; {TEMSMatrix.GetVecIndex} ^————————————;