还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
*******大学本科毕业论文题目档案自动化管理系统Themanagesystemofthefileautomation姓名学号专业计算机应用技术教学站点入学时间2000年6月10日指导教师张文煜2005年2月6日提纲第一部分引言主要介绍本论文写作的整体思路以及档案管理系统开发设计的整体思路第二部分由两大部分组成主要介绍档案管理系统开发的工作环境,以及对档案管理现状的描述同时对开发档案管理系统的需求分析第三部分由两大部分组成主要是对档案管理系统开发过程的具体描述,以及对开发完成的系统进行系统测试和打包发行第四部分结论主要是对整篇论文以及整个开发系统进行综合论述第五部分参考文献第六部分附录主要是对论文中出现的编码及其他进行描述摘要本文主要阐述了利用面向对象的程序开发软件VFP,开发的档案自动化管理系统的过程通过本系统的开发可以改变目前这种人工手动管理档案的情况,使得档案的管理更加的方便,更加的准确,同时也给今后的办公自动化系统的开发提供了一个实例通过本系统的开发也使本人对VFP开发系统,以及面向对象的程序设计有了更进一步的了解,对今后的工作产生了积极的影响,也使得的今后的工作更加趋向智能化和人性化关键字档案管理系统数据库面向对象AbstractThearticle’smainideasareusingthesoftwaredevelopment—VFPtodevelopthemanagesystemofthefileautomation.Itisgoodformanagethefileandtransformthecircumstanceofhandmadeatpresentatthesametimeitalsosetasampleforourdeveloptheofficeautomationinfuture.FromthedevelopmentIthinkIlearnedalotofusefulthingsincludesthesystemofVFPanddesigntheprocedure.Ithasaneffectforourworkinthefuture.Sothedaytimeworkswillbemoreintelligenceandhumanization.Keywords:ThemanagesystemofthefileDatabaseFacetotheobject档案自动化管理系统引言随着计算机技术的兴起,特别是办公自动化技术的大面积普及,使得现在的办公已经日益进入了“无纸化”办公时代这种办公方式的转变,必将极大的改变过去那种办公效率低下,办公成本昂贵的种种弊端,同时也必将极大的调动起办公人员的工作兴趣,让他们享受到前所未有的办公乐趣目前,在国外发达国家,办公自动化已经成为所有办公方式的首选各种办公自动化系统的不断推出,使得办公自动化正开始向着更快,更精,更人性化的方向发展档案管理是每个单位必不可少的一项重要的工作它涉及面广,管理内容复杂,精确度要求高在传统的管理模式下,大多利用手工,进行操作与管理,费时,费工,且管理不够规范,统计查询也极不方便,已经不适应现代化办公管理的需要同时,目前市场上的档案管理系统已经不能适应当前高速发展的时代需要因此,本人结合工作实际和市场调研开发这套办公自动化档案管理系统
一、VFP
6.0功能简介VisualFoxPro
6.0是为数据库结构和应用程序开发而设计的功能强大的面向对象的环境无论是组织信息、运行查询、创建集成的关系型数据库系统,还是为最终用户编写功能全面的数据管理应用程序,VisualFoxPro都可以提供管理数据所需的工具可以在应用程序或数据库开发的任何一个领域中提供帮助
1.1VisualFoxpor的特点
(1)可增强的项目及数据库管理
(2)更简便、快速、灵活的应用程序开发
(3)提供真正的面向对象程序设计
(4)使用优化应用程序的Rushmore技术
(5)可以与多个开发者一齐工作
(6)可充分利用自带的数据库
(7)可以开发客户/服务器解决方案,增强客户/服务器性能
(8)多语言编程
1.2VisualFoxPro的开发功能VisualFoxPro
6.0提供了更加强大的交互式发展环境,并提供了一个具有智能检测和编码检测功能的编辑器,令用户开发变得更加简单和有效
1.
2.1VisualFoxPro
6.0编辑器1智能检测2交互式发展环境3加强的交互发展环境提供了新的收缩式视窗DockableWindows快捷键和更多功能
1.
2.2VisualFoxPro
6.0集成开发环境IDE
1.
2.3VisualFoxPro
6.0编程语言增强VisualFoxPro
6.0通过改变和加强提供新的函数来加强其编程语言功能1额外配置2增强的指令,函数和类3新的指令,函数和类4数据库容器事件
1.
2.4数据库容器事件DatabaseContainerEvents数据库容器事件是可以被各种对象所认可的事件,所以用户可以自己编写代码,方法,函数或过程来响应数据库容器事件这些事件还可以通过用户行为(例如,打开数据库设计器)或系统行为(例如,打开一个表创建视图)而产生
1.
2.5VisualFoxProOLEDB提供VisualFoxProOLEDB提供使开发者能够使用其他语言和应用程序访问VisualFoxPro数据,如同VisualFoxPro应用程序一样
1.
2.6VisualFoxPro解决方案VisualStudio为VisualFoxPro应用程序和中间组件开发者提供了强大的函数功能和集成开发环境
1.
2.7ServerEnhancements服务器增强VisualFoxPro
6.0包括了许多服务器增强功能如提供界面接口强大的键入支持
2、档案管理系统的需求分析
2.1现状分析
2.
1.1任务的提出此任务是为各个工作单位设计的一个办公自动化档案管理系统具体任务就是设计一个档案管理系统的数据库管理系统,由计算机来代替人工执行一系列诸如增加新员工,删除旧档案,修改,查询,统计,备份,报表及打印等操作,使工作人员可以轻松快捷的完成对本单位所有档案的管理,并且避免了人工操作时会出现的错误
2.
1.2数据库技术的应用背景从国内外发展情况来看,美日等国家的办公自动化技术发展较早,数据库技术的水平也较高而我国起步较晚,在技术开发和应用方面与先进的国家还有不少的差距但是,数据库技术也是在日新月异的发展着,有许多的城市已经在用办公自动化系统来管理各自的单位和企业,其中,项目管理型的办公自动化系统是当今发展的主流但是,目前国内基于项目管理的办公自动化系统中仍然存在着以下的不足之处1处理非文本型的数据时功能略显不足,图片,文本的保存仍有问题2信息处理过程的工作流程模型过于简单,应将流程框架模型加以扩展,以适应办公过程灵活机动的实际情况
2.2需求分析需求分析是为了分析该课题是否存在一个可行的方法档案的智能化管理系统的开发将改变繁琐的手工操作,节省了人力,物力和时间,也为进一步开发完善积累经验,从长远来看,其简便,快捷是肯定的本人在经过认真的调查,对若干单位的档案的管理方式进行深入了解,最终决定开发此档案智能管理系统,并进一步确定了应用系统的功能,性能,运行和操作要求,收集了大量的原始资料和数据,至此,我们已经对系统要完成的工作有了更深入的认识,方案可行
三、自动化档案管理系统的总体设计
3.1数据体系的建立在本系统中,数据库使用的是VFP6.0提供的数据库,我们这里起名为“档案”,整个系统的数据库是档案.dbc我们这里使用关系型数据结构来实现表之间的关联(图1)图1E——R图反映了各个表之间的联系,我们可以从中看到档案情况表在本系统中是关键的表,其中辅助查询表把档案情况分类人员与档案之间是一对一的关系,即一个人有且只有一个档案每个人员都从属于某一部门某个人员的奖惩情况由档案登记表反映用户通过用户名和密码进入本系统
3.2表的字段结构数据库表字段结构
3.
2.1项目情况表字段名类型宽度主键档案编码字符型5是档案名称字符型40负责单位字符型20档案来源字符型20档案类别号字符型3档案主要负责人字符型8添加日期日期型8删除日期日期型8状态备注字符型
303.
2.2人员表字段名类型宽度主键人员序号字符型4是姓名字符型7性别字符型2出生日期日期型8职称字符型10家庭地址字符型40电话字符型13所在部门编号字符型
33.
2.3人员项目表字段名类型宽度主键人员序号字符型4是档案编码字符型5是主要负责人逻辑型1加入时间日期型
83.
2.4单位部门表字段名类型宽度主键部门编号字符型3是部门名称字符型
103.
2.5辅助查询字段名类型宽度主键档案类别号字符型3是档案类别字符型
203.
2.6密码表字段名类型宽度主键用户密码字符型6是用户姓名字符型10为了方便各表之间的联系,并且能更好的发挥视图的功能,在这里又建了4个视图,分别是档案项目(档案情况表与档案项目情况表组成)、类型项目(辅助查询与档案情况表组成)、人员部门(人员表与单位部门表组成)、项目人员(档案情况表与人员表与人员档案表组成)这4个视图在对表的数据进行编辑操作中起了至关重要的作用
3.3系统流程图主界面(控件未激活)登陆(身份验证) 主界面(控件、菜单均激活)退出
3.4系统的实现
3.
4.1整体功能简介登陆界面本系统采用顶层表单技术,在顶层表单showwindow属性中选取2——作为顶层表单,去掉titlebar,在顶层表单显示菜单快捷图标为了美观加入了控件container为快捷图标加入mousepointer属性是一只小手图标系统中用到的类的设计
1、container为每个表单做标题栏用
2、mmnext包括“第一个”、“下一个”、“上一个”、“最后一个”,其中“第一个”中的代码为ifrecno=末记录
3、quit为退出按钮以项目浏览管理为例,该表单是显示在顶层表单中的,所以其showwindow属性应为1——在顶层表单中,固定边框,自动居中,锁定表单表单中使用了“页框”控件,为了形成以页框代替表单效果,把页框的tabs,页标签属性去掉,就形成了打开每也就象是又打开了一个表单,节省了不必要浪费的资源该页中用grid控件显示表的内容,以防被错改,设置其为只读属性,只有点击了“修改”按钮后才可以改动Grid1控件显示的是视图——类型项目,在修改项目类别的属性中,使用了组合框空间,把表里的所有项目类别显示出来,以供修改在添加记录时,要向该视图的真表中添加记录,而视图的显示和更新要表中的所有关键字必须存在,所以编写代码如下this.parent.grid
1.readonly=.f.sele档案情况表gobottappendblankreplace档案编码with000replace添加日期withdatereplace档案类别号with001requery档案类型gobottthis.parent.grid
1.setfocusthisform.refresh其中requery档案类型是随时更新视图的关键语句项目的查询也是该系统中的重要功能,显示记录也通过表格空间完成的设置的查询条件有按档案类别查、按日期、按编号、按负责人每个查询前都有一个单选控件,在勾选该控件后该查询功能被激活,勾掉后被关闭,还原记录在按档案编码的查询功能事件,是在输入框失去焦点发生的,具体代码为bh=alltrimthis.valuesele档案情况表setfilttoflt=档案编码=bhsetfilttofltthisform.refreshthis.parent.grid
1.setfocusgotop首先要清空筛选器setfiltto 再设置筛选条件,重新筛选筛选后,在表单释放时要再次清空筛选条件在日期查询功能中,使用了ActiveX控件——微软公司提供的时间控制组合框为了把选择的时间转化为真正的时间格式使用代码dt=^+strthis.year+/+strthis.month+/+strthis.day先转化为字符型,再用函数ctoddt实现格式转换,形成查询条件 数据管理表单该表单功能是将数据保存备份和恢复备份数据的方向有两个一是硬盘,在本系统目录下的canyinbackup文件夹中;二是备份数据到硬盘中(设计程序见附录)
3.
4.2关键技术的解决
(1)组合框实现对档案类别的修改辅助查表和档案情况表是通过档案类型号这个属性产生关联的,要修改档案情况表中的档案类别号,同时能直观的通过改变档案类别名称来改变就要涉及到很多方面首先要建立他们的视图,要通过组合框来选择档案类别名,就要用select语句选出所有的档案类别,再在其InteractiveChange属性中添加代码sele辅助查询locatefor档案类别=trimthis.displayvaluenn=trim档案类别号sele档案类型bh=trim档案编码replace档案类别号withnn来实现对档案情况表中档案类别的修改
(2)关于“以独占方式打开”的处理因为表一般都是以独占的方式打开的,当一个表没关闭,而另外一个命令又要调用此表,就会发生错误,如果系统提示“表正在使用”,说明在引用表之前,未关闭此表如果是提示“表必须以独占方式打开”,说明还有其他表正在打开总的来看,如果在打开表之前关闭其他表,就可以解决这些问题因此,解决的关键在于关闭一个应用程序之前先关闭它所引用的表还有另一种解决的办法就是在程序中使用临时表,因为临时表在程序释放后就会自动关闭遇到这种情况通常有两种解决办法一种是在进行表的操作后要及时关闭该表;另一种解决方式是在数据环境中把各个表的Exclusive属性设置为T(真),本系统就是使用的这种方式
4、结论经过了以上的系统开发工作,我们已经完成了本档案智能化管理系统的开发同时也更进一步了解的软件开发的过程、VFP
6.0软件的功能当然本系统还有很多不足和要继续研究的地方为了实现基本的档案管理工作,已经对表的操作和查询功能做得很详细,但是对于查询结果的输出打印工作做的就稍显简单我们将继续进行探讨,完善本系统,期待我们的自动化档案智能管理系统能给各单位的档案管理工作带来方便,同时我们将继续自我深造,努力提高自己的水平同时,在开发过程中得到了来自辅导老师以及社会各界的大力支持在此,对所有在本系统开发过程中给予帮助的各界人士,表示最诚挚的感谢参考文献
[1]VisualFoxPro
6.0应用及实例集锦作者毛一心 毛一之人民邮电出版社
[2]深入掌握中文VisualFoxPro
6.0程序设计技术北京航空航天大学出版社附录备份到硬盘的代码为closeallans=messagebox将当前数据备份到硬盘?4备份与恢复*否ifans!=6returnendif*是判断硬盘空间是否足够ll=diskspacec:ifll1000000messagebox硬盘空间太小!不能备份!0备份与恢复returnendifwait正在备份数据,请稍候!windowat200200nowait*创建备份目录ifnotdirectory.\canyinbackupmd.\canyinbackupendifsetdatetojapansetcenton*备份文件名并创建备份文件outname=.\canyinbackup\b_+alltrimdtocdate+.bbboutname=STRTRANoutname/_outfile=fcreateoutname*取数据文件数组nmb=ADIRafile.\database\*.**备份文件FORnCount=1TOnmblsfile=substralltrimafilenCount114*打开数据文件crtfile=fopenafilenCount1nSize=FSEEKcrtfile02*输出数据文件名及大小fputsoutfileafilenCount1fputsoutfilestrnSize*读取文件数据=FSEEKcrtfile00cString=FREADcrtfilenSize*关闭数据文件=FCLOSEcrtfile*写数据fwriteoutfilecStringENDFOR*关闭备份文件fcloseoutfilewaitclearmessagebox数据备份完毕!0备份与恢复*更新备份文件列表ifthisform.optiongroup
1.value=1nmb=ADIRarray
1.\canyinbackup\*.bbbthisform.listfile.clearFORnCount=1TOnmblfile=array1nCount1lfile=substrlfile3lenlfile-6thisform.listfile.additemlfileendforthisform.listfile.requerythisform.refreshendif备份的数据资料为避免被盗用,命名为以.bbb为后缀的文件恢复数据的代码*没有选取文件ifalltrimthisform.listfile.displayvalue==messagebox请在上面的列表框中选择要恢复的时间!0备份与恢复returnendif*确认closeallfname=alltrimthisform.listfile.displayvalueans=messagebox是否用日期为+fname+的数据覆盖当前数据库?4备份与恢复*否ifans!=6returnendifwait正在恢复数据,请稍候!windownowait*设置备份文件名ifThisForm.Optiongroup
1.Option
1.value=1fname=.\canyinbackup\b_+fname+.bbbelsell=diskspacea:*没有软盘dowhilell=-1notin=messagebox请插入软盘,重试?5备份与恢复*取消ifnotin!=4returnendif*重试ll=diskspacea:enddofname=a:\b_+fname+.bbbendifsetsafeoff*删除原文件*delefile.\database\*.**打开备份文件infile=fopenfname=FSEEKinfile00MovepointertoBOF*恢复数据dowhilenotfeofinfile*读取并设置数据文件名lname=fgetsinfilelname=.\database\+lname*创建数据文件outfile=fcreatelname*读取文件长度及文件内容llong=fgetsinfilell=valllongcString=freadinfilell*写入数据内容fwriteoutfilecString*关闭数据文件fcloseoutfileenddofcloseinfilewaitclearmessagebox数据恢复完毕!0备份与恢复。