Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2009, 08:23   #1
Cerebrum
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 24
По умолчанию Недопонимания try...except

Надо сделать проверку, что в edit ввели вещественное число...пишу код:
Код:
procedure TForm1.edit1Change(Sender: TObject);
  var i:integer;
      df:string;
begin
  try
    df:=edit1.Text;
    for i:=1 to length(df) do
      if df[i]=',' then df[i]:='.';
    mashtab:=strtofloat(df);    //mashtab-глобальная переменная.
  except
     showmessage('Введите корректно число');
  end;
end;
Вылетает при вводе допустим буквы, что меня не радует...справку почитал, там вроде все так и написано...
Я не силен в английском и может недопонял что-то в справке?(

Последний раз редактировалось Cerebrum; 26.05.2009 в 08:36.
Cerebrum вне форума Ответить с цитированием
Старый 26.05.2009, 08:31   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

В этой ситуации проще применить функцию
Код:
if not TryStrToFloat(df, mashtab) then 
   showmessage('Введите корректно число');
или вместо TEdit использовать TMaskEdit, где по маске не будет возможности ввести иные символы, чем цифры и корректные знаки.
Скандербег вне форума Ответить с цитированием
Старый 26.05.2009, 08:37   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Запустите без IDE. При запущенном из IDE приложени ( при условии выставления в настройках "перехватывать run-time исключения",,которая стоит по умолчанию то в случае возникновения исключения, управление передастся отладчику Delphi. Если в появившемся окне вы нажмете "continue", то отработает ваш перехватчик исключения. Если запустить приложение без IDE или отключить,указанный выше, параметр, то управление отладчику передаваться не будет и вы увидите работу своей программы "как есть"
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 26.05.2009, 08:43   #4
Cerebrum
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 24
По умолчанию

И то, и другое заработало, Спасибо огромное)
Cerebrum вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц