Foxtable(狐表)用户栏目专家坐堂 → 关于函数请教


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

主题:关于函数请教

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
关于函数请教  发帖心情 Post By:2013/7/2 16:16:00 [只看该作者]

请教:

在一个事件中有一段代码会反复出现,为了让代码显得简洁,我只想调用某一段编码,我尝试过用添加自定义函数,但是自定义函数必须是完整的代码,而我只想调用某一小段代码,请问有没有其他方式可实现。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/2 16:17:00 [只看该作者]

一小段代码一样可以当作自定义函数使用啊,哪怕是一句代码也可以啊.

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/7/2 16:27:00 [只看该作者]

Bin老师,例如:
dim tabletmp1 as string = "表B"
dim deps as list(of string) = datatables("表a").GetUniqueValues("","仓库")
for each dep as string in deps
    tables(tabletmp1).addnew()
    tables(tabletmp1).current("仓库”) = dep
next

我想将红色部分代码用自定义函数代替,在新建自定义函数的时候,就不让保存,会提是tabletmp1dep等未被定义,像这样如何解决?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/2 16:29:00 [只看该作者]

参数是需要传递进去的. http://www.foxtable.com/help/topics/1486.htm


  tables(Args(0)).addnew()
    tables(Args(0)).current("仓库”) = Args(1)

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/2 16:31:00 [只看该作者]

函数代码:
 
tables(args(0)).addnew()
tables(args(0)).current("仓库”) = args(1)
 
调用语法:
 
dim tabletmp1 as string = "表B"

dim deps as list(of string) = datatables("表a").GetUniqueValues("","仓库")
for each dep as string in deps
     Functions.Execute("函数名",tabletmp1,dep)

next

 


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/7/3 8:52:00 [只看该作者]

OK,非常感谢二位长老相助

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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/7/3 9:41:00 [只看该作者]

以下是引用atmetmicoo在2013-7-2 16:27:00的发言:
Bin老师,例如:
dim tabletmp1 as string = "表B"
dim deps as list(of string) = datatables("表a").GetUniqueValues("","仓库")
for each dep as string in deps
    tables(tabletmp1).addnew()
    tables(tabletmp1).current("仓库”) = dep
next

我想将红色部分代码用自定义函数代替,在新建自定义函数的时候,就不让保存,会提是tabletmp1dep等未被定义,像这样如何解决?

个人觉得把这整段全封装成函数,效果会更好。整理下思路,形成一个通用的函数,比你单单封装2句话效果更好。


 回到顶部