Текущий архив: 2006.07.16;
Скачать: CL | DM;
ВнизВвод допустимых символов Найти похожие ветки
← →
так себе (2006-06-27 21:36) [0]На форме Edit1.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ["0".."9", #8]) then
key := #0;
end;
Данный код позволяет вводить только цифры и удалять введенные символы. Что необходимо добавить в код чтобы при нажатии клавиши Del на правой цифровой клавиатуре в Edit1 вводилась точка. Как я понимаю это клавиша DecimalSeparator. Прошу подсказки.
← →
Leonid Troyanovsky © (2006-06-27 22:09) [1]
> так себе (27.06.06 21:36)
> Данный код позволяет вводить только цифры и удалять введенные
А причем тут точка? DecimalSeparator может быть и другим.
Ну, и проверять правильность ввода надо не в OnKeyPress,
а, скажем, в OnChange. Правильность же можно оценить,
например, с помощью процедуры Val.
--
Regards, LVT.
← →
tButton © (2006-06-28 07:51) [2]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ["0".."9", #8, DecimalSeparator]) then
key := #0;
end;
?
а правильность можно проверять и при получении текста из edit"а, непосредственно перед обработкой.
← →
Leonid Troyanovsky © (2006-06-28 20:37) [3]
> tButton © (28.06.06 07:51) [2]
> а правильность можно проверять и при получении текста из
> edit"а, непосредственно перед обработкой.
Ну, дык, и укажи правильное место.
"Перед обработкой" - слишком туманно.
Да, ну, а как там насчет минус/плюс, т.е. они заказаны?
--
Regards, LVT.
← →
tButton © (2006-06-30 08:30) [4]
> Ну, дык, и укажи правильное место.
> "Перед обработкой" - слишком туманно.
ну, положим по кнопконажатию нужно взять число введённое в edit
тогда в onClick пишемtry
n:=StrToFloat(edit1.text);
except
ShowMessage(edit1.text+" is not a valid float value!");
end;
Страницы: 1 вся ветка
Текущий архив: 2006.07.16;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c