SBP ’½ RTPT.SBP - run-time property transfer tool ’’main() ’¾’ń’t ’”’œ’""’p ’Ā"This utility is to set the properties of form objects","You must have a form open to run it",139 ’^ ’ƒRTPT() ’’’” ’’’’ ’’RTPT() ’×dlg ’UDialog ’×control ’UDialogControl Superbase.Dialogs.Add("RTPT") ’Źdlg ’Superbase.Dialogs.RTPT dlg.Move(0,0,205,187) dlg.Caption’"Transfer properties" dlg.FontName’"MS Sans Serif" dlg.FontSize’8 dlg.OnActivate’"RTPTActivate" ’Źcontrol ’dlg.Add("DialogTextBox1","DialogTextBox") control.Move(34,1,166,13) control.ReadOnly’1 control.MaxLength’120 control.Enabled’0 control.ScrollEnable’2 ’Źcontrol ’dlg.Add("Form Name","DialogLabel") control.Move(4,3,30,8) control.Caption’"Form" ’Źcontrol ’dlg.Add("DlgLabel1","DialogLabel") control.Move(4,18,80,8) control.Caption’"Show Object Types" ’Źcontrol ’dlg.Add("FormObjTypes","DialogComboBox") control.Move(4,28,92,80) control.Style’2 control.ScrollBars’2 control.OnSelChange’"RTPTTypeChange" ’Źcontrol ’dlg.Add("FormObjects","DialogLabel") control.Move(4,42,60,8) control.Caption’"Form Objects" ’Źcontrol ’dlg.Add("FormObjectList","DialogListBox") control.Move(4,52,92,138) control.MultiSelect’1 control.ScrollBars’2 control.OnDblClick’"RTPTDblClick" ’Źcontrol ’dlg.Add("DialogLabel3","DialogLabel") control.Move(102,17,60,8) control.Caption’"Apply To:" ’Źcontrol ’dlg.Add("SetPropList","DialogListBox") control.Move(102,28,98,82) control.MultiSelect’1 control.ScrollBars’2 control.OnDblClick’"RTPTDblClick" ’Źcontrol ’dlg.Add("DialogLabel4","DialogLabel") control.Move(102,112,69,8) control.Caption’"Property" ’Źcontrol ’dlg.Add("DialogComboBox1","DialogComboBox") control.Move(102,121,98,80) control.Style’2 control.ScrollBars’2 control.OnSelChange’"RTPTPropChange" ’Źcontrol ’dlg.Add("DialogLabel5","DialogLabel") control.Move(102,137,69,8) control.Caption’"Set To" ’Źcontrol ’dlg.Add("DialogTextBox2","DialogTextBox") control.Move(102,147,98,13) control.ScrollEnable’2 control.MaxLength’255 ’Źcontrol ’dlg.Add("EnumTypes","DialogComboBox") control.Move(102,147,98,80) control.Style’2 control.ScrollBars’2 control.Visible’0 ’Źcontrol ’dlg.Add("RTPTSet","DialogCommandButton") control.Move(102,168,47,14) control.Default’1 control.Caption’"&Set" control.ReturnValue’0 control.Cancel’1 control.OnClick’"RTPTSet" ’Źcontrol ’dlg.Add("RTPTClose","DialogCommandButton") control.Move(153,168,46,14) control.Caption’"&Close" control.ReturnValue’0 control.Cancel’1 dlg.SetActive() dlg.Delete() ’’’’ ’’RTPTActivate() ’×frm ’UForm ’×cb ’UDialogComboBox ’Źfrm ’Superbase.ViewWindow.Form me.Controls("DialogTextBox1").Text ’frm.FileName ’½ Load object type combo with all SB objects whose parent type is FormControl ’Źcb ’me.controls("FormObjTypes") cb.AddItem("FormControl") cb.Text’"FormControl" ’›m%%’0’qSuperbase.Model.TypeCount’1 ’”(Superbase.model.supertype(m%%)’"FormControl")’p cb.AddItem(Superbase.model.TypeName(m%%)) ’’’” ’± ’’’’ ’’RTPTTypeChange() ’½ First load all form controls into an array ’×control ’UDialogControl ’×frm ’UForm ’×cb ’UDialogComboBox ’Źcb ’me.parent.controls("FormObjTypes") ’Źfrm ’Superbase.ViewWindow.Form ’Źcontrol ’me.Parent.Controls("FormObjectList") control.list.clear() ’›i%%’1’qfrm.Controls.Count ’”cb.Text’"FormControl"’ cb.Text’frm.Controls(i%%).Type ’p control.AddItem(frm.Controls(i%%).Name ’" ("’frm.Controls(i%%).Type ’")") ’’’” ’± ’½ this is the fun bit - load all *writeable* properties for ’½ currently selected object type in FormObjectList combo ’½ Type 30=form control memtype%%’30 ’›m%%’0’qSuperbase.Model.TypeCount’1 ’”(Superbase.model.typename(m%%)’cb.Text)’p memtype%%’m%% m%%’Superbase.Model.TypeCount ’’’” ’± ’Źcontrol ’me.Parent.Controls("DialogComboBox1") control.list.Clear() ’›i%%’0’qSuperbase.model.membercount(memtype%%)’1 ’”Superbase.model.memberwriteable(memtype%%,i%%)’p control.AddItem(Superbase.model.membername(memtype%%,i%%)) ’’’” ’± ’Źcontrol ’me.parent.controls("SetPropList") control.list.clear() ’’’’ ’’RTPTDblClick() ’×dlg ’UDialog ’×lb ’UDialogListBox ’Źdlg ’me.parent gotfirst%%’0 gotme%%’0 ’›i%%’1’qdlg.Controls.Count ’”me.name’dlg.controls(i%%).name ’p gotme%%’’1 ’^’”dlg.controls(i%%).type ’"DialogListBox"’p ’”dlg.controls(i%%).OnDblClick ’"RTPTDblClick"’p ’”(gotfirst%%’0)’ gotme%%’p  ’Źlb ’dlg.controls(i%%)  gotfirst%%’’1 ’’’” ’”gotme%%’p  i%%’dlg.Controls.Count ’’’” ’’’” ’’’” ’± ’”lb.name’""’p sel%’me.GetSelected(0) ’Ųsel%’0 lb.AddItem(me.List(sel%)) me.RemoveItem(sel%) sel%’me.GetSelected(0) ’Ł ’’’” ’’’’ ’’RTPTPropChange() ’×lb ’UDialogListBox ’×tb ’UDialogControl ’×cb ’UDialogComboBox ’Źcb ’me.parent.controls("FormObjTypes") ’×frm ’UForm ’Źfrm ’Superbase.ViewWindow.Form ’Źlb ’me.parent.controls("SetPropList") ’”lb.GetSelected(0)’0’p item$’lb.List(lb.GetSelected(0)) ’^ item$’lb.List(1) ’’’” ’Źtb’me.parent.controls("EnumTypes") tb.list.clear() memtype%%’30 ’›m%%’0’qSuperbase.Model.TypeCount’1 ’”(Superbase.model.typename(m%%)’cb.Text)’p memtype%%’m%% m%%’Superbase.Model.TypeCount ’’’” ’± ’›i%%’0’qSuperbase.model.membercount(memtype%%)’1 ’”Superbase.model.membername(memtype%%,i%%)’me.Text’p memnum%%’i%% i%%’Superbase.model.membercount(memtype%%) ’’’” ’± enum%%’Superbase.model.MemberEnumCount(memtype%%,memnum%%) ’”enum%%’0’p tb.Visible’0 ’Źtb ’me.Parent.Controls("DialogTextBox2") ’^ tb.Height’20’enum%%’8 me.Parent.Controls("DialogTextBox2").Visible ’0 ’›i%%’0’qenum%%’1 tb.AddItem(Superbase.model.MemberEnum(memtype%%,memnum%%,i%%)) ’± ’’’” tb.Visible’’1 ’”item$’""’p item$’’F(’+(item$,’?(item$,"(")’1)) superbase.Error(335)’0 Superbase.ClearLastError() ’–"tb.text = frm.controls(~"’item$’"~)."’me.Text ’”Superbase.LastError’335’p ’–"tb.text = STR$(frm.controls(~"’item$’"~)."’me.Text’",~~)" ’’’” ’’’” ’’’’ ’’RTPTSet() ’×lb ’UDialogListBox ’×tb ’UDialogControl ’×frm ’UForm ’×fo ’UObject ’×cb ’UDialogComboBox ’Źfrm ’Superbase.ViewWindow.Form ’Źlb ’me.parent.controls("SetPropList") ’Źtb ’me.parent.controls("DialogTextBox2") ’”’Otb.visible’p ’Źtb ’me.parent.controls("EnumTypes") eq%%’’1 ’’’” ’Źcb ’me.parent.controls("DialogComboBox1") ’Ź’_’e’t Superbase.ClearLastError() ’›i%%’1’qlb.ListCount item$’’F(’+(lb.List(i%%),’?(lb.List(i%%),"(")’1)) ’Źfo ’frm.controls(item$) ’”eq%%’p tbtext$’’+(tb.Text,’?(tb.Text,"=")’1) ’^ tbtext$’tb.Text ’’’” ’”’Oisnum%%’p ’–"fo."’cb.Text’" = tbtext$" ’”’&’336’pisnum%%’’1 ’’’” ’”isnum%%’p ’–"fo."’cb.Text’" = VAL(tbtext$)" ’’’” ’± ’Ź’_’³’t ’É’ęSuperbase.LastError ’ę335,336,0 ’½ do nothing ’ę’^ ’Ā"Error: "’’((Superbase.LastError),"",113 ’’’ę ’’’’