Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизПроверка на корректный ввод чисел Найти похожие ветки
← →
ruslan_as (2002-03-01 13:52) [0]Делаю проверку на коректный ввод чисел Edit через KeyPress.
Процедура срабатывает, но на экране у меня в Edit остаеться последний неправильный знак.
Хотя если я провожу процедуру
копирования с Edit1 на другие Edit в них приходит чистое число.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ((Ord(key)<48) and (Ord(key)>48)) or ((Ord(key)>57) and (Ord(key)<>8)) then
begin
ShowMessage("Ошибка ввода!");
end;
end;
← →
[NIKEL] (2002-03-01 14:06) [1]добовляй после ShowMesage("Ошибка ввода!");
такое
Key:=0;
← →
Sasha9 (2002-03-01 14:23) [2]что это за условие странное
((Ord(key)<48) and (Ord(key)>48))
← →
ruslan_as (2002-03-01 15:20) [3]>NIKEL Я добавил, но теперь он вместо неверной буквы добавляет 0, но это тоже для меня помеха. Мне бы, что бы он оставил предыдущее число.
>Sasha9 спасибо, сразу не заметил.
← →
Sasha9 (2002-03-01 15:51) [4]наверное не 0 а #0
← →
Kozhanov (2002-03-01 15:57) [5]> ruslan_as
А тебе обязательно посимвольно проверять ?
← →
SuperBizon (2002-03-01 16:07) [6]procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var k:integer;
m:byte;
begin
if key<>#8 then
begin
val(key,m,k);
if k>0 then
key:=#0;
end;
end;
← →
ruslan_as (2002-03-01 16:15) [7]Спасибо всем! #0 работает отлично!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c