$PBExportHeader$w_email_send_new.srw
forward
global type w_email_send_new from w_publ_base
end type
type cb_save from uo_imflatbutton within w_email_send_new
end type
type cb_fj from uo_imflatbutton within w_email_send_new
end type
type cb_change from uo_imflatbutton within w_email_send_new
end type
type lv_fj from uo_email_lv within w_email_send_new
end type
type cb_6 from commandbutton within w_email_send_new
end type
type cb_7 from commandbutton within w_email_send_new
end type
type cb_9 from commandbutton within w_email_send_new
end type
type cbx_1 from checkbox within w_email_send_new
end type
type cb_1 from commandbutton within w_email_send_new
end type
type cb_2 from uo_imflatbutton within w_email_send_new
end type
type cb_fornextsend from uo_imflatbutton within w_email_send_new
end type
type st_1 from statictext within w_email_send_new
end type
type em_priority from editmask within w_email_send_new
end type
type st_2 from statictext within w_email_send_new
end type
type st_3 from statictext within w_email_send_new
end type
type st_4 from statictext within w_email_send_new
end type
type st_5 from statictext within w_email_send_new
end type
type st_6 from statictext within w_email_send_new
end type
type st_7 from statictext within w_email_send_new
end type
type st_9 from statictext within w_email_send_new
end type
type sle_subject from singlelineedit within w_email_send_new
end type
type st_10 from statictext within w_email_send_new
end type
type sle_mailuser from statictext within w_email_send_new
end type
type sle_mailaddress from statictext within w_email_send_new
end type
type sle_mailtype from statictext within w_email_send_new
end type
type em_mailsize from statictext within w_email_send_new
end type
type sle_opemp from statictext within w_email_send_new
end type
type em_opdate from statictext within w_email_send_new
end type
type em_senddate from statictext within w_email_send_new
end type
type sp_v1 from u_lbs_stsplitbar within w_email_send_new
end type
type cb_3 from uo_imflatbutton within w_email_send_new
end type
type cb_4 from uo_imflatbutton within w_email_send_new
end type
type uo_html from uo_html_editor within w_email_send_new
end type
type st_11 from uo_text_m within w_email_send_new
end type
type pb_1 from picturebutton within w_email_send_new
end type
type ddlb_normalflag from dropdownlistbox within w_email_send_new
end type
type st_8 from statictext within w_email_send_new
end type
type cb_5 from uo_imflatbutton within w_email_send_new
end type
type st_12 from statictext within w_email_send_new
end type
type tab_1 from tab within w_email_send_new
end type
type tabpage_1 from userobject within tab_1
end type
type dw_1 from u_dw_rbtnfilter within tabpage_1
end type
type tabpage_1 from userobject within tab_1
dw_1 dw_1
end type
type tabpage_2 from userobject within tab_1
end type
type ddlb_1 from dropdownlistbox within tabpage_2
end type
type st_13 from statictext within tabpage_2
end type
type cb_10 from commandbutton within tabpage_2
end type
type dw_2 from u_dw_rbtnfilter within tabpage_2
end type
type tabpage_2 from userobject within tab_1
ddlb_1 ddlb_1
st_13 st_13
cb_10 cb_10
dw_2 dw_2
end type
type tabpage_3 from userobject within tab_1
end type
type dw_cc from u_dw_rbtnfilter within tabpage_3
end type
type tabpage_3 from userobject within tab_1
dw_cc dw_cc
end type
type tab_1 from tab within w_email_send_new
tabpage_1 tabpage_1
tabpage_2 tabpage_2
tabpage_3 tabpage_3
end type
type ln_bar from line within w_email_send_new
end type
type ln_bar2 from line within w_email_send_new
end type
type r_bar from rectangle within w_email_send_new
end type
type ddlb_2 from dropdownlistbox within w_email_send_new
end type
type cb_8 from uo_imflatbutton within w_email_send_new
end type
type mle_revlist from uo_mle_demo within w_email_send_new
end type
type cbx_auto from checkbox within w_email_send_new
end type
type cb_send from uo_imflatbutton within w_email_send_new
end type
type cbx_hz from checkbox within w_email_send_new
end type
type cbx_2 from checkbox within w_email_send_new
end type
type cbx_3 from checkbox within w_email_send_new
end type
type cb_11 from uo_imflatbutton within w_email_send_new
end type
type st_cc from uo_text_m within w_email_send_new
end type
type mle_cc from uo_mle_demo within w_email_send_new
end type
type pb_cc from picturebutton within w_email_send_new
end type
type bitmapfileheader from structure within w_email_send_new
end type
type bitmapinfo from structure within w_email_send_new
end type
type bitmapinfoheader from structure within w_email_send_new
end type
type s_email_cloudmx from structure within w_email_send_new
end type
end forward
type bitmapfileheader from structure
integer bftype
long bfsize
integer bfreserved1
integer bfreserved2
long bfoffbits
end type
type bitmapinfo from structure
bitmapinfoheader bmiheader
unsignedlong bmicolors[]
end type
type bitmapinfoheader from structure
long bisize
long biwidth
long biheight
integer biplanes
integer bibitcount
long bicompression
long bisizeimage
long bixpelspermeter
long biypelspermeter
long biclrused
long biclrimportant
end type
type s_email_cloudmx from structure
string name
string url
end type
global type w_email_send_new from w_publ_base
integer width = 3799
integer height = 2692
string title = "发送邮件"
boolean maxbox = true
boolean center = true
event ue_addfj ( )
event ue_delfj ( )
event ue_saveas ( )
event ue_runfj ( )
event ue_filter_rep ( )
event ue_sendreg ( )
event ue_sendmx ( )
event ue_set_height ( )
event ue_set_sign ( integer abc )
event losefocus pbm_bnkillfocus
event getfocus pbm_bnsetfocus
event ue_cloudfj ( )
event ue_sendmx_cust ( )
event ue_sendmx_cust_cc ( )
event ue_sendmx_cc ( )
cb_save cb_save
cb_fj cb_fj
cb_change cb_change
lv_fj lv_fj
cb_6 cb_6
cb_7 cb_7
cb_9 cb_9
cbx_1 cbx_1
cb_1 cb_1
cb_2 cb_2
cb_fornextsend cb_fornextsend
st_1 st_1
em_priority em_priority
st_2 st_2
st_3 st_3
st_4 st_4
st_5 st_5
st_6 st_6
st_7 st_7
st_9 st_9
sle_subject sle_subject
st_10 st_10
sle_mailuser sle_mailuser
sle_mailaddress sle_mailaddress
sle_mailtype sle_mailtype
em_mailsize em_mailsize
sle_opemp sle_opemp
em_opdate em_opdate
em_senddate em_senddate
sp_v1 sp_v1
cb_3 cb_3
cb_4 cb_4
uo_html uo_html
st_11 st_11
pb_1 pb_1
ddlb_normalflag ddlb_normalflag
st_8 st_8
cb_5 cb_5
st_12 st_12
tab_1 tab_1
ln_bar ln_bar
ln_bar2 ln_bar2
r_bar r_bar
ddlb_2 ddlb_2
cb_8 cb_8
mle_revlist mle_revlist
cbx_auto cbx_auto
cb_send cb_send
cbx_hz cbx_hz
cbx_2 cbx_2
cbx_3 cbx_3
cb_11 cb_11
st_cc st_cc
mle_cc mle_cc
pb_cc pb_cc
end type
global w_email_send_new w_email_send_new
type prototypes
FUNCTION ulong UnregisterHotKey( ulong hWnd, ulong id ) LIBRARY "user32.dll"
end prototypes
type variables
private:
s_email_cloudmx ss_email_cloudmx
public:
s_email_set s_set
s_email_send s_send
boolean have_fj = false
//datawindow dw_rep
//datawindow dw_cust
//datawindow dw_spt
//datawindow dw_cust_rep
//datawindow dw_spt_rep
string fjfilepathname = 'fjtemp'
uo_email obj_email
boolean ls_update_flag=true
//string ins_sqlerrtext
//long modifyrow_no=0
//boolean have_cust_rep = false
//boolean have_spt_rep = false
//boolean ib_InitHtml = false
//long ins_cur_fjtype = -1
int count1=1
datawindow dw_revlist
datawindow dw_cc
datawindow dw_2
string paperStyle='简约'
string mailContent=''
m_Dfc_Control_PopupMenu dmPopupMenu
//long signList[]
transaction Commit_Tran
transaction fj_tran
long backgroundid=0
string C_Sys_admsg_fj = 'Sys_admsg_fj'
string C_u_email_fj = 'u_email_fj'
string C_from_file = 'from_file'
end variables
forward prototypes
public function integer wf_save (ref string arg_msg)
public function integer wf_init (ref string arg_msg)
public function long wf_face_change ()
public subroutine wf_fjcount ()
public function integer wf_check (ref string arg_msg)
public function integer f_getstatusvalue (string arg_name)
public subroutine wf_makerevlist ()
public subroutine wf_makerevtext ()
public subroutine uf_updaterevlist ()
public function string f_getstatusname (string arg_value)
public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg)
public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename)
public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename)
public function boolean wf_hasdotnet ()
public subroutine wf_addfj (string arg_filename)
public subroutine wf_reply (integer arg_id)
public function integer wf_setbackground (integer arg_paperid)
public function string wf_get_backgroundfile (integer arg_paperid)
public function integer wf_addbacktofj (integer arg_paperid)
public function integer wf_retrieve_normal ()
public function integer wf_getpic_fromdb (integer arg_paperid)
public subroutine wf_set_oldmailcontent (ref string arg_msg)
public function string wf_make_newcontent (string arg_new)
public subroutine wf_retrieve_sign ()
public subroutine wf_html_to_text ()
public function string of_globalreplace (string as_source, string as_old, string as_new)
public function string gf_getfirstinfo (string as_source, string as_bef, string as_aft)
public subroutine wf_addfj (string pathname, string filename[])
public subroutine wf_html_set (string arg_text)
public subroutine wf_makerevtext_cc ()
public subroutine uf_updaterevlist_cc ()
public subroutine wf_makerevlist_cc ()
public subroutine wf_move_cc ()
end prototypes
event ue_addfj();Long i,j
Long ls_i,ls_j,ls_newrow,ls_filesize
Blob ls_filedata
String Pathname,ls_filename
String Filename[],errmsg
s_email_lvfj s_lvfj
String find_name
listviewitem l_lvi,l_lvi1
i = GetFileSaveName("选择附件",Pathname,Filename[],"*","所有文件,*.*")
IF i = 1 AND Trim(Pathname) <> '' THEN
IF NOT have_fj THEN
have_fj = TRUE
THIS.TriggerEvent(Resize!)
END IF
FOR ls_i = 1 TO UpperBound(Filename)
IF UpperBound(Filename) = 1 THEN
ls_filename = Pathname
ELSE
ls_filename = Pathname + '\'+Filename[ls_i]
END IF
FOR j = 1 TO lv_fj.TotalItems()
lv_fj.GetItem(j, l_lvi1)
find_name = l_lvi1.Label
IF find_name = Filename[ls_i] THEN GOTO for_next
NEXT
IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
MessageBox('系统提示',errmsg)
RETURN
END IF
ls_filesize = Len(ls_filedata)
s_lvfj.fjtype = 0
s_lvfj.relid = s_send.sendid
s_lvfj.Filename = Filename[ls_i]
s_lvfj.filesize = ls_filesize
s_lvfj.fileblob = ls_filedata
s_lvfj.filetype = C_from_file
l_lvi.PictureIndex = 1
l_lvi.Label = Filename[ls_i]
l_lvi.Data = s_lvfj
lv_fj.InsertItem(ls_i,l_lvi)
for_next:
NEXT
END IF
wf_fjcount()
end event
event ue_delfj();lv_fj.triggerevent('ue_delfj')
wf_fjcount()
end event
event ue_saveas();lv_fj.triggerevent('ue_saveas')
end event
event ue_runfj();lv_fj.triggerevent('ue_runfj')
end event
event ue_filter_rep();string obj_expr=''
//if trim(tab_1.tabpage_1.sle_2.text)<>'' then
// if pos(trim(tab_1.tabpage_1.sle_2.text),'%',1)=0 then
// obj_expr=obj_expr+'( mailname like "%'+trim(tab_1.tabpage_1.sle_2.text)+'%" )'
// else
// obj_expr=obj_expr+'( mailname like "'+trim(tab_1.tabpage_1.sle_2.text)+'" )'
// end if
//end if
//
//dw_rep.setfilter(obj_expr)
//
//dw_rep.setredraw(false)
//dw_rep.filter()
//if dw_rep.rowcount()>=1 then
// dw_rep.selectrow(0,false)
// dw_rep.selectrow(1,true)
//end if
//dw_rep.setredraw(true)
end event
event ue_sendmx();s_sendmx_parm s_sendmx, s_return
long i, ll_row
FOR i = 1 TO dw_revlist.RowCount()
s_sendmx.sendmx[i].printid = i
s_sendmx.sendmx[i].sendid = 0
s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
s_sendmx.sendmx[i].Revname = Trim(dw_revlist.Object.Revname[i])
s_sendmx.sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
s_sendmx.sendmx[i].repname = Trim(dw_revlist.Object.repname[i])
NEXT
openwithparm(w_email_sendmx_new, s_sendmx)
s_return = message.powerobjectparm
if not isvalid(s_return) then return
dw_revlist.reset()
for i = 1 to upperbound(s_return.sendmx)
ll_row = dw_revlist.InsertRow(0)
dw_revlist.Object.sendid[ll_row] = s_send.sendid
dw_revlist.Object.printid[ll_row] = ll_row
dw_revlist.Object.reltype[ll_row] = s_return.sendmx[i].reltype
dw_revlist.Object.relid[ll_row] = s_return.sendmx[i].relid
dw_revlist.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
dw_revlist.Object.revname[ll_row] = s_return.sendmx[i].revname
dw_revlist.Object.repname[ll_row] = s_return.sendmx[i].repname
next
wf_makerevtext()
this.triggerevent('ue_set_height')
end event
event ue_set_height;if mle_revlist.height > 84 then return
if mle_revlist.linecount( ) > 1 then
mle_revlist.Height = 84 * 3
st_9.y = st_9.y + 168
sle_subject.y = sle_subject.y + 168
uo_html.y = uo_html.y + 168
sp_v1.y = sp_v1.y + 168
dw_revlist.y = dw_revlist.y + 168
this.triggerevent('resize')
end if
end event
event ue_set_sign(integer abc);//messagebox('',string(arg_id))
m_Dfc_Control_PopupMenu dmPopupMenu1
dmPopupMenu1=dmPopupMenu
end event
event losefocus;//UnregisterHotKey(Handle(This), atomid)
//messagebox("","eeww")
end event
event getfocus;//RegisterHotKey(Handle(This), atomid, MOD_CONTROL , 86)
//messagebox("","eeweww")
end event
event ue_cloudfj();open(w_email_cloud)
ss_email_cloudmx = message.powerobjectparm
//messagebox(ss_email_cloudmx.name,ss_email_cloudmx.url)
string s0,s1,s2,s3,htmltext
s0='
| '
s1=' 附件(attachment)
'
s3=''
htmltext = uo_html.uf_gethtml()
htmltext = htmltext +char(13)+char(10)+ s0 +s1+ss_email_cloudmx.url+s2+ss_email_cloudmx.name +s3
uo_html.uf_sethtml(htmltext)
end event
event ue_sendmx_cust();s_sendmx_parm s_sendmx, s_return
long i, ll_row
s_edit_index_tran ss_tran
FOR i = 1 TO dw_revlist.RowCount()
s_sendmx.sendmx[i].printid = i
s_sendmx.sendmx[i].sendid = 0
s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
s_sendmx.sendmx[i].Revname = Trim(dw_revlist.Object.Revname[i])
s_sendmx.sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
s_sendmx.sendmx[i].repname = Trim(dw_revlist.Object.repname[i])
NEXT
OpenWithParm(w_email_seach_cust,ss_tran)
s_return = message.powerobjectparm
if not isvalid(s_return) then return
dw_revlist.reset()
for i = 1 to upperbound(s_return.sendmx)
ll_row = dw_revlist.InsertRow(0)
dw_revlist.Object.sendid[ll_row] = s_send.sendid
dw_revlist.Object.printid[ll_row] = ll_row
dw_revlist.Object.reltype[ll_row] = s_return.sendmx[i].reltype
dw_revlist.Object.relid[ll_row] = s_return.sendmx[i].relid
dw_revlist.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
dw_revlist.Object.revname[ll_row] = s_return.sendmx[i].revname
dw_revlist.Object.repname[ll_row] = s_return.sendmx[i].repname
next
wf_makerevtext()
this.triggerevent('ue_set_height')
end event
event ue_sendmx_cust_cc();s_sendmx_parm s_sendmx, s_return
long i, ll_row
s_edit_index_tran ss_tran
FOR i = 1 TO dw_cc.RowCount()
s_sendmx.sendmx[i].printid = i
s_sendmx.sendmx[i].sendid = 0
s_sendmx.sendmx[i].reltype = dw_cc.Object.reltype[i]
s_sendmx.sendmx[i].Relid = dw_cc.Object.Relid[i]
s_sendmx.sendmx[i].Revname = Trim(dw_cc.Object.Revname[i])
s_sendmx.sendmx[i].revaddress = Trim(dw_cc.Object.revaddress[i])
s_sendmx.sendmx[i].repname = Trim(dw_cc.Object.repname[i])
NEXT
OpenWithParm(w_email_seach_cust,ss_tran)
s_return = message.powerobjectparm
if not isvalid(s_return) then return
dw_cc.reset()
for i = 1 to upperbound(s_return.sendmx)
ll_row = dw_cc.InsertRow(0)
dw_cc.Object.sendid[ll_row] = s_send.sendid
dw_cc.Object.printid[ll_row] = ll_row
dw_cc.Object.reltype[ll_row] = s_return.sendmx[i].reltype
dw_cc.Object.relid[ll_row] = s_return.sendmx[i].relid
dw_cc.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
dw_cc.Object.revname[ll_row] = s_return.sendmx[i].revname
dw_cc.Object.repname[ll_row] = s_return.sendmx[i].repname
dw_cc.Object.addtype[ll_row] = "Cc"
next
wf_makerevtext_cc()
//this.triggerevent('ue_set_height')
end event
event ue_sendmx_cc();s_sendmx_parm s_sendmx, s_return
long i, ll_row
FOR i = 1 TO dw_cc.RowCount()
s_sendmx.sendmx[i].printid = i
s_sendmx.sendmx[i].sendid = 0
s_sendmx.sendmx[i].reltype = dw_cc.Object.reltype[i]
s_sendmx.sendmx[i].Relid = dw_cc.Object.Relid[i]
s_sendmx.sendmx[i].Revname = Trim(dw_cc.Object.Revname[i])
s_sendmx.sendmx[i].revaddress = Trim(dw_cc.Object.revaddress[i])
s_sendmx.sendmx[i].repname = Trim(dw_cc.Object.repname[i])
NEXT
openwithparm(w_email_sendmx_new, s_sendmx)
s_return = message.powerobjectparm
if not isvalid(s_return) then return
dw_cc.reset()
for i = 1 to upperbound(s_return.sendmx)
ll_row = dw_cc.InsertRow(0)
dw_cc.Object.sendid[ll_row] = s_send.sendid
dw_cc.Object.printid[ll_row] = ll_row
dw_cc.Object.reltype[ll_row] = s_return.sendmx[i].reltype
dw_cc.Object.relid[ll_row] = s_return.sendmx[i].relid
dw_cc.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
dw_cc.Object.revname[ll_row] = s_return.sendmx[i].revname
dw_cc.Object.repname[ll_row] = s_return.sendmx[i].repname
dw_cc.Object.addtype[ll_row] = "Cc"
next
wf_makerevtext_cc()
//this.triggerevent('ue_set_height')
end event
public function integer wf_save (ref string arg_msg);Long rslt = 1
Long i,j
s_email_lvfj s_lvfj[]
listviewitem l_lvi
String ls_temp
Long ll_row,ll_row1
String chk1,chk2
dw_revlist.AcceptText()
dw_cc.AcceptText()
s_email_sendmx s_sendmx[],s_parm
mle_revlist.Text = ''
ls_temp = ''
///////////////// //添加抄送人列表
FOR i = 1 To dw_cc.RowCount()
ext1:
FOR j = 1 To dw_revlist.RowCount()
IF Trim(dw_revlist.Object.revaddress[j]) = Trim(dw_cc.Object.revaddress[i]) THEN
IF i = dw_cc.RowCount() THEN
GOTO ext2
ELSE
i++
GOTO ext1
END IF
END IF
NEXT
ll_row1 = dw_revlist.InsertRow(0)
dw_revlist.Object.isselect[ll_row1] = dw_cc.Object.isselect[i]
dw_revlist.Object.sendid[ll_row1] = dw_cc.Object.sendid[i]
dw_revlist.Object.printid[ll_row1] = ll_row1
dw_revlist.Object.reltype[ll_row1] = 99
dw_revlist.Object.relid[ll_row1] = dw_cc.Object.relid[i]
dw_revlist.Object.revaddress[ll_row1] = dw_cc.Object.revaddress[i]
dw_revlist.Object.revname[ll_row1] = dw_cc.Object.revname[i]
dw_revlist.Object.dscrp[ll_row1] = dw_cc.Object.dscrp[i]
dw_revlist.Object.repname[ll_row1] = dw_cc.Object.repname[i]
dw_revlist.Object.addtype[ll_row1] = dw_cc.Object.addtype[i]
NEXT
ext2:
dw_revlist.AcceptText()
////////////////// //
FOR i = 1 To dw_revlist.RowCount()
chk1 = LeftTrim(RightTrim(Lower(dw_revlist.Object.revname[i])))
FOR j = i+1 To dw_revlist.RowCount()
IF j > dw_revlist.RowCount() THEN
CONTINUE
END IF
chk2 = LeftTrim(RightTrim(Lower(dw_revlist.Object.revname[j])))
IF Pos(chk1,chk2) > 0 THEN
rslt = 0
arg_msg = '存在类似或相同收件人,不能保存!~n'+chk1+','+chk2
GOTO ext
END IF
IF Pos(chk2,chk1) > 0 THEN
rslt = 0
arg_msg = '存在类似或相同收件人,不能保存!~n'+chk1+','+chk2
GOTO ext
END IF
NEXT
NEXT
FOR i = 1 To dw_revlist.RowCount()
s_parm.reltype = dw_revlist.Object.reltype[i]
s_parm.revname = Trim(dw_revlist.Object.revname[i])
s_parm.revaddress = Trim(dw_revlist.Object.revaddress[i])
// messagebox('','1')
IF obj_email.f_check_rep(s_parm,arg_msg) = 0 THEN
rslt = 0
GOTO ext
END IF
dw_revlist.Object.revname[i] = s_parm.revname
dw_revlist.Object.revaddress[i] = s_parm.revaddress
dw_revlist.Object.reltype[i] = s_parm.reltype
dw_revlist.Object.relid[i] = s_parm.relid
NEXT
wf_makerevtext()
s_send.mailtype = '发件'
s_send.Subject = sle_subject.Text
s_send.priority = Long(This.em_priority.Text)
/////////////////////////////// //解决图片不能显示star
IF lv_fj.TotalItems() > 0 THEN
FOR j = 1 To lv_fj.TotalItems()
lv_fj.GetItem(j, l_lvi)
s_lvfj[j] = l_lvi.Data
NEXT
END IF
oleobject images
oleobject lo
Long ll_cnt,ll_cnt1
String ls_url
String ls_cid,s_temp,ss_temp
String errmsg
Blob ls_filedata
String ls_cidnew
images = uo_html.ole_web.Object.document.images
ll_cnt = images.Length
FOR i = 0 To ll_cnt - 1
ls_cidnew = "__LJ" + String(i)
lo = images.Item(i)
ls_url = lo.getAttribute("src")
IF Lower(Mid(ls_url, 1, 4)) = 'cid:' Or Lower(Mid(ls_url, 1, 4)) = 'http' THEN
CONTINUE
ELSE
s_temp = Mid(ls_url, 9)
FOR j = Len(s_temp) To 1 Step -1
IF Mid(s_temp,j,1) = '/' THEN
ss_temp = Mid(s_temp,j + 1,Len(s_temp) - j )
EXIT
END IF
NEXT
// MessageBox("",ss_temp)
lo.setAttribute("src", "cid:" + ls_cidnew)
s_temp = of_globalreplace(s_temp,"%20" , " ")
IF f_filetoblob(s_temp,ls_filedata,errmsg) = 0 THEN
MessageBox('系统提示',errmsg)
RETURN 0
END IF
ll_cnt1 = UpperBound(s_lvfj)+ 1
s_lvfj[ll_cnt1].fjtype = 0
s_lvfj[ll_cnt1].relid = s_send.sendid
s_lvfj[ll_cnt1].Filename = ss_temp
s_lvfj[ll_cnt1].cid = ls_cidnew
// s_lvfj[ll_cnt1].filesize = Len(ss_temp)
s_lvfj[ll_cnt1].fileblob = ls_filedata
s_lvfj[ll_cnt1].FileType = C_from_file
END IF
NEXT
/////////////////////////////// //解决图片不能显示end
s_send.htmlbody = uo_html.uf_gethtml( )
s_send.textbody = uo_html.uf_gettext( )
s_send.mailsize = Long(em_mailsize.Text)
IF cbx_hz.Checked = True THEN
s_send.NTFlag = 1
ELSE
s_send.NTFlag = 0
END IF
s_send.priority = 0
IF cbx_3.Checked = True THEN
s_send.priority = 1
END IF
//MessageBox("11",s_send.htmlbody)
/////////////////////////////// //解决图片不能显示star
//String s_temp,s_htmlbody,ss_temp
//Long l_l,l_r
//s_htmlbody = s_send.htmlbody
//l_l = 0
//l_l = Pos(s_htmlbody,'src="')
//IF l_l <> 0 THEN
// FOR i = l_l + 5 To l_l + 1000
// IF Mid(s_htmlbody,i,1) = '"' THEN
// l_r = i
// EXIT
// END IF
// NEXT
//
// s_temp = Mid(s_htmlbody,l_l,l_r - l_l + 1)
//
// FOR i = Len(s_temp) To 1 Step -1
// IF Mid(s_temp,i,1) = '\' THEN
// ss_temp=mid(s_temp,i + 1,len(s_temp) - i - 1)
//
// EXIT
// END IF
// NEXT
//
// ss_temp= 'src="cid:' +ss_temp +'"'
// s_htmlbody=of_globalreplace(s_htmlbody,s_temp , ss_temp)
// messagebox("",s_htmlbody)
//
//END IF
//
//oleobject images
//images = ole_1.Object.document.images
//
//Long ll_cnt
//ll_cnt = images.Length
//
//Longj
//oleobject lo
//String ls_url
//String ls_cid
//listviewitem lvi
//s_email_lvfj lvfj
//Blob lb
//String ls_msg
//Boolean findpic = False
//String ls_filename
//
//FOR i = 0 To ll_cnt - 1
// lo = images.Item(i)
// ls_url = lo.getAttribute("src")
// IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
// ls_cid = Mid(ls_url, 5)
// END IF
//NEXT
/////////////////////////////// //解决图片不能显示star
//if cb_normal_flag.checked then
// s_send.normal_flag = 1
//else
// s_send.normal_flag = 0
//end if
String ls_normal
Long ll_begin, ll_end
ls_normal = ddlb_normalflag.Text
ll_begin = Pos(ls_normal, '[',1)
ll_end = Pos(ls_normal, ']', ll_begin)
ls_normal = Mid(ls_normal, ll_begin + 1, ll_end - ll_begin - 1)
s_send.normal_flag = Long(ls_normal)
IF dw_revlist.RowCount() > 0 THEN
FOR i = 1 To dw_revlist.RowCount()
s_sendmx[i].printid = i
s_sendmx[i].sendid = s_send.sendid
s_sendmx[i].reltype = dw_revlist.Object.reltype[i]
s_sendmx[i].relid = dw_revlist.Object.relid[i]
s_sendmx[i].revname = Trim(dw_revlist.Object.revname[i])
s_sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
s_sendmx[i].repname = Trim(dw_revlist.Object.repname[i])
s_sendmx[i].addtype = Trim(dw_revlist.Object.addtype[i])
IF IsNull(s_sendmx[i].addtype) THEN s_sendmx[i].addtype = ""
NEXT
ELSE
arg_msg = '收件人列表不能为空'
rslt = 0
GOTO ext
END IF
IF obj_email.f_save(s_send,s_sendmx,s_lvfj,arg_msg) = 0 THEN
rslt = 0
GOTO ext
END IF
s_set.sendid = s_send.sendid
IF wf_init(arg_msg) <> 1 THEN
rslt = 0
GOTO ext
END IF
wf_fjcount()
This.TriggerEvent('resize')
//if backgroundid<>0 then
// string path
// path= 'c:\'+String(backgroundid,'mht0000.mht')
// if fileexists(path) then
// filedelete(path)
// end if
//end if
ext:
RETURN rslt
end function
public function integer wf_init (ref string arg_msg);Int rslt = 1
Long count,ls_i, i
String ls_msg
listviewitem l_lvi
s_email_lvfj s_lvfj[]
dw_revlist.Reset()
IF s_set.sendid > 0 THEN
IF obj_email.uf_get_send(s_set.sendid, s_send, ls_msg) <> 1 THEN
rslt = 0
arg_msg = ls_msg
GOTO ext
END IF
// mle_text.text = s_send.textbody
em_priority.Text = String(s_send.priority)
sle_mailuser.Text = s_set.mailuser
sle_mailaddress.Text = s_set.mailAddress
sle_mailtype.Text = f_GetStatusName(s_send.mailtype)
em_mailsize.Text = String(s_send.mailsize)
sle_opemp.Text = s_send.opemp
em_opdate.Text = String(s_send.opdate, 'yyyy-mm-dd')
em_senddate.Text = String(s_send.senddate, 'yyyy-mm-dd')
sle_subject.Text = s_send.Subject
ddlb_normalflag.SelectItem(s_send.normal_flag + 1)
uo_html.uf_sethtml(s_send.htmlbody)
dw_revlist.Retrieve(s_send.sendid)
//附件列表
lv_fj.DeleteItems( )
IF obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, False) <> 1 THEN
rslt = 0
GOTO ext
END IF
FOR i = 1 To UpperBound(s_lvfj)
l_lvi.PictureIndex = 1
l_lvi.Label = s_lvfj[i].Filename
l_lvi.Data = s_lvfj[i]
lv_fj.AddItem(l_lvi)
NEXT
have_fj = (UpperBound(s_lvfj) > 0)
lv_fj.Visible = have_fj
ELSE
Long ll_row
em_priority.Text = "3"
sle_mailtype.Text = '未发'
sle_mailuser.Text = s_set.mailuser
sle_mailaddress.Text = s_set.mailAddress
s_send.mailid = s_set.mailid
ddlb_normalflag.SelectItem(1)
em_opdate.Text = String(Today (), 'yyyy-mm-dd')
IF s_set.flag = 1 THEN // 回复
ll_row = dw_revlist.InsertRow(0)
dw_revlist.Object.reltype[ll_row] = s_set.reltype
dw_revlist.Object.revaddress[ll_row] = s_set.revaddress
dw_revlist.Object.revname[ll_row] = s_set.revuser
dw_revlist.Object.relid[ll_row] = s_set.relid
lv_fj.DeleteItems( )
IF obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, False) <> 1 THEN
rslt = 0
GOTO ext
END IF
FOR i = 1 To UpperBound(s_lvfj)
l_lvi.PictureIndex = 1
l_lvi.Label = s_lvfj[i].Filename
l_lvi.Data = s_lvfj[i]
lv_fj.AddItem(l_lvi)
NEXT
have_fj = (UpperBound(s_lvfj) > 0)
lv_fj.Visible = False
ELSEIF s_set.flag = 2 THEN // 转发
// mle_text.Text = s_set.textbody
sle_subject.Text = s_set.Title
s_send.htmlbody = s_set.htmlbody
uo_html.uf_sethtml(s_send.htmlbody)
lv_fj.DeleteItems( )
IF s_set.reltype = 2 THEN
IF wf_admsg_getfj(s_set.relid, s_lvfj, arg_msg) <> 1 THEN
rslt = 0
GOTO ext
END IF
FOR i = 1 To UpperBound(s_lvfj)
l_lvi.PictureIndex = 1
l_lvi.Label = s_lvfj[i].Filename
l_lvi.Data = s_lvfj[i]
lv_fj.AddItem(l_lvi)
NEXT
have_fj = (UpperBound(s_lvfj) > 0)
lv_fj.Visible = have_fj
ELSE
IF obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, False) <> 1 THEN
rslt = 0
GOTO ext
END IF
FOR i = 1 To UpperBound(s_lvfj)
l_lvi.PictureIndex = 1
l_lvi.Label = s_lvfj[i].Filename
l_lvi.Data = s_lvfj[i]
lv_fj.AddItem(l_lvi)
NEXT
have_fj = (UpperBound(s_lvfj) > 0)
lv_fj.Visible = have_fj
END IF
END IF
END IF
wf_makerevtext()
ext:
RETURN rslt
end function
public function long wf_face_change ();IF dw_edit_mode THEN
// tab_1.tabpage_1.cb_delet.Enabled = FALSE
// tab_1.tabpage_1.cb_rtr.Enabled = FALSE
//
// tab_1.tabpage_1.cb_edit.Text = "放弃&E"
// tab_1.tabpage_1.cb_add.Text = "保存&S"
cb_send.Enabled = FALSE
cb_save.Enabled = FALSE
cb_fj.Enabled = FALSE
cb_change.Enabled = FALSE
cb_exit.Enabled = FALSE
cb_6.Enabled = FALSE
cb_7.Enabled = FALSE
cb_9.Enabled = FALSE
cbx_1.Enabled = FALSE
// tab_1.tabpage_3.Enabled = FALSE
// tab_1.tabpage_4.Enabled = FALSE
ELSE
// tab_1.tabpage_1.cb_delet.Enabled = TRUE
// tab_1.tabpage_1.cb_rtr.Enabled = TRUE
//
// tab_1.tabpage_1.cb_edit.Text = "修改&E"
// tab_1.tabpage_1.cb_add.Text = "新建&S"
cb_send.Enabled = TRUE
cb_save.Enabled = TRUE
cb_fj.Enabled = TRUE
cb_change.Enabled = TRUE
cb_exit.Enabled = TRUE
cb_6.Enabled = TRUE
cb_7.Enabled = TRUE
cb_9.Enabled = TRUE
cbx_1.Enabled = TRUE
// tab_1.tabpage_3.Enabled = TRUE
// tab_1.tabpage_4.Enabled = TRUE
END IF
RETURN 1
end function
public subroutine wf_fjcount ();IF lv_fj.TotalItems() = 0 THEN
cb_fj.Text = '附件'
have_fj = FALSE
THIS.TriggerEvent(Resize!)
ELSE
cb_fj.Text = '附件(' +String(lv_fj.TotalItems()) + ')'
END IF
cb_fj.of_init_draw()
cb_fj.of_paint()
cb_fj.TriggerEvent('ue_textchange')
end subroutine
public function integer wf_check (ref string arg_msg);Long rslt = 1
Long i
dw_revlist.AcceptText()
IF dw_revlist.RowCount() = 0 THEN
rslt = 0
arg_msg = '收件人列表不能为空'
GOTO ext
END IF
FOR i = 1 TO dw_revlist.RowCount()
IF Pos(Trim(dw_revlist.Object.revaddress[i]),'@',1) = 0 THEN
rslt = 0
arg_msg = '第' + String(i) + '行,收件人地址不正确'
GOTO ext
END IF
NEXT
ext:
RETURN rslt
end function
public function integer f_getstatusvalue (string arg_name);if arg_name = '未发' then
return 0
elseif arg_name = '已发' then
return 1
elseif arg_name = '废件' then
return 2
else
return -1
end if
end function
public subroutine wf_makerevlist ();string ls_name, ls_address
long ll_pos
long ll_row
string ls_arg, ls_mail
ls_arg = mle_revlist.text
long ll_first, ll_sec
dw_revlist.reset()
dw_revlist.accepttext( )
ll_first = 1
do while (ll_first <= len(ls_arg))
ll_sec = pos(ls_arg, ';', ll_first)
if ll_sec = 0 then
ll_sec = len(ls_arg)
else
ll_sec = ll_sec - 1
end if
if ll_sec < ll_first then
ll_first ++
continue;
end if
ls_mail = mid(ls_arg, ll_first, ll_sec - ll_first + 1)
ll_pos = pos(ls_mail, '<', 1)
if ll_pos = 0 then
ls_name = ls_mail
ls_address = ls_mail
else
ls_name = left(ls_mail, ll_pos - 1)
ls_address = mid(ls_mail, ll_pos + 1, len(ls_mail) - ll_pos)
ll_pos = pos(ls_address, '>', 1)
ls_address = left(ls_address, ll_pos - 1)
end if
ll_row = dw_revlist.InsertRow(0)
dw_revlist.Object.sendid[ll_row] = s_send.sendid
dw_revlist.Object.printid[ll_row] = ll_row
dw_revlist.Object.reltype[ll_row] = 3
dw_revlist.Object.relid[ll_row] = 0
dw_revlist.Object.revaddress[ll_row] = ls_address
dw_revlist.Object.revname[ll_row] = ls_name
dw_revlist.Object.dscrp[ll_row] = ''
dw_revlist.accepttext( )
ll_first = ll_sec + 2
loop
dw_revlist.accepttext( )
end subroutine
public subroutine wf_makerevtext ();Long i, ll_row
dw_revlist.AcceptText( )
ll_row = dw_revlist.RowCount( )
mle_revlist.Text = ''
IF ll_row = 0 THEN
RETURN
END IF
FOR i = 1 To ll_row
IF dw_revlist.Object.reltype[i] <> 99 THEN
mle_revlist.Text = mle_revlist.Text + Trim(dw_revlist.Object.revname[i])+ '<' + Trim(dw_revlist.Object.revaddress[i] )+ '>;'
END IF
NEXT
mle_revlist.Text = Left(mle_revlist.Text, Len(mle_revlist.Text) - 1)
IF s_set.Subject <> "" THEN sle_subject.Text = s_set.Subject //回复时带上主题(荣)
end subroutine
public subroutine uf_updaterevlist ();long index, reltype, j
index = 1
do while index <= dw_revlist.rowcount()
j = index + 1
do while j <= dw_revlist.rowcount( )
if dw_revlist.object.revaddress[index] = dw_revlist.object.revaddress[j] then
dw_revlist.deleterow(j)
else
j++
end if
loop
index ++
loop
wf_makerevtext()
end subroutine
public function string f_getstatusname (string arg_value);if arg_value = '发件' then
return '未发'
elseif arg_value = '已发件' then
return '已发'
elseif arg_value = '收件' then
return '已收'
else
return 'unkown'
end if
end function
public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg);int rslt = 1
s_email_lvfj lvfj[]
long fjid
string filename
long i = 0
DECLARE cur1 cursor FOR
select fjid,filename
from Sys_admsg_fj where msgid = :arg_msgid using Commit_Tran;
OPEN cur1;
FETCH cur1 INTO :fjid, :filename;
do while Commit_Tran.sqlcode = 0
i ++
lvfj[i].fjid = fjid
lvfj[i].filename = filename
lvfj[i].filetype = C_Sys_admsg_fj
FETCH cur1 INTO :fjid, :filename;
LOOP
CLOSE cur1;
arg_lvfj = lvfj
return rslt
end function
public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
SELECTBLOB fileblob INTO :arg_fjblob FROM Sys_admsg_fj
WHERE fjid = :arg_fjid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '获取内部消息附件失败,' + Commit_Tran.sqlerrtext
goto ext
end if
ext:
return rslt
end function
public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
SELECTBLOB fileblob INTO :arg_fjblob FROM u_email_fj
WHERE fjid = :arg_fjid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '获取附件失败,' + fj_tran.sqlerrtext
goto ext
end if
ext:
return rslt
end function
public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename);int rslt = 1
string ls_pathname
string errmsg
string lsNull
setnull(lsNull)
ls_pathname = sys_cur_path+fjfilepathname+'\'+arg_filename
IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
IF f_blobtofile(ls_pathname,arg_blob,errmsg) = 0 THEN
rslt = 0
GOTO ext
END IF
//打开附件
ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
ext:
IF rslt = 0 THEN
MessageBox('系统提示',errmsg)
END IF
end subroutine
public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename);long pos1, i
string ls_filetypename
string ls_filename
string errmsg
pos1 = Pos(arg_filename,'.',1)
IF pos1 > 0 THEN
ls_filetypename = Mid(arg_filename,pos1 + 1, len(arg_filename))
i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
ELSE
ls_filetypename = ''
i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*.*,*.*")
END IF
IF i = 1 AND Trim(arg_filename) <> '' THEN
IF f_blobtofile(arg_filename,arg_blob,errmsg) = 0 THEN
MessageBox('系统提示',errmsg)
RETURN
ELSE
MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+arg_filename)
END IF
END IF
end subroutine
public function boolean wf_hasdotnet ();string ls_value[]
if RegistryValues('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727', ls_value) <> 1 then
return false
else
return true
end if
end function
public subroutine wf_addfj (string arg_filename);Long i,j
Long ls_i,ls_j,ls_newrow,ls_filesize
Blob ls_filedata
String Pathname,ls_filename
String Filename[],errmsg
s_email_lvfj s_lvfj
String find_name
listviewitem l_lvi,l_lvi1
i = 1
Pathname = arg_filename
Filename[1] = arg_filename
long ll_pos
ll_pos = LastPos(arg_filename, '\')
if ll_pos > 0 then
Filename[1] = mid(arg_filename, ll_pos + 1)
end if
IF i = 1 AND Trim(Pathname) <> '' THEN
IF NOT have_fj THEN
have_fj = TRUE
THIS.TriggerEvent(Resize!)
END IF
FOR ls_i = 1 TO UpperBound(Filename)
IF UpperBound(Filename) = 1 THEN
ls_filename = Pathname
ELSE
ls_filename = Pathname + '\'+Filename[ls_i]
END IF
FOR j = 1 TO lv_fj.TotalItems()
lv_fj.GetItem(j, l_lvi1)
find_name = l_lvi1.Label
IF find_name = Filename[ls_i] THEN GOTO for_next
NEXT
IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
MessageBox('系统提示',errmsg)
RETURN
END IF
ls_filesize = Len(ls_filedata)
s_lvfj.fjtype = 0
s_lvfj.relid = s_send.sendid
s_lvfj.Filename = Filename[ls_i]
s_lvfj.filesize = ls_filesize
s_lvfj.fileblob = ls_filedata
s_lvfj.filetype = C_from_file
l_lvi.PictureIndex = 1
l_lvi.Label = Filename[ls_i]
l_lvi.Data = s_lvfj
lv_fj.InsertItem(ls_i,l_lvi)
for_next:
NEXT
END IF
wf_fjcount()
end subroutine
public subroutine wf_reply (integer arg_id);//回复邮件内容
String body_txt
Long Len
string mailadd,sendadd,subject
datetime revtime
//messagebox('','ready')
SELECT DATALENGTH(htmlbody) ,mailaddress,sendaddress,revdate,subject
INTO :Len,:mailadd,:sendadd,:revtime,:subject
FROM u_email_msg
Where id = :s_set.id Using fj_tran;
IF fj_tran.SQLCode <> 0 THEN
MessageBox('提示', '查询消息长度失败,' +String(Len)+'~n'+ fj_tran.SQLErrText)
GOTO ext
END IF
//messagebox('','next')
IF Len > 2048 THEN
Blob lb
SelectBlob htmlbody Into :lb From u_email_msg
Where id = :s_set.id Using fj_tran;
IF fj_tran.SQLCode <> 0 THEN
MessageBox('提示', '查询消息块失败,' + fj_tran.SQLErrText)
GOTO ext
END IF
body_txt = String(lb)
ELSE
SELECT htmlbody INTO :body_txt FROM u_email_msg
Where id = :s_set.id Using fj_tran;
IF fj_tran.SQLCode <> 0 THEN
MessageBox('提示', '查询消息失败,' + fj_tran.SQLErrText)
GOTO ext
END IF
END IF
string head
if isnull(mailadd) then
mailadd='无'
end if
if isnull(sendadd) then
sendadd='无'
end if
if isnull(subject) then
subject='无'
end if
head=' '&
+'
'&
+' ----------原始邮件---------- '&
+'发件人: '+mailadd+';'
if isnull(revtime) then
head+='发送时间: '
else
head+='发送时间:'+string(revtime)+' '
end if
head+='收件人: '+sendadd+'; '&
+'主题:'+subject +'
'&
+'
'&
uo_html.uf_sethtml(head+body_txt+'
')
//uo_html.uf_setbackground('C:/Users/ASUS/Pictures/03.jpg')
ext:
end subroutine
public function integer wf_setbackground (integer arg_paperid);
Long rslt = 1,ll_ConnectionID
String pName,arg_msg,lendetail
Long pictype
string backPath ,logoPath ,bottomPath
string oldTXT
SELECT papername,papertype,lendetail
INTO :pName,:pictype,:lendetail
FROM u_email_letterpaper
WHERE paperid = :arg_paperid
Using fj_tran;
IF fj_tran.SQLCode <> 0 THEN
rslt = 0
END IF
//填充图片
Blob lb_pic,lbb_read
Long place
//messagebox("",integer(sle_1.text))
Int li_id
SelectBlob picdata
Into :lb_pic
From u_email_letterpaper
Where paperid = :arg_paperid
Using fj_tran;
IF fj_tran.SQLCode <> - 1 THEN
IF Len(lb_pic) > 0 THEN
String Len[],Name[]
Long cnt,len1,st = 1
String path,ls_msg
uo_strhelper strhelper
strhelper = create uo_strhelper
strhelper.split(lendetail,',',Ref Len)
destroy strhelper
FOR cnt = 1 To UpperBound(Len)
len1 = Long(Len[cnt])
path = 'c:\'+String(arg_paperid,'mht0000.mht')
IF FileExists(path) THEN
FileDelete(path)
END IF
IF len1 = -1 THEN
// messagebox('','-1')
Name[cnt] = ''
CONTINUE
end if
lbb_read = BlobMid(lb_pic,st,len1)
// Name[cnt] = path
f_blobtofile(path,lbb_read,ls_msg)
st += len1
NEXT
END IF
END IF
string bodytxt,tag1,bodytxt2
wf_set_oldmailContent(ref ls_msg)
uo_html.uf_navigate(path)
timer(0.5)
RETURN rslt
end function
public function string wf_get_backgroundfile (integer arg_paperid);string rslt=''
//Blob lb_pict
//string ls_msg
//
//SelectBlob pic
//Into :lb_pict
//From u_email_letterpaper
//Where paperid = :arg_paperid
//Using fj_tran;
//IF fj_tran.SQLCode <> 0 THEN
// RETURN ''
//END IF
//
//Int li_no
//String ls_filepath
//ls_filepath = 'c:\pictfile'+String(arg_paperid,'0000.jpg')
//
//IF f_blobtofile(ls_filepath,lb_pict,ls_msg) = 0 THEN
//
//END IF
//
//return ls_filepath
//Blob lb_pic,lbb_read
//Long place
//string lendetail,backPath,logoPath,bottomPath
////messagebox("",integer(sle_1.text))
//Int li_id
////li_id=integer(sle_1.text)
//SelectBlob picdata
//Into :lb_pic
//From u_email_letterpaper
//Where paperid = :arg_paperid
//Using fj_tran;
//IF fj_tran.SQLCode <> - 1 THEN
// IF Len(lb_pic) > 0 THEN
// // p_1.SetPicture(lb_pic)
// //ole_1.object.document.body.background=''
// String Len[],Name[]
// Long cnt,len1,st = 1
// String path,ls_msg
//
// f_split(lendetail,',',Ref Len)
// FOR cnt = 1 To UpperBound(Len)
// len1 = Long(Len[cnt])
// path = 'c:\'+String(arg_paperid,'pic0000')+String(cnt,'00.jpg')
// IF FileExists(path) THEN
// FileDelete(path)
// END IF
//
// IF len1 = -1 THEN CONTINUE
// lbb_read = BlobMid(lb_pic,st,len1)
//
// Name[cnt] = path
// f_blobtofile(path,lbb_read,ls_msg)
// st += len1
// NEXT
// backPath = Name[1]
// logoPath = Name[2]
// bottomPath = Name[3]
//// Timer(0.1)
// END IF
//ELSE
// // p_1.PictureName = ""
// //ole_1.object.document.body.background=''
//END IF
return rslt
end function
public function integer wf_addbacktofj (integer arg_paperid);Long rslt = 1
Blob lb_filedata
String ls_filepath,ls_msg
long ll_filesize,j
s_email_lvfj s_lvfj
listviewitem l_lvi
ls_filepath = 'c:\pictfile'+String(arg_paperid,'0000.jpg')
IF Not FileExists(ls_filepath) THEN
ls_filepath = wf_get_backgroundfile(arg_paperid)
END IF
IF ls_filepath <> '' THEN
IF NOT have_fj THEN
have_fj = TRUE
this.TriggerEvent(Resize!)
END IF
IF f_filetoblob(ls_filepath,lb_filedata,ls_msg) = 0 THEN
MessageBox('系统提示',ls_msg)
rslt = 0
GOTO ext
END IF
// FOR j = 1 TO lv_fj.TotalItems()
//// lv_fj.GetItem(j, l_lvi1)
// NEXT
ll_filesize = Len(lb_filedata)
s_lvfj.fjtype = 0
s_lvfj.relid = s_send.sendid
s_lvfj.Filename = 'pictfile'+String(arg_paperid,'0000.jpg')
s_lvfj.filesize = ll_filesize
s_lvfj.fileblob = lb_filedata
s_lvfj.filetype = C_from_file
l_lvi.PictureIndex = 1
l_lvi.Label ='pictfile'+String(arg_paperid,'0000.jpg')
l_lvi.Data = s_lvfj
lv_fj.InsertItem(1,l_lvi)
END IF
wf_fjcount()
ext:
RETURN rslt
end function
public function integer wf_retrieve_normal ();int rslt=1
return rslt
end function
public function integer wf_getpic_fromdb (integer arg_paperid);
Long rslt = 1,ll_ConnectionID
String pName,arg_msg,lendetail
Long pictype
string backPath ,logoPath ,bottomPath
string oldTXT
SELECT papername,papertype,lendetail
INTO :pName,:pictype,:lendetail
FROM u_email_letterpaper
WHERE paperid = :arg_paperid
Using fj_tran;
IF fj_tran.SQLCode <> 0 THEN
rslt = 0
END IF
//填充图片
Blob lb_pic,lbb_read
Long place
//messagebox("",integer(sle_1.text))
Int li_id
//li_id=integer(sle_1.text)
SelectBlob picdata
Into :lb_pic
From u_email_letterpaper
Where paperid = :arg_paperid
Using fj_tran;
IF fj_tran.SQLCode <> - 1 THEN
IF Len(lb_pic) > 0 THEN
// p_1.SetPicture(lb_pic)
//uo_htmlml.object.document.body.background=''
String Len[],Name[]
Long cnt,len1,st = 1
String path,ls_msg
f_split(lendetail,',',Ref Len)
FOR cnt = 1 To UpperBound(Len)
len1 = Long(Len[cnt])
path = 'c:\'+String(arg_paperid,'mht0000.mht')
IF FileExists(path) THEN
FileDelete(path)
END IF
IF len1 = -1 THEN
// messagebox('','-1')
Name[cnt] = ''
CONTINUE
end if
lbb_read = BlobMid(lb_pic,st,len1)
// Name[cnt] = path
f_blobtofile(path,lbb_read,ls_msg)
st += len1
NEXT
// backPath = Name[1]
// logoPath = Name[2]
// bottomPath = Name[3]
END IF
ELSE
// p_1.PictureName = ""
//uo_htmlml.object.document.body.background=''
END IF
string bodytxt,tag1,bodytxt2
//bodytxt2=char(lb_pic)
//bodytxt=uo_html.uf_style_zidingyi()
//
//tag1='logopicpath'
//place=pos(lower(bodytxt),tag1)
//bodytxt=replace(bodytxt,place,len(tag1),logoPath)
//
//tag1='bottompicpath'
//place=pos(lower(bodytxt),tag1)
//bodytxt=replace(bodytxt,place,len(tag1),bottomPath)
//
//tag1='backpicpath'
//place=pos(lower(bodytxt),tag1)
//bodytxt=replace(bodytxt,place,len(tag1),backPath)
//
//place=pos(lower(bodytxt),'contentEditable=true')
//do while place>0
// replace(lower(bodytxt),place,len('contentEditable=true'),'contentEditable=false')
// place=pos(lower(bodytxt),'contentEditable=true')
//loop
//
//place=pos(lower(bodytxt),'
')
//long next1
//do while place>0
//// next1=pos(bodytxt,'>',place)
// bodytxt=replace(lower(bodytxt),place,len('
'),'')
// place=pos(lower(bodytxt),'
')
//loop
//
////oldTXT=wf_get_bodytext()
////if count=2 then
//// count=3
////end if
////count++
//bodytxt=wf_get_newtext(bodytxt)
//string OldContent
//a=String(lb_pic,EncodingANSI!)
//uo_html.uf_sethtml( a)
//OldContent=uo_html.uf_gethtml()
//messagebox('',OldContent)
wf_set_oldmailContent(ref ls_msg)
uo_html.uf_navigate(path)
//string newStr
//newStr=uo_html.uf_gethtml()
//newStr=wf_make_newcontent(newStr)
//uo_html.uf_sethtml(newStr)
timer(0.5)
//uo_html.uf_settext('123')
//messagebox('','OK')
//uo_html.uf_setcontentEditable('false')
RETURN rslt
end function
public subroutine wf_set_oldmailcontent (ref string arg_msg);string newContent,oldContent
long stn,enn,sto,eno
newContent=uo_html.uf_gethtml()
stn=pos(lower(newContent),'')
if stn>0 then
enn=pos(lower(newContent),'',stn)
if enn>0 then
newContent=mid(newContent,stn,enn - stn+len(''))
mailContent=newContent
end if
end if
//return rslt
end subroutine
public function string wf_make_newcontent (string arg_new);String rslt = ''
String OldContent
Long stn,enn,sto,eno,st,en
String replaceContent,rpcn,rpco
Boolean ifchanges = False,ifFin = False
if count1=3 then
count1=3
end if
count1++
OldContent = mailContent
rslt = arg_new
st = Pos(Lower(arg_new),'')
IF st <= 0 THEN GOTO ext
en = Pos(Lower(arg_new),''))
if OldContent='' then
// mailContent=replaceContent
goto ext
end if
//查看是否有更详细项替换
stn = Pos(replaceContent,'_FoxFROMNAME')
sto = Pos(OldContent,'_FoxFROMNAME')
IF stn > 0 And sto > 0 THEN
stn = Pos(replaceContent,'>',stn)
enn = Pos(replaceContent,'<',stn)
sto = Pos(OldContent,'>',sto)
eno = Pos(OldContent,'<',sto)
rpco = Mid(OldContent,sto+1,eno - sto - 1)
replaceContent=Replace(replaceContent,stn+ 1,enn - stn - 1,rpco)
ifchanges = True
END IF
stn = Pos(replaceContent,'divFMReplyBody')
sto = Pos(OldContent,'divFMReplyBody')
IF ifchanges THEN
IF stn > 0 And sto > 0 THEN
stn = Pos(replaceContent,'>',stn)
enn = Pos(replaceContent,'<',stn)
sto = Pos(OldContent,'>',sto)
eno = Pos(OldContent,'<',sto)
rpco = Mid(OldContent,sto+1,eno - sto - 1)
replaceContent=Replace(replaceContent,stn+1,enn - stn - 1,rpco)
// messagebox('',replaceContent)
ifFin = True
END IF
END IF
IF ifFin THEN
arg_new=Replace(arg_new,st,en - st +Len(''),replaceContent)
//更新内存中旧的内容
// mailContent = replaceContent
rslt = arg_new
ELSE
IF OldContent <> '' THEN
arg_new=Replace(arg_new,st,en - st +Len(''),OldContent)
END IF
rslt = arg_new
END IF
ext:
RETURN rslt
end function
public subroutine wf_retrieve_sign ();
Long cnt,newlist[],row
string name
datastore ds
ds = Create datastore
ds.DataObject = 'dw_email_signlist'
ds.SetTrans(fj_tran)
ds.Retrieve(publ_userid)
cnt=2
//newlist[1]=-1
FOR row = ds.RowCount() to 1 step -1
name=ds.Object.signname[row]+' ['+string(ds.object.id[row])+']'
ddlb_2.insertitem(name,1)
//newlist[cnt]=ds.object.id[row]
cnt++
NEXT
ddlb_2.insertitem('不使用签名',1)
destroy ds
//signList=newlist
ddlb_2.selectitem(1)
end subroutine
public subroutine wf_html_to_text ();
//为了解决-------原始邮件--------
//可以删的问题
//2013-07-12(荣)
//string s_text,ss,ss1,ss2
//long L_S,L_E,i
//string body
//for i=1 to 5
//ss = uo_html.uf_gethtml( )
//
//ss1=gf_getfirstinfo(ss,"----------原始邮件----------","
")
//
//
//
//body=''&
//+''&
//+''&
//+' |
'&
//+''&
//+''&
//+''&
//+' ' +'----------原始邮件----------' + ss1 + ' '&
//+' |
'&
//+''&
//+' |
'
//
//ss=of_globalreplace(ss, "----------原始邮件----------" + ss1, body)
//next
//uo_html.uf_sethtml(ss)
//uo_html.uf_setcontenteditable('true')
oleobject images
images = uo_html.ole_web.Object.document.images
Long ll_cnt
ll_cnt = images.Length
Long i,j
oleobject lo
String ls_url
String ls_cid
ListViewItem lvi
s_email_lvfj lvfj
Blob lb
String ls_msg
Boolean findpic = False
String ls_filename
FOR i = 0 To ll_cnt - 1
lo = images.Item(i)
ls_url = lo.getAttribute("src")
IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
ls_cid = Mid(ls_url, 5)
SetNull(lb)
findpic = False
FOR j = 1 To lv_fj.TotalItems()
IF lv_fj.GetItem(j, lvi) = 1 THEN
lvfj = lvi.Data
IF lvfj.Filename <> ls_cid and lvfj.cid <> ls_cid THEN CONTINUE
IF lvfj.FileType = C_Sys_admsg_fj THEN
IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
EXIT
END IF
findpic = True
ls_filename = lvfj.Filename
ELSEIF lvfj.FileType = C_u_email_fj THEN
IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
EXIT
END IF
findpic = True
ls_filename = lvfj.Filename
END IF
EXIT
END IF
NEXT
IF findpic THEN
ls_filename = sys_cur_path+fjfilepathname+'\'+ls_filename
IF FileExists(ls_filename) THEN FileDelete(ls_filename)
IF f_blobtofile(ls_filename,lb,ls_msg) = 0 THEN
CONTINUE
END IF
lo.setAttribute("src", "file:///" + ls_filename)
END IF
END IF
NEXT
//为了解决-------原始邮件--------
//可以删的问题
//2013-07-12(荣)
//string s_text
////ss = uo_html.uf_gethtml( )
//s_text = uo_html.uf_gettext( )
//
////messagebox("",ss)
////uo_html.uf_settext( ' ')
////uo_html.uf_sethtml(' ')
//string aa,arg_text1,arg_text
//aa=char(13) + char(10)
//do while(pos(s_text,aa)>0)
// arg_text1=left(s_text,pos(s_text,aa) - 1)
// arg_text=arg_text + '' + arg_text1 + '
'
// s_text=right(s_text,len(s_text) - pos(s_text,aa))
//
//// messagebox("",arg_text1)
// arg_text1=""
//loop
//
//
//string body
//body=''&
//+''&
//+''&
//+' |
'&
//+''&
//+''&
//+''&
//+' '&
//+' '&
//+' '&
//+' ' + arg_text + ' '&
//+' '&
//+' '&
//+' |
'&
//+''&
//+' |
'
//
//uo_html.uf_sethtml(body)
//uo_html.uf_setcontenteditable('false')
end subroutine
public function string of_globalreplace (string as_source, string as_old, string as_new);long ll_oldlen, ll_newlen, ll_pos
as_source=trim(as_source)
as_old=trim(as_old)
ll_pos = Pos(as_source,as_old)
IF ll_pos > 0 Then
ll_oldlen = Len(as_old)
ll_newlen = Len(as_new)
DO WHILE ll_pos > 0
as_source = Replace(as_source,ll_pos,ll_oldlen,as_new)
ll_pos = Pos(as_source,as_old,ll_pos + ll_newlen)
LOOP
END IF
RETURN as_source
end function
public function string gf_getfirstinfo (string as_source, string as_bef, string as_aft);string ls_rtn
string ls_bef
string ls_aft
string ls_bef_after//DT = '后面的字符串
long ll_pos1,ll_pos2
ls_bef=as_bef
ls_aft=as_aft
as_source=as_source
ll_pos1=pos(as_source,ls_bef)
if ll_pos1>0 then
ls_bef_after=mid(as_source,ll_pos1 + len(ls_bef),len(as_source) - ll_pos1 - len(ls_bef))
ll_pos2=pos(ls_bef_after,ls_aft)
ls_rtn=mid(ls_bef_after,1,ll_pos2 - 1)
end if
return ls_rtn
end function
public subroutine wf_addfj (string pathname, string filename[]);Long i,j
Long ls_i,ls_j,ls_newrow,ls_filesize
Blob ls_filedata
String ls_filename
String errmsg
s_email_lvfj s_lvfj
String find_name
listviewitem l_lvi,l_lvi1
//i = GetFileSaveName("选择附件",Pathname,Filename[],"*","所有文件,*.*")
IF i = 1 AND Trim(Pathname) <> '' THEN
IF NOT have_fj THEN
have_fj = TRUE
THIS.TriggerEvent(Resize!)
END IF
FOR ls_i = 1 TO UpperBound(Filename)
IF UpperBound(Filename) = 1 THEN
ls_filename = Pathname
ELSE
ls_filename = Pathname + '\'+Filename[ls_i]
END IF
FOR j = 1 TO lv_fj.TotalItems()
lv_fj.GetItem(j, l_lvi1)
find_name = l_lvi1.Label
IF find_name = Filename[ls_i] THEN GOTO for_next
NEXT
IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
MessageBox('系统提示',errmsg)
RETURN
END IF
ls_filesize = Len(ls_filedata)
s_lvfj.fjtype = 0
s_lvfj.relid = s_send.sendid
s_lvfj.Filename = Filename[ls_i]
s_lvfj.filesize = ls_filesize
s_lvfj.fileblob = ls_filedata
s_lvfj.filetype = C_from_file
l_lvi.PictureIndex = 1
l_lvi.Label = Filename[ls_i]
l_lvi.Data = s_lvfj
lv_fj.InsertItem(ls_i,l_lvi)
for_next:
NEXT
END IF
wf_fjcount()
end subroutine
public subroutine wf_html_set (string arg_text);//DO WHILE IsNull(ole_1.Object.document.body)
// Yield()
//LOOP
//
//string arg_text_old
//arg_text_old=arg_text
//IF IsNull(arg_text) THEN arg_text = ''
//IF IsNull(lss_revdate) Or lss_revdate = "" THEN
// arg_text = '主题: ' +lss_subject + '
发件人: ' + lss_sendman + '
发件时间: '+ lss_senddate + '
----------------------------------------------
' +arg_text
//ELSEIF IsNull(lss_senddate) Or lss_senddate = "" THEN
// arg_text = '主题: ' +lss_subject + '
发件人: ' + lss_sendman + '
发件时间: '+ lss_revdate + '
----------------------------------------------
' +arg_text
//ELSE
//END IF
//IF IsNull(arg_text) THEN arg_text =arg_text_old
////messagebox("",arg_text)
////Clipboard(arg_text)
//ole_1.Object.document.body.innerhtml = arg_text
//
//String ls_state
//ls_state = ole_1.Object.document.readyState
//DO WHILE ls_state <> 'complete'
// Yield()
// ls_state = ole_1.Object.document.readyState
//LOOP
//
//oleobject images
//images = ole_1.Object.document.images
//
//Long ll_cnt
//ll_cnt = images.Length
//
//Long i,j
//oleobject lo
//String ls_url
//String ls_cid
//ListViewItem lvi
//s_email_lvfj lvfj
//Blob lb
//String ls_msg
//Boolean findpic = False
//String ls_filename
//
//FOR i = 0 To ll_cnt - 1
// lo = images.Item(i)
// ls_url = lo.getAttribute("src")
// IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
// ls_cid = Mid(ls_url, 5)
// SetNull(lb)
// findpic = False
// FOR j = 1 To lv_fj.TotalItems()
// IF lv_fj.GetItem(j, lvi) = 1 THEN
// lvfj = lvi.Data
// IF lvfj.Filename <> ls_cid and lvfj.cid <> ls_cid THEN CONTINUE
//
// IF lvfj.FileType = C_Sys_admsg_fj THEN
// IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
// EXIT
// END IF
// findpic = True
// ls_filename = lvfj.Filename
// ELSEIF lvfj.FileType = C_u_email_fj THEN
// IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
// EXIT
// END IF
// findpic = True
// ls_filename = lvfj.Filename
// END IF
// EXIT
// END IF
// NEXT
//
// IF findpic THEN
// ls_filename = sys_cur_path+fjfilepathname+'\'+ls_filename
// IF FileExists(ls_filename) THEN FileDelete(ls_filename)
//
// IF f_blobtofile(ls_filename,lb,ls_msg) = 0 THEN
// CONTINUE
// END IF
// lo.setAttribute("src", "file:///" + ls_filename)
// END IF
//
// END IF
//NEXT
//
//
//
//
//
//
end subroutine
public subroutine wf_makerevtext_cc ();long i, ll_row
dw_cc.accepttext( )
ll_row = dw_cc.rowcount( )
mle_cc.text = ''
if ll_row = 0 then
return
end if
for i = 1 to ll_row
mle_cc.Text = mle_cc.text + trim(dw_cc.object.revname[i])+ '<' + trim(dw_cc.object.revaddress[i] )+ '>;'
next
mle_cc.Text = left(mle_cc.Text, len(mle_cc.text) - 1)
end subroutine
public subroutine uf_updaterevlist_cc ();long index, reltype, j
index = 1
do while index <= dw_cc.rowcount()
j = index + 1
do while j <= dw_cc.rowcount( )
if dw_cc.object.revaddress[index] = dw_cc.object.revaddress[j] then
dw_cc.deleterow(j)
else
j++
end if
loop
index ++
loop
wf_makerevtext_cc()
end subroutine
public subroutine wf_makerevlist_cc ();string ls_name, ls_address
long ll_pos
long ll_row
string ls_arg, ls_mail
ls_arg = mle_cc.text
long ll_first, ll_sec
dw_cc.reset()
dw_cc.accepttext( )
ll_first = 1
do while (ll_first <= len(ls_arg))
ll_sec = pos(ls_arg, ';', ll_first)
if ll_sec = 0 then
ll_sec = len(ls_arg)
else
ll_sec = ll_sec - 1
end if
if ll_sec < ll_first then
ll_first ++
continue;
end if
ls_mail = mid(ls_arg, ll_first, ll_sec - ll_first + 1)
ll_pos = pos(ls_mail, '<', 1)
if ll_pos = 0 then
ls_name = ls_mail
ls_address = ls_mail
else
ls_name = left(ls_mail, ll_pos - 1)
ls_address = mid(ls_mail, ll_pos + 1, len(ls_mail) - ll_pos)
ll_pos = pos(ls_address, '>', 1)
ls_address = left(ls_address, ll_pos - 1)
end if
ll_row = dw_cc.InsertRow(0)
dw_cc.Object.sendid[ll_row] = s_send.sendid
dw_cc.Object.printid[ll_row] = ll_row
dw_cc.Object.reltype[ll_row] = 3
dw_cc.Object.relid[ll_row] = 0
dw_cc.Object.revaddress[ll_row] = ls_address
dw_cc.Object.revname[ll_row] = ls_name
dw_cc.Object.dscrp[ll_row] = ''
dw_cc.Object.addtype[ll_row] = 'Cc'
dw_cc.accepttext( )
ll_first = ll_sec + 2
loop
dw_cc.accepttext( )
end subroutine
public subroutine wf_move_cc ();Integer i,j,ll_row1
FOR i = dw_revlist.RowCount() To 1 Step -1
IF dw_revlist.Object.reltype[i] = 99 THEN //抄送
ll_row1 = dw_cc.InsertRow(0)
dw_cc.Object.isselect[ll_row1] = dw_revlist.Object.isselect[i]
dw_cc.Object.sendid[ll_row1] = dw_revlist.Object.sendid[i]
dw_cc.Object.printid[ll_row1] = ll_row1
dw_cc.Object.reltype[ll_row1] = 99
dw_cc.Object.relid[ll_row1] = dw_revlist.Object.relid[i]
dw_cc.Object.revaddress[ll_row1] = dw_revlist.Object.revaddress[i]
dw_cc.Object.revname[ll_row1] = dw_revlist.Object.revname[i]
dw_cc.Object.dscrp[ll_row1] = dw_revlist.Object.dscrp[i]
dw_cc.Object.repname[ll_row1] = dw_revlist.Object.repname[i]
dw_cc.Object.addtype[ll_row1] = dw_revlist.Object.addtype[i]
END IF
NEXT
next1:
FOR i = 1 To dw_revlist.RowCount()
IF dw_revlist.Object.reltype[i] = 99 THEN
dw_revlist.DeleteRow(i)
GOTO next1
END IF
NEXT
wf_makerevtext_cc()
end subroutine
on w_email_send_new.create
int iCurrent
call super::create
this.cb_save=create cb_save
this.cb_fj=create cb_fj
this.cb_change=create cb_change
this.lv_fj=create lv_fj
this.cb_6=create cb_6
this.cb_7=create cb_7
this.cb_9=create cb_9
this.cbx_1=create cbx_1
this.cb_1=create cb_1
this.cb_2=create cb_2
this.cb_fornextsend=create cb_fornextsend
this.st_1=create st_1
this.em_priority=create em_priority
this.st_2=create st_2
this.st_3=create st_3
this.st_4=create st_4
this.st_5=create st_5
this.st_6=create st_6
this.st_7=create st_7
this.st_9=create st_9
this.sle_subject=create sle_subject
this.st_10=create st_10
this.sle_mailuser=create sle_mailuser
this.sle_mailaddress=create sle_mailaddress
this.sle_mailtype=create sle_mailtype
this.em_mailsize=create em_mailsize
this.sle_opemp=create sle_opemp
this.em_opdate=create em_opdate
this.em_senddate=create em_senddate
this.sp_v1=create sp_v1
this.cb_3=create cb_3
this.cb_4=create cb_4
this.uo_html=create uo_html
this.st_11=create st_11
this.pb_1=create pb_1
this.ddlb_normalflag=create ddlb_normalflag
this.st_8=create st_8
this.cb_5=create cb_5
this.st_12=create st_12
this.tab_1=create tab_1
this.ln_bar=create ln_bar
this.ln_bar2=create ln_bar2
this.r_bar=create r_bar
this.ddlb_2=create ddlb_2
this.cb_8=create cb_8
this.mle_revlist=create mle_revlist
this.cbx_auto=create cbx_auto
this.cb_send=create cb_send
this.cbx_hz=create cbx_hz
this.cbx_2=create cbx_2
this.cbx_3=create cbx_3
this.cb_11=create cb_11
this.st_cc=create st_cc
this.mle_cc=create mle_cc
this.pb_cc=create pb_cc
iCurrent=UpperBound(this.Control)
this.Control[iCurrent+1]=this.cb_save
this.Control[iCurrent+2]=this.cb_fj
this.Control[iCurrent+3]=this.cb_change
this.Control[iCurrent+4]=this.lv_fj
this.Control[iCurrent+5]=this.cb_6
this.Control[iCurrent+6]=this.cb_7
this.Control[iCurrent+7]=this.cb_9
this.Control[iCurrent+8]=this.cbx_1
this.Control[iCurrent+9]=this.cb_1
this.Control[iCurrent+10]=this.cb_2
this.Control[iCurrent+11]=this.cb_fornextsend
this.Control[iCurrent+12]=this.st_1
this.Control[iCurrent+13]=this.em_priority
this.Control[iCurrent+14]=this.st_2
this.Control[iCurrent+15]=this.st_3
this.Control[iCurrent+16]=this.st_4
this.Control[iCurrent+17]=this.st_5
this.Control[iCurrent+18]=this.st_6
this.Control[iCurrent+19]=this.st_7
this.Control[iCurrent+20]=this.st_9
this.Control[iCurrent+21]=this.sle_subject
this.Control[iCurrent+22]=this.st_10
this.Control[iCurrent+23]=this.sle_mailuser
this.Control[iCurrent+24]=this.sle_mailaddress
this.Control[iCurrent+25]=this.sle_mailtype
this.Control[iCurrent+26]=this.em_mailsize
this.Control[iCurrent+27]=this.sle_opemp
this.Control[iCurrent+28]=this.em_opdate
this.Control[iCurrent+29]=this.em_senddate
this.Control[iCurrent+30]=this.sp_v1
this.Control[iCurrent+31]=this.cb_3
this.Control[iCurrent+32]=this.cb_4
this.Control[iCurrent+33]=this.uo_html
this.Control[iCurrent+34]=this.st_11
this.Control[iCurrent+35]=this.pb_1
this.Control[iCurrent+36]=this.ddlb_normalflag
this.Control[iCurrent+37]=this.st_8
this.Control[iCurrent+38]=this.cb_5
this.Control[iCurrent+39]=this.st_12
this.Control[iCurrent+40]=this.tab_1
this.Control[iCurrent+41]=this.ln_bar
this.Control[iCurrent+42]=this.ln_bar2
this.Control[iCurrent+43]=this.r_bar
this.Control[iCurrent+44]=this.ddlb_2
this.Control[iCurrent+45]=this.cb_8
this.Control[iCurrent+46]=this.mle_revlist
this.Control[iCurrent+47]=this.cbx_auto
this.Control[iCurrent+48]=this.cb_send
this.Control[iCurrent+49]=this.cbx_hz
this.Control[iCurrent+50]=this.cbx_2
this.Control[iCurrent+51]=this.cbx_3
this.Control[iCurrent+52]=this.cb_11
this.Control[iCurrent+53]=this.st_cc
this.Control[iCurrent+54]=this.mle_cc
this.Control[iCurrent+55]=this.pb_cc
end on
on w_email_send_new.destroy
call super::destroy
destroy(this.cb_save)
destroy(this.cb_fj)
destroy(this.cb_change)
destroy(this.lv_fj)
destroy(this.cb_6)
destroy(this.cb_7)
destroy(this.cb_9)
destroy(this.cbx_1)
destroy(this.cb_1)
destroy(this.cb_2)
destroy(this.cb_fornextsend)
destroy(this.st_1)
destroy(this.em_priority)
destroy(this.st_2)
destroy(this.st_3)
destroy(this.st_4)
destroy(this.st_5)
destroy(this.st_6)
destroy(this.st_7)
destroy(this.st_9)
destroy(this.sle_subject)
destroy(this.st_10)
destroy(this.sle_mailuser)
destroy(this.sle_mailaddress)
destroy(this.sle_mailtype)
destroy(this.em_mailsize)
destroy(this.sle_opemp)
destroy(this.em_opdate)
destroy(this.em_senddate)
destroy(this.sp_v1)
destroy(this.cb_3)
destroy(this.cb_4)
destroy(this.uo_html)
destroy(this.st_11)
destroy(this.pb_1)
destroy(this.ddlb_normalflag)
destroy(this.st_8)
destroy(this.cb_5)
destroy(this.st_12)
destroy(this.tab_1)
destroy(this.ln_bar)
destroy(this.ln_bar2)
destroy(this.r_bar)
destroy(this.ddlb_2)
destroy(this.cb_8)
destroy(this.mle_revlist)
destroy(this.cbx_auto)
destroy(this.cb_send)
destroy(this.cbx_hz)
destroy(this.cbx_2)
destroy(this.cbx_3)
destroy(this.cb_11)
destroy(this.st_cc)
destroy(this.mle_cc)
destroy(this.pb_cc)
end on
event resize;call super::resize;ln_bar.EndX = THIS.Width
ln_bar2.EndX = THIS.Width
r_bar.Width = THIS.Width
Long w_width,w_height
w_width = 3602
w_height = 2300
IF newwidth < w_width THEN THIS.Width = w_width
IF newheight < w_height THEN THIS.Height = w_height
sle_subject.width = this.width - sle_subject.x - 68
mle_revlist.width = sle_subject.width - pb_1.width
pb_1.x = mle_revlist.x + mle_revlist.width
//long ll_mover
//ll_mover = this.width - 40 - uo_1.width
//uo_1.uo_1.width = uo_1.uo_1.width + ll_mover
//uo_1.width = this.width - 40
//uo_1.height = this.height - uo_1.y - 150
tab_1.y=uo_html.y
uo_html.Width = THIS.Width - 40 - tab_1.Width
lv_fj.Width = uo_html.Width
tab_1.x = uo_html.Width + uo_html.x + 20
sp_v1.x = uo_html.width + uo_html.x
cb_6.X = tab_1.X
cb_7.X = cb_6.X + cb_6.Width
cb_9.X = cb_7.X + cb_7.Width
cbx_1.X = cb_9.X + cb_9.Width + 30
cb_1.X = cbx_1.X + cbx_1.Width + 30
//IF cb_1.Text <> '︽' THEN
// tab_1.Height = THIS.Height - tab_1.y - 100
//// tv_1.Visible = FALSE
//ELSE
// tab_1.Height = (THIS.Height - tab_1.y - 84 ) /2 - 5
//// tv_1.Height = tab_1.Height - 134
//// sle_filter.y = tab_1.Y + tab_1.Height
//// tv_1.Y = tab_1.Y + tab_1.Height + 89
//// tv_1.Visible = TRUE
//END IF
tab_1.Height = THIS.Height - tab_1.y - 150
IF have_fj THEN
uo_html.Height = THIS.Height - uo_html.y - lv_fj.Height - 150
lv_fj.Visible = TRUE
ELSE
uo_html.Height = THIS.Height - uo_html.y - 150
lv_fj.Visible = FALSE
END IF
lv_fj.Y = uo_html.Y + uo_html.Height + 5
sp_v1.height = this.height - sp_v1.y - 150
dw_revlist.width=tab_1.tabpage_1.width
dw_revlist.height=tab_1.tabpage_1.height
dw_revlist.x=0
dw_revlist.y=0
tab_1.tabpage_2.dw_2.width=tab_1.tabpage_2.width
tab_1.tabpage_2.dw_2.height=tab_1.tabpage_2.height
tab_1.tabpage_3.dw_cc.width=tab_1.tabpage_2.width
tab_1.tabpage_3.dw_cc.height=tab_1.tabpage_2.height
end event
event open;commit_tran = sqlca
dw_revlist = tab_1.tabpage_1.dw_1
dw_cc= tab_1.tabpage_3.dw_cc
dw_2 = tab_1.tabpage_2.dw_2
//cb_8.visible=false
Long ll_ConnectionID
String arg_msg
Int li_ifexit = 0
IF sys_email_sqlca.DBHandle() > 0 THEN
fj_tran = sys_email_sqlca
ELSE
MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
li_ifexit = 1
END IF
IF li_ifexit = 0 THEN
dw_revlist.SetTransObject (fj_tran)
dw_cc.SetTransObject (fj_tran)
tab_1.tabpage_2.dw_2.SetTransObject(fj_tran)
// tab_1.tabpage_2.dw_2.retrieve(publ_userid,paperStyle)
obj_email = Create uo_email
obj_email.commit_tran = commit_tran
obj_email.fj_tran = fj_tran
String ls_msg
s_set = Message.PowerObjectParm
IF wf_init(ls_msg) = 0 THEN
MessageBox('错误',ls_msg,stopsign!,OK!)
RETURN
END IF
wf_fjcount()
Long sp_v1_x
sp_v1_x = Long(f_ProfileString(sys_empid, "w_email_send_sp_v1", "x", '2624'))
sp_v1.X = sp_v1_x
uo_html.Width = sp_v1.X - 5
lv_fj.Width = sp_v1.X - 5
dw_revlist.X = sp_v1.X + 5
sp_v1.of_reset()
sp_v1.of_register(uo_html, sp_v1.Left)
sp_v1.of_register(lv_fj, sp_v1.Left)
sp_v1.of_register(dw_revlist, sp_v1.Right)
sp_v1.uf_possplitbar(uo_html)
This.TriggerEvent(Resize!)
ELSE
cb_exit.PostEvent(Clicked!)
END IF
//未完成功能隐藏
//tab_1.tabpage_2.visible=false
datastore ds
ds = Create datastore
ds.DataObject = 'dw_email_paperstyle'
ds.SetTrans(fj_tran)
ds.Retrieve()
Long cnt
tab_1.tabpage_2.ddlb_1.Clear()
FOR cnt = 1 To ds.RowCount()
tab_1.tabpage_2.ddlb_1.AddItem(ds.Object.Style[cnt])
NEXT
IF ds.RowCount() > 0 THEN
tab_1.tabpage_2.ddlb_1.SelectItem(1)
paperStyle = tab_1.tabpage_2.ddlb_1.Text
END IF
Destroy ds
wf_retrieve_sign()
//回复带内容
IF s_set.ID <> 0 THEN
wf_reply(s_set.ID)
GOTO next1
END IF
String body
body = ' '&
+'
'&
+' '&
+' |
'&
+' '&
+' '&
+' '&
+' |
'&
+' '&
+' |
'&
//+''&
//+''&
//+' |
'&
//+''&
//+''&
//+''&
//+' '&
//+' '&
//+'
'&
//+' '&
//+' '&
//+' |
'&
//+''&
//+' |