例如,如何获取特定波段、详细信息或标题中的所有对象的数组?
我成功使用以下方法获取所有对象:
dw_1.Describe("datawindow.objects")
例如,如何获取特定波段、详细信息或标题中的所有对象的数组?
我成功使用以下方法获取所有对象:
dw_1.Describe("datawindow.objects")
您需要获取datawindow.visualobjects
列出所有可见对象的属性,并且对于每个对象,您要求object_name.band
检查是否需要它。
一个重用PbniRegex(在下面的代码中提供uo_regex
对象)以简化属性解析的示例:
public function long of_get_band_controls (string as_band_name, ref string as_controls[]);
string ls_empty[]
int i, j
as_controls[] = ls_empty[]
uo_regex lnv_regex
lnv_regex = create uo_regex
lnv_regex.initialize( "([^\t]+)", true, false)
i = lnv_regex.search( describe("Datawindow.visualobjects") )
for j = 1 to i
if describe( lnv_regex.match( j ) + ".band" ) = as_band_name then
as_controls[ upperbound(as_controls[])+1 ] = lnv_regex.match( j )
end if
next
destroy lnv_regex
return upperbound( as_controls[] )
end function
该代码来自数据窗口继承对象,因此它可以直接访问该describe
方法。
我不知道获取该列表的任何直接方法,但是一旦您拥有完整的对象列表,您就可以查看它们并检查每个人的乐队:
ls_Obj = GetNextObjectFromList(ls_AllObjectsList)
ls_Band = dw_1.Describe(ls_Obj + ".band")
choose case ls_Band
case "detail"
// handle detail band objects
case "header"
// handle header band objects
// etc.
end choose