哪位大哥帮我看看下面动态更新趋势图的代码问题出在什么地方,不胜感激!
小弟想实现一个技术创新经费动态趋势分析的界面,在表单上有四个 check 控制分析"经费投入"表中的各指标(字段);
有一个 combo 判断选择打开表
yangbiao 中的"leixing"字段储存各种分析用的MS GRAPH 图表
系统为XP SP2, VFP6.0,
在上周运行时没有任何问题,趋势图正常显示
没有作任何改变,现在一运行就出现"内部一致性错误" ,接着就出现"致命错误 C0000005",退出VFP
在打上SP5的补丁后,就只出现"内部一致性错误",接着就什么都没了,死了,郁闷!
public biaoti,biaoti1
if not isblank(alltrim(thisform.combo1.value))
sele 1
thisform.dakaijftr &&打开 经费投入 表
sele 2
thisform.dakaiqysjgs &&打开 企业数机构数 表
dimension qiyeshu(reccount())
j=1
scan
qiyeshu(j)=dzxqys &&将"大中型企业数"的值记录下来
j=j+1
endscan
sele 1
dimension myarray1(reccount()),myarray2(reccount()),myarray3(reccount()),myarray4(reccount()),myarray5(reccount())
i=1
scan
myarray1(i)=nf && 记录"年份"
myarray2(i)=jsgzjf && 记录"技术改造经费"
myarray3(i)=myarray2(i)/qiyeshu(i) && 计算技术改造经费的企均值
if i=1
myarray4(i)=0
myarray5(i)=0
else
myarray4(i)=(myarray2(i)-myarray2(i-1))/myarray2(i-1) && 计算技术改造经费的增长率
myarray5(i)=(myarray3(i)-myarray3(i-1))/myarray3(i-1) && 计算技术改造经费企均值的增长率
endif
i=i+1
endscan
use yangbiao
do case
case thisform.check1.value+thisform.check2.value+thisform.check3.value+thisform.check4.value=0
messagebox("请选择分析指标!",48,"提示")
case thisform.check1.value+thisform.check2.value+thisform.check3.value+thisform.check4.value=1
GO 1
if thisform.check1.value=1
biaoti="总支出"
do tubiao with myarray1,myarray2
endif
if thisform.check2.value=1
biaoti="增长率"
do tubiao with myarray1,myarray4
endif
if thisform.check3.value=1
biaoti="企均值"
do tubiao with myarray1,myarray3
endif
if thisform.check4.value=1
biaoti="企均值增长率"
do tubiao with myarray1,myarray5
endif
case thisform.check1.value+thisform.check2.value+thisform.check3.value+thisform.check4.value=2
go 4
if thisform.check1.value=1
biaoti="总支出"
biaoti1="增长率"
do tubiao1 with myarray1,myarray2,myarray4
endif
if thisform.check3.value=1
biaoti="企均值"
biaoti1="增长率"
do tubiao1 with myarray1,myarray3,myarray5
endif
endcase
else
messagebox("请选择分析的地区!",48,"提示")
endif
tubiao 程序 :
parameters a,b
#DEFINE CRLF CHR(13)+CHR(10)
#DEFINE TAB CHR(9)
LOCAL shuju
bt=""
shuju=" "
for i=1 to alen(a)
bt=bt+Tab+alltrim(str(a(i)))
shuju=shuju+Tab+alltrim(STR(b(i),15,2))
ENDfor
bt=bt+CRLF
shuju=bt+biaoti+shuju+CRLF
SELECT yangbiao
APPEND GENERAL leixing DATA shuju && 将值赋予包含趋势图的通用型字段"leixing"中
return
tubiao1 程序:
parameters a,b,c
#DEFINE CRLF CHR(13)+CHR(10)
#DEFINE TAB CHR(9)
LOCAL shuju
bt=""
shuju=" "
shuju1=" "
for i=1 to alen(a)
bt=bt+Tab+alltrim(str(a(i)))
shuju=shuju+Tab+alltrim(STR(b(i),15,2))
shuju1=shuju1+Tab+alltrim(STR(c(i),15,2))
ENDfor
bt=bt+CRLF
shuju=bt+biaoti+shuju+CRLF+biaoti1+shuju1
SELECT yangbiao
APPEND GENERAL leixing DATA shuju
return