机房管理系统22_第1页
机房管理系统22_第2页
机房管理系统22_第3页
机房管理系统22_第4页
机房管理系统22_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文题目学生指导老师年级专业系别机房管理系统一一服务器子系统魏凯2007 级计算机应用计算机系2010年8月机房管理系统一服务器子系统魏凯摘要随着计算机技术的飞速发展,机房在学校的教学中扮演着越来越重要的角色,人工的机房管理方法和工作效率难以适应新的发 展需要,建立一套有效的管理系统是很必要的。首先对系统开发背景 和选题的意义做了阐述,对系统开发进行了可行性分析和需求分析, 接着对系统各个模块进行了详细设计,对系统研究开发的过程和实现 细节的进行了考虑,最后对各部分的实施进行了详尽的分析和描述, 最终达成一个完整的设计方案。它能够实现系统设置、计费设置、帐 户管理、远程监管等功能。帐户管理

2、是整个机房管理系统的基础是核 心。机房管理系统设计简单,操作方便,具有稳定高效、界面友好等 特点。关键词Visual C+ 6。0 ADO 机房管理 SOCKETThe Computer Room Management SystemWeikai Directy by Senior Experimenter GuoYangAbstract With the computer technology rapid development,the engine room of the teaching in schools play an increasingly important role,Arti

3、ficial the room management and efficiency of the work is difficult to adapt to the new development needs,it is necessary that we set up an effective management system. At first it has made the elaboration to the system development background and the selected topic significance,and it made a feasibil

4、ity analysis and demand analysis the system development. Then various modules of the system for the detailed design of the system development process and the achievement of the details of the consideration. Finally it has carried on the exhaustive analysis and the description to each part of impleme

5、ntations. At last it achieved complete design proposal. It can achieve the system, set up billing, account management, remote control, and other functions. Account management of the entire room management system is based on the core. Computer management system designed to be simple and easy to opera

6、te,with a stable and efficient,friendly interface, and other features.Key words Visual C+6.0 ADO Room Management Socket TOC o 1-5 h z 标题1中文摘要1 HYPERLINK l bookmark10 o Current Document 1序言11.1系统开发背景.11.2选题的意义.11.3系统简介12.0机房管理系统.22.1资料收集.22.2可行性分析32.3需求分析42.3.1功能需求42.3.2学生上机流程4 HYPERLINK l bookmark20

7、 o Current Document 3机房管理系统设计53.1.1系统目标设计53.1.2开发设计思想53.1.3系统功能设计53.2详细设计63.2.1系统功能模块设计63.2.2数据库设计11 HYPERLINK l bookmark37 o Current Document 4机房管理系统实施124.1开发工具的选择12 HYPERLINK l bookmark40 o Current Document Visual C+ 6.0 简介12Visual C+ 6.0 的功能特点13Access 2003 数据库简介134.2系统实现144.2.1读卡器功能的实现144.2.2窗体实现

8、174.2.3网络实现194.2.4计费功能的实现204.2.5系统设置模块的实现214.2.6计费模块的实现234.2.7帐户管理模块的实现264.2.8远程监管模块的实现.285总结31参考文献:32致 谢331序言1.1系统开发背景随着机房在教学中的地位的加重,原有的陈旧的人工管理机房工 作暴露出各种各样的弊端,现在学校机房的管理方式多为手工处理, 劳动强度大,而且容易出错,。要想高效合理的利用机房,不仅解决 管理制度上的问题,而且还要需要解决技术上的问题。随着上机人数 越来越多,传统的机房管理方式越来越难以胜任,机房管理员工作劳 动强度大而且容易出错。为此,有必要开发一套机房管理系统,

