Принудительно запретить менять раскладку клавиатуры
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Принудительно запретить менять раскладку клавиатуры
Можно ли при вводе в поле (естественно, String) программно запретить менять раскладку клавиатуры. В поле нужен строго английский язык. Как его выставить - не проблема. Но, вдруг, пользователь раскладку сам поменяет. Или надёжнее проводить анализ строки после ввода?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Принудительно запретить менять раскладку клавиатуры
Можно попробовать повесить на поле ALERT(192,255) и через Pre-Alert Key забанить ввод русских символов ....
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Принудительно запретить менять раскладку клавиатуры
Похоже, так не пойдёт. Поле заполняется через считыватель магнитных карт. Могу на что-то среагировать только после получения Enter'а, Enter генерит сам считыватель. А есть доступный (простой) способ хотя кириллицу перевести на латиницу? Уже в ведённой строке. Может функция?Игорь Столяров писал(а): ↑07 Февраль 2018, 15:47 Можно попробовать повесить на поле ALERT(192,255) и через Pre-Alert Key забанить ввод русских символов ....
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Принудительно запретить менять раскладку клавиатуры
Не понял. "Заполняется через считыватель" - это так называется передача через буфер клавиатуры ?
Тогда все клавиатурные события есстественно будут работать ....
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Принудительно запретить менять раскладку клавиатуры
При выборе поля принудительно выбери английский язык. Что бы при считывании заведомо на английском вывелся текст,
и после ввода, функцией типа простой транслитерации, конвертни русский в английский (на всякий случай)
и после ввода, функцией типа простой транслитерации, конвертни русский в английский (на всякий случай)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Принудительно запретить менять раскладку клавиатуры
Теперь я уже не понял. Если я в поле ENTRY делаю операцию вставить (Ctrl+V), алерты отработают? С другой стороны, если из 10 символов 4 кириллических, и они не считались, а 6 считалось, делать доп. проверку на количество введённых символов? Не вариант. В общем случае я не знаю этого количества.Игорь Столяров писал(а): ↑07 Февраль 2018, 16:05 Тогда все клавиатурные события есстественно будут работать ....
Ну да. Поставил. Написал примечание, на всякий случай, что раскладка должна быть латинской.
Что за функция? Есть что-то в Кларионе или ВинАПИ? Как раз транслитерация-то и нужна. В принципе мне нужно обработать шесть букв, соответствующих латинским A-B-C-D-E-F (число в том самом виде). Русские буквы перевести в них несложно. Но вдруг на компе ещё какая-нибудь раскладка? Загоняюсь?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Принудительно запретить менять раскладку клавиатуры
Если у Вас данные в поле попадают через ClipBoard Windows, то контроль клавиатурного ввода работать не будет.
А вот если сканер выталкивает код в буфер клавиатуры, то контроль по символам работать будет.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Принудительно запретить менять раскладку клавиатуры
К сожалению, сейчас проверить не могу. Считыватель у заказчика. Но интересно было бы знать. Считыватель посылает "1С00В58С3Ф", что на выходе я получу, если забаню кириллицу?Игорь Столяров писал(а): ↑07 Февраль 2018, 18:12 А вот если сканер выталкивает код в буфер клавиатуры, то контроль по символам работать будет.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Принудительно запретить менять раскладку клавиатуры
Тоже самое, что если бы вводили эту строку с клавиатуры: 1С00В58С3 (предполагаю, что "B" и "С" - английские).
Здесь главный вопрос в том, хотите Вы получить только английские символы при считывании XЗ чего, или блокировать
считывание кода с недопустимыми символами (с выдачей сообщения, сбросом считывания и т.д.) ....
Здесь главный вопрос в том, хотите Вы получить только английские символы при считывании XЗ чего, или блокировать
считывание кода с недопустимыми символами (с выдачей сообщения, сбросом считывания и т.д.) ....
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Принудительно запретить менять раскладку клавиатуры
Здесь буквы все кириллические. Т.е. на выходе я получу "100583". И что мне с этим делать? Если только сообщение какое-то выдавать. Хочется дать пользователю максимально удобный инструмент. Сделал пока ручную "транслитерацию" кириллицы.Игорь Столяров писал(а): ↑08 Февраль 2018, 10:29 Тоже самое, что если бы вводили эту строку с клавиатуры: 1С00В58С3 (предполагаю, что "B" и "С" - английские).
We are hard at work… for you.
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Принудительно запретить менять раскладку клавиатуры
Вешаем таймер на окно. Неактивный.
По событию выбора вашего поля ввода включаем таймер.
На таймере постоянно, принудительно, часто ставим английскую раскладку!
При выходе из поля таймер отключаем.
Все!
Ваш аппарат, с офигенно большой вероятностью, выведет в поле вашу строку в английской раскладке.
По событию выбора вашего поля ввода включаем таймер.
На таймере постоянно, принудительно, часто ставим английскую раскладку!
При выходе из поля таймер отключаем.
Все!
Ваш аппарат, с офигенно большой вероятностью, выведет в поле вашу строку в английской раскладке.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса