Помощь - Поиск - Пользователи - Календарь
Полная версия: мышь ассамблер и конечно PASCAL
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Glykaman
прошу прощения что немного не в тему(наверное) я с асамблером сюда оброщаюсьно тем не менее нужна помошь.Сразу к делу:
Нажмите для просмотра прикрепленного файла
это модуль который я никак не могу заставить работать с следующей программой:

PROGRAM CHECK;
USES
CRT,GRAPH,DOPFORGR,MOUSE;
VAR
X,Y:INTEGER;
PRINTTEXT:STRING;
BUTTON:TBS;
BEGIN
SHOWMOUSE;
{ALLREGION;}
REPEAT
GETMOUSE(X,Y,BUTTON);
GOTOXY(10,10);
WRITE('X = ',X,'Y = ',Y,' ');
GOTOXY(10,11);
IF LEFT IN BUTTON
THEN WRITE('LEFT KEY')
ELSE WRITE('NO LEFT KEY');
GOTOXY(10,12);
IF RIGHT IN BUTTON
THEN WRITE('RIGHT KEY')
ELSE WRITE('NO RIGHT KEY');
UNTIL KEYPRESSED;

HIDEMOUSE;
READLN;
END.


по задумке прога должна показывать координаты мыши и нажата ли какая либо клавиша на ней,но ни то ни другое не пашет хотя в самоучителе написано всё так же за исключением имён переменных. Я первый раз вожусь с асамблером мож команды какие не те(в смысле зависимые от конкретной конфигурации компа)?
volvo
Во-первых, мыщь не инициализирована, надо в самом начале вызывать функцию InitMouse вот отсюда:
МЫШЬ. Все о программировании мыши.

Ну, а во-вторых, здесь должны быть Var-параметры, ты же хочешь получить результат через них:
 PROCEDURE GETMOUSE(Var X,Y:INTEGER;Var BUTTON:TBS); { <--- }
Glykaman
за PROCEDURE GETMOUSE(Var X,Y:INTEGER;Var BUTTON:TBS); { <--- } спасибо только у меня без InitMouse пошло а зачем он нужен(если в кратце)?

добавил через 5 минут:
сорри всё ясно
Glykaman
У меня появилась ещё одна проблема куда менее предвиденная:
Вот архив с программой: Нажмите для просмотра прикрепленного файла (Neonmoon.pas исполняемый код программы)
которую я разрабатываю вот уже пол месяца.
недавно начал подсоединять мышь вот по этой инструкции: мышь и всё о её подключении
со стандартным видео драйвером всё впорядке - работает правда с 16 цветами,кактолько я подключаю BGI256.BGI меня выкидывает в XP с сообщением "Процессор NTVDM обнаружил недопустимую инструкцию"
и выполнение задачи прекращается. Я пробовал подключать другие драйвера(VESA256,SVGA,...) всё равно ничего не выходит. но когда я закоментирую процедуру SHOWMOUSE в исполняемом коде,(мышь не показывается) зато все остальные процедуры работы с мышью работают без ошибок.скажите что я сделал неправильно?
volvo
Цитата
кактолько я подключаю BGI256.BGI меня выкидывает в XP
Об этом, кстати, по приведенной тобой ссылке сказано...

Этот вопрос часто возникает, поэтому вот ссылка на модуль, который корректно работает с мышью во всех поддерживаемых режимах:
VESA Graphic Unit for BP7 and SVGA
Glykaman
Цитата(volvo @ 17.09.2007 1:59) *

Об этом, кстати, по приведенной тобой ссылке сказано...

Этот вопрос часто возникает, поэтому вот ссылка на модуль, который корректно работает с мышью во всех поддерживаемых режимах:
VESA Graphic Unit for BP7 and SVGA

В очередной раз спасибо volvo! Всё отлично работает.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.