《2021-2022年收藏的精品资料软件工程职工信息管理系统.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料软件工程职工信息管理系统.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、装订线长 春 大 学 课程设计纸目录1可行性研究报告11.1可行性研究分析11.2 处理流程和业务流程31.3可行性分析42 需求分析62.1需求概述62.2功能性需求72.3非功能性需求73 概要设计83.1总体设计83.2接口设计103.3系统出错处理设计114详细设计124.1连接数据库设计说明134.2用户登录设计说明145系统实现155.1主要模块的设计说明和程序代码156测试306.1 测试概要316.2 测试结果及发现327总结341 小组总结342 个人总结351 可行性研究报告本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;
2、同时还作为项目通过评审的依据。并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。1.1可行性研究分析要求A、功能:1)用户:查询登录系统前台,系统根据输入的用户名自动查询数据库,并显示在我的资料页面中。注册用户进入系统可注册新用户,系统将自动将输入的数据存入数据库中。退出系统用户操作完成后可点击“退出”按钮退出系统。2)管理员管理员可登录系统后台,可查看所有职工的个人资料信息,可对职工的个人资料进行增、删、改、查,可修改管理员密码。操作完成,可退出后台。目标尽量做到人力与系统使用的高效和方便,功
3、能尽可能齐全,设备费用的减少,采用现代程序设计技术,人员利用率尽可能提高。条件限制本系统的条件、受到的限制有以下几方面:A、硬件、软件、运行环境和开发环境方面的条件和限制:由于是个人电脑,所以硬件设施可能在性能上比较差;软件全部是免费的,功能可能会受到相应的限制;对windows 7比较熟悉,所以开发主要是在这个平台上进行的;B、可利用的信息和资源:没有相应的软件项目开发的经验,所以能力还是有限,收集的资料来源有限,故对信息的了解不够全面;C、系统投入使用的最晚时间:本学期第21 周。评价尺度本系统的评价主要看开发时间是否在预期的范围里面,系统的使用是否简单,功能是否达到预期的要求,系统对数据
4、的处理是否准确,系统的功能需求和非功能需求是否达到了用户所要求的。1.2 处理流程和业务流程系统数据流程图如下图所示:F3一般用户F1一般用户P0企业员工信息管理系统F2系统管理员F4系统管理员图1-1 企业员工信息管理系统顶层TOP图F3F1一般用户P1员工信息维护一般用户F4F2系统管理员P2系统信息维护系统管理员 图1-2 企业员工信息管理系统一级细化DFD F3.1一般用户/系统管理员P1.1在职员工信息维护F1.1一般用户/系统管理员在职员工基本信息表D1一般用户/系统管理员P2.4档案状态维护D7F2.4档案状态表一般用户/系统管理员F4.4图1-3 企业员工信息管理系统二级细化D
5、FD工作负荷系统所承担的工作和工作量:A、 更新维护用户的个人资料;B、 提供用户查询;C、 提供查询功能;D、由于现有开发的系统比较小,只涉及小量的数据,所以工作量小。局限性由于没有相关的制作项目的经验,而且对现有的知识信心不够,以前也没有做过一个比较正规的软件项目,资料来源也有限,以及本人对真正的人员管理系统认识欠缺,可能对本系统的实现多少有点影响。1.3可行性分析1)技术可行性根据用户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需的技术是否具备。本系统主要采用数据库管理方法,服务器选用MySQL Server数据库,他是它是目前能处理所有中小型系统最方便的流行数
6、据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows操作系统就可以很好的运行该软件。2)操作可行性本系统采用用户界面交互方式,操作简单,用户只要具备简单的应用计算机的能力,无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。3)经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开
7、发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。4)法律及社会效益方面的可行性由于本系统只是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面的问题,不存在侵权级相应的法律问题。关于效益方面,本系统仅仅是一个课程设计,只是为了提高自己的分析,设计能力,而非为了社会效益而编写设计,因此社会效益方面也是可行的。2 需求分析通过对职工信息管理系统的研究分析,根据可行性分析的方案和项目成员的讨论,编制本需求说明书。本报告用于财职工信息管理系统的需求规格,明确系统的功能
8、需求,业务流程和性能要求以及与有关系统的接口关系,它将是系统最终实现和审评的根据之一,是进一步设计、开发的基础。本报告的阅读范围:项目组的项目管理、软件开发和系统测试人员、指导老师等。2.1需求概述(1)目标作为课程设计,本项目开发的人员、技术等资源非常有限,本项目开发的职工信息管理系统不能算是真正意义上的职工信息管理系统,只是简单的对职工的个人资料、工资信息进行电子系统管理,另外添加了一些公告、留言的功能以便管理者是用户沟通。其主要为用户提供查询个人工资信息和留言等功能,针对的用户是某事业单位的职工财务管理,职工数量较少,系统功能简单,操作也要简单方便,要便于管理维护。(2)用户特征最终的用
9、户是职工管理员和公司职工,管理员需要对用户资料进行增删改查和对自己密码修改等操作,要求管理员具备相应的计算机知识,如权限管理等。公司职工是普通用户,具备一定的计算机操作即可。2.2功能性需求本系统相应的需求有以下几个方面。A、 能够存储一定数量的用户信息,并方便有效的进行相应的用户资料操作和管理,这主要包括以下内容。(1) 管理员对用户资料的录入、删除及修改;(2) 管理员对用户资料的查询;(3) 用户对用户资料的查询;(4) 用户密码的修改。B、能够存储管理员信息,并方便有效的进行管理员密码修改,保证管理员信息的安全。C、能够提供给用户方便的操作,有以下几个方面。 (1)提供给用户的工作部门
10、、个人信息资料的查询功能;(2)允许其他人注册。2.3非功能性需求(1)性能需求职工信息管理系统的使用者是公司财务部人员和公司职工,对于系统管理员的管理工作和职工的查询、注册等功能,性能要求都不是很高,本系统是简单小型的个人信息管理系统,只适用于小规模企业单位,使用的人员数量不大,并发数小,所以性能要求不是很严格。(2)安全性需求对于职工的工资管理关系到个人利益及公司的整体利益,所以安全性的要求比较高。主要是要保证数据的完整性、一致性,控制权限,防止某人恶意攻击系统,修改原始记录。同时对数据库中的数据需要定时备份,防止系统数据丢失。3 概要设计本文档作为职工信息管理系统的概要设计文档,是小组成
11、员根据讨论和按照需求文档编写的。本文档描述系统在功能上的主要设计和思想,预先估计以后系统可能达到的目标。本阶段完成系统的大致设计并明确系统的数据结构与软件结构,将一个软件需求转化为软件表示的过程。本文档的阅读对象是课程设计指导老师以及本软件的开发小组人员,此文档将作为本小组进行详细设计和软件开发的依据,并且可帮助以后进行系统扩展和维护的开发人员了解和维护此系统。3.1总体设计需求规定系统各个模块设计见表3-1所示:功能名称输入项输出项执行权限功能描述用户信息管理模块管理员的信息添加、修改、删除、查询用户记录成功及相应的提示信息普通管理员完成对用户信息的管理管理员信息管理模块管理员的信息修改管理
12、员密码成功及相应的提示信息普通管理员完成对管理员信息的管理注册用户管理模块用户的信息注册用户成功或失败及相应提示信息职工用户完成用户注册功能用户功能模块用户的信息查询相应的提示信息已注册用户完成相应用户的操作请求,实现系统功能表3-1 系统各个模块设计基本设计概念和处理流程此系统的功能层次图如图3-1所示:职工信息管理系统系统管理用户资料管理用户操作注册登录修改管理员密码退出查看用户信息修改用户信息添加用户信息删除用户信息查询用户信息获取个人资料注册退出系统图3-1 系统层次图功能需求与程序的关系各项功能需求的实现同各块程序的分配关系表如表3-2所示:功能名称添加修改删除查询用户信息管理模块Y
13、YYY管理员信息管理模块NYNN注册用户管理YNYN用户功能模块NNNY表3-2各项功能需求的实现同各块程序的分配关系3.2接口设计(1)用户接口A、登录界面:由输入用户名、密码的文本框和登录、重置按钮和管理员或普通用户身份选择复选框等组成;B、前台主界面:一个选项卡包含五个选项,包括首页、我的资料、公司简介、注册和安全退出;C、注册界面:由输入用户名、密码、确认密码的的文本框和注册、重置按钮组成;D、我的资料界面:欢迎语和工号、姓名、性别、工资、部门、电话等显示框组成;E、首页:欢迎语和图片;F、公司简介界面:本公司简介文本;G、退出界面:祝福语和退出按钮。(2)管理员接口A、登录界面:由输
14、入用户名、密码的文本框和登录、重置按钮和管理员或普通用户身份选择复选框等组成;B、首页界面:“欢迎管理员”文本、图片等;C、添加职工页面:工号、姓名、性别、工资、部门、电话和密码文本框和输入框组成;D、删除职工界面:工号文本框和输入框及删除职工按钮;E、修改职工界面:文本框及相应的输入框有“输入要修改的工号:”、“(新)姓名”、“(新)性别”、“(新)工资”、“(新)部门”、“(新)电话”、“(新)密码”;按钮有开始修改按钮、录入修改按钮和重置按钮;一个性别复选框;一个部门下拉框。F、修改管理员密码界面:原密码、新密码、确认密码文本框和输入框,确定修改按钮及重置按钮;G、查找职工界面:文本框有
15、“工号:”、“姓名:”、“性别:”、“工资:”、“部门:”、“电话:”、“密码:”;一个工号输入框;一个查找职工按钮;显示框有姓名、性别、工资、部门、电话、密码显示框。H、退出系统界面:祝福语及退出按钮。外部接口A、硬件接口本系统不涉及网络,不存在多大的接口问题。B、 软件接口这里的接口问题主要就是怎么样与MySql数据库进行通信,以便对数据库进行读取和写入操作,在Java中是使用JABC-ODBC来解决这个问题的。3.3系统出错处理设计出错信息系统与MySql数据库进行数据的操作时,有时会出现各种的异常,主要的异常为添加数据外键参照的异常、数据为空异常、类型匹配异常,只有有上面的情况就会出现
16、插入异常;更新异常与插入数据异常类似,这里不详细的介绍;删除异常主要是表表数据关联删除的异常(外键参照),数据不存在时也会出现异常。补救措施故障出现后可能采取的变通措施,包括:A、所有的数据库数据备份到一个安全的地方,假如当前的数据库数据出现异常,可以用备份的数据库进行恢复;B、根据用户的操作,系统记录了其相应的日志信息,可以根据日志信息恢复;C、假如无法启用备份程序则需要关闭系统,进行抢修。系统维护设计系统的维护和管理也是一个系统的问题,也包括两个层面:A、技术层面:包括:1) 使用较新的开发和维护技术;2) 数据库管理员管理好数据库数据;3) 专职维护人员维护硬件。B、人员层面:包括:1)
17、 维护协议;2) 思想认识;3) 法律法规教育;4)编写代码时候起名字用匈牙利法命名,以便以后维修;4详细设计职工信息管理系统详细设计是设计的重要阶段,这个阶段的主要任务是在职工信息管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括查询和详细数据结构,为编写源代码提供必要的说明。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的财务管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是
18、对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为某种程序设计语言书写的程序。JVM:Java Virtual Machine(Java虚拟机),它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。4.1连接数据库设计说明程序描述本设计是用来说明数据库连接的模块设计的基本特征是完成面向对象的程序设计语言到关系数据库的映射。本系统数据库的设计比较简单,并未涉及复杂的模块设计,所以本设计就是简单的说明此系统数据库的功能和使用。功能建立应用程序与数据库
19、的连接,并作为一个工具类为其他类提供接口。输入项为了正常的连接到数据库,下面的输入是必不可少的:A、 数据库语言(sql语句);B、 所要加载的数据库表格;C、 连接数据库的登录名;D、 连接数据库的密码;E、 连接数据库的驱动。输出项连接好数据库后所输出的内容就是操作中所要实现的功能,如职工信息、管理员信息等。算法流程连接数据库的算法流程图如图4-1所示:Class.forName()装入驱动程序DriveManager.getConnection()生成Connection接口对象Connection对象通过驱动程序建立与数据源的连接,生成Statement,PreparedStateme
20、nt接口对象操作数据库StatementResultSetPreparedStatement驱动程序数据库图4-1 连接数据库的算法流程图4.2用户登录设计说明程序描述本模块是用来处理用户登录系统的程序,判断用户输入密码、用户名与否,如果输入了,单击确定之后进入登录处理界面,判断用户是否存在,不存在则登录失败;如果存在该用户,则判断用户输入的密码是否与用户存在的密码一致;如果一致,登录成功,否则登录失败。功能完成系统登录,包括管理员后台登录和用户前台登录。输入项下面是用户登录的输入要求:A、登录名称:标识符,长度为3-10,只能是数字或者字母组成的;B、登录密码:组成不作要求,可以是任何字符组
21、成;输出项输出项包括了两项:A、管理员或用户登录失败:1)用户不存在信息提示信息框;2)登录密码输入错误信息提示框。B、管理员或用户登录成功:用户登录成功后提示用户登录成功消息框。流程逻辑登录系统的程序流程图,见图6所示:开始输入登录名、密码用户存在输入密码正确登录成功结束NYNY 图6 登录系统的程序流程图5系统实现5.1主要模块的设计说明和程序代码系统主界面如图5-1所示图5-1 系统主界面 系统主界面是用户进入系统后主要接触的界面,由它可以进入各个功能模块。分别单击按钮“增加记录”、“修改记录”、“删除记录”、“查询”、“报表打印”可进入与之相对应的功能模块,单击“退出”按钮退出本系统。
22、为使界面不至于单调,可以为主界面加入背景。在“增加记录”按钮的“Click”事件中添加代码如下:do form 增加记录thisform.release在“修改记录”按钮的“Click”事件中添加代码如下:do form 修改记录thisform.release在“删除记录”按钮的“Click”事件中添加代码如下:do form 删除记录thisform.release在“查询”按钮的“Click”事件中添加代码如下:do form 查询thisform.release在“报表打印”按钮的“Click”事件中添加代码如下:do form 报表打印thisform.release在“退出”按钮的
23、“Click”事件中添加代码如下:thisform.releaseclear events“增加记录”模块如图5-2所示图5-2 增加记录模块 企业新进职员都要为其建立人事档案,该模块的功能就是添加新职员信息。 操作很简单,按需要输入完数据后,单击“确定”按钮即可,同时系统会弹出对话框提示输入成功。“取消”按钮的功能是清空所有文本框。该模块做了些限制性设计,以防用户误操作。如:将输入“职员号”、“进本单位年份”的文本框的Format和InputMask属性都设为“9999”,使用户只能输入四位数字,输入其它字符无效。同样在输入“生日”的文本框的Format和InputMask 属性都设为“99
24、99/99/99”。单击“确定”后,如果没有输入“职员号”或输入的“职员号”已存在,系统都会弹出提示信息,以便用户改正。在“确定”按钮的“Click”事件中添加代码如下:* 检查“职员号”是否为空if empty(alltrim(thisform.txtID.value)messagebox(职员号不能为空,48,错误)thisform.txtID.setfocuselse* 获取各输入值inID=alltrim(thisform.txtID.value)inName=alltrim(thisform.txtName.value)inSex=alltrim(thisform.txtSex.va
25、lue)inBirth=alltrim(thisform.txtBirth.value)inLearn=alltrim(thisform.txtLearn.value)inPolitics=alltrim(thisform.txtPolitics.value)inPhone=alltrim(thisform.txtPhone.value)inAddress=alltrim(thisform.txtAddress.value)inDepartment=alltrim(thisform.txtDepartment.value)inFunction=alltrim(thisform.txtFunct
26、ion.value)inDate=alltrim(thisform.txtDate.value)inMemo=alltrim(thisform.edtMemo.value)* 检查输入的“职员号”是否已存在set order to 职员号seek inIDif !found()insert into 职员信息表 value(inID,inName,inSex,inBirth,inLearn,inPolitics,inPhone,inAddress,inDepartment,inFunction,inDate,inMemo) messagebox(添加成功!,48,信息) * 添加完毕后清空各文
27、本框 thisform.txtID.value= thisform.txtName.value= thisform.txtSex.value= thisform.txtBirth.value= thisform.txtLearn.value= thisform.txtPolitics.value= thisform.txtPhone.value= thisform.txtAddress.value= thisform.txtDepartment.value= thisform.txtFunction.value= thisform.txtDate.value= thisform.edtMemo
28、.value=else messagebox(此职员号已存在,请另输一个,48,错误) thisform.txtID.value= thisform.txtID.setfocusendifendif在“取消”按钮的“Click”事件中添加代码如下:* 清空各文本框thisform.txtID.value=thisform.txtName.value=thisform.txtSex.value=thisform.txtBirth.value=thisform.txtLearn.value=thisform.txtPolitics.value=thisform.txtPhone.value=thi
29、sform.txtAddress.value=thisform.txtDepartment.value=thisform.txtFunction.value=thisform.txtDate.value=thisform.edtMemo.value=thisform.txtID.setfocus在“退出”按钮的“Click”事件中添加代码如下:thisform.releasedo form 主界面“修改记录”模块如图5-3所示图5-3 修改记录模块 职员信息的改变,如:部门的调动、职位的升降、搬家、换了电话,或者发现输入了错误的信息,就可以进入该模块进行修改。你可以单击“导航条”逐条定位查找,
30、如果知道要修改职员的职员号,可在最下面的文本框里直接输入该职员号,单击“查找”,如果找到,系统会定位到该记录,如果没有找到,系统会给出提示信息。该模块也做了与“增加记录”模块相近的限制性设计。在该表单的数据环境(Data Environment)中添加“职员信息表”,将各文本框的ControlSource属性设置为在“职员信息表”中与之相对应的字段,这样便完成了与“职员信息表”的绑定。在“查找”按钮的“Click”事件中添加代码如下:set order to 职员号seek alltrim(thisform.text1.value)if !found()messagebox(该职员号不存在,4
31、8,错误)go topendifthisform.text1.value=thisform.refresh在“退出”按钮的“Click”事件中添加代码如下:thisform.releasedo form 主界面“删除记录”模块如图5-4所示图5-4删除记录模块 如果因为职员离职、退休,或其它原因要删除某条记录,就可进入该模块进行删除。本模块的控件布局与“修改记录”模块基本相似,只是显示记录的各文本框的Enabled属性均设置为“.f.”(假)。同“修改记录”模块一样,设置与“职员信息表”的绑定。在“删除这条记录”按钮的“Click”事件中添加代码如下:nAnswer=messagebox(确定
32、要删除吗?,36,信息)if nAnswer=6thisform.dataenvironment.closetables(职员信息表)* 以独占方式打开表,执行删除命令use 职员信息表 exclusivedelete from 职员信息表 where 职员号=alltrim(thisform.txtID.value)packusethisform.dataenvironment.opentables(职员信息表)thisform.refreshendif在“查找”按钮的“Click”事件中添加代码如下:set order to 职员号seek alltrim(thisform.text1.v
33、alue)if !found()messagebox(该职员号不存在,48,错误)go topendifthisform.text1.value=thisform.refresh在“退出”按钮的“Click”事件中添加代码如下:thisform.releasedo form 主界面“查询”模块如图5-5所示图5-5查询记录模块 在本模块,你可以选择查询条件,快速查找到所需的职员信息,也可以一览整个“职员信息表”。可供选择的查询关键字有“职员号”、“姓名”和“所属部门”3个字段,可单项查询,也可组合查询。首先,当表单被激活时,根据各复选框的选中情况决定相应的文本框是否可用。在表单的“Activa
34、te”事件中添加代码如下:flag1=this.check1.valuedo casecase flag1=0this.text1.enabled=.f. this.text1.value=case flag1=1 this.text1.enabled=.t.endcaseflag2=this.check2.valuedo casecase flag2=0 this.text2.enabled=.f. this.text2.value=case flag2=1 this.text2.enabled=.t.endcaseflag3=this.check3.valuedo casecase fla
35、g3=0bo1.enabled=.f. bo1.value=case flag3=1 bo1.enabled=.t.endcase为减少用户输入,在“所属部门”复选框后用的是组合框。在组合框的“Init”事件中添加代码如下:* 为组合框添加选项this.clearlocal dm,idimension dm1select distinct 所属部门 from 职员信息表 into array dmfor each i in dmif !empty(i)this.additem(i)endifendfor当单击复选框后,如果框里有“”标记,则后面的文本框或组合框可用;反之,不可用。在“职员号”复
36、选框的“Click”事件中添加代码如下:flag=thisform.check1.valuedo casecase flag=0thisform.text1.enabled=.f. thisform.text1.value=case flag=1 thisform.text1.enabled=.t.endcase在“姓名”复选框的“Click”事件中添加代码如下:flag=thisform.check2.valuedo casecase flag=0thisform.text2.enabled=.f. thisform.text2.value=case flag=1 thisform.text
37、2.enabled=.t.endcase在“所属部门”复选框的“Click”事件中添加代码如下:flag=thisform.check3.valuedo casecase flag=0 bo1.enabled=.f. bo1.value=case flag=1 bo1.enabled=.t.endcase在“查询”按钮的“Click”事件中添加代码如下:* 获取各查询关键字输入值getid=alltrim(thisform.text1.value)getname=alltrim(thisform.text2.value)getdepart=alltrim(bo1.value)* 获取各复选框的
38、值flag1=thisform.check1.valueflag2=thisform.check2.valueflag3=thisform.check3.value* 按选中的查询关键字进行查询if flag1=0 and flag2=0 and flag3=0messagebox(请输入查询条件,48,错误)endifif flag1=1 and flag2=0 and flag3=0select * from 职员信息表 where 职员号=getidendifif flag1=0 and flag2=1 and flag3=0select * from 职员信息表 where 姓名=ge
39、tnameendifif flag1=0 and flag2=0 and flag3=1select * from 职员信息表 where 所属部门=getdepartendifif flag1=1 and flag2=1 and flag3=0select * from 职员信息表 where 职员号=getid and 姓名=getnameendifif flag1=1 and flag2=0 and flag3=1select * from 职员信息表 where 职员号=getid and 所属部门=getdepartendifif flag1=0 and flag2=1 and fl
40、ag3=1select * from 职员信息表 where 姓名=getname and 所属部门=getdepartendifif flag1=1 and flag2=1 and flag3=1select * from 职员信息表 where 职员号=getid and 姓名=getname and 所属部门=getdepartendif在“一览”按钮的“Click”事件中添加代码如下:select * from 职员信息表在“退出”按钮的“Click”事件中添加代码如下:thisform.releasedo form 主界面“报表打印”模块如图5-6所示图5-6报表打印模块本模块实现两
41、个功能:打印报表和打印预览。在“确定”按钮的“Click”事件中添加代码如下:do casecase thisform.optiongroup1.option1.value=1 report form 职员信息报表 to printcase thisform.optiongroup1.option2.value=1 report form 职员信息报表 to print previewendcase在“退出”按钮的“Click”事件中添加代码如下:thisform.releasedo form 主界面* 关闭系统菜单set sysmenu offset sysmenu to * 不显示图形状态
42、框set status bar offset talk offset notify off* 将时钟在指定的位置上显示set clock status* 不使用Visual FoxPro默认的调色板set palette off* 打开计算机喇叭set bell on* 指定在覆盖已有的文件时不打开一个对话框set safety off* 指定在按下ESC键后,中断命令和程序的运行set escape onset keycomp to windowsset carry onset confirm on* 指定两个表达式必须长度相等才能进行比较set exact onset near onset ansi offset lock onset multilocks onset deleted onset optimize on* 设定网络中表的刷新时间set refresh to 0,5* 设定字符型字段的排列顺序set collate to stroke* 设置默认文件目录set default to sys(5)+curdir()* 指定查找文件目录set path to sys(5)+curdir()set sysformats offset seconds onset