uses Graph,dos,Crt; var grDriver: Integer; grMode: Integer; ErrCode: Integer; button,x,y, mouse_keys: word; mouse_X, mouse_Y:word; xs,ys,i:word; r:registers; xst,yst:string[100]; function mouse_init: boolean; var m:boolean; begin asm mov ax,0 int 33h mov @Result, al end; end; procedure mouse_on; begin asm mov ax,1 int 33h end; end; procedure mouse_off; begin asm mov ax,2 int 33h end; end; procedure mouse_get(var m_k:word; var m_x:word; var m_y:word); begin asm mov ax,3 int 33h les di, m_k mov es:[di], bx les di, m_x mov es:[di], cx les di, m_y mov es:[di], dx end; end; begin grDriver := detect; InitGraph(grDriver, grMode,' '); ErrCode := GraphResult; if ErrCode = grOk then begin setcolor(2); SetLineStyle(10, 10 ,10); r.ax:=$7; r.cx:=10; r.dx:=getmaxx-10; intr($33,r); r.ax:=$8; r.cx:=10; r.dx:=getmaxy-10; intr($33,r); repeat mouse_on; repeat xs:=x; ys:=y; mouse_get(button, x,y); if button = 1 then begin if (ygetmaxy-20) and (y10) and (x<170) then setcolor(getpixel(x,y)); end; if button = 2 then begin mouse_off; setfillstyle(1,0); bar(10,10,getmaxx-10,getmaxy-30); mouse_on; end; until button = 0; moveto (x,y); until KeyPressed; CloseGraph; end else Writeln('Ошибка графики:', GraphErrorMsg(ErrCode)); end.