99년 졸업 후 설계된 프로그램 - 도서 관리 프로그램 계속
- int getx(void){message();return x;} // x
- int gety(void){message();return y;} // y
- int getlbx(void){mousekeymessage();return lbx;} // x
- int getlby(void){mousekeymessage();return lby;} // y
- int getlex(void){mousekeymessage();return lex;} // x
- int getley(void){mousekeymessage();return ley;} // y
- int getrbx(void){mousekeymessage();return rbx;} // x
- int getrby(void){mousekeymessage();return rby;} // y
- int getrex(void){mousekeymessage();return rex;} // x
- int getrey(void){mousekeymessage();return rey;} // y
- //
- int getleftnum(void){mousekeymessage();return leftnum;}
- //
- int getrightnum(void){mousekeymessage();return rightnum;}
- int getkey(void){message();return key;} // key
- //
- void showxy(void){gotoxy(1,1);cout<<"x="<
" y="<" key="<
- int yesno(int,int,int,int);//
- void run(void far interrupt(far *p)(),int nn);//
- void close(void); //
- };
- //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- void MOUSE::show_message(void)
- {
- cout<<"Mouse num:"<
- cout<<"Mouse form:"<
- cout<<"Mouse showsection:"<
","<","<","<
- }
- void MOUSE::init(void)
- {
- union REGS r;
- flag=0;
- if(getvect(0x33)!=0L)
- { r.x.ax=0;
- int86(0x33,&r,&r);
- if(r.x.ax==0){cout<<"NOT INSTALLED MOUSE !";exit(0);}
- if(r.x.ax!=0){
- flag=1;num=r.x.bx;
- shape();
- if(!chart)
- {
- r.h.ah=0x0f;
- int86(0x10,&r,&r);
- if(r.h.al==0||r.h.al==1)winxsize=16;
- chart=1;
- }}
- }
- }
- void MOUSE::shape()
- {
- if(flag)
- { _ES=FP_SEG(form->p_w_picpath);
- _DX=FP_OFF(form->p_w_picpath);
- _CX=form->y;
- _BX=form->x;
- _AX=0x09;
- geninterrupt(0x33);
- rx=form->x;
- ry=form->y;
- }
- }
- void MOUSE::setshape(int n)
- {
- switch (n)
- {
- case 0:form=&Mouse0;break;
- case 1:form=&Mouse1;break;
- case 2:form=&Mouse2;break;
- case 3:form=&Mouse3;break;
- case 4:form=&Mouse4;break;
- case 5:form=&Mouse5;break;
- case 6:form=&Mouse6;break;
- case 7:form=&Mouse7;break;
- case 8:form=&Mouse8;break;
- default:break;
- }
- shape();
- }
- inline void MOUSE::show(void)
- {
- union REGS r;
- if(flag)
- {
- r.x.ax=1;
- int86(0x33,&r,&r);
- FLAG=1;
- }
- }
- inline void MOUSE::hide(void)
- {
- union REGS r;
- if((FLAG)&&(flag))
- {
- r.x.ax=2;
- int86(0x33,&r,&r);
- FLAG=0;
- }
- }
- void MOUSE::setbeginxy(int X,int Y)
- {
- union REGS r;
- if(flag)
- {
- r.x.ax=4;
- r.x.cx=X;
- r.x.dx=Y;
- int86(0x33,&r,&r);
- x=X;y=Y;
- }
- }
- inline void MOUSE::message(void)
- {
- union REGS r;
- if(flag)
- {
- r.x.ax=3;
- int86(0x33,&r,&r);
- key=r.x.bx;
- KEYKEY=key;
- x=r.x.cx;
- y=r.x.dx;
- }}
- void MOUSE::mousekeymessage(void)
- {
- union REGS r;
- if(flag)
- {//----- -----
- //
- r.x.ax=5;
- r.x.bx=0;
- int86(0x33,&r,&r);
- key=KEYKEY=r.x.ax;
- leftnum=r.x.bx;
- lbx=r.x.cx;
- lby=r.x.dx;
- //
- r.x.ax=5;
- r.x.bx=1;
- int86(0x33,&r,&r);
- key=KEYKEY=r.x.ax;
- rightnum=r.x.bx;
- rbx=r.x.cx;
- rby=r.x.dx;
- //----- -----
- //
- r.x.ax=6;
- r.x.bx=0;
- int86(0x33,&r,&r);
- key=KEYKEY=r.x.ax;
- lex=r.x.cx;
- ley=r.x.dx;
- //
- r.x.ax=6;
- r.x.bx=1;
- int86(0x33,&r,&r);
- key=KEYKEY=r.x.ax;
- rex=r.x.cx;
- rey=r.x.dx;
- }}
- void MOUSE::show_mousekeymessage(void)
- {
- gotoxy(10,6);
- cout<<"Left ("<
","<")-("<","<")
";
- gotoxy(10,7);
- cout<<"Right ("<
","<")-("<","<")
";
- }
- void MOUSE::setmax(int x1,int x2)
- {
- union REGS r;
- if(flag)
- {
- if(!FLAG)
- {
- x1=(x1*winxsize)-winxsize;
- x2=(x2*winxsize)-winxsize;
- }
- r.x.ax=7;
- r.x.cx=x1;
- r.x.dx=x2;
- int86(0x33,&r,&r);
- }
- }
- void MOUSE::setmay(int y1,int y2)
- {
- union REGS r;
- if(flag)
- {
- if(!FLAG)
- {
- y1=(y1*winysize)-winysize;
- y2=(y2*winysize)-winysize;
- }
- r.x.ax=8;
- r.x.cx=y1;
- r.x.dx=y2;
- int86(0x33,&r,&r);
- }
- }
- void MOUSE::setmaxy(int x1,int y1,int x2,int y2)
- {
- union REGS r;
- if(flag)
- {
- r.x.ax=16;
- r.x.cx=x1;
- r.x.dx=y1;
- r.x.si=x2;
- r.x.di=y2;
- int86(0x33,&r,&r);
- }
- else hide();
- }
- inline int MOUSE::mousekey()
- {
- if(kbhit())return KEY();
- message();
- if(key==1) return(1001);
- if(key==2) return(1002);
- if(key==3) return(1003);
- return(-1);
- }
- void MOUSE::mousev()
- {
- if(flag)
- {
- _BX=20;
- _CX=20;
- _AX=0x1a;
- geninterrupt(0x33);
- }}
- int MOUSE::yesno(int bx,int by,int ex,int ey)
- { int t;
- if(bx>ex){t=bx;bx=ex;ex=t;}
- if(by>ey){t=by;by=ey;ey=t;}
- message();
- if(x>bx&&x
by&&yreturn 1;
- else return 0;
- }
- void MOUSE::run(void far interrupt(*p)(),int nn)
- {
- if(flag)
- {
- _ES=FP_SEG(p);
- _DX=FP_OFF(p);
- _CX=nn;
- _AX=0x14;
- geninterrupt(0x33);
- }
- }
- void MOUSE::close(void)
- {
- if(flag)
- {
- _ES=0;
- _DX=0;
- _CX=0;
-
- _AX=0x14;
- geninterrupt(0x33);
- }
-
- }
- //------------------------------------------------------------------------//
-
됐어, 우선 이것들을 놓아라.지금 생각해보면 DOS로 간단한 그래픽 인터페이스의 삽입식 시스템을 만들면 이것도 좀 쓸모가 있을지도 모른다. (내가 막 회사에 도착했을 때 첫 번째 프로그램은 바로 이것으로 개선된 것이다(DOS 아래의 재료 계량 시스템)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
양식 제출 후 제출 버튼 비활성화텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.