Страница 1 из 1

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

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

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

s:=edt1.Text;
a:=StrToInt(s);
s:=edt2.Text;
b:=StrToInt(s);
a:=a*b;
Это мой код. Нужно сделать проверку на отсутсвие любых символов, кроме цифр.
Спасибо за внимание.

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

Добавлено: 18 апр 2011, 17:31
THuND3Rb0LT
Прошу перенести в раздел "Делфи и паскаль". Не сразу его заметил.(

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

Добавлено: 19 апр 2011, 11:40
Игорь Акопян
можно в OnChange это проверить и не давать менять если нажимается буква. Либо использовать не Edit а MaskEdit

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

Добавлено: 07 май 2011, 17:44
FIREYV
var err:integer;
.....
begin
val(edit1.text,a,err);
if err<>0 then //если err<>0 то в тексте - число иначе там есть иные символы

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

Добавлено: 08 май 2011, 10:22
Duncon
Демогогии то развели
[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]

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

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