Форум программистов, компьютерный форум, киберфорум
Кроссплатфор­менная разработка
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для FireNovel
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297

Смена раскладки клавиатуры

20.07.2012, 14:11. Показов 2224. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Мучает вопрос, как отследить смену языка ввода (Ctrl+Shift) и на основе состояния провести преобразование из текста в число.

Конкретнее: Есть простой wxTextCtrl из которого нужно получить число double.
простое преобразование wxString::ToDouble() не всегда адекватно обрабатывает "точку" она же запятая в Русском. Ситуацию усложняет наличие нескольких wxTextCtrl в которых данные необходимо водить то русскими то на английскими буквами, после чего трудно предугадать на каком языке будет вводиться число.

Буду признателен за пример кода.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2012, 14:11
Ответы с готовыми решениями:

QtCreator 3.0.1, Qt 5.2.1. Смена раскладки
QtCreator 3.0.1, Qt 5.2.1 , Kubuntu 14.02. Проблема смены раскладки После смены раскладки ( исключиельно в QtCreator ) необходимо нажать...

Автоматическая смена раскладки
При запуске программы стоит рус. раскладка, меня каждый раз неудобно. Как можно решить этот вопрос программно?

TMS AdvTouchKeyboard1 - смена раскладки
Есть компоненты от TMS AdvTouchKeyboard1, так там не меняется раскладка. Кто-нить знает как там поменять

5
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
20.07.2012, 14:30
По-моему, вы не с того конца проблему пытаетесь решать.
На любом языке пользователь может ввести и запятую, и точку, так что отслеживать изменение языка бессмысленно.
Вам просто надо запретить вводить в wxTextCtrl неправильный разделитель и удостовериться что wxString::ToDouble() будет работать с правильным (как ToDouble() узнает какой разделитель использовать - надо в его документации смотреть).
"Правильным" в данном случае можно считать тот, который указан в настройках операционной системы. В русской Windows это будет запятая, в американской - точка и т.д.
1
 Аватар для FireNovel
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
20.07.2012, 14:33  [ТС]
Цитата Сообщение от canopen Посмотреть сообщение
По-моему, вы не с того конца проблему пытаетесь решать.
То есть??????
0
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
20.07.2012, 14:55
Извиняюсь, надо было не редактировать сообщение, а новое добавить )))
0
 Аватар для FireNovel
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
20.07.2012, 15:11  [ТС]
Цитата Сообщение от canopen Посмотреть сообщение
Правильным" в данном случае можно считать тот, который указан в настройках операционной системы. В русской Windows это будет запятая, в американской - точка и т.д.
Тогда встречный вопрос. Как вытянуть это значение?
0
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
20.07.2012, 15:30
Вы wxWidgets используете похоже?

Добавлено через 2 минуты
Вот что нашлось в их документации:
C++
1
static wxChar wxNumberFormatter::GetDecimalSeparator()
Добавлено через 2 минуты
Там же написано что это же значение используется в wxString::ToDouble( ), так что тут проблем быть не должно.

Добавлено через 2 минуты
Ну и заодно как сделать проверку ввода можно там же посмотреть:
http://docs.wxwidgets.org/2.8/... oroverview
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.07.2012, 15:30
Помогаю со студенческими работами здесь

Смена раскладки символов с английской на русскую и наоборот
В общем, делаю что-то вроде метода шифровки при котором различные символы при нажатии на кнопку, сменяются на символы противоположной...

Проверка раскладки клавиатуры
Не могу понять в чём ошибка? И как его правильно записать. if (GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), NULL))...

Получение раскладки клавиатуры на Windows
Привет всем. В общем, на винде нужно получить текущую раскладку клавиатуры. Написал таким образом, но как сделать так, чтобы я не вручную...

Реакция на нажатие клавиши независимо от раскладки клавиатуры
Всем добрый день! Подскажите, пожалуйста, если необходимо, чтобы в консольном приложении происходило определенное действие при нажатии,...

Получить символ с клавиатуры в зависимости от текущей раскладки
Всем привет. Возник вопрос, как получить символ с клавиатуры (текущей раскладки) ? Вот всё что у меня получилось, но это гавнокод :) ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru