Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

обработчик исключительной ситуации


Страницы:   1 2

Дева ©   (2005-11-14 22:47:00) 

Помогите, пожалуйста, написать обработчик исключительной ситуации. Совершенно не могу понять, как его писать, может на примере разберусь.

Задача:
Имеется текстовое поле Edit1, в которое вводятся данные. При нажатии на кнопку Button1:

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
i:=StrToInt(Edit1.Text);
end;

Если в поле Edit1 будут написаны буквы к примеру, то сработает исключительная ситуация и обрубится выполнение всей программы. Надо этого избежать, помогите.


Плохиш   (2005-11-16 11:15:00) [21]


> Дева ©   (16.11.05 03:09) [5]
> все-равно появляется ошибка и работа приложения останавливается.

Может всё-таки соизволишь прочитать, что в этот момент отладчик тебе сообщает и постараешься понять смысл этого сообщения?


Джо   (2005-11-16 03:23:00) [22]


> [5] Дева ©   (16.11.05 03:09)

Tools/Debugger Options/Language Exceptions убираем галку Stop on Delphi Exceptions.


MRAk   (2005-11-16 03:20:00) [23]

кхм делфи на try..except все равно ругается попробуй запустить уже скомпелированный проэкт(тоесть не из под делфи)


Дева   (2005-11-16 03:09:00) [24]

Я просто хочу разобраться с тем, как писать обработку исключительной ситуации.

При данном коде:

procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 try
   i := StrToInt(Edit1.Text);
 except
   ShowMessage('Это не число')
 end;
end;

все-равно появляется ошибка и работа приложения останавливается.

Я хочу понять, я что-то нетак пишу, или в настройках проекта или среды интегрирования необходимо что-то включить, чтобы все работало???


Германн   (2005-11-15 01:14:00) [25]

Кстати при применении Val() "исключительной ситуации" не будет.


Германн   (2005-11-15 01:10:00) [26]

А  если применить Val(), то можно ещё в сообщении об ошибке написать, что "данный символ" не допустим!


default   (2005-11-14 22:56:00) [27]


procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  try
    i := StrToInt(Edit1.Text);
  except
    ShowMessage('Это не число')
  end;
end;

P.S. а что одногруппники помочь не могут?


Sergey Masloff   (2005-11-14 22:50:00) [28]

к примеру можно запретить ввод букв ;-)
или почитать в справке про try...except...end. И пример тоже там есть


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо