Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

В Edit только числа...   Найти похожие ветки 

 
killer ©   (2004-07-08 00:27) [0]

Как можно сделать так, чтобы в Edit можно было вводить только целые и вещественные числа? Т.е. допустимые символы это: "0" "1" 2 "3" "4" "5" "6" "7" "8" "9" ","...


 
KilkennyCat ©   (2004-07-08 00:30) [1]

1) использовать маску
2) запретить в событии кейпресс ввод друкгих символов.


 
killer ©   (2004-07-08 00:35) [2]

KilkennyCat это два способа? Я думаю первый лучше... Т.к. во втором надо еще определять такие кнопки как Delete, BackSpase...


 
killer ©   (2004-07-08 00:47) [3]

А как запретить ввод других символом? какой фонкцией запретить приписывать наподходящие символы?


 
killer ©   (2004-07-08 00:51) [4]

например я пишу....

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key<>"0") and и т.д. then что тут писать?;
end;


 
Palladin ©   (2004-07-08 01:04) [5]

key:=#0;


 
KilkennyCat ©   (2004-07-08 01:07) [6]


> killer ©   (08.07.04 00:35) [2]


маска не всегда красива... в принципе, маска удобна лишь для ввода строгих форм.


 
killer ©   (2004-07-08 01:14) [7]

А если вставят текст?


 
killer ©   (2004-07-08 01:15) [8]

из буфера в смысле...


 
Palladin ©   (2004-07-08 01:18) [9]

Отлавливай WM_PASTE... в TEdit ессно...


 
KilkennyCat ©   (2004-07-08 01:19) [10]


> killer ©   (08.07.04 01:15) [8]


два варианта: проверить буфер и запретить, если не соответсвует. проверить в событии ончейндж и запретить, если не соответствует.


 
MIGUR   (2004-07-08 01:23) [11]

Попробуй так, отлавливая нажатия клавиш:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if    NOT (Key in ("0".."9", ".", #8, #13)) // разрешенные клавиши
OR (    (Key = ".")                  // пользователь нажал "."
AND (POS (".", Edit1.Text) > 0)) // десятичная точка уже имеется
then
begin
Key := #0;
MessageBeep (MB_OK);
end;
end;


 
KilkennyCat ©   (2004-07-08 01:26) [12]


> MIGUR   (08.07.04 01:23) [11]


Если придраться :) нет разрешения курсора, да и удалять можно двумя клавишами...


 
Palladin ©   (2004-07-08 01:26) [13]

Свежая мысль...


 
KilkennyCat ©   (2004-07-08 01:29) [14]


> Palladin ©   (08.07.04 01:26) [13]


Все свежее - хорошо протухшее старое :)


 
Amoeba ©   (2004-07-08 11:38) [15]

Есть и готовые компоненты. Поищи на http://www.torry.net



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
3-1088255763
Амир
2004-06-26 17:16
2004.07.25
Дата, локализация, архив...


1-1089610018
ancara
2004-07-12 09:26
2004.07.25
Аналог CopyMemory в CLX


14-1089108766
cherrex
2004-07-06 14:12
2004.07.25
Запуск програм при старте Windows


14-1088776252
Rain
2004-07-02 17:50
2004.07.25
hbTAPI


1-1089324398
Zvr@b
2004-07-09 02:06
2004.07.25
Как такое может быть!.... цикл до 3 а выполняется 10 раз!