Visual FoxPro6.0 通用制表程序

时间:2022-09-23 05:34:29

Visual FoxPro6.0 通用制表程序

摘要:关系型数据库visual foxpro6.0虽然应用很广泛,但其也存在不甚完美之处,Visual FoxPro6.0不能有一个通用的,无论数据库怎样修改,都能打印出有横线、竖线的标准报表。本程序用Visual FoxPro6.0的系统语言写成,使用者不必关心库中字段的个数及字段长度和字段名,只要输入库名及其它一些少许的提示信息,最后都能得到一张满意的表格。

关键词:数据库;通用制表程序;程序简介;程序框图

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)22-731-02

1 引言

近年来,关系型数据库Visual FoxPro6.0在我国的推广应用,已经取得了良好的经济效益和社会效益。它在企业管理、财务管理、仓库管理、档案管理等方面都有独特的优点。

然而,Visual FoxPro6.0也有不甚完美之处,其报表输出功能不甚完善就是其中之一。在这方面它的主要缺点是:不能有一个通用的,无论数据库怎样修改(比如:增加或减少字段、改变字段长度或字段名称),都能打印出有横线、竖线的标准报表。这无疑给众多的Visual FoxPro6.0用户在报表输出方面增加了一些麻烦。

考虑到不同管理甚至同一管理工作中库结构的多样性,作者编制了这个数据库通用制表程序。经过一些单位的试用,反应良好。

该程序对Visual FoxPro6.0的库文件不管其结构如何都适用。使用者不必关心库中字段的个数及字段长度和字段名,只要输入库名及其它一些少许的提示信息,最后都能得到一张满意的表格。

2 程序简介

本程序用Visual FoxPro6.0的系统语言写成,调试后编译成了可执行文件(长度为114K)。程序运行后,先出现一些提示信息,诸如:

输入库名:若输入的库文件不存在,程序将给出信息:“无此文件,继续吗?(Y/N)”,等待用户作出选择。

输入表头名称:提示用户从键盘上输入报表的表头。如附表(在后)中的“部分药品价目表”。不论表头长短,它始终被打印在报表上方的中间位置。

输入表头字型代码及正文字型代码:表头及正文的字型可以不一样,一般总是让表头的字适当地大一些。

输入制表单位名称及制表日期:其中制表单位名称(或制表人姓名)被打印在表的左上方,制表日期被打印在表的右上方位置。

输入起始打印记录号:询问制表者从哪一个记录开始打印。

输入页记录数:询问一页打印多少条记录。

输入打印份数:询问同一页需要打印多少份。(每份都打有表头)

打印是否有条件?(Y/N):询问是否打印满足某些条件的记录。若有条件(键入Y或y),随后程序将提示输入打印条件。比如:在档案库中只打印年龄大于50岁的人员简况,可输入条件:年龄>50。若无条件(键入N或n),库中所有的记录均被打印。

提示信息输入完后,程序自动地将欲打印库中的所有字段在C及T上显示出来,让制表者选择哪些字段要打印(用Y或y回答),哪些字段不打印(用N或n回答)。经过数据处理后,程序将根据制表者的要求将要打印的字段和记录分页打出,直至最后一条记录。与此同时程序还自动地按字段的长度加画横、竖线。每页的最后还打有“共x页”“第x页”,供制表者填写。下表就是利用本程序打印的一张表格。

表1 部分药品价目表

3 程序的实现方法及程序框图

本程序主要是将库文件变换成结构文件,当制表者把要打印的字段选择好后,程序再将不需打印的字段从结构库中删除,随后,程序再根据结构库生成一个新的数据库并将满足打印条件(如果有条件)的记录追加到新库中,后面的操作都是在结构库和新库中进行的。程序运行结束后再将结构文件和新库一并删除。

程序框图如下:

上一篇:交换编程技术在软件开发中的应用 下一篇:一种新的基于纹理边缘检测的虹膜定位算法