Set SurferApp = CreateObject("Surfer.Application") '创建surfer对象 --------提示出错
SurferApp.Visible = False 'surfer软件不在前台显示,如改为ture就会看到sufer软件处理过程,不美观
SurferApp.GridData DataFile:="D:\出图程序\温度、雨量\Rainfall_60min\datfile\温度.dat", xCol:=1, yCol:=2, zCol:=3, Algorithm:=2, DupMethod:=2, ShowReport:=False, OutGrid:=App.Path &"\差值后.grd", xMin:=105.589, xMax:=106.125, yMin:=28.95, yMax:=29.56, NumCols:=1500, NumRows:=1500
'SurferApp.GridData DataFile:="D:\web\hrw\Rainfall_10min\datfile\雨量.dat", xCol:=1, yCol:=2, zCol:=3, Algorithm:=2, DupMethod:=2, ShowReport:=False, OutGrid:=App.Path &"\差值后.grd", xMin:=105.589, xMax:=106.125, yMin:=28.95, yMax:=29.56, NumCols:=1500, NumRows:=1500
'是利用 VB 代码控制 Surfer 来绘制等值线,生成一个空白的绘图页。用Kriging(克里格)法将资料内插到网格点上,并定义网格的最大(小)经纬度,Datefile为包含路径的文件名,这里为雨量数据文件,Outgrid 为数据插之后的输出文件。
SurferApp.GridBlank InGrid:=App.Path &"\差值后.grd", BlankFile:=App.Path &"\永川边界.bln", OutGrid:=App.Path &"\差值后.grd"
'用.bln 文件白化等值线,去掉边界外的插值, 并重新保存,为后面绘制等值线做准备。
Set Plot = SurferApp.Documents.Add(1)
Set ContourMapFrame = Plot.Shapes.AddContourMap(App.Path &"\差值后.grd ")
'生成一个空白的绘图页,并在空白绘图页上生成白化后的等值线图,并指定其文件名为ContourMapFrame。
'Set ContourMapFrame = plot.Shapes.AddContourMap("D:\dat.grd") '生成一个等值线图
Set ContourMap = ContourMapFrame.Overlays(1)
ContourMap.Levels.LoadFile (App.Path &"\温度.lvl")
'降水等级文件可根据实际情况调整,以绘出较为美观的图形。
楼主大概问是的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改小点,或是多做几帧了)
第五个问题:看上面那个问题吧,都说清楚了,
还有就是,不是为了得分才回答你的问题,你提问很专业,,,,,,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)