123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- $PBExportHeader$uo_msg_lv.sru
- forward
- global type uo_msg_lv from listview
- end type
- end forward
- global type uo_msg_lv from listview
- integer width = 485
- integer height = 280
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- borderstyle borderstyle = stylelowered!
- string largepicturename[] = {"p15drive_fdd.ico","p45workgroup.ico"}
- long largepicturemaskcolor = 536870912
- long smallpicturemaskcolor = 536870912
- long statepicturemaskcolor = 536870912
- event ue_runfj ( )
- event ue_saveas ( )
- end type
- global uo_msg_lv uo_msg_lv
- type variables
- long ins_cur_fjid//收到信息当前行附件id
- string ins_cur_fjname//收到信息当前行附件名
- long uo_ins_msgid
- string fjfilepathname='fjtemp'//附件下载临时文件夹默认为fjtemp
- uo_transmsg uo_msg_downfj
- end variables
- event ue_runfj();this.triggerevent(doubleclicked!)
- end event
- event ue_saveas();//附件另存为
- Integer i
- Long ls_i,ls_j,ls_newrow,ls_filesize
- Blob ls_filedata
- String Pathname,ls_filename
- String errmsg,arg_msg
- String ls_filetypename
- Long pos1,lrow,rslt
- String ls_para,ls_downarg[]
- Pathname = ins_cur_fjname
- //超链接时保存成html文件****************************************
- Long ls_fjtype//0时为附件,1时为超链接
- SELECT Sys_admsg_fj.Filetype
- INTO :ls_fjtype
- FROM Sys_admsg_fj
- WHERE Sys_admsg_fj.fjid = :ins_cur_fjid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','因网络或其它原因查询附件信息失败~r~n'+sqlca.SQLErrText)
- RETURN
- END IF
- IF ls_fjtype = 1 THEN
- Pathname = '超链接'
- i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*.html,*.html")
- IF i = 1 AND Trim(Pathname) <> '' THEN
- IF f_blobtofile(Pathname,Blob('<meta http-equiv="refresh" content="0;url='+ins_cur_fjname+'">'),errmsg) = 0 THEN
- MessageBox('系统提示',errmsg)
- RETURN
- ELSE
- MessageBox('系统提示','链接保存成功!'+'~r~n'+'保存路径:'+Pathname)
- END IF
- END IF
- RETURN
- END IF
- //*************************************************************
- pos1 = Pos(ins_cur_fjname,'.')
- IF pos1 > 0 THEN
- ls_filetypename = Mid(ins_cur_fjname,pos1 + 1)
- i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
- ELSE
- ls_filetypename = ''
- i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*.*,*.*")
- END IF
- IF i = 1 AND Trim(Pathname) <> '' THEN
- IF uo_msg_downfj.f_down_fj(ins_cur_fjid,ins_cur_fjname,ls_filedata,arg_msg) = 0 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- END IF
-
- IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
- MessageBox('系统提示',errmsg)
- RETURN
- ELSE
-
- MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+Pathname)
- END IF
- END IF
- end event
- on uo_msg_lv.create
- end on
- on uo_msg_lv.destroy
- end on
- event doubleclicked;//附件下载并打开
- Integer i
- Long ls_i,ls_j,ls_newrow,ls_filesize
- Blob ls_filedata
- String Pathname,ls_filename
- String errmsg,arg_msg
- String ls_filetypename
- Long pos1,lrow,rslt
- String ls_para,ls_downarg[]
- listviewitem l_lvi
- //取附件信息
- IF Index > 0 THEN
- THIS.GetItem( Index, l_lvi)
- ins_cur_fjid = l_lvi.Data
- ins_cur_fjname = l_lvi.Label
- END IF
- //超链接用ie打开**************************************
- Long ls_fjtype//0时为附件,1时为超链接
- SELECT Sys_admsg_fj.Filetype
- INTO :ls_fjtype
- FROM Sys_admsg_fj
- WHERE Sys_admsg_fj.fjid = :ins_cur_fjid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','因网络或其它原因查询附件信息失败~r~n'+sqlca.SQLErrText)
- RETURN
- END IF
- IF ls_fjtype = 1 THEN
- Run('explorer.exe '+ins_cur_fjname,Normal!)
- RETURN
- END IF
- //*******************************************************
- //下载附件并打开
- Pathname = sys_cur_path+fjfilepathname+'\'+ins_cur_fjname
- IF Trim(Pathname) <> '' THEN
- IF uo_msg_downfj.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, arg_msg) = 0 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- END IF
-
- IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
- MessageBox('系统提示',errmsg)
- RETURN
- ELSE
- //打开附件
- String lsNull
- ShellExecute32( Handle(THIS), lsNull, Pathname, lsNull, lsNull, 1 )
- END IF
- END IF
- end event
- event rightclicked;Long ls_fjid
- String ls_fjname
- listviewitem l_lvi
- IF Index > 0 THEN
- THIS.GetItem( Index, l_lvi)
- ls_fjid = l_lvi.Data
- ls_fjname = l_lvi.Label
- ins_cur_fjid = l_lvi.Data
- ins_cur_fjname = l_lvi.Label
-
- m_dfc_msg dmPopupMenu
- String menustr,ls_level
-
- menustr = "Text=另存为~tEvent=ue_saveas"
- menustr = menustr+"|"+"Text=打开附件~tEvent=ue_runfj"
-
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = CREATE m_dfc_msg
- dmPopupMenu.mf_buildmenu( THIS, menustr)
- dmPopupMenu.mf_popmenu()
- DESTROY dmPopupMenu
- END IF
- END IF
- end event
|