|
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
|
|
Конвертировать символ клавиши в код клавиши08.07.2016, 17:40. Показов 5718. Ответов 4
Метки нет (Все метки)
Здравствуйте, в строку записан символ клавиши "тильда" в разных вариациях и при разных раскладках, а именно:
string t1 = "`"; string t1 = "~"; string t1 = "Ё"; string t1 = "ё"; При любых вариация нужно получить код этой клавиши ввиде "0xC0". Можно ли стандартными средствами получить код этой клавиши по символу (вне зависимости от её раскладки и вариации написания)? Если нет, чтож.. придется перечислять все вариации клавиши в массивах или структурах.. но боюсь так функция будет слишком долгая, ведь при большом объеме текста уж очень много придется анализировать подобным образом. Добавлено через 27 минут Хотя тут возникнут проблемы с некоторыми символами, например в английской раскладке точка находится на русской букве "ю", а в русской раскладке точка находится на символе "/" (при английской раскладке) Добавлено через 54 минуты А ладно отбой, гиблая затея, нереально при какой раскладке был сделан символ точки, если не запоминать код клавиши сразу при нажатии. Для столь специфичного задание найду другое специфичное решение.
0
|
|
| 08.07.2016, 17:40 | |
|
Ответы с готовыми решениями:
4
Преобразовать символ из текстбокса в виртуальный код клавиши (Virtual Key Code) Вывести строку, добавляя к ней случайный символ, и по нажатию клавиши этот символ удалить
|
|
|
||||||
| 08.07.2016, 20:04 | ||||||
|
Nalik, ну почему ж сразу гиблая? Для консольного приложения сойдет, например так:
Единственное, что таким способом не получится ловить специальные клавиши типа Ctrl и Shift.
0
|
||||||
|
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
|
|
| 08.07.2016, 21:23 [ТС] | |
|
гиблая, потому что не получится корректно распознать символ точки, т.к. это может быть как клавиша "Ю" так и ",", в зависимости от раскладки при которой она набиралась. Или символ :, он может быть как на цифре "6", так и на букве "ж". Ну а в общем за способ спасибо))
0
|
|
|
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
|
||
| 09.07.2016, 00:11 [ТС] | ||
|
Е (Нажать) 11 мс Е (Отпустить) После написания/редактирования макроса программа предлагает либо сохранить макрос, либо отменить все дейтствия и оставить макрос без изменений. В файл макрос сохраняются вида: Е 0x54 (Нажать) 11 мс Е 0x54 (Отпустить) Т.е. с кодом клавиши который будет использоваться в дальнейшем, для отправки посыла клавиши. Раньше макрос поддерживал только английский язык и проблем с распознаванием клавиш (будь-то точка или ещё что-то) не возникало, так как для одной раскладки может быть только один вариант, после я решил ввести русский язык и возник вопрос правильного определения (тех же самых точек к примеру). В программе макрос записывается в ListBox без когда клавиш, в файл сохранения уже с кодом. На скорую руку пришло решение либо создавать временный файл, либо использовать второй скрытый listBox, либо вводить массив и т.д. в который сразу после нажатия будет заноситься код нажатой клавиши, чтобы потом сохранять в файл именно тот код, который был нажат. В общем ввёл второй Listbox, который полностью дублирует основной, но уже с кодами клавиш. Не совсем в кратце получилось, ну да ладно. Если интересно, во вложении программа. Если ругается антивирус, пардон, обработан анти-дессемблером, можете запускать на виртуалке, если опасаетесь за безопасность ПК
1
|
||
| 09.07.2016, 00:11 | |
|
Помогаю со студенческими работами здесь
5
Получить символ из кода нажатой клавиши
код клавиши Как преобразовать код клавиши в символ, учитывая раскладку клавиатуры прога, которая по нажатой клавише выводит ascii - код символа это клавиши или scan - код самой клавиши. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера 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, то после закрытия окошка. . .
|