以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何在全局代码中定义一个数组变量?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153302)

--  作者:czy66ds
--  发布时间:2020/8/6 15:51:00
--  如何在全局代码中定义一个数组变量?
例如我在命令窗口中运行下面的代码
Dim Lst As New List(Of String)
For Each dr As DataCol In DataTables("爱信诺交通费用记录表").DataCols
Lst.Add(dr.Name )
Next
\'用ToArray方法,可以将集合转换为一个数组,例如:
Dim Arys() As String
Arys = Lst.ToArray() \'将集合转换为数组
For Each nm As String In lst
    Output.Show(nm)
Next

如何把Arys保存为全局代码

--  作者:有点蓝
--  发布时间:2020/8/6 15:57:00
--  
参考:http://www.foxtable.com/webhelp/topics/1842.htm

public Arys() As String


命令窗口中运行下面的代码
Dim Lst As New List(Of String)
For Each dr As DataCol In DataTables("爱信诺交通费用记录表").DataCols
Lst.Add(dr.Name )
Next
\'用ToArray方法,可以将集合转换为一个数组,例如:
Arys = Lst.ToArray() \'将集合转换为数组
For Each nm As String In lst
    Output.Show(nm)
Next

--  作者:czy66ds
--  发布时间:2020/8/7 9:39:00
--  
二楼代码可以写到全局代码里吗?
目的:Arys()被赋值

--  作者:有点蓝
--  发布时间:2020/8/7 9:43:00
--  
public Arys() As String

public sub adddate()
Dim Lst As New List(Of String)
For Each dr As DataCol In DataTables("爱信诺交通费用记录表").DataCols
Lst.Add(dr.Name )
Next
\'用ToArray方法,可以将集合转换为一个数组,例如:
Arys = Lst.ToArray() \'将集合转换为数组
For Each nm As String In lst
    Output.Show(nm)
Next
end sub


命令窗口
adddate()

--  作者:czy66ds
--  发布时间:2020/8/7 10:01:00
--  
谢谢
希望能自动运行adddate()
adddate()写在项目事件中可以吗?就是打开项目后,全局变量就有值了

--  作者:有点蓝
--  发布时间:2020/8/7 10:05:00
--  
放到afteropenproject事件即可
--  作者:czy66ds
--  发布时间:2020/8/7 10:21:00
--  
反馈:
经测试,放到AfterOpenProject不行
改为放到项目窗口AfterLoad的就可以了

--  作者:有点蓝
--  发布时间:2020/8/7 10:22:00
--  
AfterOpenProject不可能有问题的,除非表格没有加载
--  作者:czy66ds
--  发布时间:2020/8/7 10:27:00
--  
表格加载了,但是没有加载数据