Драйвер до пристрою маніпуляції мишка
(m_mouse.pas)
unit m_mouse;
interface
procedure Cnf_Mouse;
procedure On_Mouse;
procedure Off_Mouse;
function Key_Left_Mouse:boolean;
function Key_Right_Mouse:boolean;
function Key_Mouse:boolean;
function Mouse_X:integer;
function Mouse_Y:integer;
procedure Mouse_Goto_XY(x, y:integer);
implementation
uses dos;
var reg:registers;
procedure Cnf_Mouse;
begin
with reg do begin
AX:=$00;
intr($33, reg);
end;
end;
procedure On_Mouse;
begin
with reg do begin
AX:=$01;
intr($33, reg);
end;
end;
procedure Off_Mouse;
begin
with reg do begin
AX:=$02;
intr($33, reg);
end;
end;
function Key_Left_Mouse:boolean;
begin
with reg do begin
ax:=$3;
Intr($33,Reg);
if(bx = 1)then Key_Left_Mouse:=bx<>0
else Key_Left_Mouse:=0<>0;
end;
end;
function Key_Right_Mouse:boolean;
begin
with reg do begin
ax:=$3;
Intr($33,Reg);
if(bx = 2)then Key_Right_Mouse:=bx<>0
else Key_Right_Mouse:=0<>0;
end;
end;
function Key_Mouse:boolean;
begin
with reg do begin
ax:=$3;
Intr($33,Reg);
Key_Mouse:=bx<>0
end;
end;
function Mouse_X:integer;
begin
with reg do begin
ax:=$3;
Intr($33,Reg);
Mouse_X:=cx;
end;
end;
function Mouse_Y:integer;
begin
with reg do begin
ax:=$3;
Intr($33,Reg);
Mouse_Y:=dx;
end;
end;
procedure Mouse_Goto_XY(x, y:integer);
begin
with Reg do begin
ax:=$4;
cx:=X;
dx:=Y;
Intr($33,Reg);
end;
end;
begin
Cnf_Mouse;
Mouse_Goto_XY(320, 240);
end.
Додаток С.
Блок схема
Побудова
інтерфейсу
Підключення
кнопок для виходу
і с правки
Включаю
мишку
Вивід
координат
Вивід меню
операцій
Вивід меню
кольорів
Закриваю графічний
режим
Підключення
інтерфейсу
для роботи з
операціями