uo_email_lv.sru 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. $PBExportHeader$uo_email_lv.sru
  2. forward
  3. global type uo_email_lv from listview
  4. end type
  5. end forward
  6. global type uo_email_lv from listview
  7. integer width = 485
  8. integer height = 280
  9. integer textsize = -9
  10. integer weight = 400
  11. fontcharset fontcharset = gb2312charset!
  12. fontpitch fontpitch = variable!
  13. string facename = "宋体"
  14. long textcolor = 33554432
  15. long backcolor = 16777215
  16. borderstyle borderstyle = stylelowered!
  17. listviewview view = listviewsmallicon!
  18. string largepicturename[] = {"p15drive_fdd.ico","p45workgroup.ico"}
  19. long largepicturemaskcolor = 536870912
  20. long smallpicturemaskcolor = 536870912
  21. long statepicturemaskcolor = 536870912
  22. event ue_runfj ( )
  23. event ue_saveas ( )
  24. event ue_delfj ( )
  25. end type
  26. global uo_email_lv uo_email_lv
  27. type variables
  28. long ins_cur_fjid//收到信息当前行附件id
  29. string ins_cur_fjname//收到信息当前行附件名
  30. long ins_index
  31. long uo_ins_msgid
  32. string fjfilepathname='fjtemp'//附件下载临时文件夹默认为fjtemp
  33. Blob ls_filedata
  34. end variables
  35. event ue_runfj();this.triggerevent(doubleclicked!)
  36. end event
  37. event ue_saveas();////附件另存为
  38. //Integer i
  39. //Long ls_i,ls_j,ls_newrow,ls_filesize
  40. //String Pathname,ls_filename
  41. //String errmsg,arg_msg
  42. //String ls_filetypename
  43. //Long pos1,lrow,rslt
  44. //String ls_para,ls_downarg[]
  45. //uo_email obj_email
  46. //obj_email = CREATE uo_email
  47. //obj_email.commit_tran = sqlca
  48. //obj_email.fj_tran = sqlca
  49. //Pathname = ins_cur_fjname
  50. //
  51. ////*************************************************************
  52. //
  53. //pos1 = Pos(ins_cur_fjname,'.',1)
  54. //IF pos1 > 0 THEN
  55. // ls_filetypename = Mid(ins_cur_fjname,pos1 + 1)
  56. // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  57. //ELSE
  58. // ls_filetypename = ''
  59. // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*.*,*.*")
  60. //END IF
  61. //
  62. //IF i = 1 AND Trim(Pathname) <> '' THEN
  63. // IF obj_email.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN
  64. // MessageBox('系统提示',arg_msg)
  65. // RETURN
  66. // END IF
  67. //
  68. // IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
  69. // MessageBox('系统提示',errmsg)
  70. // RETURN
  71. // ELSE
  72. //
  73. // MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+Pathname)
  74. // END IF
  75. //END IF
  76. //
  77. end event
  78. event ue_delfj();Integer li_Index
  79. li_Index = This.SelectedIndex()
  80. ListViewItem lvi
  81. Long ll_cnt = 0, ll_i
  82. IF li_Index > 0 THEN
  83. IF This.TotalSelected() <= 1 THEN
  84. This.DeleteItem(li_Index)
  85. ELSE
  86. ll_cnt = This.TotalItems()
  87. FOR ll_i = ll_cnt To 1 step -1
  88. IF This.GetItem(ll_i, lvi) = 1 THEN
  89. IF lvi.Selected THEN
  90. This.DeleteItem(ll_i)
  91. END IF
  92. END IF
  93. NEXT
  94. END IF
  95. END IF
  96. end event
  97. on uo_email_lv.create
  98. end on
  99. on uo_email_lv.destroy
  100. end on
  101. event doubleclicked;////附件下载并打开
  102. //Integer i
  103. //Long ls_i,ls_j,ls_newrow,ls_filesize
  104. //Int rslt = 1
  105. //String Pathname,ls_filename
  106. //String errmsg
  107. //String ls_filetypename
  108. //Long pos1,lrow
  109. //String ls_para,ls_downarg[]
  110. //listviewitem l_lvi
  111. //s_email_lvfj s_lvfj
  112. //String lsNull
  113. //uo_email obj_email
  114. //obj_email = CREATE uo_email
  115. //obj_email.fj_tran = sqlca
  116. ////取附件信息
  117. //IF ins_index > 0 THEN
  118. // THIS.GetItem( ins_index, l_lvi)
  119. // s_lvfj = l_lvi.Data
  120. // ins_cur_fjid = s_lvfj.fjid
  121. // ins_cur_fjname = l_lvi.Label
  122. // IF ins_cur_fjname = '' THEN GOTO ext
  123. //ELSE
  124. // GOTO ext
  125. //END IF
  126. ////下载附件并打开
  127. //Pathname = sys_cur_path+fjfilepathname+'\'+ins_cur_fjname
  128. //IF FileExists(Pathname) THEN FileDelete(Pathname)
  129. //IF ins_cur_fjid > 0 THEN
  130. // IF obj_email.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN
  131. // rslt = 0
  132. // GOTO ext
  133. // END IF
  134. //ELSE
  135. // ls_filedata = s_lvfj.fileblob
  136. //END IF
  137. //
  138. //IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
  139. // rslt = 0
  140. // GOTO ext
  141. //END IF
  142. //
  143. ////打开附件
  144. //ShellExecute32( Handle(THIS), lsNull, Pathname, lsNull, lsNull, 1 )
  145. //
  146. //ext:
  147. //IF rslt = 0 THEN
  148. // MessageBox('系统提示',errmsg)
  149. //END IF
  150. //DESTROY obj_email
  151. //
  152. end event
  153. event rightclicked;Long ls_fjid
  154. String ls_fjname
  155. listviewitem l_lvi
  156. s_email_lvfj s_lvfj
  157. IF Index > 0 THEN
  158. This.GetItem( Index, l_lvi)
  159. s_lvfj = l_lvi.Data
  160. ls_fjid = s_lvfj.fjid
  161. ls_fjname = l_lvi.Label
  162. ins_cur_fjid = s_lvfj.fjid
  163. ins_cur_fjname = l_lvi.Label
  164. ls_filedata = s_lvfj.fileblob
  165. ins_index = Index
  166. m_dfc_msg dmPopupMenu
  167. String menustr,ls_level
  168. menustr = "Text=另存为~tEvent=ue_saveas"
  169. IF This.TotalSelected() = 1 THEN
  170. menustr = menustr+"|"+"Text=打开附件~tEvent=ue_runfj"
  171. END IF
  172. IF Len(Trim(menustr)) <> 0 THEN
  173. dmPopupMenu = Create m_dfc_msg
  174. dmPopupMenu.mf_buildmenu( This, menustr)
  175. dmPopupMenu.mf_popmenu()
  176. Destroy dmPopupMenu
  177. END IF
  178. ELSE
  179. ins_index = 0
  180. END IF
  181. end event
  182. event clicked;IF Index > 0 THEN
  183. ins_index = Index
  184. ELSE
  185. ins_index = 0
  186. END IF
  187. end event