MSgraph.chart对象在VFP编程中的应用

时间:2022-08-28 07:44:44

【前言】MSgraph.chart对象在VFP编程中的应用由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(Jincheng Institute of Technology, Jincheng 048026, China) Abstract: VFP supports OLE technology, we can insert MSgraph.chart objects into general type fields of dbf, and implement dynamic display and printing statements function of statical graph ...

MSgraph.chart对象在VFP编程中的应用

摘要:vfp支持OLE技术,可采取将msgraph.chart对象嵌入dbf表通用型字段的办法,实现统计图表的动态显示和报表打印功能。

关键词:VFP;OLE;MSgraph.chart对象

中图分类号:TP311.13文献标识码:A文章编号:1009-3044(2008)35-2305-02

The Application of MSgraph.chart Objects in VFP Program

BI Wen-cai

(Jincheng Institute of Technology, Jincheng 048026, China)

Abstract: VFP supports OLE technology, we can insert MSgraph.chart objects into general type fields of dbf, and implement dynamic display and printing statements function of statical graph charts.

Key words: VFP; OLE; MSgraph.chart objects

1 引言

VFP是Microsift公司推出的面向对象可视化编程的数据库软件,以数据功能强、可视化程度高、简单易学等特点著称。但VFP的数据库却没有象Excel那样具有灵活方便的图表统计功能,要实现统计图表的显示和报表打印功能,必须使用OLE技术。

2 OLE技术与MSgraph.chart对象

OLE(Object Linking and Embedding)技术是Microsift公司提供的一种可在不同程序间进行对象连接和嵌入的技术,能完成多个不同程序间数据的交换,主要用于处理图片、声音、视频等数据的连接和嵌入。使用OLE技术可扩展VFP的功能,实现程序的快速开发[1]。

OLE技术是基于COM组件技术的应用,连接和嵌入的对象均来自于COM组件。MSgraph.chart对象来是自于Microsoft Graph 2000组件,可进行数据的图表统计,其主要的属性如下:

caption:图表的标题名。

controlsource:图表的数据源。

font.name:图表中文本的字体。

font.size:字体的字号。

charttype:统计图的类型。

haslegend:是否显示图例。

charttitle.font.fontstyle:字体加粗。

hastitle:图表中有无标题。

3 嵌入dbf表的通用型字段

dbf表的通用型字段,可通过APPEND GENERAL命令嵌入OLE对象,其语法格式如下:

APPEND GENERAL FieldName CLASS "MSgraph.chart" DATA cExpression[2]

参数说明:

FieldName:通用字段的字段名。

cExpression:OLE对象能接收的字符串。

下面通过一个例子来进行详细阐述。

tjb1是一个分年度分层次的毕业生预统计表,所有字段为字符型。

tjtb是只有一个通用型字段tp的dbf表。

将tjb1中的数据变为MSgraph.chart对象能够接收的数据:

#DEFINE CRLFCHR(13)+CHR(10)

#DEFINE TAB CHR(9)

tbt1=''

sele tjb1

for j=1 to fcount()

if j

tbt1=tbt1+allt(field(j))+tab

else

tbt1=tbt1+allt(field(j))+crlf

endif

endfor

for i=1 to recc()

go i

for j=1 to fcount()

zd=allt(field(j))

gd=allt(&zd)

if j

tbt1=tbt1+gd+tab

else

tbt1=tbt1+gd+crlf

endif

endfor

endfor

tbt1是MSgraph.chart对象能接收的数据,类型为字符型,内容和格式如下:

将tbt1数据所对应的统计图表嵌入tjtb表的通用型字段:

APPEND GENERAL tb CLASS "MSgraph.chart" DATA tbt1

4 统计图表的动态显示和报表打印

在一个表单中加入一个Activex绑定控件,在数据环境中加入两个表tjb1和tjtb,并用下列代码定义统计图表的属性,就可实现图表的动态显示。

thisform.ole1.controlsource="tb"

&&ole1为Activex绑定控件

thisform.ole1.hastitle=.t.

thisform.ole1.charttitle.caption="预计毕业生统计图"

thisform.ole1.charttitle.font.name="楷体"

thisform.ole1.charttitle.font.fontstyle = "加粗"

thisform.ole1.charttitle.font.size=16

ThisForm.ole1.charttype=54

thisform.ole1.haslegend=.t. && 显示图例

thisform.ole1.legend.font.name="宋体"

thisform.ole1.legend.font.size=10

thisform.ole1.axes(1).ticklabels.font.name="宋体"

thisform.ole1.axes(1).ticklabels.font.size=9

thisform.ole1.axes(2).ticklabels.font.name="宋体"

thisform.ole1.axes(2).ticklabels.font.size=9

统计图表如右图。

在报表中的数据环境中加入tjtb,在细节带区中加入一个OLE绑定控件,其图片来源设置为通用型字段:tjtb.tb,就可实现数据统计图表的报表打印。

参考文献:

[1] 张洪举.Visual Foxpro程序设计参考手册[M].北京:人民邮电出版社,2004.

[2] 夏辉,王冬.Visual Foxpro7.0命令手册[M].北京:清华大学出版社,2003.

上一篇:浅谈网络管理技术及发展趋势 下一篇:“VB程序设计”教学内容与效果的模糊分析

文档上传者
热门推荐 更多>