123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417 |
- $PBExportHeader$w_dwprint_dynamic_saveas.srw
- forward
- global type w_dwprint_dynamic_saveas from w_publ_base
- end type
- type cb_export from uo_imflatbutton within w_dwprint_dynamic_saveas
- end type
- type st_1 from statictext within w_dwprint_dynamic_saveas
- end type
- type st_2 from statictext within w_dwprint_dynamic_saveas
- end type
- type sle_dw from singlelineedit within w_dwprint_dynamic_saveas
- end type
- type sle_chnname from singlelineedit within w_dwprint_dynamic_saveas
- end type
- type st_3 from statictext within w_dwprint_dynamic_saveas
- end type
- type ddlb_1 from dropdownlistbox within w_dwprint_dynamic_saveas
- end type
- type gb_2 from groupbox within w_dwprint_dynamic_saveas
- end type
- end forward
- global type w_dwprint_dynamic_saveas from w_publ_base
- integer width = 2491
- integer height = 788
- string title = "打印格式另存"
- boolean minbox = false
- windowtype windowtype = response!
- long backcolor = 67108864
- cb_export cb_export
- st_1 st_1
- st_2 st_2
- sle_dw sle_dw
- sle_chnname sle_chnname
- st_3 st_3
- ddlb_1 ddlb_1
- gb_2 gb_2
- end type
- global w_dwprint_dynamic_saveas w_dwprint_dynamic_saveas
- type variables
- s_edit_index_tran s_tran
- long flag = 0
- String ls_code
- end variables
- forward prototypes
- public function integer wf_save (ref string arg_msg)
- end prototypes
- public function integer wf_save (ref string arg_msg);Int rslt = 1
- Long ll_newid
- String dft_new_dwname,pblname,chnname
- Long old_dwprintid
- dft_new_dwname = Trim(sle_dw.Text)
- pblname = Trim(ddlb_1.Text)
- old_dwprintid = s_tran.b_long
- chnname = Trim(sle_chnname.text)
- ll_newid = f_sys_scidentity(0,"sys_dft_dwprint_dynamic","dwprintid",arg_msg,FALSE,sqlca)
- IF ll_newid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO sys_dft_dwprint_dynamic
- ( dwprintid,
- dft_new_dwname,
- chnname,
- powerid,
- dwtype,
- auditprint,
- prownum,
- ptype,
- pblname,
- ifuse)
- SELECT :ll_newid ,
- :dft_new_dwname,
- :chnname,
- powerid,
- dwtype,
- auditprint,
- prownum,
- ptype,
- :pblname,
- 1 FROM
- sys_dft_dwprint_dynamic
- Where dwprintid = :old_dwprintid;
- IF sqlca.SQLCode <> 0 THEN
- IF Pos(sqlca.SQLErrText,"IX_sys_dft_dwprint_dynamic1") > 0 THEN
- arg_msg = '打印格式名称不能重复,增加打印格式失败!'
- ELSEIF Pos(sqlca.SQLErrText,"IX_sys_dft_dwprint_dynamic") > 0 THEN
- arg_msg = '打印格式数据窗口不能重复,增加打印格式失败!'
- ELSE
- arg_msg = '增加打印格式失败!'
- END IF
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- on w_dwprint_dynamic_saveas.create
- int iCurrent
- call super::create
- this.cb_export=create cb_export
- this.st_1=create st_1
- this.st_2=create st_2
- this.sle_dw=create sle_dw
- this.sle_chnname=create sle_chnname
- this.st_3=create st_3
- this.ddlb_1=create ddlb_1
- this.gb_2=create gb_2
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_export
- this.Control[iCurrent+2]=this.st_1
- this.Control[iCurrent+3]=this.st_2
- this.Control[iCurrent+4]=this.sle_dw
- this.Control[iCurrent+5]=this.sle_chnname
- this.Control[iCurrent+6]=this.st_3
- this.Control[iCurrent+7]=this.ddlb_1
- this.Control[iCurrent+8]=this.gb_2
- end on
- on w_dwprint_dynamic_saveas.destroy
- call super::destroy
- destroy(this.cb_export)
- destroy(this.st_1)
- destroy(this.st_2)
- destroy(this.sle_dw)
- destroy(this.sle_chnname)
- destroy(this.st_3)
- destroy(this.ddlb_1)
- destroy(this.gb_2)
- end on
- event open;call super::open;s_tran = Message.PowerObjectParm
- ddlb_1.Text = s_tran.b_string
- sle_chnname.text = s_tran.d_string
- DateTime server_dt
- SELECT Top 1 getdate() INTO :server_dt FROM u_user USING sqlca ;
- //取得系统时间,借用操作员表
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误','查询系统时间失败!',stopsign!,ok!)
- return
- END IF
- sle_dw.Text = s_tran.c_string
- end event
- event close;call super::close;IF flag = 0 THEN
- ROLLBACK;
- ELSE
- IF Pos(sle_dw.Text,ls_code) > 0 THEN
- COMMIT;
- ELSE
- ROLLBACK;
- END IF
- END IF
- end event
- type cb_func from w_publ_base`cb_func within w_dwprint_dynamic_saveas
- boolean visible = false
- end type
- type cb_exit from w_publ_base`cb_exit within w_dwprint_dynamic_saveas
- integer x = 1947
- integer y = 576
- integer width = 325
- end type
- type cb_export from uo_imflatbutton within w_dwprint_dynamic_saveas
- integer x = 1623
- integer y = 576
- integer width = 325
- integer height = 96
- integer taborder = 40
- boolean bringtotop = true
- string text = "另存"
- end type
- event clicked;call super::clicked;String dwsyntax
- String ls_pblpath1,ls_pblpath2
- String ls_dwname1,ls_dwname2
- String ls_error
- Long it_max,ll_beg,ll_end
- String ls_dw[]
- String dwmxsyntax[]
- Long i
- String dwmxname
- ls_pblpath1 = sys_cur_path + s_tran.b_string
- ls_dwname1 = s_tran.c_string
- ls_pblpath2 = sys_cur_path + Trim(ddlb_1.Text)
- ls_dwname2 = Trim(sle_dw.Text)
- IF Trim(ls_dwname1) = Trim(ls_dwname2) THEN
- MessageBox('提示','另存名称重复,不能另存!',information!,ok!)
- RETURN
- END IF
- dwsyntax = LibraryExport(ls_pblpath1,ls_dwname1,ExportDataWindow!)
- it_max = 0
- ll_end = 1
- DO WHILE Pos(dwsyntax,'dataobject=',ll_end) > 0
- ll_beg = Pos(dwsyntax,'dataobject=',ll_end)
- IF ll_beg = 0 THEN
- GOTO ext
- END IF
- ll_beg = ll_beg + 12
- ll_end = Pos(dwsyntax,'"',ll_beg)
- it_max ++
- ls_dw[it_max] = Mid(dwsyntax,ll_beg,ll_end - ll_beg )
- LOOP
- IF it_max > 0 THEN
- FOR i = 1 TO it_max
- dwmxsyntax[i] = LibraryExport(ls_pblpath1,ls_dw[i],ExportDataWindow!)
- dwmxname = ls_dwname2 + '_mx' + String(i,'###0')
- IF LibraryImport(ls_pblpath2,dwmxname, ImportDataWindow!, dwmxsyntax[i], ls_error ) = -1 THEN
- MessageBox('错误',ls_error,stopsign!,ok!)
- RETURN
- END IF
- dwsyntax = Replace(dwsyntax,Pos(dwsyntax,ls_dw[i],1),Len(ls_dw[i]),dwmxname)
- NEXT
- END IF
- ext:
- IF LibraryImport(ls_pblpath2,ls_dwname2, ImportDataWindow!, dwsyntax, ls_error ) = -1 THEN
- MessageBox('错误',ls_error,stopsign!,ok!)
- RETURN
- END IF
- String arg_msg
- IF wf_save(arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,ok!)
- RETURN
- ELSE
- MessageBox('提示','另存数据窗口成功!',information!,ok!)
- END IF
- flag = 1
- Close(PARENT)
- end event
- type st_1 from statictext within w_dwprint_dynamic_saveas
- integer x = 50
- integer y = 140
- integer width = 384
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 79741120
- string text = "格式库相对路径"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type st_2 from statictext within w_dwprint_dynamic_saveas
- integer x = 91
- integer y = 264
- integer width = 343
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 79741120
- string text = "数据窗口名称"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type sle_dw from singlelineedit within w_dwprint_dynamic_saveas
- integer x = 443
- integer y = 248
- integer width = 1888
- integer height = 92
- integer taborder = 50
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- borderstyle borderstyle = stylelowered!
- end type
- type sle_chnname from singlelineedit within w_dwprint_dynamic_saveas
- integer x = 443
- integer y = 372
- integer width = 1888
- integer height = 92
- integer taborder = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- borderstyle borderstyle = stylelowered!
- end type
- type st_3 from statictext within w_dwprint_dynamic_saveas
- integer x = 91
- integer y = 388
- integer width = 343
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 79741120
- string text = "格式名称"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type ddlb_1 from dropdownlistbox within w_dwprint_dynamic_saveas
- integer x = 443
- integer y = 124
- integer width = 1888
- integer height = 328
- integer taborder = 30
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean allowedit = true
- boolean autohscroll = true
- boolean vscrollbar = true
- borderstyle borderstyle = stylelowered!
- end type
- event constructor;long i,it_max,no_mxcheck
- string ls_libname[]
- i = 1
- DECLARE cur_inwaermx CURSOR FOR
- SELECT u_setliblist.libname
- from u_setliblist;
- OPEN cur_inwaermx;
- FETCH cur_inwaermx INTO :ls_libname[i];
- DO WHILE sqlca.SQLCode = 0
- i++
- FETCH cur_inwaermx INTO :ls_libname[i];
- loop
- CLOSE cur_inwaermx;
-
- SELECT count(*) INTO :no_mxcheck
- FROM u_setliblist ;
- IF sqlca.SQLCode <> 0 THEN
- it_max = 0
- END IF
- IF i <> (no_mxcheck+1) THEN
- it_max = 0
- else
- it_max = i - 1
- END IF
- for i = 1 to it_max
- THIS.AddItem (ls_libname[i])
- next
- end event
- type gb_2 from groupbox within w_dwprint_dynamic_saveas
- integer x = 32
- integer y = 8
- integer width = 2432
- integer height = 524
- integer taborder = 20
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 79741120
- string text = "导出数据窗口信息"
- end type
|