
用VB调用SURFER软件计算土方量时,先是自定义一个函数,不知道怎么调用 ,部分代码如下:
不知道怎么把它们串在一起呀,希望高手指点!这个自定义一直不知道怎么定义的!Dimresults()AsDoublesrf.GridVolumeupper:=topqgrd...
不知道怎么把它们串在一起呀,希望高手指点!这个自定义一直不知道怎么定义的!
Dim results() As Double
srf.GridVolume upper:=topqgrd, lower:=btmgrd, presults:=results, showreport:=False
'以下是观察土方量计算结果代码
dim simpson3/8 rule as double
simpsons3/8 rule=results(srfgvsimp38vol)
lablel.caption="土方量计算结果为:"+simpson3/8rule
其中的.GRD方件不知道怎么加进去?辛普森法则是否要编写代码呀!初学者呀,高手,高手帮帮我吧! 展开
Dim results() As Double
srf.GridVolume upper:=topqgrd, lower:=btmgrd, presults:=results, showreport:=False
'以下是观察土方量计算结果代码
dim simpson3/8 rule as double
simpsons3/8 rule=results(srfgvsimp38vol)
lablel.caption="土方量计算结果为:"+simpson3/8rule
其中的.GRD方件不知道怎么加进去?辛普森法则是否要编写代码呀!初学者呀,高手,高手帮帮我吧! 展开
2个回答
2011-09-23
展开全部
楼主大概问是的AS2。0的问题吧,2。0就简单了、
楼上XLZZC,是3。0的代码
function a(){
trace("OK")
}
setInterval(a,500)//500毫秒执行一个a函数
就这么简单,,,,,,
函数本来就不会自动调用,都是要用手动的,想在什么地方调用就在什么地方写上
a()//调用一次函数
或是
setInterval(a,500)//每500毫秒执行一个a函数
回楼主
第1个问题:是的,都能达到效果,只是a()只执行一次
第2个问题:可以改变setInterval(a,i),这样写i可以任意改变,那么周期也就可以改变了
第3个问题:额?不可能,,,,,,,是1秒输出2个OK,你可以把500改大一点看看,这样更容易看出效果,还有就是你只能出现一次setInterval(a,500),这个代码
第4个问题:是这样的,假设你只有5帧,那么播放头会再回到第一帧,那么就会再次运行一次setInterval(a,500),那么就是1秒出4个OK了,再运行一次的话就是6个OK了,要解决这个问题,必须改下代码了。。以“k=setInterval(a,500)”调用函数,然后再想删除调用时用clearInterval(k)。(比如你只有5帧,那么在第5帧上用那个删除,不过这样就没效果了,5帧只有5/12秒,不足500毫秒,就不会调用函数了,只有把500改小点,或是多做几帧了)
第五个问题:看上面那个问题吧,都说清楚了,
还有就是,不是为了得分才回答你的问题,你提问很专业,,,,,,
楼上XLZZC,是3。0的代码
function a(){
trace("OK")
}
setInterval(a,500)//500毫秒执行一个a函数
就这么简单,,,,,,
函数本来就不会自动调用,都是要用手动的,想在什么地方调用就在什么地方写上
a()//调用一次函数
或是
setInterval(a,500)//每500毫秒执行一个a函数
回楼主
第1个问题:是的,都能达到效果,只是a()只执行一次
第2个问题:可以改变setInterval(a,i),这样写i可以任意改变,那么周期也就可以改变了
第3个问题:额?不可能,,,,,,,是1秒输出2个OK,你可以把500改大一点看看,这样更容易看出效果,还有就是你只能出现一次setInterval(a,500),这个代码
第4个问题:是这样的,假设你只有5帧,那么播放头会再回到第一帧,那么就会再次运行一次setInterval(a,500),那么就是1秒出4个OK了,再运行一次的话就是6个OK了,要解决这个问题,必须改下代码了。。以“k=setInterval(a,500)”调用函数,然后再想删除调用时用clearInterval(k)。(比如你只有5帧,那么在第5帧上用那个删除,不过这样就没效果了,5帧只有5/12秒,不足500毫秒,就不会调用函数了,只有把500改小点,或是多做几帧了)
第五个问题:看上面那个问题吧,都说清楚了,
还有就是,不是为了得分才回答你的问题,你提问很专业,,,,,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
upper:=topqgrd和lower:=btmgrd就是分别指定上下表面的grd文件的。
surfer自动化帮助里面有这样一个例子:
SurferApp.GridVolume(Upper:=SurferApp.Path+"\Samples\demogrid.grd", Lower:=50, pResults:=Results, ShowReport:=True)
surfer自动化帮助里面有这样一个例子:
SurferApp.GridVolume(Upper:=SurferApp.Path+"\Samples\demogrid.grd", Lower:=50, pResults:=Results, ShowReport:=True)
更多追问追答
追问
再麻烦下,就是results是什么意思,前面的我都懂,这个运行时会提示SurferApp.GridVolume(Upper:=SurferApp.Path+"\Samples\demogrid.grd", Lower:=50, pResults:=Results, ShowReport:=True) 类型不匹配??results是不是一个自定义函数呀,用surfer我会的,直接这样编写代码不能运行??麻烦了!
追答
results是一个返回参数,类型为双精度数组。
类型不匹配?这个信息太少,我没有办法判断哪里有问题!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询