



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FOXPRO在三峡工程信息管理中的应用 摘 要:三峡工程是世界级的巨型工程,专业门类多、技术复杂、信息管理工作量巨大,必须使用MIS系统对信息进行收集、整理、存储、统计、分析、制表。几年来,我们先后用FOXBASE、FOXPRO编制了工资管理系统、土石方工程量计算程序、工程支付管理系统、文档管理系统、混凝土强度统计分析程序等小型桌面系统。在编程过程中,经历了从低级平台(DBASE)到高级平台 (FOXPRO)、从字符界面(DOS)到图形用户界面(WINDOWS)的转化,从中总结出了一些应用经验。关键词:三峡工程,FOXPRO,应用,经验三峡工程是世界级的巨型工程,专业门类多、技术复杂、信息管理工作量巨大,必须使用MIS系统对信息进行收集、整理、存储、统计、分析、制表。目前,参建各单位的MIS系统相继投入运行,如长江三峡工程开发公司的TGPMIS系统、葛洲坝股份有限公司三峡建设承包公司的“施工档案管理系统”等。这些系统功能较强、涉及面较广,但不可能覆盖信息管理的方方面画,还需要桌面数据库系统来补充。由于桌面数据库的简单易学,因而有着巨大的用户群。用桌面数据库开发出功能较强的系统也有不少成功的先例,如19951997年三峡工地使用的“统计系统”、国家电力公司开发的概预算软件等。在桌面数据库方面,几年来,我们先后用FOXBASE、FOXPRO编制了工资管理系统、土石方工程量计算程序、工程支付管理系统、文档管理系统、混凝土强度统计分析程序等小型桌面系统。在编程过程中,经历了从低级平台(DBASE)到高级平台(FOXPRO)、从字符界面(DOS)到图形用户界面(WINDOWS)的转化,从中总结出了一些应用经验。如:在WINDOWS中继续使用“字符型报表”、充分利用BROWSE快速制作录入界面、利用“表达式生成器”建立查询、利用FOXGRAPH建立直观的柱状图、饼图等等。1 项目管理器项目管理器引入项目概念后,使开发人员从应用系统中各类文件繁琐的管理中解脱出来,从而有更多的时间用于模块开发:项目管理器有如下优点:(1)只要将应用系统的主控模块(通常是菜单)放入项目管理器中,在生成项目时,能将应用系统中几乎所有的文件都纳入其中,方便程序模块的修改、调试;(2)通过其可以方便地创建可执行文件,并且在编译时具有自动更新项目中各组成部分的版本的功能。在使用项目管理器时应注意:(1)尽可能地使用“原”文件(MNX、SCX等),而不使用由生成器转换以后的程序文件(MPR、SPR等),以便在菜单、屏幕等更新后,执行项目管理器中的“BUILD”按钮时能自动作相应的转换;在程序中调用菜单或屏幕时,调用扩展名为MPX或SPX的文件而不是扩展名为MPR或SPR的文件。(2)若一个应用中的大部分模块都已定型,只是个别模块在使用中变化。如我们编制的工资管理系统中的统计模块,该模块的修改(二次开发)较简单,系统的使用人员也可以胜任。这要求在编译的可执行文件中不含该模块,实现的方法是:利用FOXPRO“PROJECT”菜单中的“EXCLUDE”菜单条对项目管理器中的该模块作标记,然后执行“PROJECT”菜单中的“PACK”功能,再重新编译项目即可。外部模块是FXP类型的文件,在安装时,注意将外部模块文件放在应用系统EXE文件所在的目录中。2 FOXPRO程序的龙头菜单程序通常由多个功能模块组成,可以通过屏幕中排列的一系列按钮等对象来调用这些模块,但通常用菜单将各功能模块融合在一起形成整体。为此,我们用DELPHI编制了这种菜单的自动生成器。FOXPRO中提供了与WINDOWS图形用户界面一致的条形菜单、弹出菜单,并提供了相应的自动生成工具(GENMENU.FXP)。这种菜单的特点是:菜单容许是多层次的;运行时菜单可以动态变化;功能模块可以直接含在菜单中,使得由一个菜单程序构成一个应用系统成为可能;可以直接使用一些通用功能,如新建文件、复制、粘贴等。这种形式的菜单,初次使用时往往会产生只运行一次就退出菜单的情况,可以用以下的办法解决:(1)在菜单开始(SETUP)代码最后加入如图1所示循环起始语句:do while.t.(2)菜单的清楚(CLEANUP)代码如下所示:read valid.f.enddo(3)退出菜单程序的代码如下所示:close databaseclear allset sysmenu to defaultcancel应用系统中常常要用应用的名称代替FOXPROW主窗口中的标题“microsoft foxprow”,实现方法是在菜单开始(SETUP)代码的前面加入类似如下所示代码:modify window screen at 4,6 size 36,147;title“物资材料管理程序”font“ms sans serif”,8 float close minimizemove window screen centerzoom window screen maxFOXBASE的下拉菜单(meun bar.read menu to)是一种单任务性质的,在执行一个具体的模块时,菜单隐去,控制权在所执行的模块,不会发生模块的重复执行。而FOXPRO的条形菜单具有多任务的性质,同一模块,可重复执行,有时需要利用这一功能,但多数情况下是不需要的,这是因为同一模块或同时活动的多个模块经常处理的是同一类数据库或表,这样可能会因产生冲突而出错。因此,通常要求在执行一个模块时,不容许使用相同数据库文件的其他模块执行。这可以通过在菜单开始(SETUP)代码引入若干逻辑型内存变量,在菜单条中使用SKIP属性来实现。通过这种方式,可以使模块之间产生关联。3 应用程序的信息输入(1)屏幕生成器屏幕和菜单类似,都有开始 (SETUP)、清除(CLEANUP)两个代码段,通过他们可以设置相应的环境或在屏幕(或菜单)退出时恢复环境。虽可以通过屏幕生成器中的 “ENVIRON-MEXT”按钮中的“SAVE”功能保存开发时的环境,但此功能有限,不便于进行复杂的设置,且其保存的开发时的环境可能与运行时不同,导致程序运行时出错。所以,建议编程人员不要用此功能,而使用前者。屏幕中编写代码时,有两个层次,即屏幕层和屏幕中的对象层。通常的处理均可在对象层次中解决。屏幕层次中通常只使用开始(SETUP)、清除(CLEANUP)两个代码段,其他的代码段通常在多窗体、多屏幕中用到。在对象层次中,通常也只需要编写“VALID”代码。(2)功能强大的BROWSE使用过EXCEL的人都习惯对纵横表进行操作,这样操作直观、自然。在FOXPROW中,用BROWSE可以实现类似的功能。若要用BROWSE对表进行任意操作,用下面简单的命令即可:usebrowse title这样的操作,表中的数据是不安全的,有必要对表的浏览操作加以限制。如在BROWSE命令中有选择性的加入NODE-LETE、NOAPPEND、NOMODIFY,就可以对“加删除标志”或“追加记录”或“修改记录”加以限制。borwse titile nodelete noappend nomodity(注:这条命令只能显示表的内容,不容许对表进行修改)有时,表的字段名是西文字段名,或虽是中文字段,但表达的意思不易理解时,在浏览时需要给出易于识别的表头,这时就需要使用“:H=”的字段名修饰如下所示:browse field name:h=“姓名”(注:这里name是西文字段名,在显示时用“姓名”替换)在BROWSE命令中加入NOMODIFY将锁定所有的字段,不容许修改。但通常的情况只要求锁定关键字段、关联字段,这时就不能用NOMODIFY,而要用“:W=.F.”字段名修饰功能。如下所示:browse field name:h=“姓名”:w=.f.,basic:h=“BASIC成绩”(注:name字段不让修改BROWSE的功能非常强大,读者可参看BROWSE的帮助提示。灵活应用BROWSE的子句以及一些修饰功能,可以实现极其强大的数据库的录入、编辑、修改功能。4 应用程序的检索的实现(1)按例关系查询在开发环境或命令环境中,进行查询采用功能强大的RQBE是最优的选择,用他建立单表或多表查询均比较简单,介绍这方面内容的资料较多,在此,限于篇幅,不再赘述。由于在运行库中未集成RQBE特性,在开发应用时,请不要包含该特性。但用RQBE功能生成的SQL语句可用于应用系统中,减少编制查询模块占用的时间。将SQL语句中的字句的内容设置成变量,用“宏替换”功能可以构成某种程度上的通用查询模块。(2)表达式生成器在运行时能用表达式生成器(调用方法是GETEXPR TO)生成过滤条件,将查询的记录过滤出来,在浏览窗口或报表中显示输出。(3)定制查询屏幕按例关系查询以及表达式生成器均需要用户有一定的FOXPRO运用基础。对于普通用户,需要构造出傻瓜是样的查询屏幕,用户填几个字符串或数值等,就可以找出相应的记录。5 应用程序的结果输出(1)BROWSEBROWSE功能强大,即既可用于信息的录入,又可作为信息输出的载体。(2)报表FOXPRO的报表与FOXBASE中的报表相比增加了表格线的功能,更符合中文报表的习惯,制作报表较方便。但报表中的对象的定位稍显麻烦,编制个报表所花的时间较多,并且,所定制的报表是相刘于某种大小的纸张的,纸张大小改变后不能自适应。在FOXBASE以及在DOS下的FOXPRO中,要打印报表,通常是用“.SAY.”语句编制程序实现,所生成的报表为文字型的报表。这种报表可以直接送往打印机输出,也可以存入一文本文件中,经其他字处理程序处理后输出。在早期,编制程序生成报表是非常麻烦的,系统开发中,大量的时间是用来编制报表程序。为了加快报表程序的编制,我们在实践中用DELPHI编制了自动生字符报表程序的工具。这些工具中,既有简单报表的快速生成接口,也有生成复杂纵横表头报表程序的工具。由于CCED2000使得在WINDOWS图形用户界面输出字符型的报表非常方便,并且用我们自己的工具生成文字制表符型的报表的速度要比FOXPRO生成的图形报表的速度快得多,所以即便是现在,我们大量的报表仍采用的是字符型的报表。若文字报表已存入文件AUTOPRN.PRN中,用CCED2000打开文字报表的方法如下所示:filename=sys(5)+sys(2003)+“autoprn.prn”run c:cced2000cced2000 filename(3)图表在FOXPROW中,可以直接从数据库中提取数据生成柱状图、饼图等图表。方法是用COPY命令将图表中要用到的字段复制到一个临时数据库中,然后调用 FOXGRAPH向导即可。例如数据库ABC.DBF中含有“月份”、“产值”等10个字段,要求用“月份”、“产值”字段的值生成一柱状图。完成要求所需的代码如下所示:use abccopy to temp.dbf field 月份,产值use tempdo(-foxgraph)(4)用EXCEL生成报表EXCEL可以直接打开FOXPROW2.5B的数据库进行后处理。要在F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大连金普新区卫生系统招聘事业编制工作人员164人考前自测高频考点模拟试题及答案详解(名师系列)
- 飞机结构胶接装配工评估考核试卷及答案
- 船舶帆缆工质量检验流程考核试卷及答案
- 玻璃制品模具工服务流程优化执行考核试卷及答案
- 压电石英晶体切割工成本控制意识考核试卷及答案
- 2025内蒙古鄂尔多斯市水发燃气有限公司招聘6人模拟试卷及完整答案详解一套
- 公司数控冲床操作工现场作业技术规程
- 彩钢瓦工程制作承包合同5篇
- 饱和潜水员工作失误整改效果考核试卷及答案
- 2025甘肃省卫生健康委系统招聘51人模拟试卷完整答案详解
- IP语音电话系统方案
- 人教部编版六年级语文上册郝晓怡《盼》名师教学课件
- 【义乌小商品市场出口贸易的现状与对策探析8100字(论文)】
- 心速宁胶囊的抗心肌纤维化
- 沟通的艺术智慧树知到期末考试答案章节答案2024年湖南师范大学
- 智慧河道管理平台整体解决方案
- 城轨专业职业生涯规划
- 高海拔地区常见疾病与适应措施
- 《艺术实践》课程教学大纲
- 三阶魔方七步还原图文教程
- 食材配送应急预案
评论
0/150
提交评论