Visual-Foxpro通用报表打印程序.doc

Visual-Foxpro通用报表打印程序.doc

ID:57646263

大小:31.00 KB

页数:6页

时间:2020-08-30

Visual-Foxpro通用报表打印程序.doc_第1页
Visual-Foxpro通用报表打印程序.doc_第2页
Visual-Foxpro通用报表打印程序.doc_第3页
Visual-Foxpro通用报表打印程序.doc_第4页
Visual-Foxpro通用报表打印程序.doc_第5页
资源描述:

《Visual-Foxpro通用报表打印程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VisualFoxpro通用报表打印程序  数据库报表程序是经常使用的,现在很多用户都使用报表设计器设计报表,且简单方便;但笔者在工作中遇到要对成百个数据库打印的情况,这些数据库除了字段名不相同外,其他结构信息基本相同,因此笔者就编制了如下的一个通用程序,供同行参考。settalkoffhh1=printstatus()setprintondowhile.not.hh1 ?"打印机未准备好,请准备好打印机" hh1=printstatus()enddosettalkoffsetdevicetoprintclea

2、ra1=getfile("dbf")&&打开打开文件对话框use"&a1"&&打开指定的文件n1=fcount()&&获取打开的库中的字段数dimensiona(n1)&&定义一个存放字段名的数组dimensionb(n1)&&定义一个存放字段宽度的数组k=1dowhilek<=n1 a(k)=field(k) k=k+1enddo&&将字段名赋给数组w=1dowhilew<=n1 b(w)=fsize(a(w))&&获取字段的长度 ifb(w)<6  b(w)=8 else  b(w)=b(w)+2 endi

3、f w=w+1enddodowhilenoteof() r1=1&&显示表头的第一行 m=1 col1=1 dowhilem<=n1  ifm=1   @r1,col1say"┌"+replicate("-",b(m))  else   ifm=n1    @r1,col1say"┬"+replicate("-",b(m))+"┐"   else    @r1,col1say"┬"+replicate("-",b(m))   endif  endif  col1=col1+b(m)  m=m+1 enddom=

4、1&&显示字段名行col1=1dowhilem<=n1 ifm=1  @r1+1,col1say"∣"+substr(a(m),1,6)+replicate("",(b(m)-len(a(m)))) else  ifm=n1   @r1+1,col1say"∣"+substr(a(m),1,6)+replicate("",(b(m)-len(substr(a(m),1,6))))+"∣"  else   @r1+1,col1say"∣"+substr(a(m),1,6)+replicate("",(b(m)-l

5、en(substr(a(m),1,6))))  endif endif col1=col1+b(m) m=m+1enddom=1&&由于字段多,一行不能完全显示整个行,因此分为两行显示字段名行col1=1dowhilem<=n1 ifm=1  @r1+2,col1say"∣"+substr(a(m),7) else  ifm=n1   @r1+2,col1say"∣"+substr(a(m),7)+replicate("",(b(m)-len(substr(a(m),7))))+"∣"  else   @r1+

6、2,col1say"∣"+substr(a(m),7)  endif endif col1=col1+b(m) m=m+1enddom=1&&显示字段名下面的一行表格线col1=1dowhilem<=n1 ifm=1  @r1+3,col1say"├"+replicate("-",b(m)) else  ifm=n1   @r1+3,col1say"┼"+replicate("-",b(m))+"┤"  else   @r1+3,col1say"┼"+replicate("-",b(m))  endif end

7、if col1=col1+b(m) m=m+1enddorow1=r1+4dowhile.not.eof()&&每页显示20个记录 m=1&&显示各记录的值 col1=1 dowhilem<=n1  iftype(a(m))="C"   ifm=1    @row1,col1say"∣"+&a(m)   else    ifm=n1     @row1,col1say"∣"+alltrim(&a(m))+replicate("",(b(m)-len(alltrim(&a(m)))))+"∣"    else  

8、   @row1,col1say"∣"+&a(m)    endif   endif  else   ifm=1    @row1,col1say"∣"+str(&a(m))   else    ifm=n1     @row1,col1say"∣"+alltrim(str(&a(m)))+replicate("",(b(m)-len(alltrim(str(&a(m))))))+"∣

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。