اسلام عليكم ورحمة الله وبركاته
شباب الكود التالي عبارة عن كود لبرمجة مؤشر الماوس في بيئة الدوس
لمصرف البورلاند ++c :
#include
#include
#include
#include
#include
#include
const int FALSE=0;
const int TRUE=1;
const int LEFT=0;
const int RIGHT=1;
const int EITHER=2;
const int RESET=0;
const int SHOW=1;
const int HIDE=2;
const int GET_STATUS=3;
const int MOVE=4;
const int PRESSED=5;
const int RELEASED=6;
const int SIZE=4;
class mouse
{
private :
union REGS in_regs;
union REGS out_regs;
public:
virtual int initialize();
virtual void show_cursor();
virtual void hide_cursor();
virtual void information(int *r1,int *r2,int *r3,int *r4);
virtual void move_cursor(int x,int y);
virtual int ChickifPressed(int button);
virtual int ChickifReleased(int button);
int MouseINput(int button);
};
int mouse::initialize()
{
in_regs.x.ax=RESET;
int86(0x33,&in_regs,&out_regs);
return(out_regs.x.ax);
}
void mouse::show_cursor()
{
in_regs.x.ax=SHOW;
int86(0x33,&in_regs,&out_regs);
}
void mouse::hide_cursor()
{
in_regs.x.ax=HIDE;
int86(0x33,&in_regs,&out_regs);
}
void mouse::information(int *r1,int *r2,int *r3,int *r4)
{
in_regs.x.ax=*r1;
in_regs.x.bx=*r2;
in_regs.x.cx=*r3;
in_regs.x.dx=*r4;
int86(0x33,&in_regs,&out_regs);
*r1=out_regs.x.ax;
*r2=out_regs.x.bx;
*r3=out_regs.x.cx;
*r4=out_regs.x.dx;
}
void mouse::move_cursor(int x,int y)
{
int r1=MOVE,r2;
information(&r1,&r2,&x,&y);
}
int mouse::ChickifPressed(int button)
{
int m1,m2,m3,m4;
m1=PRESSED;
if(button==LEFT)
{
m2=LEFT;
information(&m1,&m2,&m3,&m4);
if(m2)
return(TRUE);
}
if(button==RIGHT)
{
m2=RIGHT;
information(&m1,&m2,&m3,&m4);
if(m2)
return(TRUE);
}
return(FALSE);
}
int mouse::ChickifReleased(int button)
{
int m1,m2,m3,m4;
m1=RELEASED;
if(button==LEFT)
{
m2=LEFT;
information(&m1,&m2,&m3,&m4);
if(m2)
return(TRUE);
}
if(button==RIGHT)
{
m2=RIGHT;
information(&m1,&m2,&m3,&m4);
if(m2)
return(TRUE);
}
return(FALSE);
}
/***************************************************/
main()
{
int d=DETECT,m,errorcode;
char string[80];
mouse MyMouse;
initgraph(&d,&m,"D:BC5BGI");
errorcode=graphresult();
if(errorcode!=grOk)
{
cout<<"Graphics error:"
<
<<"prees any key to exit";
getch();
clrscr();
exit(1);
}
if(!MyMouse.initialize())
{
cout<<"Mouse could not be ini..."<
<<"prees any key to exit";
getch();
clrscr();
exit(1);
}
int x=getmaxx()/10;
int y=getmaxy()/10;
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,SIZE);
ellipse(9*x,9*y,0,360,x,y);
int h=2*textwidth("A");
MyMouse.show_cursor();
outtextxy(0,y,"Click left button to hide the cursor.");
while(!MyMouse.MouseINput(LEFT));
MyMouse.hide_cursor();
outtextxy(0,y+h,"Click left button to restore the cursor.");
while(!MyMouse.MouseINput(LEFT));
MyMouse.show_cursor();
int r1=GET_STATUS,r2;
MyMouse.information(&r1,&r2,&x,&y);
sprintf(string,"Cursor position now is (%d,%d)",x,y);
outtextxy(0,y+2*h,string);
outtextxy(0,y+3*h,"Click left button to put the cursor.");
outtextxy(0,y+4*h,"at the ellipse center");
while(!MyMouse.MouseINput(LEFT));
MyMouse.move_cursor(9*x,9*y);
outtextxy(0,y+5*h,"Click the right button to exit");
while(!MyMouse.MouseINput(RIGHT));
closegraph();
return(0);
}
[ALIGN=RIGHT]
شباب وبعد أن ذقت الويل في تعلم طريقة برمجة الماوس ظهر لي الخطأ التالي :[/[ mouse::MouseINput(int) in module gh.cpp]
فما هو سبب هذا الخطأ؟؟؟؟؟؟؟؟؟؟؟؟؟
ملاحظة: أنني أعمل في مصرف البورلاند في بيئة دوس!
أعمل على نظام xp
أرجوكم ياشباب ماهو سبب الخطأ.