Foxtable(狐表)用户栏目专家坐堂 → [求助] 追问:代码自动完成与代码精灵,获取枚举值


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

主题:[求助] 追问:代码自动完成与代码精灵,获取枚举值

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2016/1/12 15:57:00 [只看该作者]

以下是引用大红袍在2016/1/12 15:50:00的发言:

 

你定义abc之后,当写到 abc. 的时候就直接去查下String类型的属性和方法就行啊,很简单啊。

 

而且,你直接获取对象的属性和方法也很简单,类似3楼那样

 

Functions.remove("函数")
Dim Code As String
Code = "return gettype(datatable)"
Functions.Add("函数",Code)
Functions.Complie()
Dim o = Functions.Execute("函数")

For Each c As object In o.getproperties
    output.show(c.name)
Next
For Each c As object In o.getMethods
    output.show(c.name)
Next


这个方法,似乎比单纯的查询表省力。


谢谢。

 


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2016/1/12 16:16:00 [只看该作者]

比如:

Dim doc As New PrintDoc '定义一个报表
Doc.PageFooter.BreakAfter = 

下面的枚举值,如何通过代码获取?
prt.BreakEnum.Column
prt.BreakEnum.Line
prt.BreakEnum.None
prt.BreakEnum.Page

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/12 17:08:00 [只看该作者]

比较麻烦,你要用循环,或者递归,最后得出值

 

Functions.remove("函数")
Dim Code As String
Code = "return gettype(PrintDoc)"
Functions.Add("函数",Code)
Functions.Complie()
Dim o = Functions.Execute("函数")

 

Dim p = o.GetProperty("PageFooter")

Functions.remove("函数")
Code = "return gettype(" & p.PropertyType.tostring & ")"
Functions.Add("函数",Code)
Functions.Complie()
o = Functions.Execute("函数")

 

p = o.GetProperty("BreakAfter")

Functions.remove("函数")
Code = "return gettype(" & p.PropertyType.tostring & ")"
Functions.Add("函数",Code)
Functions.Complie()

o = Functions.Execute("函数")
msgbox(o.tostring)

 

Functions.remove("函数")
Code = "return gettype(" & o.tostring & ")"
Functions.Add("函数",Code)
Functions.Complie()
o = Functions.Execute("函数")
For Each c As object In  [Enum].GetValues(o)
    output.Show(c.Tostring)
Next


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2016/1/12 17:16:00 [只看该作者]

是够麻烦的,属性、方法、枚举值,也许要用代码获取加查询表的方式了。

谢谢。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/12 17:43:00 [只看该作者]

以下是引用lsy在2016/1/12 17:16:00的发言:
是够麻烦的,属性、方法、枚举值,也许要用代码获取加查询表的方式了。

谢谢。

 

哪里需要查询表啊?

 

比如你敲击.的时候,就截取这段 Doc.PageFooter.BreakAfter,然后分割出来。先获取doc的类型,然后获取PageFooter的类型,然后获取BreakAfter的类型,最后就能得到你要的属性方法等东西。


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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2021/1/10 21:39:00 [只看该作者]

大神过招,这贴被我翻出来了。:)
[此贴子已经被作者于2021/1/10 21:39:47编辑过]

 回到顶部
总数 16 上一页 1 2