|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
||||||
Записать коды вводимых символов21.05.2012, 08:55. Показов 4078. Ответов 39
Метки нет (Все метки)
есть резидентная программа, которая записывает символы нажатых клавиш в файл, а мне надо записать коды этих символов. И она без выгрузки. А надо, чтобы выгружалась при нажатии ctrl+x.
Помогите пожалуйста, я в этом деле полный нуль))
1
|
||||||
| 21.05.2012, 08:55 | |
|
Ответы с готовыми решениями:
39
Отображение вводимых символов Ограничение на количество вводимых символов Преобразование вводимых символов к верхнему регистру |
|
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
|
|
| 21.05.2012, 12:08 | |
|
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 21.05.2012, 12:14 | |
|
0
|
|
|
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
|
|
| 21.05.2012, 12:52 | |
|
Mikl___, я кажется понял. Программа писала в файл, например: 123…, а надо записывать 31 32 33…?
Добавлено через 16 минут Программа писала в файл, например: 123…, а надо записывать 31 32 33… или 49 50 51...?
0
|
|
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
|
| 21.05.2012, 16:51 | |
|
castle_29, посади ещё один обработчик на Int 9 и проверяй коды. Это BIOS клава.
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
|
| 21.05.2012, 19:29 [ТС] | |
|
да мне надо ASCII код нажатых клавиш записать в файл. А где мне поменять надо, чтобы она не преобразовывала в символ?
Посадить ещё на один обработчик это как??? Получается дважды перехватывать 9h - прерывание? или это уже 16h - от клавиатуры?
0
|
|
|
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
|
|
| 21.05.2012, 19:59 | |
|
Я думаю, что на 79 строке надо вставить процедуру преобразования, а вот как выгрузить резидента не знаю.
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
|
| 21.05.2012, 20:11 [ТС] | |
|
спасибо за ответы. Попробую что-нибудь сделать))
0
|
|
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
||
| 22.05.2012, 06:28 | ||
|
AFP, если я не ошибаюсь, Int 20h выгружает окончательно и безповоротно.
Добавлено через 1 минуту
0
|
||
|
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
|
|
| 22.05.2012, 12:15 | |
|
0
|
|
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
|
| 22.05.2012, 15:09 | |
|
AFP, ну это и ТСу понятно.
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
|||||||||||
| 22.05.2012, 22:37 [ТС] | |||||||||||
|
По поводу перевода символа в код. Нашла вот такой код.
mov al, buffer[si] , я должна поставить mov al, cs:[0F6h]. Будет ли это корректно? или надо по другому как-то писать? И ещё если это вставить как процедуру то в какой момент я должна буду на неё ссылаться? Добавлено через 2 часа 21 минуту попробовала вставить код, который привела выше, после команд
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
||||||
| 24.05.2012, 18:34 [ТС] | ||||||
|
Никто так и не поможет???
![]() ![]() С выгрузкой я разобралась, так что осталось записать аски код! Очень прошу помочь, т.к. в понедельник надо сдать!!!!!!!! Добавлено через 6 часов 4 минуты нашла вот код, на экран выводится символ, аски код, скан код. Два последних в 16 с.с. выводится. а как сделать так, чтобы не на экран выводить а преобразовать и в буфер это всё запихать???
0
|
||||||
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
||||||||||||||||
| 24.05.2012, 18:51 | ||||||||||||||||
|
Вот участок
0
|
||||||||||||||||
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
||||||
| 24.05.2012, 19:29 [ТС] | ||||||
|
programmisto, а это преобразование делать до того как в буфер скидывать или мы в буфер строку скидываем?
вот я запихала это в процедуру
0
|
||||||
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
|
| 24.05.2012, 19:31 | |
|
castle_29, это я заменил вывод на экран вывод в результирующий буфер. Так же как с экраном работает. Кстати, можно из видеобуфера после вывода прочитать
.
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
|
| 24.05.2012, 20:31 [ТС] | |
|
programmisto, я всё равно не понимаю куда мне надо вставить всё это
![]() у меня есть процедура call Store_sym - заносит введенный символ в буфер клавиатуры. Вместо неё? но в ней также есть процедура записи в файл!
0
|
|
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
|
| 25.05.2012, 06:24 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 13
|
||||||
| 25.05.2012, 17:52 [ТС] | ||||||
|
programmisto, То что мы заменяем эти строчки, я поняла
![]() непонятно: 1)В какой момент ссылаться в исходной программе на эту процедуру (назвала asci_scan proc)??? 2) И если [di] - результирующий буфер, в который записываем, то буфер который использовался (cs:[0f6h]) куда девается? 3) Когда я перехожу на процедуру записи в файл, у меня первой идёт команда
Мне в понедельник надо сдавать этот курсовик, помогите правильно его скомпоновать, чтобы он выводил эти коды!!!! Пожалуйста!!!!!!!!!!!!!
0
|
||||||
|
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
|
||||||
| 25.05.2012, 19:22 | ||||||
|
У отметившихся здесь, программа нормально работает?
Я ее переделал под COM, так она быстро зависает. Дайте код, что получился. И вот код для преобразования символа из AL:
Вход: 124A Выход: 31 32 34 61 Добавлено через 1 час 29 минут А вообще, как я думаю, в коде этой программы изначально заложена ошибка – нельзя выполнять прерывания ДОС (запись в файл) в перехваченном прерывании БИОС. Насколько помню, нужно организовать специальные меры для этой возможности.
0
|
||||||
| 25.05.2012, 19:22 | |
|
Помогаю со студенческими работами здесь
20
Скан-коды нажатых клавиш записать в файл Подсчитать количество символов, коды ASCII которых по величине больше 75
Если массив символов упорядочен по возрастанию, то вывести коды этих символов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
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, то после закрытия окошка. . .
|