175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
||||||
1 | ||||||
Как не допустить в ячейку TDrawGrid повторного ввода десятичного разделителя?09.12.2020, 12:47. Показов 1317. Ответов 16
Метки нет Все метки)
(
Окно ячейки Gridа предназначено для ввода вещественных чисел. Если нечаянно поставить ещё одну точку(запятую) - вываливается ошибка с предложением остановить выполнение программы.
То же самое произойдёт если поставить второй минус или поставить минус не первым символом.
0
|
|
09.12.2020, 12:47 | |
Ответы с готовыми решениями:
16
Как определить символ десятичного разделителя?
Как получить знак десятичного разделителя для текущей культуры
|
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
||||||
09.12.2020, 12:55 | 2 | |||||
Лучше не делать этот костыль который все равно обойдет тот кому это нужно, лучше проверять числа в гриде при чтении и если не верно введено, поправлять.
Типа так
1
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
09.12.2020, 13:32 [ТС] | 3 |
Puporev, один ряд, самый первый, - целые числа. И куда это вставлять?
0
|
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
||||||
09.12.2020, 13:36 | 4 | |||||
1
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
09.12.2020, 13:42 [ТС] | 5 |
Puporev, в какое событие Gridа это предполагается вставлять?
0
|
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
09.12.2020, 13:43 | 6 |
Это в то событе где читаете таблицу например в Buton1Click.
1
|
Супер-модератор
![]() ![]() |
||||||
09.12.2020, 14:38 | 7 | |||||
![]() Решение
jkrnd, у тебя ж есть уже класс-перехватчик с переопределенным KeyPress, в нем все и делается:
1
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
||||||
09.12.2020, 15:43 [ТС] | 8 | |||||
Puporev, извините, но это совсем не то.
Добавлено через 1 час 4 минуты volvo, как предотвратить ввод минуса в середине числа? Он должен быть всегда в первой позиции.
0
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
09.12.2020, 15:59 [ТС] | 10 |
Verevkin, категорически с Вами не согласен.
![]()
0
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
||||||
09.12.2020, 16:13 [ТС] | 12 | |||||
volvo, вот так всё понятно и всё работает, за исключением проверки позиции ввода минуса:
0
|
Супер-модератор
![]() ![]() |
|
09.12.2020, 16:21 | 14 |
Ctrl+V предотвратится в другом месте, при попытке записать изменения в ячейке в контейнер. Если там всунуто что-то не то - будет облом и просто восстановится старое значение.
1
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
09.12.2020, 16:40 [ТС] | 15 |
volvo, в каком обработчике события обрабатываем проверку правильности введённого?
0
|
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|||||||||||
11.12.2020, 10:11 [ТС] | 17 | ||||||||||
Добавлено через 26 минут Так мы получаем текущий редактор до ввода клавиши в KeyPress. А можно узнать в какую позицию <e> мы пытаемся ввести некоторый Key в событии KeyPress? Добавлено через 5 минут ой, извините. Сам нашёл:
0
|
11.12.2020, 10:11 | |
Помогаю со студенческими работами здесь
17
Замена десятичного разделителя Проблема с настройками десятичного разделителя Замена символа десятичного разделителя в TextBox Нужен компонент - наследник TDrawGrid с подержкой многострочного ввода
Определить ограничения на вводимые пользователем значения и не допустить ввода неверных значений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |