Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.016 c
4-101599
boa
2002-09-18 09:07
2002.10.31
Сообщение WM_GETFONT


1-101291
XPatriot()
2002-10-18 19:28
2002.10.31
Работа с If.


3-101133
Димон111
2002-10-10 12:05
2002.10.31
1C


1-101331
Chlavik
2002-10-19 21:26
2002.10.31
Trouble с Delphi ......


14-101479
DeMoN-777
2002-10-09 12:42
2002.10.31
Халява СЭР