9、以提 高机房的管理效率,为学生能够更好的上机做好准备。1.2选题的意义目前,在大多数学校里,公用的计算机房的主要作用是安排学生 的课堂学习和业余上机,但是开放机房存在许多的问题。建立一套完 备的机房管理体制,利用现代计算机和数据库开发技术来代替人工处 理机房工作是很必要的。这样可以减轻机房管理员的劳动强度,提高 工作质量和效率,提高机房的利用率和机房管理水平,保证机房管理 的稳定性和机房的良性运作,确保学生正常上机,提高机房的工作效 率,使机房的利用率达到最大化,基于对这些情况的仔细调查、分析, 决定开发一个小型的机房管理系统。1.3系统简介该系统在原有的机房管理系统上做了有益的改进,实现尽量

10、考虑 系统的可操作行,系统设计的合理性,使业务流程最短,界面友好。系统是根据系统业务流程设计的。新系统的使用将有以下几个方 面的优势,该系统包括帐户管理模块、计费设置模块,系统设置模块、 以及远程监管模块等模块。其中帐户管理模块是整个机房管理系统的 基础。为了能够使机房的管理工作有条不紊,实现计算机化、系统化、 规范化操作,必须建立一个良好的机房管理系统。2机房管理系统分析机房管理系统采用了结构化生命周期法,结构化生命周期法是最 常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数 据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分 析阶段是最基础、也是最容易被忽视的环节。2

11、.1资料收集在整个系统分析阶段,经过实际考察和认真查看阅大量关于机房 管理方面的书籍,收集到了相应的帐户记录、收费标准等资料,这些 资料均可作为数据库设计的依据,大体如表2.1所示.;表2.1数据库分析序号提纲1上下机需要通过什么唯一标识进仃记录?2上下机需要获得那些信息?3上下机的时间如何进仃统计?4日均处理上机大约有多少?5帐户记录要列出那些必要的信息?6充值记录需要列出那些必要的信息?7充值记录中的机时如何计算?8日均处理充值记录大约有多少?9收费标准中都需要那些内容?2.2可行性分析系统开发将要用到windows下的socket编程、用Visual C+ 6.0 访问数据库、读卡器的使

12、用等。另外,硬件只需要一台电脑,装上软 件vc6.0开发工具,利用Access 2003作为后台的数据库,所以在这 方面来说是可行的。已经掌握了开发管理信息系统方法和开发工具, 并且在调查过程中,已经了解和熟悉了机房管理系统的业务流程。综 上所述本系统开发从技术上是可行的。从经济效益来分析,软件的开发成本不大,而其它的投入也只是 电脑。电脑的普及也带来了低成本投入。由于系统运行的基础环境均 已具备,无需重新开发建设,所以系统开发、运行所需的费用是比较 低的。而系统的效益很高可以提高管理效率实现计算机化、系统化、 规范化操作,效率大于投入,可行性很高。系统不受社会干涉,不存在任何侵犯,防碍等责任

13、问题。系统的 设计可降低工作人员的工作强度,提高了工作效率,节省了人力和物 力资源。综上所述,从系统技术可行性,经济可行性,社会可行性分析, 该系统是值得开发的。2.3需求分析用户需求分析是整个设计制作的起点,它是在用户需求调研的基 础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定 系统的总体结构方案过程中,需要确定应用程序的结构、系统开发环 境、系统测试环境和运行环境以及系统的功能模块。在用户需求调研 结束之后,应立即进行用户需求分析。需求分析的结果反映了用户的 实际需要,它将影响到设计的合理性和实用性。2.3.1功能需求机房管理系统服务器需要的功能分析如下:(1)添加用户、删除

