Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться с исключительной ситуацией Найти похожие ветки
← →
JTAG (2005-11-30 12:50) [0]В программе использую поле ввода Edit2, предполагаю что в него можно ввести только целые числа не буквы. Для того чтобы обезопасить программы от возможности ввода букв пользователем подсмотрев пример в книжке написал такой код
try
strtoint(edit2.text); считал из edit значение и попробовал конвертнуть его в int если не получилось выполняю исключение
except
on EConvertError do
edit2.setFocus; устанавливаю опять фокус ввода на edit 2
end;
ну и все это потом зациклю.
Почему этот пример неработает? все равно вылетаю в предупреждением что введенный символ например "a" не integer значение.
← →
Ega23 © (2005-11-30 12:53) [1]
> Почему этот пример неработает? все равно вылетаю в предупреждением
> что введенный символ например "a" не integer значение.
>
Потому, что из-под отладчика запускаешься. Запусти exe-файл не из Delphi.
← →
JTAG (2005-11-30 12:59) [2]Спасибо заработало
← →
KioSik © (2005-11-30 13:07) [3]procedure TForm_facts.Edit1Change(Sender: TObject);
var code:integer;
begin
val(Edit1.Text,x2,code);
if code<>0 then Edit1.Text:="";
end;
Буквенные данные не будут даже вводиться в Edit. Разделитель - точка или запятая - зависит от настройки Windows
← →
JTAG (2005-11-30 13:23) [4]А что такое x2 делфи ругается
[Error] Moxa_Uart.pas(801): Undeclared identifier: "x2"
← →
Ega23 © (2005-11-30 13:30) [5]
> var code, x2:integer;
← →
KioSik © (2005-11-30 13:41) [6]Ega23! Спасибо за исправление, просто у меня х2 описан локально и про него забыла
← →
JTAG (2005-11-30 13:53) [7]БЮольшое спасибо заработало!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.017 c