vb如何在带参数的子过程里调用另一个带参数的子过程

如题,本人最近在学习利用vb开发ARCGIS程序,渲染部分有一个BiUniqueValueRenderer过程,该过程需要调用两个子过程UniqueValueRenderer和ClassBreaksRenderer,两个子过程都需要参数,但是我不知道如何调用,请知道的大神赐教,为了说明问题我给一个比较简单的例子说明

Private Sub a_Click()
dd ‘在click事件里调用dd过程,提示必选参数,不知道这里应怎么写才对

End Sub

Private Sub cc(b As String)
bb = b
End Sub

Private Sub dd(a As String)
a = cc()
Print a
End Sub

Private Sub a_Click()
dd "这里面放入一个参数,具体是什么就要看你程序的目的了" '......(1)
End Sub

Private Function cc(b As String) '这里的b的值就是下面cc(a)中的a的值 (4)
cc = b '再把b的值作为返回值原样返回 (5)
End Function

Private Sub dd(a As String) '这里的a的值就是上面第二行dd后面的字符串 (2)
a = cc(a) '再把a作为参数传递给函数cc (3)
Print a '这里所打印的结果实际上就是上面dd后面的字符串 (6)
End Sub

你按照我上面括号里面的数字为顺序来理解追问

我的意思是能不能如何在过程里调用带参数的过程,如dd,cc是过程名,那
Private Sub a_Click()
dd (cc(参数)) 'cc(参数)作为dd的参数
End Sub
这样的写法对吗?还是应该怎么写,我试过很多次,带()和不带()都不行,请问正确的写法是怎样的?

追答

可以这样:
dd cc(参数) 'dd后面不要加括号,dd和cc之间要有个空格
或者这样:
Call dd(cc(参数)) '这种方式就必须加括号

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-27
Private Sub a_Click()
dd "2" ‘参数为字符串
End Sub

Private Sub cc(b As String)
bb = b
End Sub

Private Sub dd(a As String)
cc "3" 'cc不是函数,不能返回值给赋值语句,参数为字符串
Print a ‘a就直接打印显示?
End Sub
若满意请及时采纳,谢谢追问

我的意思是能不能如何在过程里调用带参数的过程,如dd,cc是过程名,那
Private Sub a_Click()
dd (cc(参数)) 'cc(参数)作为dd的参数
End Sub
这样的写法对吗?还是应该怎么写,我试过很多次,带()和不带()都不行,请问正确的写法是怎样的?

追答

Private Sub UniqueValueRenderer(a1 As Integer, b1 As Integer, c1 As Integer)
Print a1 * b1 + c1
End Sub

Private Function ClassBreaksRenderer(a1 As Integer, b1 As Integer) As Integer
ClassBreaksRenderer = a1 + b1 ’返回a1+b1得和给函数ClassBreaksRenderer
End Function
Private Sub Command1_Click()
UniqueValueRenderer 1, 2, ClassBreaksRenderer(1, 2) ‘函数调用返回数据
End Sub

ClassBreaksRenderer过程因为需要给UniqueValueRenderer返回参数,所以写成函数