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} ^————————————;