注册 登录
编程论坛 VB6论坛

vb调用sub过程

南国嘉树 发布于 2015-11-02 18:20, 2215 次点击
n = Val(Text1.Text),范围为2~40
当text1中输入数字后,我想调用i<=n的所有sub loft()过程,已有sub loft1(),sub loft2()。。。。。。sub loft40()
这个程序应该怎么写
5 回复
#2
HVB62015-11-03 08:40
回复 楼主 南国嘉树
i的数值为多少?
#3
xiangyue05102015-11-03 09:38
我大概看懂楼主的意思了。
n = Val(Text1.Text),执行sub loft1~sub loftn。
不过好像是没有数组SUB。我能想到的几个方法。
1. sub loft1~n如果相似,可以考虑将其合并成一个Sub,
2. Select case或者if判断,语句较多。
3. Sub按顺序嵌套,每一个sub都写成
 sub loft1(i as integer)
   ……
   x=1
   if i>x then loft2(i )
 End Sub
都是笨办法,不知道其他人有什么高招没有
#4
风吹过b2015-11-03 09:49
按顺序按嵌套吧,每一个sub都写成

sub loft1(...)

end sub

sub loft2(...)
call loft1(...)

end sub

sub loft3(...)
call loft2(...)

end sub


调用顺序:
如,n=3时,
调用 loft3,然后loft3就自动调用loft2,而loft2也自动调用 loft1 ,达到这种调用目标。

-------------------------
4 ,使用 callbyname 方式调用。这是每四种方法。
把 loft1 到 loft40 写到一个类里面,然后
使用 callbyname(class1,"loft" & i ,vbMethod )
这样可以组合函数名, 使用循环来调用。
按我的理解,不推荐这种方法。
#5
xiangyue05102015-11-03 09:52
风版的Callbyname没有用过,学习了
#6
yxf1272015-11-03 16:01
建议用select case合并成一个方法
1