Foxtable(狐表)用户栏目专家坐堂 → 自定义函数怎么实现参数缺省效果?


  共有2311人关注过本帖树形打印复制链接

主题:自定义函数怎么实现参数缺省效果?

帅哥哟,离线,有人找我吗?
luodang2050
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
自定义函数怎么实现参数缺省效果?  发帖心情 Post By:2016/8/24 0:46:00 [只看该作者]

Functions.Execute(函数名, a, , c)

如上,希望实现跟全局function中option参数效果一致,参数2不设置,直接按缺省值。


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/24 8:43:00 [只看该作者]

Dim a As String
If Args.Length > 0 Then a = Args(0)
Dim b As String
If Args.Length > 1 Then b = Args(1)

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2016/8/24 8:58:00 [只看该作者]

 在全局代码中写函数,跟VS写法一模一样

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/8/24 9:31:00 [只看该作者]

以下是引用Hyphen在2016/8/24 8:43:00的发言:
Dim a As String
If Args.Length > 0 Then a = Args(0)
Dim b As String
If Args.Length > 1 Then b = Args(1)
此种写法只能达到 (a,b,[c])的效果,并不能达到(a,,c)的效果

[此贴子已经被作者于2016/8/24 9:32:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/8/24 9:34:00 [只看该作者]

全局代码实现没问题,问题是希望写在自定义函数里面,这样便于管理,全局代码调试经常重启项目,太不方便了

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/24 9:40:00 [只看该作者]

道理是一样的啊,option一样不能跳过中间参数的

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/8/24 9:42:00 [只看该作者]

option可以跳过,如test(a,,c)
但自定义函数好像不能,如Functions.Execute("test",a,,c)


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/24 9:46:00 [只看该作者]

Functions.Execute("test",a,nothing,c),只能这样

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/24 9:47:00 [只看该作者]

不然就用object数组作为参数传递

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/8/24 9:50:00 [只看该作者]

Functions.Execute("test",a,nothing,c)
nothing用法好像还是有点区别,比如参数b缺省要求自动赋值为b2,当为“”时不认定为缺省,仍旧赋值为“”。nothing赋值进去会自动识别为“”,不能实现此种效果,不知有何解决方法

 回到顶部
总数 12 1 2 下一页