在VFP中如何自动生成统计图

在VFP中如何自动生成统计图

    一张漂亮的统计图能更加直观地反映数据的内在联系,利用VFP的图形向导,我们能够轻易地制作出统计图。但是,在应用程序中我们是不可能让用户自己设计统计图的。如何让VFP自动生成统计图呢?
  一、VFP对统计图的管理
  使用过图形向导的用户都知道,在最后的一步,VFP会提示你将图形保存到TABLE中,这是为什么?原来,VFP将作图的各种数据都放入一TABLE中,在这TABLE中,只有一个通用型字段OLEGRAPH。通过OLEGRAPH字段,利用OLE技术,系统自动调用MS-GRAPH进行作图。
  二、相关的函数
  在VFP中,使用DO(_GenGraph)with parameter1, parameter2, .....parameter9函数完成相关的绘图操作。其中,九个参数中大致含义如下(为节约篇幅起见,这里只介绍其主要的参数):

parameter1指明绘图操作是否为自动执行,如是,该参数的取值为“AutoGraph”。
Parameter2指明统计图形的类型:圆饼图、直方图等,分别用数值表示。
Parameter4设定统计图的标题。
Parameter8设定存放统计图数据的TABLE(表)。
Parameter9指明统计图的摆设方式:T表示将统计图放在FORM中。

  三、设计实例:
  假设有一数据库CZ.DBF,今欲根据上述资料作一统计图。其内容如下:

季度产值
一季度1200
二季度3500
三季度2300
四季度4600
   
  1.建立一TABLE(表)GRAPH1.dbf,里面只能有一字段OLEGRAPH,类型为通用字段。
  2.新建一表单FORM1,将CZ.DBF和GRAPH1.DBF引入该表单的数据环境,并将GRAPH1.DBF的EXCLUSIVE设为真值T。
  3.在FORM1中添加一OLEBOUNDCONTROL对象,设定其CONTROLSOURCE为GRAPH1.OLEGRAPH。同时加入一按钮,设定其标题为“绘图”。
  4.为了保持图形的动态更新(不受GRAPH1中的“老”数据影响),在FORM的ACTIVE
事件中加入如下代码:
  set safe off
  sele graph1
  zap
  set safe on
  5.在“绘图”对象的CLICK事件中,加入下述代码:
  wait ‘正在绘图,请稍候’window nowait
  sele cz
  sele 季度,产值 from cz into cursor tmp
  do (_gengraph ) with ‘autograph',;
  11,1,‘订单统计图’,1,1,1,‘graph1',.t.
  use in tmp
  thisform.oleboundcontrol1.refresh
  wait ‘绘图完毕!’window nowait

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值