/*
DataWindow Object에 포함된 Control 정보 가져오기
*/
//integer of_getdwobjectlist ( DataWindow adw, ref str_dwobjectinfo astr_dwo )
String ls_Objects, ls_obj, ls_data
String sTab = '~t'
long lPos, irow
str_dwobjectinfo lstr_null[]
astr_dwo[] = lstr_null[]
ls_Objects = adw.Describe("DataWindow.Objects")
if Right(ls_Objects, Len(sTab)) <> sTab then ls_Objects += sTab
Do While lPos > 0
ls_obj = Left(ls_Objects, lPos - 1)
irow = UpperBound( astr_dwo[] ) + 1
astr_dwo[irow].dcolname = ls_obj
ls_data = adw.Describe(ls_obj+".visible")
if Trim(ls_data) = '' or IsNull(ls_data) or Trim(ls_data) = '?' then ls_data = '0'
if Left(ls_data,Len('"')) = '"' then ls_data = Mid(ls_data,2)
if Right(ls_data,Len('"')) = '"' then ls_data = Left(ls_data,Len(ls_data) - Len('"'))
astr_dwo[irow].dcolvisible = ls_data
ls_data = adw.Describe(ls_obj+".tabsequence")
if Trim(ls_data) = '' or IsNull(ls_data) or Trim(ls_data) = '?' then ls_data = '0'
if Left(ls_data,Len('"')) = '"' then ls_data = Mid(ls_data,2)
if Right(ls_data,Len('"')) = '"' then ls_data = Left(ls_data,Len(ls_data) - Len('"'))
astr_dwo[irow].dcoltabsequence = ls_data
ls_data = adw.Describe(ls_obj+".x")
if Trim(ls_data) = '' or IsNull(ls_data) or Trim(ls_data) = '?' then ls_data = '0'
if Left(ls_data,Len('"')) = '"' then ls_data = Mid(ls_data,2)
if Right(ls_data,Len('"')) = '"' then ls_data = Left(ls_data,Len(ls_data) - Len('"'))
astr_dwo[irow].dcolposx = ls_data
ls_data = adw.Describe(ls_obj+".y")
if Trim(ls_data) = '' or IsNull(ls_data) or Trim(ls_data) = '?' then ls_data = '0'
if Left(ls_data,Len('"')) = '"' then ls_data = Mid(ls_data,2)
if Right(ls_data,Len('"')) = '"' then ls_data = Left(ls_data,Len(ls_data) - Len('"'))
astr_dwo[irow].dcolposy = ls_data
ls_data = adw.Describe(ls_obj+".width")
if Trim(ls_data) = '' or IsNull(ls_data) or Trim(ls_data) = '?' then ls_data = '0'
if Left(ls_data,Len('"')) = '"' then ls_data = Mid(ls_data,2)
if Right(ls_data,Len('"')) = '"' then ls_data = Left(ls_data,Len(ls_data) - Len('"'))
astr_dwo[irow].dcolwidth = ls_data
ls_data = adw.Describe(ls_obj+".height")
if Trim(ls_data) = '' or IsNull(ls_data) or Trim(ls_data) = '?' then ls_data = '0'
if Left(ls_data,Len('"')) = '"' then ls_data = Mid(ls_data,2)
if Right(ls_data,Len('"')) = '"' then ls_data = Left(ls_data,Len(ls_data) - Len('"'))
astr_dwo[irow].dcolheight = ls_data
ls_data = adw.Describe(ls_obj+".type")
astr_dwo[irow].dobjtype = ls_data
choose case ls_data
case 'column'
astr_dwo[irow].dcoltype = adw.Describe(ls_obj+".coltype")
astr_dwo[irow].dobjtext = '-'
case 'text'
astr_dwo[irow].dcoltype = '-'
astr_dwo[irow].dobjtext = adw.Describe(ls_obj+".text")
case else
astr_dwo[irow].dcoltype = '-'
astr_dwo[irow].dobjtext = '-'
end choose
astr_dwo[irow].dobjband = adw.Describe(ls_obj+".Band")
ls_Objects = Mid(ls_Objects, lPos + Len(sTab))
lPos = Pos(ls_Objects, sTab)
Loop
return UpperBound( astr_dwo[] )
/* 구조체 정보 */
global type str_dwobjectinfo from structure
string dcolname
string dcolvisible
string dcoltabsequence
string dcolposx
string dcolposy
string dcolwidth
string dcolheight
string dcoltype
string dobjtype
string dobjband
string dobjtext
end type