- 一级建造师考试
- 二级建造师考试
- 三支一扶
- 安全评价师考试
- 保险经纪资格考试
- 报关员资格考试
- 博士入学考试
- 成人高考
- 成人英语三级考试
- 程序员考试
- 出版专业资格考试
- 大学英语三级
- 大学英语四六级考试
- 单证员考试
- 导游证考试
- 电气工程师
- 电子商务设计师考试
- 房地产经纪人考试
- 房地产评估师考试
- 高级会计师资格考试
- 高考
- 高中会考
- 给排水工程师
- 公共英语等级考试
- 公务员考试
- 国际货运代理
- 国际内审师
- 国家司法考试
- 化工师
- 环境影响评价师
- 会计人员继续教育
- 会计职称考试
- 基金从业资格
- 计算机等级考试
- 计算机软件水平考试
- 监理工程师考试
- 教师招聘
- 教师资格
- 结构工程师考试
- 经济师考试
- 考研
- 空姐招聘
- 遴选
- 美术高考
- 普通话考试
- 期货从业资格
- 求职招聘
- 人力资源管理师
- 软件设计师考试
- 商务英语考试(BEC)
- 社会工作者职业水平考试
- 审计师考试
- 事业单位招聘
- 事业单位招聘
- 数据库系统工程师
- 特许公认会计师(ACCA)
- 同等学力
- 统计师考试
- 托福考试(T0EFL)
- 外贸跟单员考试
- 网络工程师考试
- 网络管理员考试
- 网络规划设计师考试
- 系统分析师考试
- 消防工程师
- 小升初
- 校园招聘
- 信息系统管理工程师考试
- 选调生考试
- 雅思考试
- 岩土工程师考试
- 医生招聘
- 艺术高考(艺考)
- 银行从业人员资格
- 银行招聘
- 英语翻译资格考试
- 营销师考试
- 造假工程师考试
- 证券从业资格考试
- 中考
- 注册安全工程师考试
- 注册测绘师考试
- 注册城市规划师考试
- 注册环保工程师考试
- 注册会计师考试
- 注册计量师考试
- 注册建筑师考试
- 注册税务师考试
- 注册资产评估师
- 专升本考试
- 专业英语四级八级考试
- 自考
- 安全员
- 跟单员
- 考试一本通
- 其它资料
1 项目管理器
项目管理器引入项目概念后,使开发人员从应用系统中各类文件繁琐的
管理中解脱出来,从而有更多的时间用于模块开发:项目管理器有如下优点 :
(1)只要将应用系统的主控模块(通常是菜单)放入项目管理器中,在生成项目
时,能将应用系统中几乎所有的文件都纳入其中,方便程序模块的修改、调
试;(2)通过其可以方便地创建可执行文件,并且在编译时具有自动更新项目
中各组成部分的版本的功能。
在使用项目管理器时应注意:(1)尽可能地使用“原”文件(MNX、SCX 等),
而不使用由生成器转换以后的程序文件(MPR、SPR 等),以便在菜单、屏幕
等更新后,执行项目管理器中的“BUILD””按钮时能自动作相应的转换;在程
序中调用菜单或屏幕时,调用扩展名为 MPX 或 SPX 的文件而不是扩展名为
MPR 或 SPR 的文件。(2)若一个应用中的大部分模块都已定型,只是个别模
块在使用中变化。如我们编制的《工资管理系统》中的统计模块,该模块的
修改(二次开发)较简单,系统的使用人员也可以胜任。这要求在编译的可执
行文件中不含该模块,实现的方法是:利用 FOXPRO“PROJECT”菜单中的
“EXCLUD”E”菜单条对项目管理器中的该模块作标记,然后执行“ PROJECT”
菜单中的“PACK””功能,再重新编译项目即可。外部模块是 FXP 类型的文件,
在安装时,注意将外部模块文件放在应用系统 EXE 文件所在的目录中。
2 FOXPRO 程序的龙头——菜单
程序通常由多个功能模块组成,可以通过屏幕中排列的一系列按钮等对
象来调用这些模块,但通常用菜单将各功能模块融合在一起形成整体。为此 ,
我们用 D”ELPHI 编制了这种菜单的自动生成器。
FOXPRO 中提供了与 WIND”OWS 图形用户界面一致的条形菜单、弹出菜
单,并提供了相应的自动生成工具(GENMENU.FXP)。这种菜单的特点是:菜
单容许是多层次的;运行时菜单可以动态变化;功能模块可以直接含在菜单中,
使得由一个菜单程序构成一个应用系统成为可能;可以直接使用一些通用功能,
如新建文件、复制、粘贴等。这种形式的菜单,初次使用时往往会产生只运
行一次就退出菜单的情况,可以用以下的办法解决:
(1)在菜单开始(SETUP)代码最后加入如图 1 所示循环起始语句:
do while.t.
(2)菜单的清楚(CLEANUP)代码如下所示:
read valid.f.
enddo
(3)退出菜单程序的代码如下所示:
close database
clear all
set sysmenu to default
cancel
应 用 系 统 中 常 常 要 用 应 用 的 名 称 代 替 FOXPROW 主 窗 口 中 的 标 题
“microsoft foxprow”,实现方法是在菜单开始(SETUP)代码的前面加入类似
如下所示代码:
modify window screen at 4,6 size 36,147;
title“物资材料管理程序”
font“ms sans serif”,8 float close minimize
move window screen center
zoom window screen max
FOXBASE 的下拉菜单(meun bar.……read menu to)是一种单任务性质
的,在执行一个具体的模块时,菜单隐去,控制权在所执行的模块,不会发
生模块的重复执行。而 FOXPRO 的条形菜单具有多任务的性质,同一模块,
可重复执行,有时需要利用这一功能,但多数情况下是不需要的,这是因为
同一模块或同时活动的多个模块经常处理的是同一类数据库或表,这样可能
会因产生冲突而出错。因此,通常要求在执行一个模块时,不容许使用相同
数据库文件的其他模块执行。这可以通过在菜单开始 (SETUP)代码引入若干
逻辑型内存变量,在菜单条中使用 SK”IP 属性来实现。通过这种方式,可以
使模块之间产生关联。
3 应用程序的信息输入
(1)屏幕生成器
屏幕和菜单类似,都有开始 (SETUP)、清除(CLEANUP)两个代码段,通
过他们可以设置相应的环境或在屏幕(或菜单)退出时恢复环境。虽可以通过
屏幕生成器中的 “ENVIRON-MEXT”按钮中的“SAVE”功能保存开发时的环境,
但此功能有限,不便于进行复杂的设置,且其保存的开发时的环境可能与运
行时不同,导致程序运行时出错。所以,建议编程人员不要用此功能,而使
用前者。
屏幕中编写代码时,有两个层次,即屏幕层和屏幕中的对象层。通常的
处理均可在对象层次中解决。屏幕层次中通常只使用开始 (SETUP)、清除
(CLEANUP)两个代码段,其他的代码段通常在多窗体、多屏幕中用到。在对
象层次中,通常也只需要编写“VALID””代码。
(2)功能强大的 BROWSE
使用过 EXCEL 的人都习惯对纵横表进行操作,这样操作直观、自然。在
FOXPROW 中,用 BROWSE 可以实现类似的功能。若要用 BROWSE 对表进行
任意操作,用下面简单的命令即可:
use
browse title
这样的操作,表中的数据是不安全的,有必要对表的浏览操作加以限制。
如 在 BROWSE 命 令 中 有 选 择 性 的 加 入 NOD”ELETE、NOAPPEND”、NOMOD”IFY,就可以对“加删除标志”或“追加记录”或“修
改记录”加以限制。
borwse titile nodelete noappend nomodity
(注:这条命令只能显示表的内容,不容许对表进行修改)
有时,表的字段名是西文字段名,或虽是中文字段,但表达的意思不易
理解时,在浏览时需要给出易于识别的表头,这时就需要使用“:H=””的字
段名修饰如下所示:
browse field name:h=”“姓名”
(注:这里 name 是西文字段名,在显示时用“姓名”替换)
在 BROWSE 命令中加入 NOMOD”IFY 将锁定所有的字段,不容许修改。
但通常的情况只要求锁定关键字段、关联字段,这时就不能用 NOMOD”IFY,
而要用“: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)BROWSE
BROWSE 功能强大,即既可用于信息的录入,又可作为信息输出的载体。
(2)报表
FOXPRO 的报表与 FOXBASE 中的报表相比增加了表格线的功能,更符合
中文报表的习惯,制作报表较方便。但报表中的对象的定位稍显麻烦,编制
—个报表所花的时间较多,并且,所定制的报表是相刘于某种大小的纸张的,
纸张大小改变后不能自适应。
在 FOXBASE 以及在 D”OS 下的 FOXPRO 中,要打印报表,通常是用“@.…
…SAY.……”语句编制程序实现,所生成的报表为文字型的报表。这种报表
可以直接送往打印机输出,也可以存入一文本文件中,经其他字处理程序处
理后输出。在早期,编制程序生成报表是非常麻烦的,系统开发中,大量的
时间是用来编制报表程序。为了加快报表程序的编制,我们在实践中用
D”ELPHI 编制了自动生字符报表程序的工具。这些工具中,既有简单报表的
快速生成接口,也有生成复杂纵横表头报表程序的工具。
由于 CCED”2000 使得在 WIND”OWS 图形用户界面输出字符型的报表非常
方便,并且用我们自己的工具生成文字制表符型的报表的速度要比 FOXPRO
生成的图形报表的速度快得多,所以即便是现在,我们大量的报表仍采用的
是字符型的报表。若文字报表已存入文件 AUTOPRN.PRN 中,用 CCED”2000
打开文字报表的方法如下所示:
filename=”sys(5)+sys(2003)+“autoprn.prn”
run c:cced2000cced2000 & filename
(3)图表
在 FOXPROW 中,可以直接从数据库中提取数据生成柱状图、饼图等图
表。方法是用 COPY 命令将图表中要用到的字段复制到一个临时数据库中,
然后调用 FOXGRAPH 向导即可。例如数据库 ABC.D”BF 中含有“月份”、“产值”
等 10 个字段,要求用“月份”、“产值”字段的值生成一柱状图。完成要求所需
的代码如下所示:
use abc
copy to temp.dbf field 月份,产值
use temp
do(-foxgraph)
(4)用 EXCEL 生成报表
EXCEL 可 以 直 接 打 开 FOXPROW2.5B 的 数 据 库 进 行 后 处 理 。 要 在
FOXPRO 中能调用 EXCEL,要求在 D”OS 的 PATH 路径中有 EXCEL 的搜索路径。
例如用 EXCEL 打开数据库 ABC.D”BF(要求在 FOXPRO 中,先关闭该数据库)的
代码如下:
filename=”sys(5)+sys(2003)+“abc.dbf”
run excel & filename
6 结语
为了加快应用系统的开发,我们自编了几个自动生成工具,使得开发一
个应用的时间从原来的几个月的时间缩短半个月~1 个月,开发效率成倍提
高。桌面数据库仍有着广泛的市场,FOXPRO 的应用系统开发前景广阔。
温馨提示:当前文档最多只能预览 2 页,此文档共4 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
下载需知:
1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读
2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改
3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载
4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉
点击加载更多评论>>