14、用户、修改用户信息、查找用户、以及为用 户充值。(2)设置系统为上课模式或课余上机模式,调整最小计费时段和 每时段计费金额。(3)配置服务器程序本身的参数,如端口、IP地址、数据库位 置、读卡器参数等。(4)对学生机远程操作,如远程重启、远程关机、远程截屏等。2.3.2学生上机流程(刷卡JF登录上机下机图2.1学生上机流程图3机房管理系统设计3.1总体设计3.1.1系统日标设计系统开发的总体任务是实现机房管理的系统化、规范化和自动化, 从而达到提高机房管理效率的日的。3.1.2开发设计思想机房管理系统的特点是信息处理量比较大,各个环节要求连接性 能强,而且人员任务落实到个人。机房管理系统主要是

15、为了方便机房 的管理工作,减少人员、材料等的耗费,提高机房的管理质量。在设 计中,要求删除不必要的管理冗余,实现管理规范化、科学化、程序 代码标准化、软件统一化,确保软件的可维护性和实用性,做到界面 尽量简单化,做到实用、方便。3.1.3系统功能设计通过分析确定机房管理系统将包含以下几个主要功能模块,即帐 户管理模块、计费模块、系统设置模块以及远程监管模块。(1)帐户管理模块可以添加用户、删除用户、修改用户信息、查 找用户以及为用户充值。(2)计费模块可以设置系统为上课模式或课余上机模式,调整最 小计费时段和每时段计费金额,准确高效的记录学生上机费用。(3)系统设置模块用于配置服务器程序本身的

16、参数,如端口、IP 地址、数据库位置、读卡器参数等。(4)远程监管模块用于对学生机远程操作,如远程重启、远程关 机、远程截屏等。(5)读卡功能模块用于读取上机卡中的信息。3.2详细设计3.2.1系统功能模块设计在系统功能分析的基础上,考虑Visual C+ 6.0和Access的特点,设计出如图3.1所示的系统功能模块图。动读卡器网络数据库添加编辑删除查询充值远程截屏远程重启远程关机读卡计费图3.1系统功能模块主界面功能机房管理系统主界面的功能是负责调用其他功能。由于系统精悍, 功能不多,因此采用比较简单的菜单方式,并配以相应的工具栏以便于操作。在主界面的工具栏上放置“远程监管”、“计费设置”

17、、“系统设 置”、“帐户管理”等按钮,它们是按照使用频率的高低来排列的。帐户管理模块功能“帐户管理模块”用于提供对用户的各种信息的操作,包括卡号, 姓名,学号,班级,预存费用等信息。它主要是为了实现用户信息的 添加、编辑、删除、充值和查询等功能。(如图3.2所示)。图3.2卡号管理模块添加用户信息是用来录入一个新的帐户,增加一个新的人员信 息、;编辑用户信息是用来修改除学号以外的任何人员信息,同时可 以实现对不必须填写的信息的删除;删除用户信息是用来删除一个已有的用户信息,在点击删除该 条卡号信息时会出现是否确定删除此条卡号信息,确定后该卡号信息 会从数据库中删除;充值功能是用来实现给用户充值

18、的,填写了要充值的金额后点 击充值就会在数据库中加上相应的金额;查询采用单一的学号查询,只需要点击查询按钮即可,且双击 Grid表格就会将信息填入相应的编辑框中。计费功能“计费设置”用于设置计费方式、最小计费时段以及每时段计费 金额,包含以下模块(如图计费设涂)。图3.3计费设置模时段设置用来修改上机计费的最小时段,默认为十分钟;费率设置用来设置每时段的计费金额,默认为每十分钟0.5元;上课模式为学校正常的上课用机,不会收费;课余模式为课余时间学生自由上机,价格由前两个功能中设定。系统设置功能“系统设置”使修改软件运行的参数而制作的,以便服务器修改 了以后仍然能良好的运行。图3.4系统设置模块

19、远程监管模块“远程监管模块”主要是用来对学生机远程操作,如远程关机,远程开机,远程截屏。3.5远程监管模块3.2.2数据库设计Microsoft Access 2003是美国Microsoft公司推出的微机数据 库系统,据说在美国市场上Access数据库平台已占桌面数据库系统 一半以上的分额。它具有界面友好、易学易用、开发简单、接口灵活 等特点,是基于Windows 2000环境下的新一代关系型数据库管理系 统,被誉为日前最易操作的数据库工具。本次设计机房管理系统软件采用Access 2003设计数据库(如表:3.2.1所示)。表:3.1数据库表的结构序号字段名类型长度小数键值空值默认值1学号

20、文本20PkNot2密码文本2003卡号文本804姓名文本10无5班级文本40无6金额货币4207状态数字104机房管理系统实施4.1开发工具的选择本系统的前端开发工具,选择了 Visual C+ 6.0,后台数据库采用 Access 2003。4.1.1 Visual C+ 6.0 简介微软公司生产的工具Visual C+ 6.0是一种强大的可视化编程环 境,一种高效、快捷的Windows应用程序开发工具。并且微软公司 提供了 MFC类库,该类库已经成为业界事实上的标准,一般性工作 可以全部交给VC来完成,用户只需要在MFC提供的基类上,继承、 添加自己想要实现的功能即可。VC支持访问多种数

21、据库,包括微软 公司的SQL数据库,Oracle公司的Oracle数据库,IBM公司的DB2 数据库,Sybase公司的ASE数据库以及一些其他的数据库,如 Microsoft公司的桌面型数据库Access等。并具有丰富的人机界面, 并能生成高效的机器代码的可执行文件,通过设计任务的需求分析, 采用VISUAL C+ 6.0开发工具是理想的选择。Visual C+ 6.0 的功能特点Visual C+6.0使用的语言是c+,简单、高效,功能强大,代码 结构清晰,可读性好,由于Visual C+6.0是微软公司出品的,所以 能够和windows系统紧密结合。MFC是微软推出的一个类库,程序开发人

22、员按照c+类的层次形 式组织在一起,几个高层类提供一般功能,而底层类实现更具体的行 为。基于以上这些因素,选择C+程序语言,以及Microsoft公司的 Visual C+6.0集成开发环境(IDE)来作为开发工具。Access 2003数据库简介作为Microsoft的office套件产品之一,Access已经成为世界上最 流行的桌面数据库系统。它是一个功能强大而且使用方便的数据库管 理系统,它为中小型数据库提供了良好的创建环境,并且Access与 许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且 还对其他的数据库系统有所补充。同时,Access完全支持Microsoft 的OL

23、E技术。Access还提供 Windows操作系统的高级应用程序开发系统。Access数据库与其它数据库开发系统之间相当显著的区别就是:不 用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当 专业的数据库应用程序,并且这一过程是完全可视的!4.2系统实现4.2.1读卡器功能的实现功能说明用户每次上机必需刷卡,刷卡后该卡被激活,用户可以用相应的 账号上机,下机时刷卡即可结帐。设计思路系统使用CR500L型射频卡,COM 口 1,波特率为19200。类 CcardReader封装了有关读卡器的操作,在其成员函数InitCardReader ()中,用api函数LoadLibrary()装

24、载厂商提供的动态链接库 MasterRD.dll,然后调用厂商提供的函数rf_init_com(1,19200);将 串口号初始化为1,波特率为19200。为了在使用读卡器的同时不影响用户界面的使用,所以使用了多 线程技术,在 CCardReader的成员函数 SearchCard()中调用 CreateThread(NULL,0,MyControllingFunction,NULL,0,NULL) 新开了一个线程,MyControllingFunction为该线程的回调函数,在 MyControllingFunction 函数中先用 rf_request(icdev,mode,&TagTyp

25、e) 搜寻所有的卡,如果没有刷卡则该线程休眠1000毫秒,接下来调用 函数rf_anticoll(icdev, bcnt, Snr, &len)返回卡的序列号,再调用 rf_select(icdev,Snr,len,&Size)锁定该卡。最后用函数SendMessage(hwnd, MY_MSG_CARD, Param, LParam);将刷 卡的消息发给应用程序主窗口。关键代码如下:BOOL CCardReader:SearchCard()(HANDLE hHandle = :CreateThread(NULL ,0 ,MyControllingFunction, NULL, 0, NULL

26、);CloseHandle(hHandle);return TRUE;DWORD WINAPI MyControllingFunction( LPVOID pParam )读卡器回调函数(WORD icdev = 0 x0000;unsigned char mode = 0 x52;int status;unsigned short TagType;unsigned char bcnt = 0 x04;/mifare 卡都用 4unsigned char SnrMAX_RF_BUFFER;unsigned char len;unsigned char Size;while (1)(status

27、 = rf_request(icdev, mode, &TagType);/ 搜 寻 所有的卡if(status)(Sleep(1000);continue;status = rf_anticoll(icdev, bcnt, Snr, &len) ; /返回卡的序列号if(status | len != 4)(Sleep(1000);continue;status = rf_select(icdev, Snr, len, &Size) ; /锁定一张ISO14443-3 TYPE_A 卡if(status)(Sleep(1000);continue;WORD Param =Snr1;Param

28、 =(Param 8) +Snr0;WORD LParam;LParam =Snr3;LParam =(LParam GetMainWnd()-m_hWnd;:SendMessage(hwnd ,MY_MSG_CARD , Param ,LParam);return 0;4.2.2窗体实现主窗体界面如图4.1所示:图4.1主窗体界面功能说明主界面它由五个菜单构成,用户可以使用这些菜单中的功能菜单 项完成各种操作。视图分为左右俩个,右视图为报表风格,用户可以 右击某项来弹出远程监管的菜单。设计思路为了充分的定制应用程序,本系统没有使用文档/视图结构。而是 使用了非文档/视图模式的单文档应用程序框

29、架。充分利用客户区的 空间,采用了分割窗体的方法,在左边的视图中显示日期等提示信息, 在右边的视图中显示学生机的情况。具体实现如下:在 CmainFrame 类中添加成员 CStatusBar m_ m_wndSplitter,在 OnCreateClient()函数中先创建分割线 m_wndSplitter 。CreateStatic(this, 1, 2);然后创建左右两个视图m_wndSplitter。CreateView(0,0,RUNTIME_CLASS(CMyview1), CSize(140, 0), pContext);m_wndSplitter。CreateView(0,1,

30、RUNTIME_CLASS(CMyListView), CSize(0, 0), pContext);然后删除系统生成的CChildView的所有相关代码。最后在OnSetFocus函数中填写m_wndSplitter。GetPane(0, 1)-SetFocus()使右视图获得焦点。在OnCmdMsg函数中填写使右如下代码,使视图首先收到命令消 息。if (m_wndSplitter。GetPane(0,1)-OnCmdMsg(nID, nCode,pExtra, pHandlerInfo)return TRUE;4.2.3网络实现功能说明用来同学生机收发数据,要求能够高效安全同数十台学生机

31、收发 数据。机房管理系统的服务器常常要在短时间内响应数十台学生机的 请求,所以常常会发生收发数据的函数不能及时返回,这时用户界面 会暂时停止响应,会误让用户认为程序出了故障,或失去等待的耐心。设计思路Windows socket由dll形式提供,需要在代表应用程序的类中的 InitInstance ()函数中用WSAStartup ()函数为调用网络函数做初始 化工作,协商版本号为2.2。wVersionRequested = MAKEWORD( 2, 2 );WSAStartup( wVersionRequested, &wsaData );在自定义类CNetSer中封装了各种网络函数,首先

32、定义套接字m_sock = WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,0);然后绑定端口,bind(m_sock,(SOCKADDR*)&addrSock,sizeof(SOCKADDR)接着再用异步选择函数WSAAsyncSelect(m_sock,m_hWnd,UM_SOCK_R,FD_READ) 来实现非阻塞通信。接下来在类CnetSer的成员函数SendCmd()中调用WSASendTo(m_sock, &wsabuf, 1, &dwSend, 0, &addrTo, sizeof(SOCKADDR),NULL,NULL)来向学生机发送各种命令。在成员

33、函数RecvCmdNum()中调用 WSARecvFrom()来实现接收学生机发来的各种请求,并简单分析后 发给CmyListView视图做进一步处理。4.2.4计费功能的实现功能说明当学生刷卡后,系统会将持有该卡的学生的信息从数据库中检索 出来,并存放到链表CinfoLink当中,当学生在学生机登录成功后, 则开始计费。如果每分钟计费一次,则需要每分钟都读写硬盘,效率 十分低下。所以采用了每隔一小段时间(默认十分钟)减一次金额的 方法。在学生成功登录后会先减去十分钟的上机费用,此后每隔十分 钟后会再次减去十分钟的上机费用。这样既保证了上机费用准确记录 问题,也解决了频繁读写硬盘的问题。设计思

34、路首先调用SetTimer(1,1000,NULL)函数设置一个计时器,然 后为右视图添加OnTimer消息相应函数来相应每分钟一次的 WM_TIMER消息,在每次调用OnTimer中遍历CInfoLink链表,对其 中计费标志为真的结点进行计费操作,如果某结点的小段时间已经用 完,则从数据库中读取出其现有的金额,如果金额小于一小段上机时 间的金额,则通知该学生机金额用完,并且结束该机使用,否则减去 一小段时间的上机费用。这样就解决了计费安全与效率的问题。4.2.5系统设置模块的实现系统配置界面如图4.2所示图4.2系统配置界面功能说明该窗口用来对系统的数据库位置、网络的参数以及读卡器等各项

35、参数进行配置;设计思路系统的数据库位置、网络的参数以及读卡器等各项参数保存在 configure.ini 文件中,用 API 函数 WritePrivateProfileString()和 GetPrivateProfileString()从系统的配置文件 configureo ini 中读写 本机的ip地址和程序使用的端口号、子网掩码、读卡器使用的com 口、读卡器的波特率和数据库文件的地址,代码如下:CString szBuf;GetDlgItemText(IDC_IPADDR_NETNUM szBuf);WritePrivateProfileString(NET , NetNum , s

36、zBuf ,.configure. ini);GetDlgItemText(IDC_IPADDR_SUBMARK szBuf);WritePrivateProfileString(NET” , SubMark , szBuf ,.configure. ini);GetDlgItemText(IDC_EDIT_RECVPORT, szBuf);WritePrivateProfileString(NET , RecvPort , szBuf , .configure. ini);/GetDlgItemText(IDC_EDIT_SENDPORT, szBuf);szBufo Format(%d,

37、GetDlgItemInt(IDC_EDIT_SENDPORT); WritePrivateProfileString(NET” , SendPort , szBuf ,.configure. ini);GetDlgItemText(IDC_EDIT_COM, szBuf);WritePrivateProfileString(CARD , Port , szBuf ,.configure. ini);GetDlgItemText(IDC_EDIT_BAUD, szBuf);WritePrivateProfileString(CARD , Baud , szBuf ,.configure. in

38、i);GetDlgItemText(IDC_EDIT_DB_PATH szBuf);if(szBufo GetLength()(szBuf+=;WritePrivateProfileString(DATABASE Baud szBuf.configure.ini);4.2.6计费模块的实现设置计费界面如图4.3所示图4.3设置计费界面功能说明可以调整最小计费时段和每时段计费金额。同时还可以调整是否 为计费状态。设计思路用 API 函 数 WritePrivateProfileString () 和 GetPrivateProfileString()从系统的配置文件 configure。ini

39、中读写上机计费的最小时段,默认为十分钟,以及每时段的计费金额, 默认为每十分钟0.5元。当用户刷卡后,读卡线程会将卡号发送到主窗口,在交给右视图 处理。首先从在卡号链表中检索该卡,若有则表示注销该卡,否则为 激活该卡,从数据库中检索出该卡的各种信息,然后判断该卡是否为 挂失卡,若是则显示提示信息并返回。否则将该卡及其各种信息加入 卡号链表中。关键代码如下:char szBuf20; int iMin = GetDlgItemInt(IDC_EDIT_MINS);DWORD marks =0 ;if(iMin != m_iMims)marks|二UDMinMinutes;m_iMims = iM

40、in;/itoa(iMin, szBuf, 20);sprintf(szBuf, %3d, iMin);WritePrivateProfileString(COUNT, MinMinutes, szBuf, .configure.ini);GetDlgItemText(IDC_EDIT_MONEY, szBuf, 20);float fMoney = (float)atof(szBuf);float ftemp = (float)fabs(fMoney-m_fMoney);if(ftempGetCheck();CMainFrame *pWnd = (CMainFrame *)AfxGetApp

41、()-GetMainWnd();HWND hWnd= pWnd-GetViewhandle(0, 1);if(iChk = 1)(/设为计费状态:SendMessage(hWnd, UM_UPDATESET, marks, UDCOUNT);else(/不计费状态:SendMessage(hWnd,UM_UPDATESET, marks,UDUNCOUNT);4.2.7帐户管理的块的实现会员管理界面如图4.4所示:图4.4会员管理界面功能说明用来对会员的信息进行添加、删除、查询、修改和充值。设计思路添加:用_RecordsetPtr对象的AddNew()函数在数据库的table表 中插入一新行

42、,然后用GetDlgltem()函数将对话框中的内容取出, 然后调用_RecordsetPtr对象的PutC写入该行的相应字段中。查询:用_RecordsetPtr对象的Open()函数的source参数中 SELECT * FROM table1 where学号=%s则从数据库中搜索出了相 应的记录,然后显示到ListCtrl中。删除:用_RecordsetPtr对象的Delete()函数删除相应的记录。更改:用_RecordsetPtr对象的PutCollect()函数修改相应的记录。充值:用_RecordsetPtr对象的GetCollect()函数读出相应的记录 的money字段的值,

43、然后输入的money值同其相加,然后用GetCollect()在写回数据库中。关键代码如下:CString strArr7;CMyListView *pWnd = (CMyListView *) (CMainFrame*)(AfxGetApp()-GetMainWnd()-GetViewPtr(0, 1);CString strNum;GetDlgItemText(IDC_EDIT_NUM, strNum);if(!strNum。GetLength()(MessageBox(请输入要查询的学号); return ;/学号,卡号,密码,姓名,班级,金额,状态GetDlgItemText(IDC_

44、EDIT_CARD,strArr1);GetDlgItemText(IDC_EDIT_PWD,strArr2);GetDlgItemText(IDC_EDIT_NAME,strArr3);GetDlgItemText(IDC_EDIT_CLASS, strArr4);GetDlgItemText(IDC_EDIT_MONEY,strArr5);GetDlgItemText(IDC_EDIT_STATUS strArr6); pWnd-m_db.Modify(strNum,strArr);4.2.8远程监管模块的实现远程监管界面如图4.5所示:图4.5远程监管界面功能说明右击右视图的报表,会弹出

45、远程控制的菜单,远程重启和远程关 机用来对选中的学生机进行重启和关机操作,远程截屏用来对选中的 学生机截屏,截获的屏幕图像存放在本程序的当前工作日录下。设计思路用 ListCtrl 的 GetFirstSelectedItemPosition()和 GetNextSelectedItem()分析出用户所选择的学生机,然后用send()函数将重启、关 机命令发给学生机,学生机会做出相应的处理。用send()将远程截图的命令发给学生机,学生机会将其截获的 图像发回给服务器,然后服务器用recv()函数将收到的图像保存到 当前工作日录下。关键代码如下:in_addr in;in。S_un。S_add

46、r = (unsigned) lpParam;CString strip = inet_ntoa(in);unsigned port = :GetPrivateProfileInt(NET,RecvPort,8002, .configure. ini);AfxSocketInit(NULL);CSocket sockClient;sockClient o Create(); for(int i=0 ; i5 ; i+)(int r ;r= sockClient。Connect(strip, port);if(r=0)(r = GetLastError();Sleep(1000);elsebreak;if(i=5)(sockClientoClose();re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论