Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
xEtr1k
9 / 9 / 5
Регистрация: 09.08.2012
Сообщений: 54
1

Калькулятор: как обрабатывать нажатие клавиши именно на одну из "кнопок"

09.12.2012, 16:01. Просмотров 853. Ответов 8
Метки нет (Все метки)

Здравствуйте. Нужна помощь! Задание калькулятор на assemlber (tasm). Будущие кнопочки(квадратики) я отрисовал, проверил в dosbox , все хорошо отрисовалось, но возникла проблема , нужно чтобы пользователь нажимал на "кнопочку" , ну и тем самым сохранялось значение, вообщем к сути проблемы, как обрабатывать нажатие клавиши именно на одну из "кнопок" , проверять по координатно , или как?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
MouseSetup proc
    mov ax,0    ; инициализация мыши
    int 33h
    mov ax,1   ; показать курсор
    int 33h 
ret
MouseSetup endp
 
MouseClickSetup proc
    mov ax,000ch
    mov cx,0002h
    int 33h
ret
MouseClickSetup endp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 16:01
Ответы с готовыми решениями:

Доработать программу (обрабатывать случай, когда в строке string отсутствует знак "$")
Доработать программу 1 таким образом, чтоб она могла обрабатывать случай, когда...

переключить монитор компьютера в "спящий" режим до нажатия какой-либо клавиши на клавиатуре
Народ, пожалуйста, помогите, если не сложно, очень надо!!! Препод задал вот...

Как реализовать рекурсию через "call" и "ret"?
kak realizovat rekursiu 4erez "call" i "ret"? nujno predstavit naturalnoe...

Есть строка. Нужно сделать так, чтобы "re" и "not" заменялись на "***".
Есть строка. Нужно сделать так, чтобы "re" и "not" заменялись на "***". Data...

"горячие клавиши"
выход из проги по нажатию на ctrl+alt+F1:code segment assume cs:code,...

8
Mikl___
Автор FAQ
11777 / 6081 / 554
Регистрация: 11.11.2010
Сообщений: 11,071
09.12.2012, 17:22 2
xEtr1k, для программы под DOS именно проверкой координат "кнопок"
0
xEtr1k
9 / 9 / 5
Регистрация: 09.08.2012
Сообщений: 54
09.12.2012, 17:29  [ТС] 3
Цитата Сообщение от Mikl___ Посмотреть сообщение
xEtr1k, для программы под DOS именно проверкой координат "кнопок"
диапазон кнопки например у меня 40х40 , и я получается должен смотреть , если курсор зашел на эту область и произвел клик выполнять действия......... я правильно понял?
0
Mikl___
Автор FAQ
11777 / 6081 / 554
Регистрация: 11.11.2010
Сообщений: 11,071
09.12.2012, 17:35 4
xEtr1k, понял правильно, у калькулятора кнопки расположены не хаотично, то есть сперва определяется столбец, а затем ряд, и поиск осуществляется по таблице
0
xEtr1k
9 / 9 / 5
Регистрация: 09.08.2012
Сообщений: 54
09.12.2012, 17:42  [ТС] 5
Цитата Сообщение от Mikl___ Посмотреть сообщение
xEtr1k, понял правильно, у калькулятора кнопки расположены не хаотично, то есть сперва определяется столбец, а затем ряд, и поиск осуществляется по таблице
извините, а могли бы вы показать на примере, только фрагмент обработки данного диапазона (т.к работу с мышью ещё никогда не практиковал) ...допустим координаты такие : x(20),y(20) и от этой точки идут линии по 40 , тем самым образуя квадрат , т.е задействованы точки x(20),y(20...,x(60),y(20)...x(20),y(60)...x(60),y(60)
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
09.12.2012, 18:19 6
Цитата Сообщение от xEtr1k Посмотреть сообщение
работу с мышью ещё никогда не практиковал
Да там ничего сложного. В обработчике событий мыши в регистре bx содержатся сведения о состоянии кнопок мыши, а регистрах cx,dx - координаты курсора.
0
xEtr1k
9 / 9 / 5
Регистрация: 09.08.2012
Сообщений: 54
09.12.2012, 20:37  [ТС] 7
Цитата Сообщение от Vadimych Посмотреть сообщение
Да там ничего сложного. В обработчике событий мыши в регистре bx содержатся сведения о состоянии кнопок мыши, а регистрах cx,dx - координаты курсора.
а как понимать что курсор находится на диапазоне "1" допустим , т.е для каждой цифры нужно указать ее возможные координаты , и когда происходит клик на эту область то сохраняю значение, так? ... беспокоит то что , не знаю , как указать возможный диапазон для той или иной кнопки. Помогите пожалуйста разобраться.(от фрагмента такого действия не откажусь)
0
xEtr1k
9 / 9 / 5
Регистрация: 09.08.2012
Сообщений: 54
11.12.2012, 18:45  [ТС] 8
помогите пожалуйста!
0
Animosus
0 / 0 / 0
Регистрация: 30.07.2011
Сообщений: 9
12.12.2012, 12:34 9
Для задания диапазонов можно использовать команду перехода с соответствующими параметрами
http://www.kolasc.net.ru/cdo/programmes/assembler/jcc.html
0
12.12.2012, 12:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 12:34

Изъять слова, которые имеют префикс "re", "not", "be"
Заданы символьная строка. Слова и идентификаторы разделяются хотя бы одним...

Необходимо строку тип ""str1" "str2"",0 преобразовать в строку типа
Необходимо строку тип ""str1" "str2"",0 преобразовать в строку типа "str2",0...

Дана строка "ababab", из этого слова надо получить "aaa"
Собственно сабж. Дана строка "ababab", надо удалить буквы "b" и получить слово...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru