Вопрос № 48287: Здраствойти госпожа програмисти (я только учусь етому ремеслу )
Помогите, мне в среде дос надо подключить драйвер миши(эсли ножно на примере, на С и Pascal)
И если есть какието силки , как етим воспользуваца .
Зарание спасибо....Вопрос № 48306: Уважаемые эксперты!
Cуществуют ли способы инициализации константных объектов, например типа string, в объявлении класса, кроме синтаксиса инициализации в конструкторе?
Дело в том, что в проекте предополагается довольно большое количество стро...
Вопрос № 48.287
Здраствойти госпожа програмисти (я только учусь етому ремеслу )
Помогите, мне в среде дос надо подключить драйвер миши(эсли ножно на примере, на С и Pascal)
И если есть какието силки , как етим воспользуваца .
Зарание спасибо.
Отправлен: 06.07.2006, 00:25
Вопрос задал: Игарь (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Jeka911
Здравствуйте, Игарь!
Код в приложении:
setupmouse(); - инициализация
mshow(1) - показать курсор
mshow(0) - спрятать курсор
m_pos - устанавливается на прерывание в setupmouse()
не забудте подключить dos.h
Приложение:
--------- Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 6-ой класс)
Ответ отправлен: 06.07.2006, 03:07 Оценка за ответ: 5 Комментарий оценки: Очень спасибо!!!
Отвечает: Physicist
Здравствуйте, Игарь!
Работа с мышью в ДОСе идет через прерывание 0x33, так что для быстрой работы все равно придется использовать ассемблер. Примерно работа идет так:
| mov ax,<номер функции>
| mov <другие регистры>,<параметры>
| int 33h
Первая ссылка, которую нашел в google по этой теме:
http://www.codenet.ru/progr/other/mouse.php
Нашел написанные когда-то для себя модули на Pascale (это часть моего ДОСовского GUI). Надеюсь, поможет.
Для примитивной работы (опрашивать изредка мышь, чтобы узнать, где она находится и какие клавиши нажаты) достаточно модуля IMouse.
Если хочется отслеживать каждое перемещение мыши - нужен таке модуль Drivers (он также позволяет отслеживать все нажатия клавиш).
В модуле Kernel приводится пример работы с этими модулями.
Если будешь переделывать на C - замени все inline-машинные коды на inline-функции с ассемблерными вставками.
Приложение:
Ответ отправил: Physicist (статус: 3-ий класс)
Ответ отправлен: 06.07.2006, 09:01 Оценка за ответ: 5
Вопрос № 48.306
Уважаемые эксперты!
Cуществуют ли способы инициализации константных объектов, например типа string, в объявлении класса, кроме синтаксиса инициализации в конструкторе?
Дело в том, что в проекте предополагается довольно большое количество строковых констант и хотелось бы объявить их в классе.
Отправлен: 06.07.2006, 06:33
Вопрос задал: Slin (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Melamed
Здравствуйте, Slin!
Как я понял, для вас вполне подойдет одна из следующих конструкций
const сhar[] = "anything";
В пространстве класса надо обявлять константы следующим образом:
static const char[] = "anything"
Или обявить все строковые константы в ресурсах. В этом случае упрощается локализация
вашей программы, то есть перевод интерфейса на разные языки (русский/английски
;й например)
Ответ отправил: Melamed (статус: 2-ой класс)
Ответ отправлен: 06.07.2006, 11:39 Оценка за ответ: 5 Комментарий оценки: Спасибо! Решил воспользоваться советом о ресурсах. К сожалению, код подобный примеру не работает (компилятор Intel 9.1), выдает ошибку: data member initializer is not allowed на такую строку: static const char win_class[]="win_class"; Кстати, а почему в прирах нет имени константы? Видимо, инициализация такого рода доступна только для интегральных
типов. Еще раз спасибо.
Отвечает: AndyC
Здравствуйте, Slin!
Нет. Для нестатических членов либо конструктор по-умочанию, либо инициализация конструктором в конструкторе класса. (Извините за тавтологию).
Вы хотите объявить или инициализировать константы в объявлении класса?
Ответ отправил: AndyC (статус: 1-ый класс)
Ответ отправлен: 06.07.2006, 17:52 Оценка за ответ: 5 Комментарий оценки: Спасибо! То, что я и хотел узнать!