Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

Фильтр для 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
3-101160
Дмитрий 2002
2002-10-10 11:24
2002.10.31
Ошибка загрузки midas.dll


3-101108
BCPP_Builder_Dev
2002-10-09 15:26
2002.10.31
Коллеги! Помогите написать процедурку обновления....


1-101319
olookin
2002-10-20 08:09
2002.10.31
Панели инструментов аналогично Office


1-101324
XPatriot()
2002-10-18 20:44
2002.10.31
StringGrid.


4-101599
boa
2002-09-18 09:07
2002.10.31
Сообщение WM_GETFONT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский