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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2008, 16:55   #1
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию Калькулятор

Всем привет! Как сделать так чтобы в программе была проверка на ошибки? Сделал так, но в процессе компиляции Дельфи показывает что ошибка. Пример: если деление на ноль, то подсвечивается "e3:=el/e2;", если введена не цифра, а буква, то тоже ошибка. Как этого избежать?

Код:
procedure TForm1.Button8Click(Sender: TObject);
var el,e2,e3:extended;
begin  try
el:=strtofloat(Edit1.text);
e2:=strtofloat(Edit2.text);
e3:=el/e2;
Edit3.Text:=floattostr(e3);
except
edit3.Text:='Деление на ноль'; end;
end;
ViNcHeStEr вне форума Ответить с цитированием
Старый 22.11.2008, 17:42   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Из вашего сумбурного сообщения так и не понял, что вам нужно?
Если определить, что за ошибка, то нужно анализировать класс ошибки:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  el,e2,e3: extended;
begin
  try
    el:=strtofloat(Edit1.text);
    e2:=strtofloat(Edit2.text);
    e3:=el/e2;
    Edit3.Text:=floattostr(e3);
  except
    on EZeroDivide do edit3.Text:='Деление на ноль';
    on EConvertError do edit3.Text:='Введено не число';
  else
    edit3.Text:='Неизвестная ошибка';
  end;
end;
_Dmitry вне форума Ответить с цитированием
Старый 23.11.2008, 13:44   #3
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Надо чтобы программа в процессе компиляции не вылетала. Даже если идёт деление на ноль.

Просто когда запускаешь ЕХЕшник из папки, то всё нормально, а когда компилируешь, то вылетает.
Изображения
Тип файла: jpg error.jpg (41.3 Кб, 120 просмотров)
ViNcHeStEr вне форума Ответить с цитированием
Старый 23.11.2008, 13:49   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

F9 - продолжить выполнение. В готовом EXE все будет нормально.
Arigato вне форума Ответить с цитированием
Старый 23.11.2008, 14:22   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Или отключить дельфийский обработчик исключений:
Tools->Debuger options...->Language Exceptions->Stop on Delphi Exceptions
_Dmitry вне форума Ответить с цитированием
Старый 23.11.2008, 15:39   #6
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Спасибо! А то преподаватель работу не принимал, т.к. она в Дельфи вылетала. Теперь всё норм!
ViNcHeStEr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор Димарик Общие вопросы Delphi 1 04.10.2008 15:52
Калькулятор =) noxer Microsoft Office Excel 1 29.04.2008 05:14
Калькулятор Ivanich Помощь студентам 5 21.12.2007 14:48
Калькулятор zetrix Софт 7 28.09.2007 08:39
Калькулятор! HAMMAN Помощь студентам 15 04.03.2007 13:25