
运行时会提示results不匹配,这个是运用VB调用SURFER计算土方量的程序,谢谢各位高手帮帮忙!!
PrivateSubCommand1_Click()DimsurferappAsObjectSetsurferapp=CreateObject("Surfer.appli...
Private Sub Command1_Click()
Dim surferapp As Object
Set surferapp = CreateObject("Surfer.application") '生成一个surfer应用模块
Dim plotdoc As Surfer.IPlotDocument
Dim surfermap As Surfer.ISurface
Dim topgrid, outbottomgrid, strGridFile As String
Dim presults As Double
Dim simpsons38rule As Object
surferapp.GridData DataFile:="D:\surfer\Samples\DEMOGRID.DAT", xCol:=1, yCol:=2, zCol:=3, Algorithm:=srfKriging, _
showreport:=False, SearchEnable:=True, krigstddevgrid:="f:\11\surfer绘制等值线\dat22.grd", _
outgrid:="f:\11\surfer绘制等值线\dat22.grd", outfmt:=srfGridFmtS7 '控制surfer软件用克里金法插值法对指定数据进行插值,并把GRD文件存储到指定位置
surferapp.GridBlank ingrid:="f:\11\surfer绘制等值线\dat22.grd", blankfile:="f:\11\surfer绘制等值线\dat1.bln", _
outgrid:="f:\11\surfer绘制等值线\dat2.grd", outfmt:=srfGridFmtS7 '对所得DEM进行白化
Dim results() As Double
surferapp.GridVolume upper:="f:\11\surfer绘制等值线\dat2.grd", _
lower:=0, presults:=results, showreport:=True
Dim simpson38rule As Double
Set simpsons38rule = results(srfGVSimp38Vol)
Set lablel.Caption = "土方量计算结果为:" + simpson38rule
End Sub 展开
Dim surferapp As Object
Set surferapp = CreateObject("Surfer.application") '生成一个surfer应用模块
Dim plotdoc As Surfer.IPlotDocument
Dim surfermap As Surfer.ISurface
Dim topgrid, outbottomgrid, strGridFile As String
Dim presults As Double
Dim simpsons38rule As Object
surferapp.GridData DataFile:="D:\surfer\Samples\DEMOGRID.DAT", xCol:=1, yCol:=2, zCol:=3, Algorithm:=srfKriging, _
showreport:=False, SearchEnable:=True, krigstddevgrid:="f:\11\surfer绘制等值线\dat22.grd", _
outgrid:="f:\11\surfer绘制等值线\dat22.grd", outfmt:=srfGridFmtS7 '控制surfer软件用克里金法插值法对指定数据进行插值,并把GRD文件存储到指定位置
surferapp.GridBlank ingrid:="f:\11\surfer绘制等值线\dat22.grd", blankfile:="f:\11\surfer绘制等值线\dat1.bln", _
outgrid:="f:\11\surfer绘制等值线\dat2.grd", outfmt:=srfGridFmtS7 '对所得DEM进行白化
Dim results() As Double
surferapp.GridVolume upper:="f:\11\surfer绘制等值线\dat2.grd", _
lower:=0, presults:=results, showreport:=True
Dim simpson38rule As Double
Set simpsons38rule = results(srfGVSimp38Vol)
Set lablel.Caption = "土方量计算结果为:" + simpson38rule
End Sub 展开
展开全部
vb没有提示具体在哪一行有错?
第一:
你注意一下,程序里面simpson38rule和simpsons38rule是两个不同类型的变量,两个名字过于相近(就一个s的区别),很容易弄混。
results是一个double类型的数组,所以我个人认为最后两句直接写成下面两句就好:
simpson38rule = results(srfGVSimp38Vol)
lablel.Caption = "土方量计算结果为:" + simpson38rule
所以object类型的simpsons38rule根本没有用上。
第二:
presults是关键字,用不着定义,所以
Dim presults As Double
这句话是多余的。
第一:
你注意一下,程序里面simpson38rule和simpsons38rule是两个不同类型的变量,两个名字过于相近(就一个s的区别),很容易弄混。
results是一个double类型的数组,所以我个人认为最后两句直接写成下面两句就好:
simpson38rule = results(srfGVSimp38Vol)
lablel.Caption = "土方量计算结果为:" + simpson38rule
所以object类型的simpsons38rule根本没有用上。
第二:
presults是关键字,用不着定义,所以
Dim presults As Double
这句话是多余的。
2011-09-23
展开全部
用VB的内部函数 SHELL
用法 :SHELL ( "文件路径<注意:必须是EXE文件,当然要有完整的文件名>",参数<该参数主要是设置初始化状态>)
如果想打开其他文件(不是EXE文件)的话就要用到API函数SHELLEX
例如打开计算器:(计算器这个程序本身在C:\WINDOWS\SYSTEM32\文件夹下 所以可以不用输入完整的路径及文件名 只需要用CALC就行了)
shell "calc"(参数可以省略)
再例如打开D盘DOWNLOAD文件夹下的VB.EXE则用
SHELL "D:\DOWNLOAD\VB.EXE"
在SHELL 函数的文件名后加空格那么后面的字串则为命令行参数,假如D盘下的VB6.EXE就是VB的主程序 ,而在C盘有一个文件名为"工程1.VBP"那么使用
SHELL "D:\VB6.EXE C:\工程1.VBP"则在VB6.EXE启动的时候他自动加载"工程1.VBP"文件
用法 :SHELL ( "文件路径<注意:必须是EXE文件,当然要有完整的文件名>",参数<该参数主要是设置初始化状态>)
如果想打开其他文件(不是EXE文件)的话就要用到API函数SHELLEX
例如打开计算器:(计算器这个程序本身在C:\WINDOWS\SYSTEM32\文件夹下 所以可以不用输入完整的路径及文件名 只需要用CALC就行了)
shell "calc"(参数可以省略)
再例如打开D盘DOWNLOAD文件夹下的VB.EXE则用
SHELL "D:\DOWNLOAD\VB.EXE"
在SHELL 函数的文件名后加空格那么后面的字串则为命令行参数,假如D盘下的VB6.EXE就是VB的主程序 ,而在C盘有一个文件名为"工程1.VBP"那么使用
SHELL "D:\VB6.EXE C:\工程1.VBP"则在VB6.EXE启动的时候他自动加载"工程1.VBP"文件
追问
那我这个程序有什么问题呀!路径和这我个程序运行错误关系不是太大吧,我知道我这样麻烦,请你看看我这个问题到底出在什么地方,谢谢了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
高程=后视+后视点高程-前视高程。
根据设计图纸画个草图,标一下,宽度 深度,长度。这样就可以计算面积
根据设计图纸画个草图,标一下,宽度 深度,长度。这样就可以计算面积
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询