123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807 |
- $PBExportHeader$w_updown.srw
- forward
- global type w_updown from window
- end type
- type cb_1 from uo_imflatbutton within w_updown
- end type
- type lb_1 from listbox within w_updown
- end type
- type dw_1 from datawindow within w_updown
- end type
- type cb_8 from uo_imflatbutton within w_updown
- end type
- type st_5 from statictext within w_updown
- end type
- type st_1 from statictext within w_updown
- end type
- type gb_2 from groupbox within w_updown
- end type
- end forward
- global type w_updown from window
- integer width = 1993
- integer height = 900
- boolean titlebar = true
- string title = "企精灵历史更新恢复"
- boolean controlmenu = true
- windowtype windowtype = response!
- long backcolor = 67108864
- string icon = "AppIcon!"
- boolean center = true
- cb_1 cb_1
- lb_1 lb_1
- dw_1 dw_1
- cb_8 cb_8
- st_5 st_5
- st_1 st_1
- gb_2 gb_2
- end type
- global w_updown w_updown
- type prototypes
- //function boolean UnZipTo(string strZipFileName,string strDirectoryPath,boolean IsKeepPaths,string strPassword) Library 'wfZip18_DLL.dll' alias for "UnZipTo;Ansi";
- FUNCTION ULong GetModuleFileName(Long hinstModule, Ref String lpszPath, ULong cchPath) LIBRARY "kernel32.dll" ALIAS FOR "GetModuleFileNameA;Ansi";
- end prototypes
- type variables
- nvo_ftp n_ftp
- uo_atudexe uo_autoupdateexe
- s_descrpfile ss_descrpfile[1 to 100]
- String is_servername,is_username,is_password
- string app_parth_q
- string tmpzipupdatexefilename='upload.tmp'
- s_update s_L1_zx,s_L1_wd,s_QJL_zx,s_QJL_wd //L1,企精灵 最新和稳定
- Integer ii_port
- integer xx=1
- end variables
- forward prototypes
- public function integer read_xml (string arg_filepath, ref string arg_msg)
- public function integer ftp_connect ()
- public function integer wf_updown (string arg_filename, ref string arg_msg)
- public function integer up_software ()
- public function integer up_datebase (string arg_filepath, string arg_version, ref string arg_msg, integer arg_client_bak)
- public function integer wf_download (string arg_version, ref string arg_msg)
- end prototypes
- public function integer read_xml (string arg_filepath, ref string arg_msg);Int rslt = 1
- IF Not FileExists(arg_filepath) THEN
- rslt = 0
- arg_msg = '文件' + arg_filepath + '不存在'
- GOTO ext
- END IF
- //功能:读取文本节点 到数组里
- //参数 as_xml 需要解析的xml ,as_xmlreturn[] 返回的数组
- String st,st1
- PBDOM_BUILDER pbdom_builder_new
- PBDOM_DOCUMENT pbdom_doc
- Int i,j
- pbdom_builder_new = Create PBDOM_BUILDER
- //解析xml,生成Document
- pbdom_doc = pbdom_builder_new.buildfromfile(arg_filepath)
- //PBDOM元素
- PBDOM_ELEMENT pbdom_elem,pbdom_elem_product
- pbdom_elem_product = Create PBDOM_ELEMENT
- pbdom_elem = Create PBDOM_ELEMENT
- pbdom_elem = pbdom_doc.GetRootElement()
- //messagebox("ii",pbdom_elem.getName()) //取得最外层节点名称
- //messagebox("i11i",pbdom_elem.hasChildElements())//element的所有子元素个数
- //得到跟节点下的所有row子节点
- PBDOM_ELEMENT pbdom_elems_product[]
- PBDOM_ELEMENT pbdom_elems_L1_Release[]
- PBDOM_ELEMENT pbdom_elems_QJL_Release[]
- PBDOM_ELEMENT pbdom_elems_L1_updatetime[]
- PBDOM_ELEMENT pbdom_elems_QJL_updatetime[]
- PBDOM_ELEMENT pbdom_elems_L1_dscrp[]
- PBDOM_ELEMENT pbdom_elems_QJL_dscrp[]
- PBDOM_ELEMENT pbdom_elems_L1_rar[]
- PBDOM_ELEMENT pbdom_elems_QJL_rar[]
- pbdom_elem.GetChildElements("Product",pbdom_elems_product[])
- FOR i = 1 To UpperBound(pbdom_elems_product)
- st = pbdom_elems_product[i].GetAttributeValue("Name")
- // MessageBox("",st)
- IF st = "L1-ERP" THEN
- pbdom_elems_product[i].GetChildElements("Release",pbdom_elems_L1_Release[])
- FOR j = 1 To UpperBound(pbdom_elems_L1_Release)
- st1 = pbdom_elems_L1_Release[j].GetAttributeValue("stable")
- IF st1 = "true" THEN //L1-ERP最新版
- s_L1_zx.Name = "L1-ERP最新版"
-
- s_L1_zx.version = pbdom_elems_L1_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_L1_Release[j].GetChildElements("updatetime",pbdom_elems_L1_updatetime[])
- s_L1_zx.updatetime = pbdom_elems_L1_updatetime[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("dscrp",pbdom_elems_L1_dscrp[])
- s_L1_zx.dscrp = pbdom_elems_L1_dscrp[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("rar",pbdom_elems_L1_rar[])
- s_L1_zx.rar = pbdom_elems_L1_rar[1].GetText()
-
- END IF
- IF st1 = "false" THEN //L1-ERP稳定版
- s_L1_wd.Name = "L1-ERP稳定版"
-
- s_L1_wd.version = pbdom_elems_L1_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_L1_Release[j].GetChildElements("updatetime",pbdom_elems_L1_updatetime[])
- s_L1_wd.updatetime = pbdom_elems_L1_updatetime[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("dscrp",pbdom_elems_L1_dscrp[])
- s_L1_wd.dscrp = pbdom_elems_L1_dscrp[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("rar",pbdom_elems_L1_rar[])
- s_L1_wd.rar = pbdom_elems_L1_rar[1].GetText()
- END IF
- NEXT
- END IF
- IF st = "企精灵" THEN
- pbdom_elems_product[i].GetChildElements("Release",pbdom_elems_QJL_Release[])
- FOR j = 1 To UpperBound(pbdom_elems_QJL_Release)
- st1 = pbdom_elems_QJL_Release[j].GetAttributeValue("stable")
- IF st1 = "true" THEN //企精灵最新版
- s_QJL_zx.Name = "企精灵最新版"
-
- s_QJL_zx.version = pbdom_elems_QJL_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_QJL_Release[j].GetChildElements("updatetime",pbdom_elems_QJL_updatetime[])
- s_QJL_zx.updatetime = pbdom_elems_QJL_updatetime[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("dscrp",pbdom_elems_QJL_dscrp[])
- s_QJL_zx.dscrp = pbdom_elems_QJL_dscrp[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("rar",pbdom_elems_QJL_rar[])
- s_QJL_zx.rar = pbdom_elems_QJL_rar[1].GetText()
-
- END IF
- IF st1 = "false" THEN //企精灵稳定版
- s_QJL_wd.Name = "企精灵稳定版"
-
- s_QJL_wd.version = pbdom_elems_QJL_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_QJL_Release[j].GetChildElements("updatetime",pbdom_elems_QJL_updatetime[])
- s_QJL_wd.updatetime = pbdom_elems_QJL_updatetime[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("dscrp",pbdom_elems_QJL_dscrp[])
- s_QJL_wd.dscrp = pbdom_elems_QJL_dscrp[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("rar",pbdom_elems_QJL_rar[])
- s_QJL_wd.rar = pbdom_elems_QJL_rar[1].GetText()
- END IF
- NEXT
- END IF
-
- NEXT
- //
- //MessageBox("1",s_L1_zx.Name )
- //MessageBox("2",s_L1_zx.version )
- //MessageBox("3",s_L1_zx.updatetime )
- //MessageBox("4",s_L1_zx.dscrp )
- //MessageBox("5",s_L1_zx.rar )
- //
- //
- //MessageBox("1",s_L1_wd.Name )
- //MessageBox("2",s_L1_wd.version )
- //MessageBox("3",s_L1_wd.updatetime )
- //MessageBox("4",s_L1_wd.dscrp )
- //MessageBox("5",s_L1_wd.rar )
- //
- //
- //MessageBox("1",s_QJL_zx.Name )
- //MessageBox("2",s_QJL_zx.version )
- //MessageBox("3",s_QJL_zx.updatetime )
- //MessageBox("4",s_QJL_zx.dscrp )
- //MessageBox("5",s_QJL_zx.rar )
- //
- //
- //MessageBox("1",s_QJL_wd.Name )
- //MessageBox("2",s_QJL_wd.version )
- //MessageBox("3",s_QJL_wd.updatetime )
- //MessageBox("4",s_QJL_wd.dscrp )
- //MessageBox("5",s_QJL_wd.rar )
- ext:
- RETURN rslt
- end function
- public function integer ftp_connect ();int rts
- Long ll_connect,i_index
- String ls_filename,ls_info,ls_filemask,ls_temp
- Long ll_row
- is_servername = "dufff6.oicp.net"
- //dufff6.oicp.net
- is_username = ""
- is_password = ""
- ii_port = 21
- ll_connect = n_ftp.uf_ftpconnect(is_servername,is_username,is_password,ii_port)
- IF ll_connect = 0 THEN
-
- RETURN 1
- END IF
- st_1.Text = "正在连接到Ftp服务器:"+is_servername+",请稍候..."
- ls_filename = n_ftp.uf_ftpgetcurrentdir()
- FOR i_index = 1 To 100
- ss_descrpfile[i_index].Filename = ""
- ss_descrpfile[i_index].filesize = 0
- ss_descrpfile[i_index].filetime = DateTime("1900-01-01 00:00:00")
- NEXT
- ls_filename = n_ftp.uf_remotefilelist('')
- DO WHILE ls_filename <> "?"
- ll_row = ll_row + 1
- ls_temp = n_ftp.uf_cutstring(ls_filename,'?',1)
-
- ss_descrpfile[ll_row ].Filename = ls_temp
- ss_descrpfile[ll_row ].filesize = Long(n_ftp.uf_cutstring(ls_filename,'?',2))
- ls_temp = n_ftp.uf_cutstring(ls_filename,'?',3)
- ss_descrpfile[ll_row ].filetime = DateTime(Date(Left(ls_temp,10)),Time(Mid(ls_temp,12)))
- ls_filename = n_ftp.uf_remotefilelist('')
- Yield()
- LOOP
- st_1.Text = '已成功连接到远程更新服务器'
- return rts
- end function
- public function integer wf_updown (string arg_filename, ref string arg_msg);int rts=1
- Long ll_row,ll_insert,ll_count,ll_select
- String ls_filename,ls_dir,ls_localdir,ls_temp
- ls_filename =arg_filename//"updatelong.xml" //ss_descrpfile[2].filename
- ls_dir = n_ftp.uf_ftpgetcurrentdir()//这个判断“/”
- IF Len(ls_dir) = 1 THEN
- ls_temp = ls_dir +ls_filename
- ELSE
- ls_temp = ls_dir + '/' +ls_filename
- END IF
- ls_filename=app_parth_q +"\updatexetmp\autoupdate\" + ls_filename
- IF FileExists(ls_filename) THEN
- filedelete(ls_filename)
- END IF
- IF n_ftp.uf_ftpgetfile(ls_temp,ls_filename) THEN
- rts=1
-
- ELSE
- arg_msg="下载文件" + arg_filename +"出错"
- rts=0
- END IF
- RETURN rts
- end function
- public function integer up_software ();String arg_msg,dtt_filename,ls_msg
- Long rts = 1,ls_i,rts1 = 1
- Int needreg,needrun
- String Filename,dscrp,Filepath
- string ls_md5
- Filepath = n_ftp.uf_getcurrentdir() + "\"
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(lb_1.TotalItems())
- w_sys_wait_jdt.wf_inc(0)
- w_sys_wait_jdt.st_msg.Text = "正在上传更新程序文件列表..."
- FOR ls_i = 1 To lb_1.TotalItems()
- Filename = Filepath +lb_1.Text(ls_i)
- // ls_md5=string(md5.getMd5(Filename))
- rts = uo_autoupdateexe.f_uploadexe(sqlca,Filename,&
- "[默认]",0,0,dscrp,arg_msg)
-
- IF rts = 0 THEN
- ls_msg = ls_msg + '上传操作失败> '+Filename + '~r~n'
- rts1 = 0
- ELSE
- ls_msg = ls_msg + '上传操作成功! '+ Filename + '~r~n'
- rts1 = 1
- END IF
- NEXT
- Close(w_sys_wait_jdt)
- //OpenWithParm(w_message_err,ls_msg)
- IF rts1 = 0 THEN
- MessageBox("失败","更新失败,请稍候再试或联系软件提供商")
- st_1.Text = '更新系统失败'
- DELETE From sys_autoudexe;
- COMMIT;
- ELSE
- MessageBox("成功","更新成功,请重新登录软件")
- st_1.Text = '更新系统成功'
- END IF
- RETURN rts1
- end function
- public function integer up_datebase (string arg_filepath, string arg_version, ref string arg_msg, integer arg_client_bak);Int rts = 1
- Int row,li_FileNum
- Long ll_billid
- DateTime server_dt
- SELECT count(*) Into :row From sys_update_download Where version = :arg_version;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "查询操作失败,更新版本"
- rts = 0
- RETURN rts
- END IF
- IF row >= 1 THEN
- RETURN rts
- END IF
- ll_billid = f_sys_scidentity(0,"sys_update_download","id",arg_msg,True,sqlca)
- SELECT Top 1 getdate() Into :server_dt From u_user Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rts = 0
- arg_msg = "查询操作失败,日期 "
- GOTO ext
- END IF
- INSERT INTO sys_update_download
- ( id,
- version,
- down_status,
- opdate,
- opemp,
- client_bak
- )
- VALUES ( :ll_billid,
- :arg_version,
- 2,
- :server_dt,
- :publ_operator,
- :arg_client_bak )
- Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rts = 0
- arg_msg = '插入新数据传送记录失败>'+sqlca.SQLErrText
- ROLLBACK Using sqlca;
- GOTO ext
- END IF
- COMMIT Using sqlca;
- //读入数据
- long flen,loops,ls_i,bytes_read,new_pos
- blob b_dtdata_p,tot_b
- flen = FileLength(arg_filepath)
- li_FileNum = FileOpen(arg_filepath, StreamMode!, Read!, LockRead!)
- if li_FileNum=-1 then
- rts=0
- arg_msg='打开文件'+arg_filepath+'操作失败!'
- fileclose(li_FileNum)
- goto ext
- end if
- IF flen > 32765 THEN
- IF Mod(flen, 32765) = 0 THEN
- loops = flen/32765
- ELSE
- loops = (flen/32765) + 1
- END IF
- ELSE
- loops = 1
- END IF
- new_pos = 1
- FOR ls_i = 1 to loops
- bytes_read = FileRead(li_FileNum, b_dtdata_p)
- if bytes_read=0 then
- rts=0
- arg_msg='读取文件'+arg_filepath+'操作失败!'
- fileclose(li_FileNum)
- goto ext
- end if
- tot_b = tot_b + b_dtdata_p
- NEXT
- fileclose(li_FileNum)
- /////////////////////////
- //用updateblob
- Updateblob sys_update_download set filedata =:tot_b where (version = :arg_version) using sqlca;
- if sqlca.sqlcode<>0 then
- arg_msg='保存文件包失败>'+sqlca.sqlerrtext
- rollback;
-
- delete sys_update_download
- where version = :arg_version using sqlca;
- if sqlca.sqlcode<>0 then
- rollback using sqlca;
- else
- commit using sqlca;
- end if
-
- rts=0
- goto ext
- else
- commit using sqlca;
- end if
- ////////////////
- ext:
- RETURN rts
- end function
- public function integer wf_download (string arg_version, ref string arg_msg);Int rts = 1
- Long fend,fend_t
- String cur_path,tmpfilepathname,Filepath1
- Blob b_dtdata, b_dtdata_p
- Int li_FileNum,ls_i,ls_jh
- arg_msg = ''
- SetNull(b_dtdata)
- tmpfilepathname = app_parth_q+'\updatexetmp\autoupdate\'+'upload.tmp'
- Filepath1 = app_parth_q +"\updatexetmp\autoupdate"
- IF FileExists(tmpfilepathname) THEN FileDelete(tmpfilepathname)
- //提取数据包
- SelectBlob filedata
- Into :b_dtdata
- From sys_update_download
- Where sys_update_download.version = :arg_version
- Using sqlca ;
- IF sqlca.SQLCode <> 0 THEN
- rts = 0
- arg_msg = '提取数据包操作失败>'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF Len(b_dtdata) < 1 Or IsNull(b_dtdata) THEN
- rts = 1
- arg_msg = '空数据包!'
- GOTO ext
- END IF
- // //写临时文件
- fend = Len(b_dtdata)
- IF fend <= 32765 THEN
- fend_t = 1
- ELSE
- fend_t = fend/32765
- IF Mod(fend,32765) <> 0 THEN
- fend_t = fend_t+1
- END IF
- END IF
- li_FileNum = FileOpen( tmpfilepathname,StreamMode!, Write!, LockWrite!)
- IF li_FileNum <= 0 THEN
- arg_msg = "打开文件"+tmpfilepathname+"失败"
- rts = 0
- FileClose(li_FileNum)
- GOTO ext
- END IF
- FOR ls_i = 1 To fend_t
- b_dtdata_p = BlobMid(b_dtdata,1+(ls_i - 1 )*32765,32765)
-
- ls_jh = FileWrite(li_FileNum, b_dtdata_p)
- IF ls_jh <= 0 THEN
- arg_msg = "写文件"+tmpfilepathname+"失败"
- rts = 0
- FileClose(li_FileNum)
- GOTO ext
- END IF
- NEXT
- FileClose(li_FileNum)
- Yield()
- // rslt=uo_autoupdateexe.uf_unzipfile(tmpfilepathname,cur_path+updatexepath,arg_msg)
- //IF UnZipTo(tmpfilepathname,Filepath1,True,"") THEN
- IF uo_autoupdateexe.uf_unzipfile(tmpfilepathname,Filepath1 + "\temp",arg_msg) = 1 THEN
- st_1.Text = '解压更新包成功'
- ELSE
- st_1.Text = '解压更新包失败'
- arg_msg = '解压更新包失败' + arg_msg
- rts = 0
- MessageBox("Error",arg_msg)
- GOTO ext
- END IF
- DELETE From sys_autoudexe;
- COMMIT;
- lb_1.DirList(Filepath1 + "\temp\*.*",0)
- IF up_software() <> 1 THEN
- rts=0
-
- END IF
- lb_1.DirList(app_parth_q + "\*.*",0)
- IF FileExists(tmpfilepathname) THEN FileDelete(tmpfilepathname)
- RETURN rts
- ext:
- IF FileExists(tmpfilepathname) THEN FileDelete(tmpfilepathname)
- RETURN rts
- end function
- on w_updown.create
- this.cb_1=create cb_1
- this.lb_1=create lb_1
- this.dw_1=create dw_1
- this.cb_8=create cb_8
- this.st_5=create st_5
- this.st_1=create st_1
- this.gb_2=create gb_2
- this.Control[]={this.cb_1,&
- this.lb_1,&
- this.dw_1,&
- this.cb_8,&
- this.st_5,&
- this.st_1,&
- this.gb_2}
- end on
- on w_updown.destroy
- destroy(this.cb_1)
- destroy(this.lb_1)
- destroy(this.dw_1)
- destroy(this.cb_8)
- destroy(this.st_5)
- destroy(this.st_1)
- destroy(this.gb_2)
- end on
- event open;string arg_msg
- dw_1.SetTransObject (sqlca)
- dw_1.retrieve()
- n_ftp = Create nvo_ftp
- uo_autoupdateexe=create uo_atudexe
- uo_autoupdateexe.f_trycreate_sys_autoudexe(sqlca,arg_msg)
- app_parth_q=n_ftp.uf_getcurrentdir()
- CreateDirectory ( app_parth_q + "\updatexetmp" )
- CreateDirectory ( app_parth_q + "\updatexetmp\autoupdate" )
- CreateDirectory ( app_parth_q + "\updatexetmp\autoupdate\temp" )
- //ftp_connect()//连接服务器
- /////////////////////////
- ////删除wfsoft.com文件夹里的文件
- //string ls_directorypath
- //string ls_tmpfilepath
- //ls_directorypath = app_parth_q+'\updatexetmp\autoupdate\'+'wfsoft.com'
- //
- ////ddplb_1是listbox的实例
- //lb_1.dirlist(ls_directorypath + '/*.*',1)
- //if lb_1.totalitems() > 0 then
- // long i
- // for i = 1 to lb_1.totalitems()
- // filedelete(ls_directorypath + '/'+lb_1.text(i))
- // next
- //end if
- //lb_1.DirList(app_parth_q + "*.*",0)
- ///////////////////////
- end event
- type cb_1 from uo_imflatbutton within w_updown
- integer x = 1426
- integer y = 604
- integer width = 425
- integer taborder = 60
- boolean bringtotop = true
- string text = "退出"
- end type
- event clicked;call super::clicked;close(parent)
- end event
- type lb_1 from listbox within w_updown
- boolean visible = false
- integer x = 2779
- integer y = 476
- integer width = 480
- integer height = 300
- integer taborder = 30
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- borderstyle borderstyle = stylelowered!
- end type
- type dw_1 from datawindow within w_updown
- integer x = 37
- integer y = 84
- integer width = 1915
- integer height = 468
- integer taborder = 30
- string title = "none"
- string dataobject = "dw_version"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event rowfocuschanged;IF currentrow <=0 THEN RETURN
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- end event
- event clicked;IF row <=0 THEN RETURN
- this.setrow(row)
- end event
- type cb_8 from uo_imflatbutton within w_updown
- integer x = 101
- integer y = 592
- integer width = 425
- integer height = 112
- integer taborder = 50
- boolean bringtotop = true
- string text = "恢复"
- toolbaralignment pic_align = alignatright!
- end type
- event clicked;call super::clicked;Long LS_ROW
- String version,arg_msg
- Yield()
- IF Not f_power_ind(5) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- LS_ROW = dw_1.GetRow()
- IF LS_ROW <= 0 THEN RETURN
- SELECT update_version Into :version From sys_DB_version ;
- IF version = dw_1.Object.version[LS_ROW] THEN
- MessageBox('提示','你选择更新的版本和当前系统版本一致',information!,OK!)
- RETURN
- END IF
- version = dw_1.Object.version[LS_ROW]
- UPDATE sys_DB_version Set updating_flag = 1 ;
- //在数据库声明我正在更新
- COMMIT;
- st_1.Text = '正从数据库中下载备份更新包,请稍候'
- IF wf_download(version,arg_msg) = 1 THEN //恢复更新成功
- //更改系统版本
- UPDATE sys_DB_version Set update_version = :version,updating_flag = 0;
-
- COMMIT;
- END IF
- ///////////////////// //
- //删除wfsoft.com文件夹里的文件
- String ls_directorypath
- String ls_tmpfilepath
- ls_directorypath = app_parth_q+'\updatexetmp\autoupdate\'+'temp'
- //ddplb_1是listbox的实例
- lb_1.DirList(ls_directorypath + '/*.*',1)
- IF lb_1.TotalItems() > 0 THEN
- Long i
- FOR i = 1 To lb_1.TotalItems()
- FileDelete(ls_directorypath + '/'+lb_1.Text(i))
- NEXT
- END IF
- lb_1.DirList(app_parth_q + "*.*",0)
- /////////////////// //
- end event
- type st_5 from statictext within w_updown
- integer y = 752
- integer width = 530
- integer height = 72
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 134217857
- long backcolor = 67108864
- string text = "提示信息:"
- alignment alignment = center!
- boolean focusrectangle = false
- end type
- type st_1 from statictext within w_updown
- integer x = 526
- integer y = 752
- integer width = 2734
- integer height = 76
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- boolean focusrectangle = false
- end type
- type gb_2 from groupbox within w_updown
- integer x = 23
- integer y = 20
- integer width = 1957
- integer height = 700
- integer taborder = 30
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- string text = "历史版本"
- end type
|