Делфи. Строки.

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
THuND3Rb0LT
Сообщения: 22
Зарегистрирован: 16 авг 2009, 13:02
Откуда: Dnepropetrovsk
Контактная информация:

Есть такая штука, Edit1.
В него пишеться некоторое число, затем умножается на два и заноситься в мемо.
Вопрос заключается так: как сделать проверку на отсутствие в этом Edit1 букв? То есть, если в нем будут буквы, то при обработке будет выскакивать ошибка.

Код: Выделить всё

s:=edt1.Text;
a:=StrToInt(s);
s:=edt2.Text;
b:=StrToInt(s);
a:=a*b;
Это мой код. Нужно сделать проверку на отсутсвие любых символов, кроме цифр.
Спасибо за внимание.
THuND3Rb0LT
Сообщения: 22
Зарегистрирован: 16 авг 2009, 13:02
Откуда: Dnepropetrovsk
Контактная информация:

Прошу перенести в раздел "Делфи и паскаль". Не сразу его заметил.(
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

можно в OnChange это проверить и не давать менять если нажимается буква. Либо использовать не Edit а MaskEdit
Изображение
FIREYV
Сообщения: 3
Зарегистрирован: 15 окт 2010, 22:49

var err:integer;
.....
begin
val(edit1.text,a,err);
if err<>0 then //если err<>0 то в тексте - число иначе там есть иные символы
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Демогогии то развели
[syntax=Delphi]
procedure Tform.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key not in [0..9]) then begin
Key := #0;
inherited KeyPress(Key);
end;
end;
[/syntax]
[syntax=Delphi] [/syntax]
FIREYV
Сообщения: 3
Зарегистрирован: 15 окт 2010, 22:49

вопрос
то при обработке будет выскакивать ошибка
- ошибка во время редактирования edit или во время конвертации текста в число?
Если в Edit может быть и любой текст кроме числа то мой вариант лучше, а если нет - то конечно последний вариант.
Ответить