Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Использование try/exception   Найти похожие ветки 

 
Галинка ©   (2004-07-01 11:47) [0]

Всем доброго времени суток )).

Проблема такая...:
1) есть функция
function GetLinesPoints(InFile:string):TLines;
var
L,P:integer;
Stri:string;
TekLines:TLines;
InF:Text;
begin
 AssignFile(InF,InFile);
 Reset(InF);
 L:=1;
  while not EoF(InF) do
   begin
    P:=0;
    SetLength(TekLines,L);
    ReadLn(InF,Stri);
     repeat
      Inc(P);
      SetLength(TekLines[L-1],P);
      TekLines[L-1,P-1]:=GetPoint(Stri);
      ReadLn(InF,Stri);
     until Stri="";
    Inc(L);
   end;
  if Odd(L) then ErrIndic(1);
 TekLines:=LinePointsSort(TekLines);
 Result:=TekLines;
end;

которая читает в массив пары координат, при помощи другой функции

function GetPoint(Arg:string):TPlPoint;
var
i:byte;
SubStr:string;
TekPoint:TPlPoint;
begin
 DecimalSeparator:=".";
 i:=0;
    repeat
     inc(i);
     SubStr:=copy(Arg,i,1);
    until SubStr=" ";
   SubStr:=copy(Arg,1,i-1);
    try
     TekPoint.X:=StrToFloat(SubStr);
    except
     on EConvertError do
      begin
       ErrIndic(1);
       Exit;
      end;
    end;
   SubStr:=copy(Arg,i+1,Length(Arg)-i);
    try
     TekPoint.Y:=StrToFloat(SubStr);
    except
     on EConvertError do
      begin
       ErrIndic(1);
       Exit;
      end;
    end;  
 Result:=TekPoint;
end;

2) Вызов производиться так

   MyLines:=Raschet.GetLinesPoints(OpenDialog.FileName);

Внимание вопрос: КАК СДЕЛАТЬ ТАК, ЧТОБЫ НА ПОЯВЛЕНИЕ ОШИБКИ ОСУЩЕСТВЛЯЛСЯ ВЫХОД ИЗ ЭТОГО ВЫЗОВА...


 
inic ©   (2004-07-01 11:52) [1]

Внутри
except
on SomeException

после своих обработок написать "raise;"


 
Гаврила ©   (2004-07-01 11:53) [2]

в секции Except поставь raise вместо exit



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1088941478
Bizon's
2004-07-04 15:44
2004.07.18
Проблемы с ComboBox


1-1089216701
Johnny Raw
2004-07-07 20:11
2004.07.18
про TCanvas


1-1089029283
Popovich A.
2004-07-05 16:08
2004.07.18
Установка новых компонент


3-1088067905
Yurko
2004-06-24 13:05
2004.07.18
доступ к dBase IV через ADO


8-1082888994
gyry
2004-04-25 14:29
2004.07.18
Своя иконка