Показать сообщение отдельно
  #1  
Старый 30.07.2014, 10:54
hilaryon hilaryon вне форума
Прохожий
 
Регистрация: 19.11.2010
Сообщения: 18
Репутация: 10
По умолчанию Преобразования, полный ступор программы

Народ, очень волнует такой вопрос, помогите кто сталкивался, есть программа, в ней туева куча преобразований типа strtofloat strtoint

если каким то макаром попадает не корректная строка для преобразования, программа выдает ошибку и полностью ступорится, вплоть до диспетчера задач. Это ппц, вот пример

Код:
try
    sGauge1.MaxValue:=abs(round(strtofloat(sEdit3.Text)));
  except
    on EConvertError do
    begin
    sGauge1.MaxValue:=1200;
    end;

или

Код:
  for I := 1 to sg.RowCount-1 do
    begin
      if sg.Cells[0,i]='' then Continue;
      try
        sumgr:=sumgr+strtofloat(sg.Cells[2,i]);
        sumday:=sumday+strtofloat(sg.Cells[6,i]);
        if (sg.Cells[9,i]<>'')and(sg.Cells[9,i]<>' ') then
        gn:=gn+strtofloat(sg.Cells[9,i]);

        if sg.Cells[8,i]<>'' then
        sumxe:=sumxe+strtofloat(sg.Cells[8,i]);

        belki1:=belki1+strtofloat(sg.Cells[3,i]);
        jirki1:=jirki1+strtofloat(sg.Cells[4,i]);
        uglevodi1:=uglevodi1+strtofloat(sg.Cells[5,i]);
        except
        on Exception : EConvertError do
        ShowMessage(Exception.Message);
      end;
    end;

Посоветуйте как быть, желательно чтобы не оборачивать каждое преобразование в эксепты, чтобы можно было что-то прописать в приложении чтобы оно не уходило в даун при ошибках а просто шло дальше

Интересуюсь для своей программы http://hiki-soft.ru/ калькулятор калорий можно скачать поглядеть на нее
Ответить с цитированием