以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自定义函数的参数设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133245)

--  作者:chnfo
--  发布时间:2019/4/10 15:34:00
--  [求助]自定义函数的参数设置
字义函数“ABC”

dim x as string = args(0)
dim y as string = args(1)
dim z as string = args(2)

执行代码
有时候,调用函数,可能只需要输入x,y两个参数,而不需要用到z

其实,使用函数的时候是
Functions.Execute(“ABC”,x,y)

这时候,怎么定义这个函数的参数呢?

如果使用函数的时候不输z参数,那么就会报了错误:索引超出了数组界限


[此贴子已经被作者于2019/4/10 15:36:46编辑过]

--  作者:有点甜
--  发布时间:2019/4/10 16:34:00
--  

 

判断一下 args.length 的值,即可

 

 


--  作者:chnfo
--  发布时间:2019/4/21 10:11:00
--  
帮助里的“自定义函数”列了一个例子,是说明args.length的,
不过那是用来比较所有参数的大小。

比如说要按输入参数来计算结果
\'Dim a As Double = args(0)
\'Dim b As Double = args(1)
\'Dim k As Integer = args(2)
\'Dim c As Double = args(3)
\'
\'
\'Dim v As Double  = 0
\'If k = 0 Then
    \'v = a + b
\'Else
    \'v = a + b * C
\'End If
\'
\'Return v 
这样的函数在应用的时候,如果我用了Functions.Execute("函数",4,5,0)
也就是说第三个参数是0时,第4个参数就不用输了。
但直接这样执行是不行的,会报错

如果要达到上面所说的目的,这个函数该如何定义,用的时候又要怎么用呢
[此贴子已经被作者于2019/4/21 16:10:50编辑过]

--  作者:有点色
--  发布时间:2019/4/21 17:58:00
--  

判断,调用不同代码啊,如

 

If args.length = 1 Then

 

ElseIf arys.length = 2 Then

 

ElseIf arys.length = 3 then

 

End If