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="<<x<<" y="<<y<<" key="<<key<<endl;}
- 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:"<<num<<endl;
- cout<<"Mouse form:"<<form<<endl;
- cout<<"Mouse showsection:"<<bx<<","<<by<<","<<ex<<","<<ey<<endl;
- }
- 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->image);
- _DX=FP_OFF(form->image);
- _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 ("<<lbx<<","<<lby<<")-("<<lex<<","<<ley<<")\n";
- gotoxy(10,7);
- cout<<"Right ("<<rbx<<","<<rby<<")-("<<rex<<","<<rey<<")\n";
- }
- 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<ex&&y>by&&y<ey)return 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下的物料计量系统))
99年毕业设计获优的程序-图书管理程序 续相关推荐
- 99年毕业设计获优的程序-图书管理程序
这是99年做毕业设计时,用BC3.2做的图书管理程序(当年毕业设计获优,还不错),DOS平台,通过DOS33号中断可以支持鼠标操作,图形界面(仿Window95),不过对菜单部分由于当时技术有限,仅能 ...
- 数据结构c语言编程程序,图书管理程序(数据结构c语言实现增删改查)
本人用C语言编写的第一个完整小程序实现图书的借阅管理,不完美之处欢迎交流! PS:我很菜.QQ:997459445 #include #include #include #include #inclu ...
- 基于微信小程序图书借阅管理系统(微信小程序毕业设计)
基于微信小程序图书借阅管理系统 图书借阅管理系统用户端是基于微信小程序,管理员端是基于java编程语言,mysql数据库,ssm框架,idea工具开发,本系统是分为用户和管理员两个角色,其中用户的主要 ...
- [附源码]计算机毕业设计Python+uniapp基于微信小程序图书借阅系统04688(程序+lw+远程部署)
[附源码]计算机毕业设计Python+uniapp基于微信小程序图书借阅系统04688(程序+lw+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: Py ...
- java计算机毕业设计面相高校学生的图书共享平台源码+系统+数据库+lw文档+mybatis+运行部署
java计算机毕业设计面相高校学生的图书共享平台源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计面相高校学生的图书共享平台源码+系统+数据库+lw文档+mybatis+运 ...
- java计算机毕业设计面相高校学生的图书共享平台源代码+数据库+系统+lw文档
java计算机毕业设计面相高校学生的图书共享平台源代码+数据库+系统+lw文档 java计算机毕业设计面相高校学生的图书共享平台源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开 ...
- java计算机毕业设计海城同泽中学图书仓库管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计海城同泽中学图书仓库管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计海城同泽中学图书仓库管理系统源码+mysql数据库+系统+lw文档+部署 本源码技 ...
- JAVA毕业设计海城同泽中学图书仓库管理系统计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计海城同泽中学图书仓库管理系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计海城同泽中学图书仓库管理系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...
- java计算机毕业设计Vue和mysql智能图书管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计Vue和mysql智能图书管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计Vue和mysql智能图书管理系统源码+mysql数据库+系统+lw文档+部 ...
最新文章
- 拯救 Out Of Memory,8个案例带你飞!
- obs多推流地址_抖音obs推流直播怎么操作,抖音直播推流地址如何获取?
- ERROR 1130 (HY000): Host ‘192.168.3.238‘ is not allowed to connect to this MySQL server
- JAVA转为wasm
- ios 推送通知服务证书不受信任(Apple Push Service certificate is not trusted)
- 为什么需要Code Review?
- bugku-writeup-Crypto-Ook.
- 一位大佬对学习哲理的思考
- 区块链安全:实现公链双花攻击的多种方法
- “网上下单”生活神技能,寄快递在线下单、查快递实时物流信息
- 2021年中国海洋大学计算机及电子信息考研成绩分析
- 洛谷 P2350 [HAOI2012]外星人(素因子分解,欧拉函数)
- 编译原理习题——第2章 文法和语言试卷
- Linux 命令 wc / awk
- uni 讯飞文字转语音 详解
- 手把手教你用 jQuery 制作无缝轮播
- 华为路由器:一次华为AR1220F-s的系统修复经历
- 如何无线接收服务器封包,大大通|如何抓取802.11a/b/g/n/ac 的无线网络封包
- 在嵌入式设备上(树莓派)动态显示带有中文字体的图片(采用matplotlib绘图)
- 基于labview的示波器自动控制软件
热门文章
- python虚函数_Python进阶话题杂谈(十三)纯虚函数与抽象基类
- java unsafe 详解_Java CAS操作与Unsafe类详解
- 2018北语c语言程序2答案,北语21春《JAVA语言程序设计》作业2题目【标准答案】...
- Hadoop Hbase 模型结构
- Pandas Period
- hadoop 自定义数据类型
- C语言连接PostgreSQL数据库
- java 虚拟内存 堆_jvm虚拟内存分布 与 GC算法
- VMware vSphere第三方免费工具介绍之一:RVTools
- Mysql学习总结(16)——Mysql之数据库设计规范