|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 66
|
|
KeyPreview. Поймать слово28.07.2014, 14:44. Показов 3630. Ответов 18
Метки нет (Все метки)
Добрый день.
С клавиатуры вводятся строки. Если эта строка имеет префикс(10 известных программе символов), то отправить без префикса в edit. Если в строке нет этого префикса, отправить строчку куда она шла. Я понимаю, что можно запомнить предыдущий символ и делать проверку, но для 10 символов получается очень толсто. Кто-нибудь подскажет способ попроще? Желательно, с примером. Заранее благодарю. Добавлено через 12 минут Забыл добавить: Длинна строки неизвестна, но гарантируется что она будет введена менее, чем за секунду.
0
|
|
| 28.07.2014, 14:44 | |
|
Ответы с готовыми решениями:
18
Не работает KeyPreview Поймать редирект ссылку Поймать сообщение wm_copy |
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 28.07.2014, 15:39 | |
|
TigerMax, событие KeyPreview сработает на ввод символа, а не строки. Надо только несколько переменных. Я вот не понимаю, как это человек может ввести строку длиной более 10 символов меньше чем за секунду?
0
|
|
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 66
|
|
| 28.07.2014, 15:54 [ТС] | |
|
саша40, не человек
![]() Спасибо за ответ. Значит, попру влобовую. Если у кого будут идеи - пишите.
0
|
|
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 28.07.2014, 20:20 | |
|
TigerMax, Если хотел не дать ввести эти 10 символов, то так и написал бы. Я просто не знаю, в каком порядке вводятся эти 10 символов. Можно просто просканировать строку из edit на содержания этих 10 символов и удалить их из неё. Можно не дать их ввести, или ввести их сочетание(слово). Тут куча вариантов. Телепатов на форуме нет, дружок.
0
|
|
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 66
|
|
| 28.07.2014, 21:50 [ТС] | |
|
саша40, вы правы. Попробую сформулировать иначе.
Фокус может находиться где угодно. Вводится слово из десяти символов(это слово,префикс,заранее известно) И вслед за этим словом в течении 0,5-1 секунды быстро с клавиатуры набираются символы. Нужно поймать этот момент, удалить кодовое слово, остатки вывести в нужный edit. Можно решить в лоб: массив из 10 символов. Каждый входящий символ встает в массив и сдвигает оставшиеся. Когда символы в массиве образуют слово, выполнить процедуру. Сканер штрих кода с префиксом из 10 символов, порядок которых не меняется. Поэтому и вводится меньше, чем за секунду)
0
|
|
|
Житель Земли
|
||||
| 29.07.2014, 10:04 | ||||
|
да будет тебе известно, что KeyPreview - это не событие, а свойство, которое разрешает форме реагировать на события KeyUp/Down, даже если фокус находится в дочернем компоненте Добавлено через 3 минуты Не по теме: мне иногда кажется, что саша40 - это не человек, а большой толстый тролль. хотя нет, для качественного троллинга тоже нужно много знать Добавлено через 3 минуты Добавлено через 4 минуты и вообще, нужно было сразку сказать, что сканер
0
|
||||
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 29.07.2014, 10:52 | |
|
DenNik, вообще-то я знаю. Когда я это писал, я ещё не задал это свойство в яндекс.
0
|
|
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 29.07.2014, 11:07 | |
|
TigerMax, Сканер штрихкодов дает двоичную комбинацию(сочетание 1 и 0, иначе включено и выключено). Тут всё зависит от нескольких физических факторов. От светоотражательной способности чтоли? Ну вроде, если сканер наткнулся на полоску, то это 1 и 1 пойдут пока сканер идет по полоске. если бумага не закрашена, то это 0. А что за префикс у сканера?
Добавлено через 5 минут DenNik, а какая разница. Я использую Яндекс, потому что ненавижу Google!
0
|
|
|
|
|
| 29.07.2014, 14:29 | |
Сообщение было отмечено TigerMax как решение
Решение
Сканер ш/к - это просто разновидность клавиатуры.
Считывает ш/к в нескольких известных ему стандартах и формирует текстовую строку. Ну и по умолчанию ентер в конце (#13) Абсолютно то же, что Ctrl+V заводим строку в FormKeyPress добавляем в нее символы если длина >10 первый символ удаляем все время проверяем на совпадение с шаблоном
1
|
|
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 29.07.2014, 14:29 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 66
|
|||
| 30.07.2014, 15:49 [ТС] | |||
|
Добавлено через 4 минуты Но ведь сканер вводит символы очень быстро. Если ставить проверки в процедуру, не могут ли,случайно, символы перемешаться?
0
|
|||
|
Житель Земли
|
|||||
| 30.07.2014, 16:22 | |||||
|
так что не путай бабушку Добавлено через 2 минуты ![]() Добавлено через 2 минуты
0
|
|||||
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 66
|
||||||||||||
| 30.07.2014, 19:04 [ТС] | ||||||||||||
|
KeyPreview перевел в true; Объявил процедуру
0
|
||||||||||||
|
|
||||||||
| 30.07.2014, 21:54 | ||||||||
Сообщение было отмечено TigerMax как решение
Решение
у меня рабочий проект - касса.
там все сделано именно так. вот
более ленивые люди делают это двойным кликом по соотв. событию в инспекторе объектов
1
|
||||||||
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 66
|
|
| 30.07.2014, 22:12 [ТС] | |
|
0
|
|
|
|
|
| 30.07.2014, 22:22 | |
|
))
бывает
0
|
|
| 30.07.2014, 22:22 | |
|
Помогаю со студенческими работами здесь
19
Поймать вывод консоли Свойство KeyPreview не срабатывает Странное описание свойства Form.KeyPreview В тексте заменить слово А(любое слово) на слово В(любое слово). А и В разной длинны
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|