Главная страница
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.027 c
14-1088623466
XIII
2004-06-30 23:24
2004.07.18
Delphi: передача переменных скрипту


3-1088067653
serg128
2004-06-24 13:00
2004.07.18
Как по нажатию кнопки выбрать (multiselect) все строки в DBGrid?


3-1087726334
denis24
2004-06-20 14:12
2004.07.18
ка можно двигать колонки в DBgrid?


3-1087991058
dns
2004-06-23 15:44
2004.07.18
Соединение Table


1-1089134354
ИМХО
2004-07-06 21:19
2004.07.18
Автоматизация Outlook а: как убить окно