|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
|
Как запретить ввод цифрого разделителя (decimalseparator) первым символом в поле edit (Delphi)?07.05.2016, 17:58. Показов 2327. Ответов 17
имеется компонент TEdit, не пустой, фильтруется на ввод символов с помощью EditKeyPress, перед изменением получает фокус, как сделать, чтобы цифровой разделитель не был первым знаком? или чтобы перед ним ноль вставлялся? спасибо.
0
|
|
| 07.05.2016, 17:58 | |
|
Ответы с готовыми решениями:
17
Запретить вводить в Edit первым символом 0
|
|
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
|
||||||
| 07.05.2016, 17:59 | ||||||
0
|
||||||
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
||||||
| 07.05.2016, 18:15 [ТС] | ||||||
|
получилось так (если правильно понял):
0
|
||||||
|
Пишу на Delphi...иногда
|
|
| 07.05.2016, 18:21 | |
|
Edit1KeyPress(Sender: TObject; var Key: Char)
1 изначально сравнивать необходимо символ (на заметку: десятичным разделителем может быть не только знак точки) 2 помимо сравнения символа необходимо проверять количество УЖЕ введенных значений (если что-то уже введено, то явно, что десятичный разделитель - не первый символ) 3 при выполнении п.п. 1 и 2 проверять вхождение десятичного разделителя в ранее введенные значения 4 принимать решение о вставке десятичного разделителя или о его пропуске
0
|
|
|
4 / 4 / 5
Регистрация: 22.04.2016
Сообщений: 24
|
||||||
| 07.05.2016, 18:25 | ||||||
0
|
||||||
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
|||||||
| 07.05.2016, 19:06 [ТС] | |||||||
|
вот так пока:
0
|
|||||||
|
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
|
||||||
| 07.05.2016, 19:11 | ||||||
|
VyachNik, чем тебя не устраивает такой подход?
0
|
||||||
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
|
| 07.05.2016, 19:18 [ТС] | |
|
исключения хороши, когда они уместны, проще будет, если пользователь не сможет ввести символ, чем начнуть выскакивать сообщения, меня, например, лишние сообщения раздражают
0
|
|
|
4 / 4 / 5
Регистрация: 22.04.2016
Сообщений: 24
|
|
| 07.05.2016, 19:20 | |
|
Так необязательно сообщение. Можно как раз добавить вначале 0.
0
|
|
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
|
| 07.05.2016, 19:23 [ТС] | |
|
0
|
|
|
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
|
|
| 07.05.2016, 19:27 | |
|
Тоже правильно, хотя можно ничего никому и не сообщать. В релизе будет лишь то что сам захочешь показать.
0
|
|
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
||||||
| 07.05.2016, 20:35 [ТС] | ||||||
|
вот такой код:
0
|
||||||
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
|
|
| 08.05.2016, 01:13 | |
|
Самое оптимальное решение этой задачи - это проверка значения Edit1.Text не по событиям самого эдита.
Ну а если хочется именно в событиях эдита, то вполне подойдет код из #2. Вот только его нужно поместить не в OnKeyPress, а в OnChange.
0
|
|
|
|
|
| 09.05.2016, 14:02 | |
|
0
|
|
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
||
| 09.05.2016, 14:54 [ТС] | ||
|
0
|
||
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
||||||
| 10.05.2016, 12:49 [ТС] | ||||||
|
сделал так:
0
|
||||||
|
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
|
||||||
| 15.05.2016, 14:43 [ТС] | ||||||
|
полностью переделал код, отказался от использования двух процедур, все сделал в одной, в предыдущем варианте не работал метод копипаста, в новой редакции все работает на ура, зацените:
0
|
||||||
| 15.05.2016, 14:43 | |
|
Помогаю со студенческими работами здесь
18
Разрешить ввод в Edit только цифр и разделителя дробной части Как запретить ввод в поле?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|