Подключение мыши к программе Turbo Pascal

unit mouse;
Interface
uses dos;
 
var regs:registers;
Procedure podkl_mouse(var mouse_ok:boolean; var button:byte);
{function init_mouse:boolean;}
Procedure show_mouse;
Procedure hide_mouse;
Procedure get_mouse(var button:byte;var x,y:word);
Procedure knop_mouse(var button:byte;var count,x,y:word);
 
Implementation
 
Procedure podkl_mouse;
begin
regs.AX:=$00;
intr($33,regs);
mouse_ok:=odd(regs.AX);
button:=regs.BX;
end;
 
{Function init_mouse;
var ResultRegAX:word;
begin
asm
mov ax,$00
int $33
mov ResultRegAX,ax
end;
if ResultRegAX=$FFFF then
   init_mouse:=true
else init_mouse:=false
end;}
 
Procedure show_mouse;
begin
regs.AX:=$01;
intr($33,regs);
end;
 
{Procedure show_mouse;
assembler;
asm
mov AX,$01
int $33
end;}
 
{Procedure hide_mouse;
assembler;
asm
mov AX,$02
int $33
end;}
 
Procedure hide_mouse;
begin
regs.ax:=$02;
intr($33,regs);
end;
 
{Procedure get_mouse;
var ResultCX,ResultDX:word;
begin
asm
mov ax, 03
int $33
mov ResultCX,CX
mov ResultDX,DX
end;
koord_x:=ResultCX;
koord_y:=ResultDX;
end;}
 
Procedure get_mouse;
begin
regs.AX:=$03;
intr($33,regs);
with regs do begin
button:=BL;
x:=CX;
y:=DX;
end;
end;
 
Procedure knop_mouse;
begin
regs.ax:=$06;
regs.bx:=button;
intr($33,regs);
with regs do
begin
    button:=ax;
    count:=bx;
    x:=cx;
    y:=dx;
end;
end;
 
end.

Leave a Comment

+ 11 = 15