たとえば、特定のバンド、詳細、またはヘッダーのすべてのオブジェクトの配列を取得するにはどうすればよいですか?
以下を使用してすべてのオブジェクトを取得することに成功しました:
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