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

Вниз

Как ограничить ввод в TEdit.   Найти похожие ветки 

 
Arnold ©   (2004-10-31 11:34) [0]

Вводить можно только цифры


 
Gero ©   (2004-10-31 11:40) [1]

SetWindowLong(Edit.Handle, GWL_STYLE, GetWindowLong(Edit.Handle, GWL_STYLE) or ES_NUMBER);

(c) DMClient team


 
Arnold ©   (2004-10-31 12:05) [2]

Хотелось бы чтобы еще и вещественные и со знаком можно было.
Таким образом минусы и запятые тоже не хочет печатать


 
Gero ©   (2004-10-31 12:11) [3]


> Хотелось бы чтобы еще и вещественные и со знаком можно было

А что, существуют вещественные цифры или цифры со знаком?

> Таким образом минусы и запятые тоже не хочет печатать

Это тоже цифры?


 
Anatoly Podgoretsky ©   (2004-10-31 12:15) [4]

Arnold ©   (31.10.04 12:05) [2]
А это уже противоречит первичному вопросу, ты в следующий раз не торопись задавать вопрос, а сначала сформулируй его и подумай раз два три перед отправкой в форум.

И чем тебе пользователи не угодили, пусть вводят, если им так удобнее, лишь бы конечный результат был правильный. Ты же препятствуешь им например копировать из другого места, а потом отредактировать скопированое.


 
SpyBack   (2004-11-01 00:31) [5]

Вот так можно запретить ввод букв, но по аналогии можно и цифр:
кидай на форму ApplicationEvents и 1 edit

на событие onmessage ApplicationEvents пиши:

Handled:=edit1.Focused and (msg.message = wm_Char) and (msg.wParam>=48) and(Msg.wParam<=57)


 
eRoR_rrr   (2004-11-01 04:21) [6]

Только цифры, пробел и BackSpace.
Событие OnKeyPress:
if not (Key in ["0".."9"," ",#8]) then
 begin
   Key:=#0;
 end;


 
ghg ©   (2004-11-01 08:53) [7]

было в кладовке здесь, щас на закрыто, но у меня сохранился юнит с подобным едитом
если надо, то пиши


 
PVOzerski ©   (2004-11-01 09:25) [8]

Только пиши обработчик осторожно: юзер может набрать и вот такое:

1--3+5..ee.10

А если проверять "численность" текста при вводе каждого символа, может получиться неудобство при редактировании. К примеру, хочет юзер ввести отрицательное число, ввел минус - а обработчик "голый минус" числом считать не хочет. Или набрал юзер -4, решил исправить на -5, стер четверку - и опять обработчик недоволен. Я пришел в итоге вот к чему: если речь идет об Edit и т.п. в диалоге не надо пользователю препятствовать вводить что угодно. Но вот при нажатии кнопочки OK, "Применить" и. т. п. делать проверку (например, c помощью StrToFloat).


 
begin...end ©   (2004-11-01 12:49) [9]


> [2] Arnold ©   (31.10.04 12:05)

По событию TEdit.OnChange проверяете текст в цикле по символам на наличие недопустимых символов; если они там есть, то заменяете TEdit.Text на новое значение с помощью StringReplace().



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

Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
14-1099083293
Lancelot
2004-10-30 00:54
2004.11.14
Так, прочитал...


14-1099128486
Vladimir Vorfolomeev
2004-10-30 13:28
2004.11.14
Требуются программисты


1-1099294338
Wood
2004-11-01 10:32
2004.11.14
Что в переменной типа string?


1-1099075284
BlackLord2003
2004-10-29 22:41
2004.11.14
TBX


1-1099385372
Sash
2004-11-02 11:49
2004.11.14
excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский