版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
05计专同学管理系统简略设计说明书系统规划说明书在此次大作业之间,我们班级并没有一套完善的同学管理系统。始终以来,班级管理工作主要是简洁的WORD文档的使用和ACESS数据库的应用。其操作方法简洁但功能很不完善,简明性和有用性都较差。因此,我们第四小组决定利用此次大作业的机会,开发一套专门用于班级管理工作的数据库系统。经过仔细讨论分析,我们决定将系统分为三大菜单部分。分别为同学人事档案管理,同学成果查询,后台操作管理三部分.为了便于指导员和学校领导对班级情况的了解管理,其中主要侧重点在同学人事档案管理方面。在同学人事档案管理又分为同学人事维护打印和查询打印两个分支。同学成果菜单具有查询打印功能。系统管理分为操作员管理,密码管理,数据备份等部分。三大菜单部分紧密结合联系,共分为两个数据库,第一个数据库包括同学管理维护表和成果查询表,其次个数据库包括系统管理表。如下图所示(图1)(图1)系统说明书05计专同学管理系统基于FOXPRO6。0中文版开发。FOXPRO在数据库开发方面具有方面,有用,简洁,直接等优点。同时其也具有肯定的局限性。本系统主要面对班级指导员和班级同学开发使用,因此主要侧重于系统的使用性和便利性。同时在平安性方面,我们也十分重视.格外是操作员级别的划分等密码管理,http://www.5800.cc我们都做了仔细的分析讨论。(一)、系统界面的设计,我们主要是本着有用简便的原则设计制作。在系统界面被打开时,会播放一段欢迎曲,界面包括本系统的系统名称,设计人员和所在小组。下面是系统的首界面(图2):(图2)系统界面中有登陆系统按钮,系统使用人员可以点击进入密码验证页,如果在一分钟内用户没有点击此按钮,系统会自动跳到密码验证页。此程序的实现代码会在简略设计书中说明。(二)、密码验证作为系统最基本的平安管理步骤.用户如果不输入合法的用户名和密码,系统是不能进入的。当用户输入合法的用户名和密码时,系统管理会自动推断此用户是什么级别的用户,具有什么权限,使用户的操作具有合法性。密码验证页包括操作员姓名和密码两个部分。简略的代码实现也将在简略设计书说明。下面是密码登陆页的图示(图3):
(图3)当操作员的名称和密码均正确的时候,系统便会进入系统使用主菜单.主菜单共分为三个分菜单项:同学信息管理,同学成果管理,系统管理.如图(4)在同学信息管理中分为同学信息维护和同学信息查询两个菜单项,在同学成果管理中含有同学成果查询打印菜单项,http://v。11584。com在系统管理中分为:操作员管理、口令设置、权限管理、系统日志、数据备份、数据恢复、退出系统七项。下面为本系统的使用数据流程图:简略设计说明书依据系统规划和需要分析,把系统划分为同学信息管理,同学成果查询,系统管理三个模块。本系统用到的主要有以下文件:主控程序main.prg、启动界面(封面)face.scx、系统登录界面(口令验证窗口)pass。scx、,主菜单main_menu.mpr.程序的调用关系如下:主控程序main.prg中调用界面表单face.scx,封面中调用“口令验证窗口”表单pass.scx,口令正确则调用系统菜单main_menu.mpr。各菜单项调用相对应的表单。(一)、主控程序main.prg的代码实现为:CLEAR&&清屏CLEARALL&&从内存中释放全部的内存变量CLOSEALL&&关闭各种类型的文件SETESCAPEOFF&&禁止运行的程序和命令在按Esc键后被中断SETSAFETYOFF&&指定在改写已有文件时不显示对话框SETDELETEON&&使用范围子句处理记录的命令忽视标有删除标记的记录SETSYSMENUOFF&&在程序执行期间废止VisualFoxPro主菜单栏RELEASEWINDOW"常用”&&关闭常用工具栏SETCENTURYON&&年份以四位显示SETDATETOymd&&日期格式为年、月、日SETMARKTO”-"&&指定日期分隔字符SETHOURSTO24&&指定为24-小时时间格式_SCREEN.Visible=.t._SCREEN.Caption="05计专同学管理系统"&&系统窗口标题_SCREEN.Icon=".\dod。ico"&&系统标题栏图标*推断显示器当前分辨率_SCREEN.Width=SYSMETRIC(1)_SCREEN.Height=SYSMETRIC(2)*依据分辨率不同,http://www。5800。cc为系统设置不同的背景图片IFSYSMETRIC(1)>=1024_SCREEN。Picture="。\img\bj.jpg”ELSE_SCREEN.Picture=”。\img\bj。jpg"ENDIFDOFORM.\face.scx&&调用登录界面表单OnShutDowndoOnShutdown&&退出系统时调用函数onshutdown()READEVENTS&&建立大事循环OnShutDown&&释放当前的OnShutDown命令*按菜单的“关闭"按钮退出时,消灭的提示框FUNCTIONOnShutdown()sel=MESSAGEBOX("真的要退出吗?”,4+32+256,”提示")IFsel=6*SELECT0*USE.\dbsystem\LOG*GOBOTTOM*REPLACE离开时间WITHDATETIME()&&退出系统时记录操作员退出时间CLOSEALLCLEAREVENTS&&退出大事循环QUIT&&结束当前VisualFoxPro工作期,并将掌握权返回给操作系统ENDIFENDFUNC(二)、在运行主程序后,系统调用登陆界面表单(图4)主要大事代码:FORM1的INIT大事代码:SETBELLONSETBELLTO'.\MUSIC\welcome。wav',2??CHR(7)FORM1的UNLOAD大事代码:SETBELLTO'\MUSIC\SILENT.WAV',2??CHR(7)此两项功能分别为在打开表单时调用的音乐文件和关闭表单时调用的音乐文件。Command1的mouseup大事代码:LPARAMETERSnButton,nShift,nXCoord,nYCoordreleasethisformhttp://www.5800。cc。DOFORM.\main\pass.scxTimer1的timer大事代码:releasethisformDOFORM。\main\pass。scxTimer2的timer大事代码:为了实现五角星的闪动:IFTHISFORM.label5。visiblethisform.label5.visible=.f.elsethisform.label5。visible=.t。endifTimer3的timer大事代码:为了实现五角星的闪动:IFTHISFORM。label5.visiblethisform.label5.visible=.t.elsethisform。label5。visible=.t.endifTimer4的timer大事代码:http://www.5800.cc。为了实现五角星的闪动:IFTHISFORM.label5.visiblethisform.label5。visible=。telsethisform。label5.visible=.t.endif同时在每个五角星的颜色也做了设置。(三)系统登陆表单设计界面用户在文本框输入操作员及口令,若正确则调用系统主界面(菜单)。允许输入三次,若三次均不正确刚自动退出系统。若用户输入的操作员姓名及口令正确,要完成下列工作:设置一个全局变量operat,用于记录登陆系统的操作员姓名,系统中有3个地方要用到操作员的姓名和代号:一是进入主界面后在标题栏显示的操作员姓名;二是操作员在系统管理模块的口令设置中更改自己的口令,系统要知道是哪个操作员;三是退出系统时系统日志中要记录操作员的退出时间。在系统日志表log.dbf中增加一条记录,并同时记录此操作员的登录系统的时间。从权限表menuright。dbf中读出此操作员对应各菜单项的权限,并赋值给数组。调用菜单文件,显示系统主界面。大事代码:Form1的init大事代码:SETEXACTON&&精确比较PUBLICARRAYrr[18]&&数组用于实现菜单项权限PUBLICi&&i用于记录用户名及口令输入次数PUBLICoperat&&operat用于保存操作员姓名i=0THISFORM.Text1.Setfocus“确定”按钮(COMMAND1)CLICK大事代码:*推断密码是否正确i=i+1SELECToperatorLOCATEFOR操作员姓名=ALLTRIM(THISFORM。Text1.Value)DOCASECASEi〈=3ANDFOUND()ANDTHISFORM.Text2.Value=operator。口令&&输入次数未超过3次且用户名正确、口令正确operat=THISFORM。Text1.ValueINSERTINTOlog(操作员代号,操作员姓名,登录时间)VALUES(operator。操作员代号,operator。操作员姓名,DATETIME())_SCREEN。Caption="05计专同学管理系统"+SPACE(40)+DTOC(DATE())+SPACE(40)+"操作员:”+operatSELECT权限FROMmenurightINTOARRAYrrWHERE操作员代号=operator.操作员代号ORDERBY菜单项编号RELEASETHISFORMDO.\main\main_menu.mprCASEi<=3ANDFOUND()ANDTHISFORM。Text2。Value!=operator.口令&&输入次数未超过3次且用户名正确、口令不正确MESSAGEBOX("密码错误,请重输!”,"警告")THISFORM.Text2。Value=""THISFORM。Text2。SetfocusCASEi<=3ANDNOTFOUND()&&输入次数未超过3次且用户名不正确MESSAGEBOX("操作员姓名错误,请重输!","警告")THISFORM.Text1.Value=”"THISFORM.Text2.Value=”"THISFORM。Text1。SetfocusCASEi>3&&输入次数超过3次MESSAGEBOX(”禁止进入系统!","警告”)THISFORM.ReleaseENDCASE退出按钮(COMMAND2)CLICK大事代码:RELEASETHISFORMCLEAREVENTS(四)系统菜单设计http://www.5800.cc。同学信息管理系统的菜单在应用系统中,各个了模块是通过菜单组织在一起的。通过对人事工资管理系统功能模块的设计,可以交系统划分为3大模块:同学信息管理、同学成果查询、系统管理,简略的菜单设计见下表:同学信息管理同学成果管理系统管理同学信息维护同学成果查询操作员管理口令设置同学信息查询权限管理系统日志数据备份数据恢复退出系统在菜单设计器中实现权限设置在菜单项设计器中,通过[提示选项]对话框设置菜单项的跳过条件可以实现用户权限。每个操作员对每个菜单项有两种权限:0或1.“0"表示此操作员对该菜单项没有操作权,系统运行后,该菜单项为灰色。不能打开对应的表单,“1”代表该操作员对该菜单项具有操作权,系统运行后,该菜单项可用,鼠标单击菜单项能打开对应的表单.操作员对各菜单项的权限保存在表文件menuright.dbf中,在登录系统时读出该操作员对应各菜单项的权限,并赋值给一个数组RR。本系统共10个菜单项,所以定义的数组也包含10个元素。同学信息维护表单包换下列功能:数据录入、修改、删除、查询、扫瞄、保存、打印等。本表单左边是扫瞄窗口,便于用户扫瞄数据;右边是编辑窗口,主要用于输入修改数据.在表单数据环境中添加表:rsb.dbf、cjb、dbf。同学人事表和成果表的结构请打开数据库表查看。在表单数据环境的BRFOREOPENTABLES大事中添加代码:this。cursor1.exclusive=.t。大事代码:FORM1的INIT大事代码:THISFORM.COMMANDGROUP1.CMDTOP.ENABLED=。F。THISFORM.COMMANDGROUP1.CMDPREV。ENABLED=。F。THISFORM.COMMANDGROUP1.CMDNEXT.ENABLED=。T.THISFORM。COMMANDGROUP1.CMDBOTTOM.ENABLED=.T.THISFORM.COMMANDGROUP1。CMDADD.ENABLED=.T。THISFORM.COMMANDGROUP1。CMDEDIT.ENABLED=.T.THISFORM。COMMANDGROUP1。CMDDELETE.ENABLED=.T.THISFORM.COMMANDGROUP1。CMDFIND.ENABLED=.T.THISFORM。COMMANDGROUP1.CMDPRINT。ENABLED=.T.THISFORM。COMMANDGROUP1.CMDEXIT.ENABLED=。T.THISFORM.TEXT1.READONLY=.T.THISFORM。TEXT2。READONLY=.T。THISFORM。OPTIONGROUP1.ENABLED=.F.THISFORM。TEXT3。READONLY=.T.THISFORM.TEXT4.READONLY=。T。THISFORM.TEXT5。READONLY=。T。THISFORM。TEXT6.READONLY=.T。THISFORM.CHECK1.READONLY=.T.THISFORM.EDIT1.READONLY=。T.THISFORM.GRID1.READONLY=.T.THISFORM.COMMAND1。visible=.T。THISFORM.LABEL11。visible=。F.THISFORM。TEXT7。visible=.F.FORM1的CLICK大事代码:THISFORM。LABEL11.visible=.F.THISFORM.TEXT7。visible=.F.GRID1的afterrowclochange大事代码:LPARAMETERSnColIndexthis.setall(”dynamicbackcolor”,"IIF(This。activerow<>recno(),rgb(255,255,255),rgb(0,255,0))","column”)http://HYPERLINK”http://www.11584。com"v.11584。comselectrsbthisform.refresh此代码实现不现颜色显示选中的GRID对象的行及列。“第一个“按钮的CLICK大事代码:HYPERLINK"http://www.11584.com”www.11584。comselectrsbgotopthisform.commandgroup1.cmdtop.enabled=。f.thisform。commandgroup1.cmdprev.enabled=.f.ifnoteof()thisform。commandgroup1.cmdnext.enabled=.t.thisform.commandgroup1.cmdbottom.enabled=。t.endifthisform.refresh“前一个“按钮的CLICK大事代码:selectrsbskip—1ifbof()gotopthisform.commandgroup1.cmdtop.enabled=.f。thisform.commandgroup1.cmdprev.enabled=.f.endififnoteof()thisform.commandgroup1.cmdnext.enabled=.t.thisform.commandgroup1。cmdbottom.enabled=.t.endifthisform。refresh“下一个“按钮的CLICK大事代码:selectrsbskipifeof()gobottomthisform.commandgroup1.cmdnext.enabled=.f.thisform.commandgroup1.cmdbottom.enabled=.f。endififnotbof()thisform.commandgroup1.cmdtop。enabled=.t.thismandgroup1.cmdprev.enabled=.t.endifthisform。refresh“最后一个“按钮的CLICK大事代码:selectrsbgobottomthisform.commandgroup1。cmdnext.enabled=。f。thmandgroup1.cmdbottom。enabled=。f。ifnotbof()thisform.commandgroup1.cmdtop。enabled=。t.thisform.commandgroup1.cmdprev.enabled=.t。endifthisform.refresh“增加“按钮的CLICK大事代码:ifthis.caption="增加”this。caption="保存"THISFORM.COMMANDGROUP1。CMDTOP.ENABLED=。F.THISFORM.COMMANDGROUP1。CMDPREV。ENABLED=。F.THISFORM.COMMANDGROUP1.CMDNEXT.ENABLED=。F.THISFORM。COMMANDGROUP1。CMDBOTTOM。ENABLED=。F.THISFORM.COMMANDGROUP1。CMDADD.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDEDIT.ENABLED=.F。THISFORM。COMMANDGROUP1.CMDDELETE。ENABLED=.F.THISFORM.COMMANDGROUP1.CMDFIND.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDPRINT.ENABLED=。F.THISFORM.COMMANDGROUP1。CMDEXIT.ENABLED=.F.THISFORM。TEXT1.READONLY=。F.THISFORM.TEXT2。READONLY=.F.THISFORM。OPTIONGROUP1.ENABLED=.T.THISFORM.TEXT3。READONLY=.F.THISFORM.TEXT4.READONLY=.F。THISFORM。TEXT5.READONLY=.F。THISFORM.TEXT6。READONLY=。F。THISFORM.CHECK1。READONLY=.F。THISFORM.EDIT1.READONLY=.F.THISFORM.COMMAND1.VISIBLE=.F。SELECTRSBHYPERLINK”http://www.11584.com"www.11584.comAPPENDBLANKGOBOTTOMTHISFORM。TEXT1.SETFOCUS()THISFORM.REFRESHELSETHIS.CAPTION=”增加”THISFORM.COMMANDGROUP1.CMDTOP。ENABLED=.t.THISFORM.COMMANDGROUP1.CMDPREV.ENABLED=。t。THISFORM.COMMANDGROUP1.CMDNEXT.ENABLED=。t.THISFORM.COMMANDGROUP1.CMDBOTTOM.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDADD.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDEDIT。ENABLED=。t.THISFORM。COMMANDGROUP1。CMDDELETE.ENABLED=。t。THISFORM.COMMANDGROUP1。CMDFIND.ENABLED=。t.THISFORM.COMMANDGROUP1.CMDPRINT.ENABLED=。t.THISFORM。COMMANDGROUP1.CMDEXIT.ENABLED=.t。THISFORM。TEXT1.READONLY=。t。THISFORM.TEXT2.READONLY=。t.THISFORM.OPTIONGROUP1.ENABLED=.f.THISFORM.TEXT3.READONLY=。t.THISFORM.TEXT4。READONLY=.t。THISFORM.TEXT5。READONLY=。t.THISFORM。TEXT6.READONLY=.t.THISFORM.CHECK1。READONLY=。t.THISFORM.EDIT1。READONLY=。t。thisform。command1.visible=.t.endif“删除“按钮的CLICK大事代码:SELECTRSBXH=RSB.学号sel=messagebox("该记录学号为:"+XH+chr(13)+"真的要删除吗?",4+32+256,"提示”)ifsel=6deleteendif“查找“按钮的CLICK大事代码:thisform.label11.visible=.t.thisform。text7.visible=.t。thisform。text7.value=""thisform。text7。setfocus()“打印“按钮的CLICK大事代码:reportform.\menu1\rsb_bb1.frxpreviewforrsb.学号=alltrim(thisform.text1.value)“退出“按钮的CLICK大事代码:selectrsbpackthisform.release“TEXT7”的valid大事代码为:selectrsbsetfilterto学号=alltrim(thisform.text7。value)or同学姓名=alltrim(thisform.text7.value)locatefor学号=alltrim(thisform.text7。value)or同学姓名=alltrim(thisform.text7.value)thisform。refreshsetfilterto6、运行界面:(如图5)(图5)7、同学信息查询菜单的设计同学人事信息的查询是基于RSB.dbf表,菜单供应学号,姓名,全体查询。分别利用不同的命令代码方式实现查询打印功能.功能是便于指导员和老师,同学用户的检索查询。各大事的代码如下:FORM1的INIT大事代码:*输入编号、姓名提示标签及文本框THISFORM。Label2.Visible=.F.THISFORM。Text1。Visible=.F。THISFORM.Text1。Setfocus()*输入起始日期、截止日期提示标签及文本框不行见THISFORM。Label4.Visible=.F.THISFORM。Label5。Visible=.F。THISFORM。Text2。Visible=.F。THISFORM.Text3。Visible=.F.THISFORM。Command4.Visible=。F.*表格数据不行修改THISFORM.Grid1。Readonly=.T.Optiongroup1的CLICK大事代码:*选定查询类别后,设置各控件是否可见DOCASECASETHIS.Value=1&&按学号查询THISFORM.Label2。Visible=.T.THISFORM.Text1.Visible=.T。THISFORM.Label4.Visible=.F。THISFORM。Label5。Visible=.F。 THISFORM.Text2。Visible=.F.ﻩTHISFORM.Text3。Visible=.F。 THISFORM。Command4.Visible=.F。THISFORM。Label2.Caption="请输入要查询的学号:"THISFORM.Text1。Value=""THISFORM.Text1.SetfocusCASETHIS.Value=2&&按姓名查询THISFORM。Label2.Visible=。T.THISFORM.Text1.Visible=.T.THISFORM.Label4.Visible=.F. THISFORM.Label5。Visible=.F. THISFORM.Text2.Visible=.F.ﻩTHISFORM.Text3.Visible=。F。ﻩTHISFORM。Command4。Visible=.F.THISFORM.Label2。Caption=”请输入同学姓名:"THISFORM.Text1.Value=""THISFORM.Text1.Setfocus()CASETHIS。Value=3&&按诞生日期查询THISFORM.Label2。Visible=。F.THISFORM.Text1。Visible=.F.THISFORM.Label4.Visible=。T.THISFORM.Label5.Visible=。T。THISFORM.Text2。Visible=。T.THISFORM.Text3。Visible=.T。THISFORM.Command4.Visible=.T.THISFORM。Text2。SetfocusCASETHIS.Value=4&&显示全体记录THISFORM.Label2.Visible=.F.THISFORM。Text1。Visible=。F.THISFORM.Label4.Visible=.F. THISFORM。Label5.Visible=.F.ﻩTHISFORM.Text2.Visible=。F.ﻩTHISFORM。Text3。Visible=。F。ﻩTHISFORM.Command4.Visible=.F.SETFILTERTOGOTOPTHISFORM.Grid1.RefreshENDCASEGRID1的数据连接连接RSB表.一一对应该对应的数据项,COMMAND4(查询)的CLICK大事代码:*按输入的日期条件在表格中显示查询的记录SELECTrsbPUBLICqsrq,jzrqqsrq=THISFORM.Text2.Valuejzrq=THISFORM.Text3.ValueDOCASECASENOTEMPTY(qsrq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术转让及成果分享保证承诺书(8篇)
- 创意点子收集与项目策划工具
- 2026年法学专业模拟法庭实训报告
- 2026年外贸企业海外客户实地拜访行程规划
- 机械制图与CAD课件-学习情境2《投影基础》
- 心理健康 五年级下 第13课《当冲突发生时》
- 学校阳光体育冬季长跑方案
- 瓷砖泥工施工方案(3篇)
- 标准的活动策划方案(3篇)
- 创意易拉罐活动方案策划(3篇)
- (广东一模)2026年广东省高三高考模拟测试(一)英语试卷(含官方答案)
- NB/T 11757-2024低压统一电能质量调节器技术规范
- 食品安全管理制度
- 2026中国石化云南石油分公司加能站后备站长招聘150人易考易错模拟试题(共500题)试卷后附参考答案
- 业务跟单工作制度
- 2026年河南省公务员录用考试申论真题
- 人教版(2024)物理 八年级下册 第七章 力 章末练习(无答案)
- 城市供水系统维护与应急处理操作手册(标准版)
- 变配电室平面布置设计方案
- 保温工程绩效考核制度
- 电信网络故障处理操作手册
评论
0/150
提交评论