0 / 0 / 0
Регистрация: 04.03.2019
Сообщений: 68

Как можно запретить вводить в поле почти все, кроме цифр?

30.03.2019, 02:01. Показов 2150. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, а как можно запретить вводить в поле почти все кроме цифр, в интернете так и не нашел, а конкретно почему часто используют Onkeypress разве нельзя использовать первым оператором, но только если я хочу удалить не подходящий символ, то онкейдаун, не реагирует на 8, почему так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.03.2019, 02:01
Ответы с готовыми решениями:

Как запретить ввод букв и других символов кроме цифр в поле ввода (Entry)
Всем доброго времени суток. Нужна помощь!!! Пишу программу и она должна проводить математические операций с введенными значениями в поле...

Как при работе в GUI с Edit можно запретить ввод всех символов, кроме 1 точки и цифр
Здравствуйте, подскажите ,пожалуйста, как в MATLAB'е при работе в GUI с Edit можно было запретить ввод всех символов кроме 1 точки и цифр.

Как запретить вводить Кирилицу или Латиницу в поле ввода
Здравствуйте уважаемые форумчане ! Подскажите пожалуйста как запретить вводить кирилицу или латиницу в поле ввода Если не трудной...

11
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
30.03.2019, 02:29
Pascal
1
2
3
4
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in['0'..'9',#8]) then key:=#0;
 end;
0
0 / 0 / 0
Регистрация: 04.03.2019
Сообщений: 68
30.03.2019, 02:44  [ТС]
Onkeydown как я понимаю это событие не распознает нажатую клавишу, а только код клавиши правильно?

ну в принципе можно и так решить задачу...

а еще такой вопрос у меня вообще не работает оператор else постоянно на нем выдает ошибки, не знаете в чем может быть причина, а без него нужно постоянно писать if()
0
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
30.03.2019, 04:02
Для фильтрации ввода выставь стиль ES_NUMBER
Delphi
1
SetWindowLongW(Edit1.Handle,GWL_STYLE,GetWindowLongW(Edit1.Handle,GWL_STYLE) or ES_NUMBER);
не работает оператор else постоянно на нем выдает ошибки
Убери запяточку перед ним
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
30.03.2019, 21:10
Pascal
1
2
3
4
if a<0 then
  a:= 1;
else
  a:= 2;
Такой код будет давать ошибку, потому что перед else стоит точка с запятой. Не спрашивайте почему. Просто запомните.
0
0 / 0 / 0
Регистрация: 04.03.2019
Сообщений: 68
31.03.2019, 02:22  [ТС]
Цитата Сообщение от murderer Посмотреть сообщение
SetWindowLongW(Edit1.Handle,GWL_STYLE,Ge tWindowLongW(Edit1.Handle,GWL_STYLE) or ES_NUMBER);

Вообще не понятно, это код делфи? в какую часть кода, на какую форму его вставлять, ? за пределами событий он выдает ошибку, а что вообще делает? связывается с Edit, а у меня их два.


Цитата Сообщение от ValentinNemo Посмотреть сообщение
if a<0 then a:= 1; else a:= 2;

хорошо я еще вчера понял, с ним намного легче работать

а как же begin после end, не обязательно??!
0
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
31.03.2019, 02:37
Цитата Сообщение от Сергей_029 Посмотреть сообщение
Вообще не понятно, это код делфи?
Нет это набор символов.... Человеку наверное скучно стало, раз написал Вам готовый вариант решения Вашей проблемы...
Цитата Сообщение от Сергей_029 Посмотреть сообщение
связывается с Edit, а у меня их два.
А в этой строчке кода Вас, буквы Edit1 ни на какие мысли не наводят? В данном случае код применяется для Edit1.
Delphi
1
SetWindowLongW(Edit1.Handle, GWL_STYLE, GetWindowLongW(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
Цитата Сообщение от Сергей_029 Посмотреть сообщение
в какую часть кода, на какую форму его вставлять, ?
В обработчик события onChange Edit1. Будет выглядеть как-то так:
Delphi
1
2
3
4
procedure TForm1.Edit1Change(Sender: TObject);
begin
  SetWindowLongW(Edit1.Handle, GWL_STYLE, GetWindowLongW(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
end;
0
0 / 0 / 0
Регистрация: 04.03.2019
Сообщений: 68
31.03.2019, 05:03  [ТС]
Цитата Сообщение от Ашотик2018 Посмотреть сообщение
2
3
4
procedure TForm1.Edit1Change(Sender: TObject);
begin
SetWindowLongW(Edit1.Handle, GWL_STYLE, GetWindowLongW(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
end;

0
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
31.03.2019, 05:50
Цитата Сообщение от Ашотик2018 Посмотреть сообщение
В обработчик события onChange Edit1
Только не это. Поставь на FormCreate.

Но это для Delphi 7. В новых версиях добавили свойство NumbersOnly.
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,425
Записей в блоге: 3
31.03.2019, 17:35
Цитата Сообщение от murderer Посмотреть сообщение
В новых версиях добавили свойство NumbersOnly
Если надо вводить только числа - никогда не используйте простой Эдит. Даже в новых версиях это свойство - NumbersOnly - реализовано, ИМХО, как-то коряво...
И никто не мешает для ввода чисел использовать хоть в распоследней 10.3, хоть в древней семерке, компонент SpinEdit...
0
0 / 0 / 0
Регистрация: 04.03.2019
Сообщений: 68
01.04.2019, 00:52  [ТС]
А по какому принципу запускается программа, после нажатия компилятора она выполняется сверху вниз последовательно.так?

а еслимного форм, да еще в них размещены описания процедур и их вызовов, наверное при этом если с первой формы ты вызываешь процедуру из 5, может быть программно она еще не создана, наверное выйдет ошибка, какой алгоритм, хотя допустим в начале тела, идет вызов процедуры, но однако она описана намного ниже, по логике комилятор не должен ее видеть, но даже так и он срабатывает, с чем это связано, ну язык например на php, джава скрипт, наверняка не так.


еще часто бывает когда в разных местах ты что то делаеш, к примеру вызываешь процедуры, может даже одну и ту же в одном редакторе, бывает что выскакивает ошибка, вроде..(есть какие то исключения, вы написали код который вызывает исключение, это может быть ошибка проявляться как в коде так и в ОП? что это означает, что делать ?
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,425
Записей в блоге: 3
01.04.2019, 09:29
Цитата Сообщение от Сергей_029 Посмотреть сообщение
сверху вниз последовательно.так?
Нет, не так... При старте программа выполняет инициализацию приложения и начинает создавать формы из списка автосоздаваемых форм. После того как формы созданы - программа более ничего не делает, а ждет наступление какого либо события, для которого предусмотрен обработчик этого события. Но, как по мне, тема форума - это не место для переписывания банальных истин о концепциях ООП и событийного программирования - гораздо эффективнее прочитать для начала какой-либо учебник, усвоить азы, а потом уже лезть в глубину WinAPI
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2019, 09:29
Помогаю со студенческими работами здесь

Как запретить вводить запятую в начале и больше одной в поле Edit?
Как запретить вводить запятую в начале и больше одной в поле Edit?

Как запретить ввод любых данных кроме цифр?
Необходимо ввести значения нескольких переменных типа (float). Какой командой можно запретить ввод данных всех кроме чисел от 0 до 9 и от...

Как в javaFX запретить ввод в TextField символов кроме цифр и точки?
в javaFX сделать запрет на ввод символов кроме цифр и точки пишу такой код: TextField1.setOnKeyTyped(new...

Как запретить вводить буквы в input, и наоборот - запретить вводить цифры в input?
Есть стандартное поле ввода &lt;p&gt;&lt;td width=50% align = right&gt;&lt;font size = 4&gt; Название отделения:&lt;/font&gt;&lt;/td&gt; ...

Запретить вводить цифры в поле Едит
добрый день есть некая программа куда в поле едит нужно чтоб вводились только буквы а цифры нет, ну я сделал так чтоб если цифра первыая то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru