Консультация № 140736
25.07.2008, 21:23
0.00 руб.
0 3 2
Здравствуйте. Расскажите о поддержке мыши в паскале. Какие модули и команды используются?

Обсуждение

Неизвестный
25.07.2008, 21:54
общий
это ответ
Здравствуйте, Jones!
Вот, нашёл в гугле.
Перейти >>>
давно
Старший Модератор
31795
6196
25.07.2008, 22:07
общий
Ссылки посмотрите: URL >>A и URL >>B(комментарии на польском)
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
25.07.2008, 22:27
общий
25.07.2008, 23:40
это ответ
Здравствуйте, Jones!
Для работы с мышью вам придется самому писать модуль... или найти готовый...а так в паскале есть поддержка мышы... вот список процедур для работы с мышью в них используется прерывание 33h.
Если что не понятно пишите в аську 437803640

Приложение:
var
X,Y:Integer;(*координаты мыши*)
Right:Boolean;(*нажатая ли правая кнопка*)
Left:boolean(*нажатая ли левая кнопка*);
Visible:Boolean;(*Скрыта ли мышь*)
Procedure Info;assembler;(*Записывает информацию о состоянии мыши в переменные описание выше*)
asm
Mov ax,3(*Визов 3 подфункции 33h прерывания *)
int 33h(*сам вызов прерывания*)
mov x,cx(*тут идет запись даных о мыше из регистров в наши переменные*)
mov y,dx
mov left,bl
mov right,bl
and left,1
and right,2
end;

procedure show;assembler;(*Показывает мышь*)
asm
mov ax,1
int 33h
mov visible,1
end;
Procedure hide;assembler;(*Прячит мышь*)
asm
mov ax,2
int 33h
mov visible,0
end;
Procedure init;assembler;(*инициализирует драйвер мыши*)
asm
xor ax,ax
int 33h
end;
Procedure Move(PosX,PosY:integer);assembler;(*Перемещает в задание координаты мышь*)
asm
mov ax,4
mov cx,x
mov dx,y
int 33h
call info
end;

begin
init;
show;
move(7,7);
readln;
end.
Форма ответа