(2)表达式生成器
在运行时能用表达式生成器(调用方法是GETEXPR TO)生成过滤条件,将查询的记录过滤出来,在浏览窗口或报表中显示输出。
(3)定制查询屏幕
按例关系查询以及表达式生成器均需要用户有一定的FOXPRO运用基础。对于普通用户,需要构造出傻瓜是样的查询屏幕,用户填几个字符串或数值等,就可以找出相应的记录。
5 应用程序的结果输出
(1)BROWSE
BROWSE功能强大,即既可用于信息的录入,又可作为信息输出的载体。
(2)报表
FOXPRO的报表与FOXBASE中的报表相比增加了表格线的功能,更符合中文报表的习惯,制作报表较方便。但报表中的对象的定位稍显麻烦,编制—个报表所花的时间较多,并且,所定制的报表是相刘于某种大小的纸张的,纸张大小改变后不能自适应。
在FOXBASE以及在DOS下的FOXPRO中,要打印报表,通常是用“@.……SAY.……”语句编制程序实现,所生成的报表为文字型的报表。这种报表可以直接送往打印机输出,也可以存入一文本文件中,经其他字处理程序处理后输出。在早期,编制程序生成报表是非常麻烦的,系统开发中,大量的时间是用来编制报表程序。为了加快报表程序的编制,我们在实践中用DELPHI编制了自动生字符报表程序的工具。这些工具中,既有简单报表的快速生成接口,也有生成复杂纵横表头报表程序的工具。
由于CCED2000使得在WINDOWS图形用户界面输出字符型的报表非常方便,并且用我们自己的工具生成文字制表符型的报表的速度要比FOXPRO生成的图形报表的速度快得多,所以即便是现在,我们大量的报表仍采用的是字符型的报表。若文字报表已存入文件AUTOPRN.PRN中,用CCED2000打开文字报表的方法如下所示:
filename=sys(5)+sys(2003)+“\autoprn.prn”
run c:\cced2000\cced2000 & filename
(3)图表
在FOXPROW中,可以直接从数据库中提取数据生成柱状图、饼图等图表。方法是用COPY命令将图表中要用到的字段复制到一个临时数据库中,然后调用 FOXGRAPH向导即可。例如数据库ABC.DBF中含有“月份”、“产值”等10个字段,要求用“月份”、“产值”字段的值生成一柱状图。完成要求所需的代码如下所示:
use abc
copy to temp.dbf field 月份,产值
use temp
do(-foxgraph)
(4)用EXCEL生成报表
EXCEL可以直接打开FOXPROW2.5B的数据库进行后处理。要在FOXPRO中能调用EXCEL,要求在DOS的PATH路径中有EXCEL的搜索路径。例如用EXCEL打开数据库ABC.DBF(要求在FOXPRO中,先关闭该数据库)的代码如下:
filename=sys(5)+sys(2003)+“\abc.dbf”
run excel & filename
6 结语
为了加快应用系统的开发,我们自编了几个自动生成工具,使得开发一个应用的时间从原来的几个月的时间缩短半个月~1个月,开发效率成倍提高。桌面数据库仍有着广泛的市场,FOXPRO的应用系统开发前景广阔。