|
|
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
При заполнении ячейки в гриде типа 9999.99 приходится менять раскладку клавиатыры с "RUS"на ENG чтобы "." (разделитель десятых) был на клавишах NumLok вместо "," . Можно ли одновременно использовать "." и "," в качестве разделителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 10:32 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
В гриде неработает как там :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 11:17 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
Можно программно переключать раскладку RUS/ENG при входе в числовой контрол. Для этого лучше написать свой класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 11:25 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
OrenAlexВ гриде неработает как там :( Если вы в GRID-е примените свой класс TextBox c описанным KeyPress, то все будет заботь и в GRID С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 14:08 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
В сообщении: http://forum.foxclub.ru/read.php?32,177185,177215#msg-177215 FAQ - Владимир МаксимовКак заставить клавишу с "точкой" всегда вводить точку? приведено абсолютно правильное решение для случая ввода разделителя десятичной части числа. Однако это решение влияет на работу не только клавиши "Точка" цифровой клавиатуры, но и на работу клавиши "Точка и Запятая" текстовой клавиатуры. Повторюсь - для текстового поля, предназначенного для ввода десятичных чисел, это абсолютно правильно. В то же время, мне приходится работать с задачами обработки конструкторской документации, где обозначения изделий (как отечественных, так и зарубежных) могут иметь самый причудливый вид, но очень часто в соответствующее текстовое поле вводятся данные, состоящие из групп букв и цифр, разделенных точками, например "ТПВЦ78.134.4788.376-16", либо "IRC127.12". Не исключается и появление запятых. Язык ввода также меняется от случая к случаю. Пользователю удобно всю цифровую часть такой строки вводить именно с цифровой клавиатуры. Но при этом текстовая клавиатура должна работать так, как и полагается для заданного в этот момент языка. Поэтому, в дополнение к решению уважаемого В. Максимова, предлагаю еще одно решение задачи, поставленной следующим образом: Если при русской раскладке клавиатуры на цифровой клавиатуре в режиме NumLock нажата клавиша с точкой, то должен быть введен именно символ "Точка", а не "Запятая". Решение основано на том, что нажатие указанной клавиши при русской раскладке выдает код символа "запятая", но на нижнем регистре, в то время как запятая с текстовой клавиатуры выдается на верхнем регистре. Итак, код события KeyPress класса Other_TextBox: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Конечно, функция GetKeyboardLayoutName() должна быть предварительно определена. Где? Ну хотя бы в Init этого класса: Код: plaintext 1. Извините за многословие, но может быть это решение будет кому-нибудь интересно. С уважением, Dinozavr. P.S. Хотелось бы узнать мнение корифеев по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 19:05 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
Статья находится в разделе, который называется FAQ. Т.е. ЧАСТО задаваемые вопросы. Кроме того, сама постановка вопроса, что в данной теме, что в FAQ предполагает ввод ЧИСЕЛ. Описанная Вами ситуация, разумеется, возможна. Но позиционировать ее как ЧАСТО втречающуюся я бы не стал. Это ЧАСТНОЕ решение для ЧАСТНОЙ задачи. Причем очень специфической задачи. Решение, "заточенное" под конкретного пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 19:17 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
ВладимирМСтатья находится в разделе, который называется FAQ. Т.е. ЧАСТО задаваемые вопросы. Кроме того, сама постановка вопроса, что в данной теме, что в FAQ предполагает ввод ЧИСЕЛ. Описанная Вами ситуация, разумеется, возможна. Но позиционировать ее как ЧАСТО втречающуюся я бы не стал. Это ЧАСТНОЕ решение для ЧАСТНОЙ задачи. Причем очень специфической задачи. Решение, "заточенное" под конкретного пользователя. Уважаемый Владимир! Спасибо большое за внимание. Я и не позиционирую предлагаемое решение как решение ЧАСТО втречающейся задачи. Конечно, задачи АСУ подготовки производства на приборостроительном предприятии довольно редко решаются на FoxPro. Что же касается того, ЧАСТНОЕ ли это решение для ЧАСТНОЙ задачи, то здесь я, как абсолютный зануда, могу не согласиться. Это просто решение ДРУГОЙ задачи. Предлагаемое Вами решение наилучшим образом отвечает на вопрос: "Каким образом ввести десятичный разделитель с помощью клавиш "Точка" и "Запятая", независимо от выбранного языка?" Предлагаемое мной решение отвечает на вопрос: "Как заставить клавишу с "точкой" на цифровой клавиатуре вводить точку при установке русского языка?". Кстати, это решение применимо и для ввода чисел. Формально, вторая задача является более общей. Но это уже схоластика. Просто не могу отказать себе в удовольствии побеседовать с уважаемым специалистом - ведь другой возможности, кроме форума, нет. С уверениями в совершеннейшем почтении, Dinozavr. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 20:25 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
Однако это решение влияет на работу не только клавиши "Точка" цифровой клавиатуры, но и на работу клавиши "Точка и Запятая" текстовой клавиатуры. Повторюсь - для текстового поля, предназначенного для ввода десятичных чисел, это абсолютно правильно Ну так заведи два класса один для чисел, другой для текстов. Или проверяй маску - если она типа "999.99" то включай режим замены. Если нет то не меняй. Вариантов масса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 21:16 |
|
||
|
Разделитель десятых долей
|
|||
|---|---|---|---|
|
#18+
Ну, если уж совсем все делать "по правилам", то надо отлавливать, так называемый, скан-код нажатой клавиши. Т.е. различать какую именно физически клавишу нажимали. Поднимался подобный вопрос здесь Получение сканкода клавиши Не знаю, чем дело кончилось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2007, 23:49 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34459334&tid=1589537]: |
0ms |
get settings: |
5ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 357ms |

| 0 / 0 |
