Вниз
Скачать: CL | DM;

Фильтр для Edit   Найти похожие ветки 

← →
VJar   (2002-10-18 00:25) [0]

Как мне сделать так, что в Edit можно было вводить только цифры и арифметические операции? Все остальные символы и знаки нужно запретить (блокировать).


← →
MBo ©   (2002-10-18 00:30) [1]

в обработчике KeyPress проверяй Key и если не нравится, делай Key:=#0


← →
pirat ©   (2002-10-18 08:37) [2]

А еще здесь где-то был мой тред про то же самое, только с подменой оконной функции :)))


← →
Gennadiy ©   (2002-10-18 09:44) [3]

В обработчике KeyPress компонента Edit1? можно создать примерную процедура, она будет обрабатывать клавиши "BackSpace", а также символы допустимые для вещественного числа:


procedure TForm1.Edit1.KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in [#8,"0".."9","+","E","e",DecimalSeparator]) then Key:=#0;

end;


← →
DSmile   (2002-10-18 14:04) [4]

MaskEdit


← →
Song ©   (2002-10-18 15:11) [5]

2pirat © (18.10.02 08:37)
Это тоже самое что если нужно ехать из СПб в Москву, то Вы в данном случае едите через Хабаровск.


← →
Hiqwer   (2002-10-18 18:15) [6]

Шырее надо смотреть на мир.
12..24
eeE123
------23
Все проскоче на ура во всех данных примерах. Шо за числа такие?

A в стандартном MaskEdit не символа маски включающего (+,-,.,E,e,0..9), а про позиции символов вообще ...

Так, что все гораздо сложнее.


← →
VictorT ©   (2002-10-18 20:07) [7]


> DSmile (18.10.02 14:04)
> MaskEdit

Имхо с MaskEdit лучше не связываться, глюкавый он (во всяком случае на 5-м Билдере).


← →
pirat ©   (2002-10-18 22:52) [8]

А я говорил!
2Song
Так что в данном случае путь через Хабаровск короче, особенно если других и нет.


← →
Eugene_post   (2002-10-20 21:49) [9]

procedure TGoodsForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key<"0") or (Key>"9") Then
if Key=#13 then
begin
Edit2.SetFocus;
Exit;
end
else
if (Key<>".") Then
if Key=#8 Then
Exit
else
begin
MessageDlg("


← →
sicoz ©   (2002-10-21 10:11) [10]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [DecimalSeparator,"0".."9",#8]) then begin
Key:=#0;
beep;
end;
end;

Или
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or ES_NUMBER);
end;


← →
Hiqwer   (2002-10-21 12:01) [11]

Обратит ли хоть кто-то внимание, что проверять надо не отдельный символ, а весь текст!!!

1.2.3.4.5 это не число!


← →
Леван   (2002-10-21 16:04) [12]

while true do
begin
try
result:=strtoint(edit.text);
break;
except
showmessage("nedopustimii simvol);
end;
end;
edit.visible:=false;
drugoi_komponent.setfocus();

poka pravilnoe chislo ne budet v edit, ne viskochit - chto i trebovalos!





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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
3-101051
malex_1
2002-10-09 10:10
2002.10.31
FoxPro, CDX... не понимание в Делфи


8-101395
Nick!"
2002-07-02 17:19
2002.10.31
Background на стандартные компоненты.


1-101361
Orc
2002-10-18 17:03
2002.10.31
TWebBrowser


14-101447
Sniffer
2002-10-05 20:21
2002.10.31
ВТОРАЯ ОФИЦИАЛЬНАЯ ВСТРЕЧА МАСТАКОВ В КИЕВЕ!


3-101052
Шурик Ш
2002-10-11 14:51
2002.10.31
Создание / Удаление столбца таблицы




   Наверх