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


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

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

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
[求助] 追问:代码自动完成与代码精灵,获取枚举值  发帖心情 Post By:2016/1/12 15:06:00 [只看该作者]

单纯的输入部分代码,然后自动补全代码,是比较简单的。

圆点调出属性或方法、等号调出枚举值,再结合自动完成,要复杂的多了。

有没有比较简洁的方法,比如有什么好的、填充数据和调出数据都比较方便的表结构。

狐表的自动完成与代码精灵,是什么思路?最好能借鉴一下,省的绕弯路。


比如:

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

下面的枚举值,如何通过代码获取?
prt.BreakEnum.Column
prt.BreakEnum.Line
prt.BreakEnum.None
prt.BreakEnum.Page
[此贴子已经被作者于2016/1/12 16:17:40编辑过]

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


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

foxtable的。就是简单查表而已。

 

比如你定义了

 

Dim abc As String

 

然后你abc后的属性和方法,就直接查找 String 类型的属性和方法即可。


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


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

用代码获取属性方法也行。如

 

Dim o = Forms("窗口1")

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


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


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

说是这么说,真要把那么多的圆点,还有等号后的值,都填到查询表里,够费事的。

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


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

主要麻烦在于,一个类型定义后,得好几个点,才能扒出最后带圆点的枚举值。

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2016/1/12 15:31:00 [只看该作者]

狐表的自动完成是在ACCESS这个数据库下的,结构比较简单,想完成想要的属性,只要参考下填入相关列项就能完成了。
但是其实并不太好用,要填入的项太多了,你需要自己去维护,这显然很不方便。所以还是自动获取比较简单,代码量也少很多。


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


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

集思广益,狐友有啥高见,百花齐放。图片点击可在新窗口打开查看

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


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

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

用代码获取属性方法也行。如

 

Dim o = Forms("窗口1")

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


这个不错,连老底都挖出来了。


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


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

以下是引用lsy在2016/1/12 15:24: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

 


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


加好友 发短信
等级:童狐 帖子:223 积分:1386 威望:0 精华:0 注册:2015/12/26 16:57:00
  发帖心情 Post By:2016/1/12 15:51:00 [只看该作者]

代码放哪里

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