$PBExportHeader$w_email_view.srw
forward
global type w_email_view from w_publ_base
end type
type cb_rev from uo_imflatbutton within w_email_view
end type
type cb_send from uo_imflatbutton within w_email_view
end type
type cb_write from uo_imflatbutton within w_email_view
end type
type cb_back from uo_imflatbutton within w_email_view
end type
type lv_fj from uo_email_lv within w_email_view
end type
type dw_mail from u_dw_rbtnfilter within w_email_view
end type
type dw_rep from u_dw_rbtnfilter within w_email_view
end type
type dw_fj from u_dw_rbtnfilter within w_email_view
end type
type cb_sendother from uo_imflatbutton within w_email_view
end type
type cb_del from uo_imflatbutton within w_email_view
end type
type cb_rep from uo_imflatbutton within w_email_view
end type
type cb_fresh from uo_imflatbutton within w_email_view
end type
type lb_1 from listbox within w_email_view
end type
type cb_help from uo_imflatbutton within w_email_view
end type
type p_resize from picture within w_email_view
end type
type p_resize1 from picture within w_email_view
end type
type ln_bar from line within w_email_view
end type
type ln_bar2 from line within w_email_view
end type
type r_bar from rectangle within w_email_view
end type
type tv_1 from treeview within w_email_view
end type
type sp_v1 from u_lbs_stsplitbar within w_email_view
end type
type sp_h1 from u_lbs_stsplitbar within w_email_view
end type
type ole_1 from olecustomcontrol within w_email_view
end type
type st_3 from statictext within w_email_view
end type
type em_1 from editmask within w_email_view
end type
type pb_em1 from picturebutton within w_email_view
end type
type st_4 from statictext within w_email_view
end type
type em_2 from editmask within w_email_view
end type
type pb_em2 from picturebutton within w_email_view
end type
type pb_2 from picturebutton within w_email_view
end type
type p_1 from picture within w_email_view
end type
type st_refresh from statictext within w_email_view
end type
type dw_user from u_dw_rbtnfilter within w_email_view
end type
type dw_list from u_dw_rbtnfilter within w_email_view
end type
type cb_1 from uo_imflatbutton within w_email_view
end type
type st_del from uo_text_m_main within w_email_view
end type
type p_del from picture within w_email_view
end type
type cbx_showmeredeal from checkbox within w_email_view
end type
type cb_viewbill from commandbutton within w_email_view
end type
type cb_view_his from commandbutton within w_email_view
end type
type sle_find from singlelineedit within w_email_view
end type
type cb_find from uo_imflatbutton within w_email_view
end type
type ddlb_1 from dropdownlistbox within w_email_view
end type
type em_3 from editmask within w_email_view
end type
end forward
global type w_email_view from w_publ_base
integer y = 388
integer width = 5321
integer height = 2381
string title = "消息管理"
boolean maxbox = true
windowstate windowstate = maximized!
event ue_revall ( )
event ue_revcur ( )
event ue_sendall ( )
event ue_sendcur ( )
event ue_open_fj ( )
event ue_emailset ( )
event ue_rev_email ( )
event ue_retr_all ( )
event ue_retr_cur ( )
event ue_1 ( )
event ue_reply ( )
event ue_sendother ( )
event ue_del ( )
event ue_send ( )
event ue_saveas ( )
event ue_import_eml ( )
event ue_msg_retr ( )
event ue_msg_back ( )
event ue_msg_del ( )
event ue_msg_his ( )
event ue_msg_view1 ( )
event ue_msg_view2 ( )
event ue_date1 ( )
event ue_date2 ( )
event ue_date3 ( )
event ue_msg_send ( )
event ue_emailset_property ( )
event ue_export_eml ( )
event ue_newlebox ( )
event ue_renamebox ( )
event ue_delbox ( )
event ue_newbox ( )
event ue_set_signature ( )
event ue_revlemsg ( )
event ue_afteropen ( )
event ue_viewbill_msg ( )
event ue_move_eml ( )
event ue_set_cust ( )
event ue_set_email_move ( )
event ue_autorev ( )
event ue_rep_group ( )
cb_rev cb_rev
cb_send cb_send
cb_write cb_write
cb_back cb_back
lv_fj lv_fj
dw_mail dw_mail
dw_rep dw_rep
dw_fj dw_fj
cb_sendother cb_sendother
cb_del cb_del
cb_rep cb_rep
cb_fresh cb_fresh
lb_1 lb_1
cb_help cb_help
p_resize p_resize
p_resize1 p_resize1
ln_bar ln_bar
ln_bar2 ln_bar2
r_bar r_bar
tv_1 tv_1
sp_v1 sp_v1
sp_h1 sp_h1
ole_1 ole_1
st_3 st_3
em_1 em_1
pb_em1 pb_em1
st_4 st_4
em_2 em_2
pb_em2 pb_em2
pb_2 pb_2
p_1 p_1
st_refresh st_refresh
dw_user dw_user
dw_list dw_list
cb_1 cb_1
st_del st_del
p_del p_del
cbx_showmeredeal cbx_showmeredeal
cb_viewbill cb_viewbill
cb_view_his cb_view_his
sle_find sle_find
cb_find cb_find
ddlb_1 ddlb_1
em_3 em_3
end type
global w_email_view w_email_view
type prototypes
Function ulong FindWindow(string lpClassName, string lpWindowName ) LIBRARY "user32.dll" ALIAS FOR "FindWindowW"
end prototypes
type variables
//s_email_set cur_set
//s_email_set s_set[]
//Boolean have_text = false
//Boolean have_html = false
boolean have_fj = false
boolean have_inout = false
boolean have_rep = false
string fjfilepathname = 'fjtemp'
//long all_count
uo_email mail
//Long cur_hand
//TreeViewItem l_tvi
//String Pathname
//string cur_address
////uo_email obj_emial
//
long tv_root
Int ls_dealflag = 0 // 内部消息
//
boolean have_user = false
long ins_can_see_other = 0
long ins_can_edit = 0
string C_root = '根'
string C_innerroot = '内部消息'
string C_innerrev = '内部消息收件箱'
string C_innersend = '内部消息发件箱'
string C_mailacount = '邮箱帐号'
string C_mailbox = '邮箱'
string C_smsroot = '短信'
string C_smssend = '短信发件箱'
string C_leroot = 'LE'
string C_lebox = 'LE箱'
transaction Commit_Tran // 帐号表所有数据库
boolean has_fj_tran = false
transaction fj_tran // 邮件附件数据库
long ins_deletingrow = 0
boolean ins_candrag = false
string C_Sys_admsg_fj = 'Sys_admsg_fj'
string C_u_email_fj = 'u_email_fj'
string C_from_file = 'from_file'
s_tv_data1 tv_data_move
s_tv_data1 tv_data_move1
long ins_innerrevhandle
//20130720荣 查邮件时显示主题信息
string lss_subject,lss_sendman,lss_senddate,lss_revdate
//20130720荣 查邮件时显示主题信息
boolean if_autorev=false //是否自动收邮件
long ll_autotime=0//自动收邮件间隔
long handle1_email
long cur_send = -1
end variables
forward prototypes
public function integer wf_init (ref string arg_msg)
public subroutine wf_delfj ()
public function integer wf_revemail (s_email_set arg_set, ref string arg_msg)
public function integer wf_retrievemx (long arg_id, integer arg_fjtype, string arg_address, ref string arg_msg)
public subroutine wf_retreve_inout (string arg_address)
public subroutine wf_retreve_rep (long arg_id, integer arg_fjtype)
public subroutine pf_retrievetree (long arg_handl, integer arg_flag)
public subroutine wf_retrieve ()
public subroutine wf_retrievetree (integer arg_flag)
public function integer wf_import_eml (string arg_file, ref string arg_msg)
public function integer days_in_month (integer month, integer year)
public subroutine wf_set_read (long row)
public subroutine wf_set_unread (long row)
public function integer wf_tv_build_tree (ref string arg_msg)
public function long wf_tv_insert (long arg_handle, string arg_label, long arg_picindex, any arg_data)
public subroutine wf_tv_insertallacount (long handle)
public subroutine wf_tv_insertallbox (long handle)
public function s_tv_data1 wf_tv_getdata (long handle)
public function integer wf_ds_getmailset (ref s_email_set arg_set[], ref string arg_msg)
public function integer wf_ds_getmailbox (long arg_mailid, long arg_parentid, ref s_email_box arg_box[], ref string arg_msg)
public function long wf_tv_getcurrent ()
public subroutine wf_tv_setcurrenttext (string arg_text)
public subroutine wf_dw_rowfocuschanged_innermsg_rev ()
public subroutine wf_dw_rowfocuschanged_innermsg_send ()
public subroutine wf_dw_rowfocuschanged_mailmsg ()
public function long wf_tv_getacount (long arg_handle)
public subroutine wf_ui_reflash ()
public subroutine wf_dw_retrieve_innermsg_rev ()
public subroutine wf_dw_retrieve_innermsg_send ()
public function integer wf_ds_get_mail_set (long arg_mailid, ref s_email_set arg_set, ref string arg_msg)
public function integer wf_ds_get_mail_box (long arg_boxid, ref s_email_box arg_box, ref string arg_msg)
public function integer wf_ds_del_msg (long arg_id, ref string arg_msg)
public function long wf_ds_gettrunkbox (long arg_mailid)
public function integer wf_ds_move_msg_box (long arg_id, long arg_boxid, ref string arg_msg)
protected function long wf_box_gettotle (long arg_boxid)
public function long wf_box_getunread (long arg_boxid)
public subroutine wf_box_update_label (long arg_boxid)
public subroutine wf_tv_settext (long arg_handle, string arg_label)
public subroutine wf_html_set (string arg_text)
public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg)
public function integer wf_mail_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg)
public function integer wf_admsg_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg)
public subroutine wf_str_replace (ref string arg_source, string arg_str1, string arg_str2)
public function integer wf_mail_getfj (long arg_id, 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_saveas (ref blob arg_blob, string arg_filename)
public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename)
public subroutine wf_ui_row (long arg_row)
public subroutine wf_ui_unselectall ()
public subroutine wf_revert_read (long arg_row)
public subroutine wf_read_row (long arg_row)
public subroutine wf_tv_setdata (long arg_handle, s_tv_data1 arg_data)
public subroutine wf_tv_reflash (long arg_handle)
public function long wf_tv_gettrunkhandle (long arg_handle)
public subroutine wf_tv_retrieve ()
public subroutine wf_tv_retrieveallchildbox (long arg_handle)
public subroutine wf_tv_getchild (long arg_handle, ref long arg_child[])
public function boolean wf_hasdotnet ()
public subroutine wf_str_modfilepath (ref string ls_filepath)
public subroutine wf_dw_readlayout ()
public subroutine wf_dw_retrieve_smssend ()
public subroutine wf_tv_insertlebox (long arg_handle, long arg_parentid)
public subroutine wf_dw_retrieve_le (long arg_boxid)
public subroutine wf_dw_retrieve_smssendmx ()
public subroutine wf_dw_retrieve_mailmsg (long arg_mailid, long arg_boxid, string arg_boxname)
public function long wf_findtreeitem (treeview tv_tree, boolean findby, any data)
public function string of_globalreplace (string as_source, string as_old, string as_new)
public subroutine wf_move ()
end prototypes
event ue_revall();ULong lu_class
String ls_name
SetNull(lu_class)
//ls_name = "龙嘉接收邮件工具"
//IF FindWindowA(lu_class, ls_name) > 0 THEN
// MessageBox('提示','正在收取邮件,请稍后!',information!,OK!)
// RETURN
//END IF
IF NOT FileExists(sys_cur_path + 'longjoe_rev.exe') THEN
MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
RETURN
END IF
// DONE: 检测是否安装.net
if not wf_hasDotNet() then
MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
RETURN
end if
if not has_fj_tran then
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
end if
String ls_run
ls_run = 'longjoe_rev.exe -longjoe&'&
+ sys_system_id + '&'&
+ sys_cur_version + '&'&
+ String(sys_if_register) + '&'&
+ Commit_Tran.Database + '&'&
+ Commit_Tran.UserID + '&'&
+ f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
+ Commit_Tran.LogID + '&'&
+ f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
+ Commit_Tran.ServerName + '&'&
+ string(sys_empid) + '&'&
+ '-1&'&
+ '0&'&
+ fj_tran.Database + '&'&
+ fj_tran.UserID + '&'&
+ f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
+ fj_tran.LogID + '&'&
+ f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
+ fj_tran.ServerName + '&'
IF Run(sys_cur_path + ls_run) = -1 THEN
MessageBox('错误','运行程序失败!',stopsign!,ok!)
RETURN
END IF
//alltimmer.of_start(3,"ue_retr_all",'1')
Long ll_cpu,ll_cpu1,ll_hwnd
ll_cpu = CPU()
DO WHILE CPU() - ll_cpu <2000
Yield()
LOOP
DO
DO WHILE CPU() - ll_cpu < 2000
Yield()
LOOP
ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
IF ll_hwnd = 0 THEN
ll_cpu1 = CPU()
DO WHILE CPU() - ll_cpu1 < 1000
Yield()
LOOP
ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
IF ll_hwnd = 0 THEN
EXIT
END IF
END IF
LOOP Until(1 = 2)
wf_move()
end event
event ue_revcur();//String ls_msg
//
//IF wf_revemail(cur_set,ls_msg) = 0 THEN
// MessageBox('错误',ls_msg,stopsign!,OK!)
// RETURN
//ELSE
// wf_retrievetree(1)
// MessageBox('提示','收取邮件完成!',information!,OK!)
//END IF
//
//if cur_set.mailid <= 0 then // DONE: cur_set不准确
// MessageBox('提示', '请先选择邮件账号', information!, OK!)
// return
//end if
Long Handle
Handle = wf_tv_getacount(wf_tv_getcurrent())
IF Handle <= 0 THEN
MessageBox('提示', '请先选择邮件帐号', information!, OK!)
RETURN
END IF
s_tv_data1 tv_data
tv_data = wf_tv_getdata(Handle)
Long ll_mailid
ll_mailid = tv_data.relid
ULong lu_class
String ls_name
SetNull(lu_class)
//ls_name = "龙嘉接收邮件工具"
//IF FindWindowA(lu_class, ls_name) > 0 THEN
// MessageBox('提示','正在收取邮件,请稍后!',information!,OK!)
// RETURN
//END IF
IF Not FileExists(sys_cur_path + 'longjoe_rev.exe') THEN
MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
RETURN
END IF
// DONE: 检测是否安装.net
IF Not wf_hasDotNet() THEN
MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
RETURN
END IF
IF Not has_fj_tran THEN
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
END IF
String ls_run
//MESSAGEBOX('','RUN')
ls_run = 'longjoe_rev.exe -longjoe&'&
+ sys_system_id + '&'&
+ sys_cur_version + '&'&
+ String(sys_if_register) + '&'&
+ Commit_Tran.Database + '&'&
+ Commit_Tran.UserID + '&'&
+ f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
+ Commit_Tran.LogID + '&'&
+ f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
+ Commit_Tran.ServerName + '&'&
+ String(sys_empid) + '&'&
+ String(ll_mailid) + '&'&
+ '0&'&
+ fj_tran.Database + '&'&
+ fj_tran.UserID + '&'&
+ f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
+ fj_tran.LogID + '&'&
+ f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
+ fj_tran.ServerName + '&'
//messagebox('','exit')
IF Run(sys_cur_path + ls_run) = -1 THEN
MessageBox('错误','运行程序失败!',stopsign!,OK!)
RETURN
END IF
//WindowsForms10.Window.8.app.0.33c0d9d
//curtimmer.of_start(3,"ue_retr_cur",'1')‘
Long ll_cpu,ll_cpu1,ll_hwnd
ll_cpu = CPU()
DO WHILE CPU() - ll_cpu <2000
Yield()
LOOP
DO
DO WHILE CPU() - ll_cpu < 2000
Yield()
LOOP
ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
IF ll_hwnd = 0 THEN
ll_cpu1 = CPU()
DO WHILE CPU() - ll_cpu1 < 1000
Yield()
LOOP
ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
IF ll_hwnd = 0 THEN
EXIT
END IF
END IF
LOOP Until(1 = 2)
wf_move()
end event
event ue_sendall();ULong lu_class
String ls_name
SetNull(lu_class)
//ls_name = "龙嘉发送邮件工具"
//IF FindWindowA(lu_class, ls_name) > 0 THEN
// MessageBox('提示','正在发送邮件,请稍后!',information!,OK!)
// RETURN
//END IF
if not FileExists(sys_cur_path + 'longjoe_rev.exe') then
MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
RETURN
end if
// DONE:检测是否安装.net
if not wf_hasDotNet() then
MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
RETURN
end if
if not has_fj_tran then
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
end if
string ls_run
ls_run = 'longjoe_rev.exe -longjoe&'&
+ sys_system_id + '&'&
+ sys_cur_version + '&'&
+ String(sys_if_register) + '&'&
+ Commit_Tran.Database + '&'&
+ Commit_Tran.UserID + '&'&
+ f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
+ Commit_Tran.LogID + '&'&
+ f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
+ Commit_Tran.ServerName + '&'&
+ string(sys_empid) + '&'&
+ '-1&'&
+ '1&'&
+ fj_tran.Database + '&'&
+ fj_tran.UserID + '&'&
+ f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
+ fj_tran.LogID + '&'&
+ f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
+ fj_tran.ServerName + '&'
IF Run(sys_cur_path + ls_run) = -1 THEN
MessageBox('错误','运行程序失败!',stopsign!,ok!)
RETURN
END IF
//alltimmer.of_start(3,"ue_retr_all",'1')
//Long i,sendcount,j,sendmxcount,k,l,fjcount,rslt = 1,ll_cnt_lp
//datastore ds_revlist,ds_send,ds_fj
//String errmsg,arg_msg
//ds_revlist = CREATE datastore
//ds_send = CREATE datastore
//ds_fj = CREATE datastore
//ds_revlist.DataObject = 'dw_email_sendmx'
//ds_revlist.SetTransObject(sqlca)
//ds_send.DataObject = 'dw_email_view_send'
//ds_send.SetTransObject(sqlca)
//ds_fj.DataObject = 'ds_email_fj'
//ds_fj.SetTransObject(sqlca)
//
//s_email_send s_send, s_send_null
//s_email_sendmx s_sendmx ,s_sendmx_null
//s_email_fj s_fj, s_fj_null
//s_email_set ss_set, ss_set_null
//
//
//
//FOR i = 1 TO all_count
// ss_set = ss_set_null
// ss_set = s_set[i]
// sendcount = ds_send.Retrieve(s_set[i].mailid)
// IF sendcount > 0 THEN
// Open(w_sys_wait_jdt) //初始化进度条
// w_sys_wait_jdt.Show()
// w_sys_wait_jdt.wf_accepttol(sendcount)
// ll_cnt_lp = 0
// FOR j = 1 TO sendcount
//
// ll_cnt_lp++
// w_sys_wait_jdt.st_msg.Text = cur_set.mailuser + "<" + cur_set.mailAddress + ">"+ " 正在发送邮件(" + String(j) + "/" + String(sendcount) + ")." //进度信息
// w_sys_wait_jdt.wf_inc(ll_cnt_lp)
//
// s_send = s_send_null
// s_sendmx = s_sendmx_null
// s_fj = s_fj_null
//
// sendmxcount = ds_revlist.Retrieve(ds_send.Object.id[j])
// fjcount = ds_fj.Retrieve(ds_send.Object.id[j],0)
// IF sendmxcount > 0 THEN
//
// s_send.Subject = Trim(ds_send.Object.Subject[j])
// s_send.Priority = ds_send.Object.Priority[j]
// s_send.Textbody = Trim(ds_send.Object.Textbody[j])
// s_send.sendid = ds_send.Object.id[j]
//
// FOR k = 1 TO sendmxcount
// IF Trim(ds_revlist.Object.revaddress[k]) <> '' THEN
// s_sendmx.revaddress[k] = Trim(ds_revlist.Object.revaddress[k])
// END IF
// NEXT
//
// IF fjcount > 0 THEN
// FOR l = 1 TO fjcount
// s_fj.fjid[l] = ds_fj.Object.fjid[l]
// s_fj.Filename[l] = ds_fj.Object.Filename[l]
// NEXT
// END IF
//
// IF obj_email.f_send(ss_set,s_send,s_sendmx,s_fj,arg_msg) = 0 THEN
// errmsg = ss_set.mailuser + "<" + ss_set.mailAddress + ">"+ arg_msg + '~n'
// rslt = 0
// GOTO ext
// END IF
//
// END IF
//
// NEXT
// IF IsValid(w_sys_wait_jdt) THEN
// Close(w_sys_wait_jdt)
// END IF
// END IF
//NEXT
//
//ext:
//IF IsValid(w_sys_wait_jdt) THEN
// Close(w_sys_wait_jdt)
//END IF
//IF rslt = 0 THEN
// MessageBox('错误',errmsg, StopSign!, OK! )
// ROLLBACK;
//ELSE
// wf_retrievetree(-1)
// MessageBox('提示','发送全部邮件成功' )
// COMMIT;
//END IF
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
end event
event ue_sendcur();//if cur_set.mailid <= 0 then // cur_set不准确
// MessageBox('提示', '请先选择邮件账号', information!, OK!)
// return
//end if
long handle
handle = wf_tv_getacount(wf_tv_getcurrent())
if handle <= 0 then
MessageBox('提示', '请先选择邮件帐号', information!, OK!)
return
end if
s_tv_data1 tv_data
tv_data = wf_tv_getdata(handle)
long ll_mailid
ll_mailid = tv_data.relid
ULong lu_class
String ls_name
SetNull(lu_class)
//ls_name = "龙嘉发送邮件工具"
//IF FindWindowA(lu_class, ls_name) > 0 THEN
// MessageBox('提示','正在发送邮件,请稍后!',information!,OK!)
// RETURN
//END IF
if not FileExists(sys_cur_path + 'longjoe_rev.exe') then
MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
RETURN
end if
// DONE: 检测是否安装.net
if not wf_hasDotNet() then
MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
RETURN
end if
if not has_fj_tran then
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
end if
string ls_run
ls_run = 'longjoe_rev.exe -longjoe&'&
+ sys_system_id + '&'&
+ sys_cur_version + '&'&
+ String(sys_if_register) + '&'&
+ Commit_Tran.Database + '&'&
+ Commit_Tran.UserID + '&'&
+ f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
+ Commit_Tran.LogID + '&'&
+ f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
+ Commit_Tran.ServerName + '&'&
+ string(sys_empid) + '&'&
+ string(ll_mailid) + '&'&
+ '1&'&
+ fj_tran.Database + '&'&
+ fj_tran.UserID + '&'&
+ f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
+ fj_tran.LogID + '&'&
+ f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
+ fj_tran.ServerName + '&'
IF Run(sys_cur_path + ls_run) = -1 THEN
MessageBox('错误','运行程序失败!',stopsign!,ok!)
RETURN
END IF
//curtimmer.of_start(3,"ue_retr_cur",'1')
//
//
//Long i,sendcount,j,sendmxcount,k,l,fjcount,rslt = 1,ll_cnt_lp
//datastore ds_revlist,ds_send,ds_fj
//String errmsg
//ds_revlist = CREATE datastore
//ds_send = CREATE datastore
//ds_fj = CREATE datastore
//ds_revlist.DataObject = 'dw_email_sendmx'
//ds_revlist.SetTransObject(sqlca)
//ds_send.DataObject = 'dw_email_view_send'
//ds_send.SetTransObject(sqlca)
//ds_fj.DataObject = 'ds_email_fj'
//ds_fj.SetTransObject(sqlca)
//s_email_send s_send, s_send_null
//s_email_sendmx s_sendmx ,s_sendmx_null
//s_email_fj s_fj, s_fj_null
//
//
//sendcount = ds_send.Retrieve(cur_set.mailid)
//IF sendcount > 0 THEN
// Open(w_sys_wait_jdt) //初始化进度条
// w_sys_wait_jdt.Show()
// w_sys_wait_jdt.wf_accepttol(sendcount)
// FOR j = 1 TO sendcount
// ll_cnt_lp++
// w_sys_wait_jdt.st_msg.Text = cur_set.mailuser + "<" + cur_set.mailAddress + ">"+ " 正在发送邮件(" + String(j) + "/" + String(sendcount) + ")." //进度信息
// w_sys_wait_jdt.wf_inc(ll_cnt_lp)
//
// s_send = s_send_null
// s_sendmx = s_sendmx_null
// s_fj = s_fj_null
//
// sendmxcount = ds_revlist.Retrieve(ds_send.Object.id[j])
// fjcount = ds_fj.Retrieve(ds_send.Object.id[j],0)
// IF sendmxcount > 0 THEN
//
// s_send.Subject = Trim(ds_send.Object.Subject[j])
// s_send.Priority = ds_send.Object.Priority[j]
// s_send.Textbody = Trim(ds_send.Object.Textbody[j])
// s_send.sendid = ds_send.Object.id[j]
//
// FOR k = 1 TO sendmxcount
// IF Trim(ds_revlist.Object.revaddress[k]) <> '' THEN
// s_sendmx.revaddress[k] = Trim(ds_revlist.Object.revaddress[k])
// END IF
// NEXT
//
// IF fjcount > 0 THEN
// FOR l = 1 TO fjcount
// s_fj.fjid[l] = ds_fj.Object.fjid[l]
// s_fj.Filename[l] = ds_fj.Object.Filename[l]
// NEXT
// END IF
//
// IF obj_email.f_send(cur_set,s_send,s_sendmx,s_fj,errmsg) = 0 THEN
// errmsg = cur_set.mailuser + "<" + cur_set.mailAddress + ">"+ errmsg + '~n'
// rslt = 0
// GOTO ext
// END IF
// END IF
//
//
// NEXT
//
//END IF
//
//ext:
//
//IF IsValid(w_sys_wait_jdt) THEN
// Close(w_sys_wait_jdt)
//END IF
//
//IF rslt = 0 THEN
// MessageBox('错误',errmsg, StopSign!, OK! )
// ROLLBACK;
//ELSE
// wf_retrievetree(1)
// MessageBox('提示','发送邮件成功' )
// COMMIT;
//END IF
//
//
//
//
//
//
//
end event
event ue_open_fj();dw_fj.AcceptText()
IF dw_fj.GetRow() = 0 THEN RETURN
Blob ls_filedata
Long ll_fjid
String ins_cur_fjname,errmsg,lsNull,ls_Pathname
SetNull(lsNull)
ins_cur_fjname = dw_fj.Object.u_email_fj_filename[dw_fj.GetRow()]
ll_fjid = dw_fj.Object.u_email_fj_fjid[dw_fj.GetRow()]
SELECTBLOB Fileblob
INTO :ls_filedata
FROM u_email_fj
Where (fjid = :ll_fjid);
ls_Pathname = sys_cur_path+fjfilePathname+'\'+ins_cur_fjname
IF Trim(ls_Pathname) <> '' THEN
IF FileExists(ls_Pathname) THEN FileDelete(ls_Pathname)
IF f_blobtofile(ls_Pathname,ls_filedata,errmsg) = 0 THEN
MessageBox('系统提示',errmsg)
RETURN
ELSE
//打开附件
ShellExecute32( Handle(THIS), lsNull, ls_Pathname, lsNull, lsNull, 1 )
END IF
END IF
end event
event ue_emailset();IF Not uo_email_power.can_see_mailset(sys_msg_pow) THEN
MessageBox(publ_operator,'你没有使用权限')
RETURN
END IF
//s_edit_index_tran s_tran //传递参数使用
//OpenWithParm(w_email_set,s_tran)
Open(w_email_set_list)
//String ls_msg
//wf_init(ls_msg)
end event
event ue_rev_email();//Long i
//string ls_msg
//i = Message.LongParm
//
//IF wf_revemail(s_set[i],ls_msg) = 0 THEN
// MessageBox('错误',ls_msg,stopsign!,OK!)
// RETURN
//END IF
//
end event
event ue_retr_all();ULong lu_class ,lu_class1
String ls_name,ls_name1
SetNull(lu_class)
SetNull(lu_class1)
ls_name = "龙嘉发送邮件工具"
ls_name1 = "龙嘉接收邮件工具"
IF FindWindowA(lu_class, ls_name) > 0 or FindWindowA(lu_class1, ls_name1) > 0 THEN
wf_retrievetree(-1)
else
// alltimmer.stop()
END IF
end event
event ue_retr_cur();ULong lu_class ,lu_class1
String ls_name,ls_name1
SetNull(lu_class)
SetNull(lu_class1)
ls_name = "龙嘉发送邮件工具"
ls_name1 = "龙嘉接收邮件工具"
IF FindWindowA(lu_class, ls_name) > 0 or FindWindowA(lu_class1, ls_name1) > 0 THEN
wf_retrievetree(1)
else
// alltimmer.stop()
END IF
end event
event ue_reply();if dw_list.dataobject <> 'dw_email_view_msg' then return
dw_list.accepttext()
if dw_list.getrow() <= 0 then return
s_email_set s_parm
string ls_msg
S_PARM.ID=dw_list.object.id[dw_list.getrow()]
s_parm.mailid = dw_list.object.mailid[dw_list.getrow()]
if wf_ds_get_mail_set(s_parm.mailid, s_parm, ls_msg) <> 1 then
return
end if
s_parm.flag = 1
s_parm.revuser = dw_list.object.senduser[dw_list.getrow()]
s_parm.revaddress = dw_list.object.sendaddress[dw_list.getrow()]
s_parm.relid= dw_list.Object.id[dw_list.GetRow()]
s_parm.reltype = 3
s_parm.subject =" RE:" + dw_list.object.subject[dw_list.getrow()]//带主题
OpenWithParm(w_email_send_new,s_parm)
end event
event ue_sendother();dw_list.AcceptText()
IF dw_list.GetRow() <= 0 THEN RETURN
s_email_set s_parm
String ls_msg
IF dw_list.DataObject = 'dw_deal_admsg_1_copy' Or dw_list.DataObject = 'dw_hismsg_copy' THEN
// 选择账号
Long ll_id = 0 //传递参数使用
OpenWithParm(w_email_set,ll_id)
s_parm = Message.PowerObjectParm
IF s_parm.mailid <= 0 THEN
RETURN
END IF
ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
Long mailid
mailid = dw_list.Object.mailid[dw_list.GetRow()]
IF wf_ds_get_mail_set(mailid, s_parm, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
s_spring_send s_send
s_send.msg = dw_list.Object.msg[dw_list.GetRow()]
s_send.sendid = 0
s_send.sendflag = 2
s_send.empid = sys_empid
openwithparm(w_sms_send_new, s_send)
RETURN
ELSE
RETURN
END IF
s_parm.flag = 2
IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
s_parm.Title = dw_list.Object.sys_admsgmx_s_msgtitle[dw_list.GetRow()]
s_parm.reltype = 2
s_parm.relid = dw_list.Object.sys_admsgmx_msgid[dw_list.GetRow()]
IF wf_admsg_gethtml(s_parm.relid, s_parm.htmlbody, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSEIF dw_list.DataObject = 'dw_hismsg_copy' THEN
s_parm.Title = dw_list.Object.s_msgtitle[dw_list.GetRow()]
s_parm.reltype = 2
s_parm.relid = dw_list.Object.msgid[dw_list.GetRow()]
IF wf_admsg_gethtml(s_parm.relid, s_parm.htmlbody, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
s_parm.reltype = 0
s_parm.relid = dw_list.Object.id[dw_list.GetRow()]
s_parm.Title = dw_list.Object.Subject[dw_list.GetRow()]
IF wf_mail_gethtml(s_parm.relid, s_parm.htmlbody, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSEIF dw_list.DataObject = '' then
elseif dw_list.DataObject = '' then
END IF
//s_parm.textbody = ole_1.object.document.body.innertext
//s_parm.htmlbody = blob(ole_1.object.document.body.innerhtml)
S_PARM.ID=dw_list.object.id[dw_list.getrow()]
OpenWithParm(w_email_send_new,s_parm)
//wf_retrievetree(1)
end event
event ue_del();
//messagebox('','del')
IF tv_data_move.a_long = 0 Or tv_data_move.b_string <> "废件箱" THEN
IF Not uo_email_power.can_deleteemail(sys_msg_pow) THEN
MessageBox(publ_operator,'你没有删除邮件的权限')
RETURN
END IF
ELSEIF tv_data_move.a_long <> 0 And tv_data_move.b_string = "废件箱" THEN
IF Not uo_email_power.can_deleteemail_forever(sys_msg_pow) THEN
MessageBox(publ_operator,'你没有彻底删除邮件的权限')
RETURN
END IF
END IF
If (dw_list.DataObject <> 'dw_email_view_msg' ) Or Not (dw_list.RowCount() > 0) THEN RETURN
s_email_box box
String ls_msg
Long i
IF wf_ds_get_mail_box(dw_list.Object.boxid[1], box, ls_msg) <> 1 THEN
RETURN
END IF
IF box.boxtype = '废件箱' THEN
IF MessageBox ("询问","是否确定要永久删除选中邮件吗",Question!,YesNo! ) = 2 THEN RETURN
dw_list.SetRedraw(False)
FOR i = dw_list.RowCount() To 1 Step -1
IF dw_list.IsSelected(i) THEN
IF wf_ds_del_msg(dw_list.Object.id[i], ls_msg) = 1 THEN
ins_deletingrow = 1
dw_list.DeleteRow(i)
ins_deletingrow = 0
END IF
END IF
NEXT
dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
dw_list.SetRedraw(True)
wf_tv_reflash(wf_tv_getcurrent())
ELSE
IF MessageBox ("询问","是否确定要把当前邮件放入废件吗",Question!,YesNo! ) = 2 THEN RETURN
Long trunkboxid
trunkboxid = wf_ds_gettrunkbox(dw_list.Object.mailid[1])
IF trunkboxid <= 0 THEN
MessageBox('错误', '查找帐号的废件箱失败', stopsign!)
RETURN
END IF
dw_list.SetRedraw(False)
FOR i = dw_list.RowCount() To 1 Step -1
IF dw_list.IsSelected(i) THEN
IF wf_ds_move_msg_box(dw_list.Object.id[i], trunkboxid, ls_msg) = 1 THEN
ins_deletingrow = 1
dw_list.DeleteRow(i)
ins_deletingrow = 0
END IF
END IF
NEXT
dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
dw_list.SetRedraw(True)
wf_tv_reflash(wf_tv_getcurrent())
wf_tv_reflash(wf_tv_gettrunkhandle(wf_tv_GetCurrent()))
END IF
end event
event ue_send();//// DONE: 发送选中邮件
//int rslt = 1
//s_email_send s_send
//s_email_sendmx s_sendmx
//s_email_fj s_fj
//string ls_msg
//long ll_row, ll_sendid, ll_sendmx_count, ll_fj_count
//ll_row = dw_list.getrow( )
//if ll_row <= 0 then return
//ll_sendid = dw_list.object.id[ll_row]
//
//if cur_set.viewtype <> 2 then // 不是发件箱的邮件另存后再发送
// if obj_email.uf_get_send(ll_sendid, s_send, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
// end if
//
// if obj_email.uf_get_sendmx(ll_sendid, s_sendmx, ll_sendmx_count, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
// end if
//
// if obj_email.uf_get_fj(ll_sendid, 0, s_fj, ll_fj_count, ls_msg, true) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
// end if
//
// s_send.sendid = 0
// s_send.mailtype = 0
// if obj_email.f_save(s_send, s_sendmx, s_fj, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
// end if
// ll_sendid = s_send.sendid
//end if
//
//if obj_email.uf_get_send(ll_sendid, s_send, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//if obj_email.uf_get_sendmx(ll_sendid, s_sendmx, ll_sendmx_count, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//if obj_email.uf_get_fj(ll_sendid, 0, s_fj, ll_fj_count, ls_msg, false) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//
//if obj_email.f_send(cur_set, s_send, s_sendmx, s_fj, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//MessageBox('提示', '发送成功')
//wf_retrieve()
//ext:
//if rslt = 0 then
// rollback;
//elseif rslt = 1 then
// commit;
//end if
end event
event ue_saveas();//// DONE: 另存一份到发件箱
//int rslt = 1
//s_email_send s_send
//s_email_sendmx s_sendmx
//s_email_fj s_fj
//string ls_msg
//long ll_row, ll_sendid, ll_sendmx_count, ll_fj_count
//ll_row = dw_list.getrow( )
//if ll_row <= 0 then return
//ll_sendid = dw_list.object.id[ll_row]
//if obj_email.uf_get_send(ll_sendid, s_send, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//if obj_email.uf_get_sendmx(ll_sendid, s_sendmx, ll_sendmx_count, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//if obj_email.uf_get_fj(ll_sendid, 0, s_fj, ll_fj_count, ls_msg, true) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//s_send.sendid = 0
//s_send.mailtype = 0
//if obj_email.f_save(s_send, s_sendmx, s_fj, ls_msg) <> 1 then
// MessageBox('系统提示', ls_msg, StopSign!)
// rslt = 0
// goto ext
//end if
//
//MessageBox('提示', '另存成功')
//wf_retrieve()
//ext:
//if rslt = 0 then
// rollback;
//elseif rslt = 1 then
// commit;
//end if
end event
event ue_import_eml();s_tv_data1 tv_data
tv_data = wf_tv_getdata(wf_tv_getcurrent())
if tv_data.a_string <> C_mailbox then
MessageBox('提示', '请先选择导入邮箱')
return
end if
string ls_title, ls_pathname, ls_filename[], ls_extension, ls_filter
ls_title = '选择eml文件导入'
ls_extension = 'eml'
ls_filter = 'eml文件,*.eml'
if GetFileOpenName(ls_title, ls_pathname, ls_filename, ls_extension, ls_filter) <> 1 then
return
end if
long ll_i
open(w_sys_wait_jdt)
w_sys_wait_jdt.wf_accepttol(upperbound(ls_filename))
for ll_i = lowerbound(ls_filename) to upperbound(ls_filename)
string ls_emlFile
if upperbound(ls_filename) = 1 then
ls_emlFile = ls_pathname
else
ls_emlFile = ls_pathname + '\' + ls_filename[ll_i]
end if
w_sys_wait_jdt.wf_set_msg('正在导入' + ls_emlFile)
// 导入文件
string ls_msg, ls_sumMsg = ''
if wf_import_eml(ls_emlFile, ls_msg) <> 1 then
// 导入文件失败
ls_sumMsg = '导入文件失败:' + ls_emlFile + ';原因:' + ls_msg + '~r~n'
end if
w_sys_wait_jdt.wf_inc(ll_i)
next
close(w_sys_wait_jdt)
if ls_sumMsg <> '' then
MessageBox('', ls_sumMsg)
end if
tv_1.trigger event selectionchanged(-1, wf_tv_getcurrent())
//if cur_set.mailid <= 0 then
// MessageBox('提示', '请先选择导入账号')
// return
//end if
//
//string ls_title, ls_pathname, ls_filename[], ls_extension, ls_filter
//ls_title = '选择eml文件导入'
//ls_extension = 'eml'
//ls_filter = 'eml文件,*.eml'
//
//if GetFileOpenName(ls_title, ls_pathname, ls_filename, ls_extension, ls_filter) <> 1 then
// return
//end if
//
//long ll_i
//for ll_i = lowerbound(ls_filename) to upperbound(ls_filename)
// string ls_emlFile
// if upperbound(ls_filename) = 1 then
// ls_emlFile = ls_pathname
// else
// ls_emlFile = ls_pathname + '\' + ls_filename[ll_i]
// end if
// // 导入文件
// string ls_msg, ls_sumMsg = ''
// if wf_import_eml(ls_emlFile, ls_msg) <> 1 then
// // 导入文件失败
// ls_sumMsg = '导入文件失败:' + ls_emlFile + ';原因:' + ls_msg + '~r~n'
// end if
//next
//
//if ls_sumMsg <> '' then
// MessageBox('', ls_sumMsg)
//end if
end event
event ue_msg_retr();wf_retrieve()
end event
event ue_msg_back();String sendemp,msgtitle,msg
Long ll_row
ll_row = dw_list.GetRow()
IF ll_row <= 0 THEN RETURN
sendemp = dw_list.Object.sendemp[ll_row]
msgtitle = dw_list.Object.sys_admsgmx_s_msgtitle[ll_row]
msg = dw_list.Object.sys_admsgmx_s_msg[ll_row]
s_admsg s_msg
s_msg.sendemp = sendemp
s_msg.msgtitle = msgtitle
s_msg.msg = msg
s_msg.ifback = 1
OpenWithParm(w_msg_send,s_msg)
end event
event ue_msg_del();Long rslt = 1,ls_msgid ,ls_empid,ls_senddtint,row
String arg_msg
uo_transmsg uo_msg
row = dw_list.GetRow()
IF row > 0 THEN
IF MessageBox ("询问","是否确定要确认当前消息记录?"+' '+String(dw_list.Object.sys_admsgmx_s_msgtitle[row]),Question!,YesNo! ) = 2 THEN RETURN
ls_msgid = dw_list.Object.sys_admsgmx_msgid[row]
ls_empid = dw_list.Object.sys_admsgmx_empid[row]
ls_senddtint = dw_list.Object.sys_admsgmx_senddtint[row]
rslt = uo_msg.f_redeal_admsg(ls_msgid,ls_senddtint,ls_empid,arg_msg,TRUE)
IF rslt = 0 THEN
MessageBox('提示',arg_msg,information!,ok!)
ELSE
THIS.TriggerEvent("ue_msg_retr")
END IF
END IF
end event
event ue_msg_his();open(w_msg_his)
end event
event ue_msg_view1();ls_dealflag = 0
wf_retrieve()
end event
event ue_msg_view2();ls_dealflag = -1
wf_retrieve()
end event
event ue_date1();em_1.text = string(today(),"yyyy-mm-dd")
em_2.text = string(today(),"yyyy-mm-dd")
end event
event ue_date2();
Int li_DayNum
li_DayNum = DayNumber(Today())
em_1.Text = String(RelativeDate ( Today(), 1 - li_DayNum ),"yyyy-mm-dd")
em_2.Text = String(RelativeDate ( Today(), 7 - li_DayNum ),"yyyy-mm-dd")
end event
event ue_date3();
Int li_Month, li_Year, li_Days
li_Month = Month(Today())
li_Year = Year(Today())
li_Days = days_in_month(li_Month, li_Year)
em_1.Text = String(Date(li_Year, li_Month, 1),"yyyy-mm-dd")
em_2.Text = String(Date(li_Year, li_Month, li_Days),"yyyy-mm-dd")
end event
event ue_msg_send();IF NOT IsValid(w_msg_send) THEN
s_admsg s_msg
s_msg.ifback = 0
OpenWithParm(w_msg_send,s_msg)
END IF
end event
event ue_emailset_property();s_email_set s_setparm
s_tv_data1 tv_data
tv_data = wf_tv_getdata(wf_tv_getcurrent())
if tv_data.a_string <> C_mailacount then return
s_setparm.mailid = tv_data.relid
if s_setparm.mailid > 0 then
if uo_email_power.can_edit(sys_msg_pow) then
s_setparm.flag = 1
else
s_setparm.flag = 0
end if
openWithParm(w_email_set_detail, s_setparm)
end if
end event
event ue_export_eml();if not has_fj_tran then
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
end if
//if cur_set.mailid <= 0 then return
long i, ll_cnt = 0
string ls_title, ls_filepath, ls_filename, ls_extension, ls_filter
long ll_id
blob lb_orgData
string ls_msg
for i = 1 to dw_list.RowCount()
if dw_list.isselected(i) then
ll_cnt ++
end if
next
if ll_cnt < 1 then return
if ll_cnt > 1 then
ls_title = '导出邮件'
if GetFolder(ls_title, ls_filepath) <> 1 then
return
end if
if right(ls_filepath, 1) <> '\' then
ls_filepath = ls_filepath + '\'
end if
string ls_sum = ''
string ls_file
long ll_inc = 0
open(w_sys_wait_jdt)
w_sys_wait_jdt.wf_accepttol(ll_cnt)
for i = 1 to dw_list.RowCount()
if dw_list.isselected(i) then
ll_inc ++
ll_id = dw_list.object.id[i]
ls_file = dw_list.object.subject[i]
ls_sum = ls_sum + '保存<' + ls_file + '>'
w_sys_wait_jdt.wf_set_msg('正在导出<' + ls_file + '>')
selectblob orgData INTO :lb_orgData from u_email_msg where ID = :ll_id using fj_tran;
if fj_tran.sqlcode <> 0 then
ls_sum = ls_sum + '失败,获取原始数据失败,' + fj_tran.sqlerrtext + '~r~n'
continue
end if
wf_str_modFilePath(ls_file)
if FileExists(ls_filepath + ls_file + '.eml') then
long ll_num = 1
do while FileExists(ls_filepath + ls_file + '('+string(ll_num)+').eml')
ll_num ++
loop
ls_file = ls_filepath + ls_file + '('+string(ll_num)+').eml'
else
ls_file = ls_filepath + ls_file + '.eml'
end if
if f_blobtofile(ls_file, lb_orgData, ls_msg) <> 1 then
ls_sum = ls_sum + '失败,' + ls_msg + '~r~n'
continue
end if
ls_sum = ls_sum + '成功,保存到' + ls_file + '~r~n'
w_sys_wait_jdt.wf_set_msg('正在导出<' + ls_file + '>')
w_sys_wait_jdt.wf_inc(ll_inc)
end if
next
close(w_sys_wait_jdt)
MessageBox('提示', ls_sum)
return
end if
if dw_list.GetRow() <= 0 then return
ls_title = '导出邮件'
ls_extension = 'eml'
ls_filter = 'eml文件,*.eml'
ls_filepath = dw_list.object.subject[dw_list.GetRow()] + '.eml'
wf_str_modFilePath(ls_filepath)
if GetFileSaveName(ls_title, ls_filepath, ls_filename, ls_extension, ls_filter) <> 1 then
return
end if
ll_id = dw_list.object.id[dw_list.GetRow()]
selectblob orgData INTO :lb_orgData from u_email_msg where ID = :ll_id using fj_tran;
if fj_tran.sqlcode <> 0 then
MessageBox('系统错误', '网络或其它原因,获取原始数据失败:' + fj_tran.sqlerrtext, stopsign!)
return
end if
if f_blobtofile(ls_filepath, lb_orgData, ls_msg) <> 1 then
MessageBox('系统错误', '保存文件失败:' + ls_msg, stopsign!)
return
end if
MessageBox('文件保存成功', ls_filepath)
end event
event ue_newlebox();s_tv_data1 tv_data
Long parentid
tv_data = wf_tv_getdata(wf_tv_getcurrent())
IF tv_data.a_string = C_leroot THEN
parentid = 0
ELSEIF tv_data.a_string = C_lebox THEN
parentid = tv_data.relid
ELSE
RETURN
END IF
uo_ljmail_box uo_box
uo_box = Create uo_ljmail_box
String ls_msg
s_ljmail_box s_box
s_box.boxid = 0
s_box.boxname = '新目录'
s_box.empid = sys_empid
s_box.parentid = parentid
s_box.boxtype = 5
IF uo_box.uf_save(Ref s_box, Ref ls_msg) <> 1 THEN
MessageBox('错误1', ls_msg, stopsign!)
GOTO ext
END IF
tv_data.a_string = C_lebox
tv_data.relid = s_box.boxid
tv_data.b_string = s_box.boxname
tv_data.a_long = s_box.boxtype
tv_data.b_long = s_box.empid
Long boxhandle
boxhandle = wf_tv_insert(wf_tv_getcurrent(), s_box.boxname, 7, tv_data)
tv_1.SelectItem(boxhandle)
tv_1.EditLabel(boxhandle)
ext:
Destroy uo_box
//
//
//
//if box.uf_newbox(mailid, parentid, '新目录', true, ls_msg) <> 1 then
// MessageBox('错误', ls_msg, stopsign!)
// return
//end if
//
//s_tv_data1 s_box
//s_box.relid = box.boxid
//s_box.a_string = C_mailbox
//s_box.b_string = box.boxname
//s_box.a_long = mailid
//s_box.b_long = box.isdefault
//long unread
//unread = wf_box_getunread(box.boxid)
//long totle
//totle = wf_box_gettotle(box.boxid)
//string label
//label = trim(box.boxname) + '(' + string(unread) + '/' + string(totle) + ')'
//
//long boxhandle
//boxhandle = wf_tv_insert(wf_tv_getcurrent(), label, box.picindex, s_box)
//
//tv_1.SelectItem(boxhandle)
//
//tv_1.EditLabel(boxhandle)
//
//
//destroy box
end event
event ue_renamebox();tv_1.EditLabel(wf_tv_getcurrent())
end event
event ue_delbox();s_tv_data1 tv_data
long curhandle
curhandle = wf_tv_getcurrent()
tv_data = wf_tv_getdata(curhandle)
if tv_data.a_string <> C_mailbox then
return
end if
uo_email_box box
box = create uo_email_box
box.commit_tran = commit_tran
box.fj_tran = fj_tran
string ls_msg
if box.uf_del(tv_data.relid, ls_msg) = 1 then
tv_1.deleteitem(curhandle)
else
MessageBox('删除失败', ls_msg, stopsign!)
end if
destroy box
end event
event ue_newbox();s_tv_data1 tv_data
long mailid, parentid
tv_data = wf_tv_getdata(wf_tv_getcurrent())
if tv_data.a_string = C_mailacount then
mailid = tv_data.relid
parentid = 0
elseif tv_data.a_string = C_mailbox then
mailid = tv_data.a_long
parentid = tv_data.relid
else
return
end if
uo_email_box box
box = create uo_email_box
box.commit_tran = commit_tran
box.fj_tran = fj_tran
string ls_msg
if box.uf_newbox(mailid, parentid, '新目录', true, ls_msg) <> 1 then
MessageBox('错误', ls_msg, stopsign!)
return
end if
s_tv_data1 s_box
s_box.relid = box.boxid
s_box.a_string = C_mailbox
s_box.b_string = box.boxname
s_box.a_long = mailid
s_box.b_long = box.isdefault
long unread
unread = wf_box_getunread(box.boxid)
long totle
totle = wf_box_gettotle(box.boxid)
string label
label = trim(box.boxname) + '(' + string(unread) + '/' + string(totle) + ')'
long boxhandle
boxhandle = wf_tv_insert(wf_tv_getcurrent(), label, box.picindex, s_box)
tv_1.SelectItem(boxhandle)
tv_1.EditLabel(boxhandle)
destroy box
end event
event ue_set_signature();open(w_email_signmanage)
end event
event ue_revlemsg();open(w_ljmail_revmsg)
end event
event ue_afteropen();Long ll_num
Long ll_row
ll_num = Message.DoubleParm
tv_1.SelectItem(ins_innerrevhandle)
tv_1.trigger event selectionchanged(0, ins_innerrevhandle)
IF ll_num > 0 And dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
ll_row = dw_list.Find('sys_admsgmx_msgid = ' + String(ll_num), 1, dw_list.RowCount())
IF ll_row > 0 THEN
dw_list.SetRow(ll_row)
dw_list.ScrollToRow(ll_row)
dw_list.SelectRow(0, False)
dw_list.SelectRow(ll_row, True)
END IF
END IF
IF dw_list.GetRow() > 0 THEN
dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
END IF
end event
event ue_viewbill_msg();String ls_code
Long ll_scid
Long ll_row
IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
ll_row = dw_list.GetRow()
IF ll_row > 0 THEN
ll_scid = dw_list.Object.sys_admsgmx_scid[ll_row]
ls_code = dw_list.Object.sys_admsgmx_billcode[ll_row]
IF ls_code <> '' THEN
f_open_win(ll_scid,ls_code)
END IF
END IF
END IF
end event
event ue_move_eml();
//tv_data = wf_tv_getdata(Handle)
openwithparm(w_email_move, tv_data_move)
this.cb_fresh.TriggerEvent(Clicked!)
//s_return = message.powerobjectparm
end event
event ue_set_cust();s_edit_index_tran s_ch_tran //传递参数使用
s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
String ls_souce,ls_name,ls_email
IF dw_list.RowCount() <= 0 THEN
RETURN
END IF
s_custom s_tran_cust
ls_souce = String(dw_list.Object.sendman[dw_list.GetRow()])
ls_name = Left(ls_souce,Pos(ls_souce,"<") - 1)
ls_email = Right(ls_souce,Len(ls_souce) - Pos(ls_souce,"<") )
ls_email = Left(ls_email,Len(ls_email) - 1)
s_ch_tran.d_long = 1
s_tran_cust.cuscode = String(Today(), "yyyyMMddHHmmss")
s_tran_cust.Name = ls_name
s_tran_cust.email = ls_email
s_ch_tran.a_any = s_tran_cust
OpenWithParm(W_cust_edit,s_ch_tran) //调用
//long ll_row
//
// w_cust_edit_popup w_me_cust_edit_popup
// f_sys_main(105)
// w_me_cust_edit_popup = s_sys_win_open[105].win
// DO WHILE Not IsValid(w_me_cust_edit_popup)
// Yield()
// LOOP
//
// w_me_cust_edit_popup.cb_add.TriggerEvent('clicked') //按新建客户
// ll_row = w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.GetRow()
// w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.cuscode[ll_row] =string(today(), "yyyyMMddHHmmss") //编号
// w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.Name[ll_row] = string(dw_list.Object.sendman[dw_list.GetRow()]) //名称
// w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.custype[ll_row] = "张三" //业务员
// w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.rep[ll_row] = "小明" //联系人
end event
event ue_set_email_move();s_edit_index_tran ss_tran
Long ll_row,L1,L2
ll_row = dw_list.GetRow()
IF ll_row <= 0 THEN RETURN
ss_tran.b_long = dw_list.Object.mailID[ll_row]
ss_tran.b_string = dw_list.Object.sendman[ll_row]
L1 = Pos(ss_tran.b_string,"<")
L2 = Pos(ss_tran.b_string,">")
ss_tran.b_string = Mid(ss_tran.b_string,L1 + 1 ,L2 - L1 - 1)
//messagebox(string(ss_tran.b_long),ss_tran.b_string)
OpenWithParm(w_set_email_move,ss_tran)
end event
event ue_autorev();Open(w_email_ds_rev)
//f_SetProfileString (sys_empid,publ_userid+'_'+'sle_auottime', "autotime",String(long(trim(sle_auottime.text))))
ll_autotime = Long(f_ProfileString(sys_empid,publ_userid+'_'+'sle_auottime', "autotime",'0'))
IF ll_autotime > 0 THEN
if_autorev = True
timer(ll_autotime * 60)
END IF
end event
event ue_rep_group();s_edit_index_tran s_tranf
OpenWithParm(w_rep_group,s_tranf) //调用
end event
public function integer wf_init (ref string arg_msg);////用游标读取明细
//
Long i,NO_MXCHECK,rslt = 1
//Long ll_count
//i = 1
//all_count = 0
//DECLARE CUR_INWAERMX CURSOR FOR
// SELECT u_email_set.mailID,
// u_email_set.mailuser,
// u_email_set.mailaddress,
// u_email_set.mailpsw,
// u_email_set.popset,
// u_email_set.smtpset,
// u_email_set.Othermsg,
// 0,
// u_email_set.popport,
// u_email_set.smtpport,
// u_email_set.ifdelmsg,
// u_email_set.gap
// FROM u_email_set
// WHERE ( u_email_set.empid = :sys_empid AND u_email_set.mailtype = 0)
// OR u_email_set.mailtype = 1;
//
//OPEN CUR_INWAERMX;
//FETCH CUR_INWAERMX INTO :s_set[i].mailID,
// :s_set[i].mailuser,
// :s_set[i].mailaddress,
// :s_set[i].mailpsw,
// :s_set[i].popset,
// :s_set[i].smtpset,
// :s_set[i].Othermsg,
// :s_set[i].viewtype,
// :s_set[i].popport,
// :s_set[i].smtpport,
// :s_set[i].ifnodelmsg,
// :s_set[i].gap;
//s_set[i].mailpsw = Trim(f_psw_bczh(s_set[i].mailpsw,1,sys_power_key))
//DO WHILE sqlca.SQLCode = 0
// i++
// FETCH CUR_INWAERMX INTO :s_set[i].mailID,
// :s_set[i].mailuser,
// :s_set[i].mailaddress,
// :s_set[i].mailpsw,
// :s_set[i].popset,
// :s_set[i].smtpset,
// :s_set[i].Othermsg,
// :s_set[i].viewtype,
// :s_set[i].popport,
// :s_set[i].smtpport,
// :s_set[i].ifnodelmsg,
// :s_set[i].gap;
// s_set[i].mailpsw = Trim(f_psw_bczh(s_set[i].mailpsw,1,sys_power_key))
//LOOP
//CLOSE CUR_INWAERMX;
//
////检验明细是否读入完整
//SELECT COUNT(*) INTO :NO_MXCHECK
// FROM u_email_set
// WHERE ( u_email_set.empid = :sys_empid AND u_email_set.mailtype = 0)
// OR u_email_set.mailtype = 1;
//IF sqlca.SQLCode <> 0 THEN
// rslt = 0
// arG_MSG = "查询操作失败,邮箱数量"
// GOTO ext
//END IF
//
//IF i <> (NO_MXCHECK+1) THEN
// rslt = 0
// arG_MSG = "查询操作失败,邮箱数量"
// GOTO ext
//END IF
//
//Long hand,li_handl,li_handl_son
//TreeViewItem ll_tvi
//String ls_mailuser
//Long tvi_hdl = 0
//Long ll_count1
//datastore ds_notread
//ds_notread = CREATE datastore
//ds_notread.DataObject = 'dw_email_view_rev_notread'
//ds_notread.SetTransObject(sqlca)
//
//datastore ds_temp
//ds_temp = CREATE datastore
//
//DO UNTIL tv_1.FindItem(RootTreeItem!, 0) = -1
// tv_1.DeleteItem(tvi_hdl)
//LOOP
//
//
//hand = tv_1.InsertItemLast(0,'全部邮箱',1)
//
//// 添加内部消息
//s_email_set s_tmp
//li_handl = tv_1.InsertItemLast(hand,'内部消息',8)
//IF tv_1.GetItem ( li_handl, ll_tvi) = 1 THEN
// s_tmp.mailid = -1
// s_tmp.viewtype = 0
// ll_tvi.Data = s_tmp
// tv_1.SetItem( li_handl, ll_tvi )
//END IF
//li_handl_son = tv_1.InsertItemLast(li_handl,'收件箱',7)
//IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
// s_tmp.mailid = -1
// s_tmp.viewtype = 1
// ll_tvi.Data = s_tmp
// SELECT count(0) INTO :ll_count
// FROM sys_admsgmx
// WHERE ( sys_admsgmx.dealflag = :ls_dealflag OR
// :ls_dealflag = -1 ) AND
// sys_admsgmx.empid = :sys_empid;
// if sqlca.sqlcode <> 0 then
// rslt = 0
// arg_msg = '数据库连接失败,获取内部消息收件箱数量失败'
// goto ext
// end if
// ll_tvi.label = '收件箱(' + string(ll_count) + ')'
// tv_1.SetItem( li_handl_son,ll_tvi )
//END IF
//li_handl_son = tv_1.InsertItemLast(li_handl,'发件箱',8)
//IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
// s_tmp.mailid = -1
// s_tmp.viewtype = 2
// ll_tvi.Data = s_tmp
// DateTime first_date, end_date
// first_date = DateTime(Date(em_1.Text), Time(0))
// end_date = datetime(date(em_2.Text), Time('23:59:59'))
// SELECT count(0) INTO :ll_count
// FROM Sys_admsg
// WHERE (Sys_admsg.sendempid = :sys_empid ) AND
// ( sys_admsg.senddt >= :first_date ) AND
// ( sys_admsg.senddt < :end_date );
// if sqlca.sqlcode <> 0 then
// rslt = 0
// arg_msg = '数据库连接失败,获取内部消息发件箱数量失败'
// goto ext
// end if
// ll_tvi.label = '发件箱(' + string(ll_count) + ')'
// tv_1.SetItem( li_handl_son,ll_tvi )
//END IF
//tv_1.expanditem(li_handl)
/////////////////////////////////////////
//
//FOR i = 1 TO NO_MXCHECK
// ls_mailuser = Trim(s_set[i].mailuser) + '<' + Trim(s_set[i].mailAddress) + '>'
// li_handl = tv_1.InsertItemLast(hand,ls_mailuser,2)
// IF tv_1.GetItem ( li_handl, ll_tvi) = 1 THEN
// ll_tvi.Label = ls_mailuser
// ll_tvi.Data = s_set[i]
// tv_1.SetItem( li_handl, ll_tvi )
// END IF
//
// li_handl_son = tv_1.InsertItemLast(li_handl,'收件箱',3)
// IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
//
// ds_temp.DataObject = 'dw_email_view_rev'
// ds_temp.SetTransObject(sqlca)
// ll_count = ds_temp.Retrieve(s_set[i].mailID)
// ll_count1 = ds_notread.Retrieve(s_set[i].mailID)
//
// IF ll_count = 0 THEN
// ll_tvi.Label = '收件箱'
// ELSE
// ll_tvi.Label = '收件箱(' + String(ll_count1) + '/' + String(ll_count) + ')'
// END IF
// s_set[i].viewtype = 1
// ll_tvi.Data = s_set[i]
// tv_1.SetItem( li_handl_son,ll_tvi )
// END IF
//
// li_handl_son = tv_1.InsertItemLast(li_handl,'发件箱',4)
// IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
// ds_temp.DataObject = 'dw_email_view_send'
// ds_temp.SetTransObject(sqlca)
// ll_count = ds_temp.Retrieve(s_set[i].mailID)
// IF ll_count = 0 THEN
// ll_tvi.Label = '发件箱'
// ELSE
// ll_tvi.Label = '发件箱(' + String(ll_count) + ')'
// END IF
// s_set[i].viewtype = 2
// ll_tvi.Data = s_set[i]
// tv_1.SetItem( li_handl_son, ll_tvi )
// END IF
//
// li_handl_son = tv_1.InsertItemLast(li_handl,'已发件箱',5)
// IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
// ds_temp.DataObject = 'dw_email_view_sent'
// ds_temp.SetTransObject(sqlca)
// ll_count = ds_temp.Retrieve(s_set[i].mailID)
// IF ll_count = 0 THEN
// ll_tvi.Label = '已发件箱'
// ELSE
// ll_tvi.Label = '已发件箱(' + String(ll_count) + ')'
// END IF
// s_set[i].viewtype = 3
// ll_tvi.Data = s_set[i]
// tv_1.SetItem( li_handl_son,ll_tvi )
// END IF
//
// li_handl_son = tv_1.InsertItemLast(li_handl,'废件箱',6)
// IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
// ds_temp.DataObject = 'dw_email_view_dust'
// ds_temp.SetTransObject(sqlca)
// ll_count = ds_temp.Retrieve(s_set[i].mailID)
// IF ll_count = 0 THEN
// ll_tvi.Label = '废件箱'
// ELSE
// ll_tvi.Label = '废件箱(' + String(ll_count) + ')'
// END IF
// s_set[i].viewtype = 4
// ll_tvi.Data = s_set[i]
// tv_1.SetItem( li_handl_son,ll_tvi )
// END IF
//
// tv_1.ExpandItem(li_handl)
//NEXT
//tv_1.ExpandItem(hand)
//
//all_count = NO_MXCHECK
//
//IF all_count = 0 THEN
// cb_rev.Enabled = FALSE
// cb_send.Enabled = FALSE
// cb_write.Enabled = FALSE
// cb_back.Enabled = FALSE
// cb_sendother.Enabled = FALSE
// cb_del.Enabled = FALSE
//END IF
//
//ext:
RETURN rslt
//
//
//
//
//
//
//
//
//
end function
public subroutine wf_delfj ();String ls_pathname
Long li_count,i
ls_pathname = sys_cur_path + fjfilepathname+'\' + '*.*'
lb_1.Reset()
lb_1.DirList(ls_pathname, 0)
li_count = lb_1.TotalItems()
IF li_count > 0 THEN
FOR i = li_count TO 1 STEP -1
ls_pathname = sys_cur_path+fjfilepathname+'\' + lb_1.Text(i)
IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
NEXT
END IF
end subroutine
public function integer wf_revemail (s_email_set arg_set, ref string arg_msg);Long rslt = 1
//String tUID
//Long ll_count
//Long ll_mailcount
//Long ll_attcount
//Long i,j
//String ls_pathname
//String ls_popport
//Blob lb_fileblob,lb_null
//Long ll_cnt_lp = 0
//String ls_msg
//ls_popport = String(arg_set.popport,'###0')
//arg_msg = ''
//oleobject jmail
//oleobject mailmsg
//oleobject Attachments
//oleobject Attachment
//jmail = CREATE oleobject
//mailmsg = CREATE oleobject
//Attachments = CREATE oleobject
//Attachment = CREATE oleobject
//jmail.ConnectToNewObject("JMail.pop3")
//mailmsg.ConnectToNewObject("JMail.Message")
//Attachments.ConnectToNewObject("JMail.Attachments")
//Attachment.ConnectToNewObject("JMail.Attachment")
//jmail.TimeOut = 3600
//TRY
//jmail.Connect(arg_set.mailAddress,arg_set.mailpsw,arg_set.popset, ls_popport )
//CATCH ( oleruntimeerror exIdentifier1 )
//arg_msg = '连接邮箱失败,邮箱设置不正确或者没有连接网络'
//END TRY
//
//IF arg_msg <> '' THEN
// GOTO ext2
//END IF
//
//ll_mailcount = jmail.Count
//
//SetNull(lb_null)
//
//String ls_body[],ls_htmlBody[]
//Blob ls_filedata[]
//s_email_rev s_rev
//
//IF ll_mailcount = 0 THEN GOTO ext2
//
//Open(w_sys_wait_jdt) //初始化进度条
//w_sys_wait_jdt.Show()
//w_sys_wait_jdt.wf_accepttol(ll_mailcount)
//
//FOR i = 1 TO ll_mailcount
// ll_cnt_lp++
// w_sys_wait_jdt.st_msg.Text = arg_set.mailuser + "<" + arg_set.mailAddress + ">"+ " 正在收取邮件(" + String(i) + "/" + String(ll_mailcount) + ")." //进度信息
// w_sys_wait_jdt.wf_inc(ll_cnt_lp)
//
// rslt = 1
// ll_count = 0
// jmail.downloadsinglemessage(i)
// tUID = jmail.GetMessageUID(i)
//
// SELECT count(*)
// INTO :ll_count
// FROM u_email_rev
// Where tUID = :tUID and mailtype <> 2;
// IF sqlca.SQLCode <> 0 THEN
// ls_msg = '获取已收邮件信息失败'
// rslt = 0
// GOTO ext1
// END IF
//
// IF ll_count > 0 THEN CONTINUE
//
// mailmsg = jmail.Messages[i]
//
// s_rev.mailAddress = arg_set.mailAddress
// s_rev.Subject = mailmsg.Subject
// s_rev.textBody = String(mailmsg.Body)
//
// s_rev.htmlBody = Blob(mailmsg.htmlBody)
// s_rev.senduser = mailmsg.fromname
// s_rev.sendaddress = mailmsg.FROM
// s_rev.mailsize = mailmsg.size
// s_rev.RevID = f_sys_scidentity(0,"u_email_rev","RevID",ls_msg,TRUE, sqlca) //数据commit事务)
// IF s_rev.RevID <= 0 THEN
// rslt = 0
// GOTO ext1
// END IF
//
// INSERT INTO u_email_rev(
// RevID,
// mailID,
// mailaddress,
// mailtype,
// Subject,
// senduser,
// sendaddress,
// revdate,
// mailSize,
// textBody,
// tUID)
// VALUES
// ( :s_rev.RevID,
// :arg_set.mailid,
// :s_rev.mailaddress,
// 0,
// :s_rev.Subject,
// :s_rev.senduser,
// :s_rev.sendaddress,
// getdate(),
// :s_rev.mailSize,
// :s_rev.textBody,
// :tUID);
// IF sqlca.SQLCode <> 0 THEN
// ls_msg = '向数据库插入已收邮件信息失败'
// rslt = 0
// GOTO ext1
// ELSE
// COMMIT;
// END IF
//
// IF String(s_rev.htmlBody) <> "" THEN
// UPDATEBLOB u_email_rev
// Set htmltext = :s_rev.htmlBody
// Where RevID = :s_rev.RevID;
// IF sqlca.SQLCode <> 0 THEN
// ls_msg = '向数据库插入已收邮件信息失败'
// rslt = 0
// GOTO ext1
// END IF
// END IF
//
// Attachments = mailmsg.Attachments
// IF Attachments.Count = 0 THEN goto ext1
// s_email_fj s_fj
//
// FOR j = 0 TO Attachments.Count - 1
// Attachment = Attachments.Item[j]
// s_fj.fjid[j+1] = f_sys_scidentity(0,"u_email_fj","fjid",ls_msg,TRUE, sqlca) //数据commit事务)
// IF s_fj.fjid[j+1] <= 0 THEN
// rslt = 0
// GOTO ext1
// END IF
// s_fj.Filename[j+1] = Attachment.Name
// s_fj.filesize[j+1] = Attachment.size
// s_fj.FileType[j+1] = Attachment.contenttype
// INSERT INTO u_email_fj
// ( fjid,
// fjtype,
// Relid,
// filename,
// filesize,
// filetype
// ) VALUES
// ( :s_fj.fjid[j+1],
// 1,
// :s_rev.RevID,
// :s_fj.filename[j+1],
// :s_fj.filesize[j+1],
// :s_fj.filetype[j+1]
// );
// IF sqlca.SQLCode <> 0 THEN
// ls_msg = '向数据库插入已收邮件附件信息失败'
// rslt = 0
// GOTO ext1
// ELSE
// COMMIT;
// END IF
//
// ls_pathname = sys_cur_path+fjfilepathname+'\'+s_fj.Filename[j+1]
// IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
// Attachment.savetofile(ls_pathname )
//
// lb_fileblob = lb_null
//
// IF f_filetoblob(ls_pathname,lb_fileblob,ls_msg) = 0 THEN
// rslt = 0
// GOTO ext1
// END IF
//
// IF String(lb_fileblob) <> "" THEN
// UPDATEBLOB u_email_fj
// Set fileblob = :lb_fileblob
// Where fjid = :s_fj.fjid[j+1];
// IF sqlca.SQLCode <> 0 THEN
// ls_msg = '向数据库插入已收邮件附件信息失败'
// rslt = 0
// GOTO ext1
// ELSE
// COMMIT;
// END IF
// END IF
//
// FileDelete(ls_pathname)
// NEXT
//
// ext1:
// IF rslt = 1 THEN
// COMMIT;
// if arg_set.ifnodelmsg = 0 then
// jmail.deletesinglemessage(i)
// end if
// ELSEIF rslt = 0 THEN
// ROLLBACK;
// arg_msg = arg_msg + arg_set.mailuser + "<" + arg_set.mailAddress + ">第" + String(i) + '条,' + ls_msg + '~n'
// END IF
//
//
//NEXT
//
//
//ext2:
//
//IF IsValid(w_sys_wait_jdt) THEN
// Close(w_sys_wait_jdt)
//END IF
//
//
//IF arg_msg <> '' THEN
// rslt = 0
// jmail.Disconnect()
//ELSE
// rslt = 1
//END IF
//
//DESTROY jmail
RETURN rslt
//
//
//
//
//
//
//
//
//
//
//
//
end function
public function integer wf_retrievemx (long arg_id, integer arg_fjtype, string arg_address, ref string arg_msg);Int rslt = 1
//String ls_text,ls_html
//Blob lb_html
//String ls_address
//long ll_num, ll_size
//blob lb_temp
/////清空
//
//IF FileExists(Pathname) THEN FileDelete(Pathname)
//have_fj = FALSE
//have_text = FALSE
//have_html = FALSE
//
//
//wf_retreve_inout(arg_address)
//wf_retreve_rep(arg_id,arg_fjtype)
//ole_1.object.navigate('about:blank')
//CHOOSE CASE arg_fjtype
// CASE 1
//
// cb_back.Enabled = TRUE
// cb_sendother.Enabled = TRUE
//
// SELECT u_email_rev.textBody
// INTO :ls_text
// FROM u_email_rev,
// u_email_set
// WHERE ( u_email_rev.mailID = u_email_set.mailID ) AND
// ( u_email_rev.revid = :arg_id ) ;
// IF sqlca.SQLCode <> 0 THEN
// arg_msg = '读取已收邮件失败'+sqlca.SQLErrText
// rslt = 0
// GOTO ext
// END IF
//
//
// IF IsNull(ls_text) OR len(trim(ls_text)) <= 0 THEN
//
// ELSE
//// tab_1.tabpage_1.mle_text.Text = ls_text
// have_text = TRUE
// END IF
//
// ////
// select datalength(htmltext) INTO :ll_size
// from u_email_rev
// where ( u_email_rev.revid = :arg_id );
// if sqlca.sqlcode <> 0 then
// rslt = 0
// arg_msg = '获取网页正文大小失败>>'+sqlca.SQLErrText
// GOTO ext
// END IF
//
// if ll_size > 2048 then
// SELECTBLOB htmltext
// INTO :lb_html
// FROM u_email_rev
// Where ( u_email_rev.revid = :arg_id ) ;
// IF sqlca.SQLCode <> 0 THEN
// rslt = 0
// arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
// GOTO ext
// END IF
// else
// SELECT htmltext
// INTO :ls_html
// FROM u_email_rev
// Where ( u_email_rev.revid = :arg_id ) ;
// IF sqlca.SQLCode <> 0 THEN
// rslt = 0
// arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
// GOTO ext
// END IF
// lb_html = blob(ls_html)
// end if
//
// IF IsNull(lb_html) OR len(trim(string(lb_html))) <= 0 THEN
//
// ELSE
// have_html = TRUE
// ////
////
//// tab_1.tabpage_2.ole_html.Object.navigate('file:///' + Pathname)
// END IF
//
// if have_html then
// IF f_blobtofile(Pathname,lb_html,arg_msg) = 0 THEN
// rslt = 0
// GOTO ext
// END IF
// DO WHILE pos(Pathname,'\',1) > 0
// Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
// LOOP
// ole_1.Object.navigate('file:///' + Pathname)
// elseif have_text then
// lb_temp = blob(f_texttohtml(ls_text))
// IF f_blobtofile(Pathname,lb_temp,arg_msg) = 0 THEN
// rslt = 0
// GOTO ext
// END IF
// DO WHILE pos(Pathname,'\',1) > 0
// Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
// LOOP
// ole_1.object.navigate('file:///' + Pathname)
// end if
//
// CASE 0
//
// dw_mail.Reset()
// cb_back.Enabled = FALSE
// cb_sendother.Enabled = true
// SELECT u_email_send.textBody
// INTO :ls_text
// FROM u_email_send,
// u_email_set
// WHERE ( u_email_send.mailID = u_email_set.mailID ) AND
// ( u_email_send.sendid = :arg_id ) ;
// IF sqlca.SQLCode <> 0 THEN
// arg_msg = '读取已收邮件失败'+sqlca.SQLErrText
// rslt = 0
// GOTO ext
// END IF
// IF IsNull(ls_text) OR len(trim(ls_text)) <= 0 THEN
//
// ELSE
//// tab_1.tabpage_1.mle_text.Text = ls_text
// have_text = TRUE
// END IF
//
// ////
// select datalength(htmltext) INTO :ll_size
// from u_email_send
// where ( u_email_send.sendid = :arg_id );
// if sqlca.sqlcode <> 0 then
// rslt = 0
// arg_msg = '获取网页正文大小失败>>'+sqlca.SQLErrText
// GOTO ext
// END IF
// if ll_size > 2048 then
// SELECTBLOB htmltext
// INTO :lb_html
// FROM u_email_send
// Where ( u_email_send.sendid = :arg_id ) ;
// IF sqlca.SQLCode <> 0 THEN
// rslt = 0
// arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
// GOTO ext
// END IF
// else
// SELECT htmltext
// INTO :ls_html
// FROM u_email_send
// Where ( u_email_send.sendid = :arg_id ) ;
// IF sqlca.SQLCode <> 0 THEN
// rslt = 0
// arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
// GOTO ext
// END IF
// lb_html = blob(ls_html)
// end if
//
// IF IsNull(lb_html) OR len(trim(string(lb_html))) <= 0 THEN
//
// ELSE
// have_html = TRUE
// ////
//
////
//// tab_1.tabpage_2.ole_html.Object.navigate('file:///' + Pathname)
// END IF
//
// ///
// if have_html then
// IF f_blobtofile(Pathname,lb_html,arg_msg) = 0 THEN
// rslt = 0
// GOTO ext
// END IF
// DO WHILE pos(Pathname,'\',1) > 0
// Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
// LOOP
// ole_1.object.navigate('file:///' + Pathname)
// elseif have_text then
// lb_temp = blob(f_texttohtml(ls_text))
// IF f_blobtofile(Pathname,lb_temp,arg_msg) = 0 THEN
// rslt = 0
// GOTO ext
// DO WHILE pos(Pathname,'\',1) > 0
// Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
// LOOP
// END IF
// ole_1.object.navigate('file:///' + Pathname)
// end if
//
//END CHOOSE
//
////附件列表
//
//Long count,ls_i
//listviewitem l_lvi
//s_email_lvfj s_lvfj[]
//
//SELECT count(*)
// INTO :count
// FROM u_email_fj
// Where ( u_email_fj.relid = :arg_id AND u_email_fj.fjtype = :arg_fjtype );
//IF count > 0 THEN
// lv_fj.Visible = TRUE
// have_fj = TRUE
//ELSE
// lv_fj.Visible = FALSE
// have_fj = FALSE
// GOTO ext
//END IF
//
//DECLARE fj_cur CURSOR FOR
// SELECT fjid,
// filename,
// filesize,
// filetype
// FROM u_email_fj
// Where ( u_email_fj.relid = :arg_id AND u_email_fj.fjtype = :arg_fjtype );
//OPEN fj_cur;
//
//count = 1
//FETCH fj_cur INTO :s_lvfj[count].fjid,&
// :s_lvfj[count].filename,&
// :s_lvfj[count].filesize,&
// :s_lvfj[count].FileType;
//DO WHILE sqlca.SQLCode = 0
// count++
// FETCH fj_cur INTO :s_lvfj[count].fjid,&
// :s_lvfj[count].filename,&
// :s_lvfj[count].filesize,&
// :s_lvfj[count].FileType;
//LOOP
//
//count = count - 1
//CLOSE fj_cur;
//
//
//FOR ls_i = 1 TO count
// l_lvi.PictureIndex = 1
// l_lvi.Label = s_lvfj[ls_i].Filename
// l_lvi.Data = s_lvfj[ls_i]
// lv_fj.InsertItem(ls_i,l_lvi)
//NEXT
//
//
//
//ext:
//
////IF have_html THEN
//// tab_1.SelectTab (2)
////ELSE
//// tab_1.SelectTab (1)
////END IF
////
////tab_1.tabpage_1.Visible = have_text
////tab_1.tabpage_1.mle_text.Visible = have_text
////tab_1.tabpage_2.Visible = have_html
////tab_1.tabpage_2.ole_html.Visible = have_html
//
//lv_fj.Visible = have_fj
//
//this.triggerevent('resize')
//
//
RETURN rslt
//
end function
public subroutine wf_retreve_inout (string arg_address);//IF have_inout and arg_address <> '' THEN
// dw_mail.SetRedraw (FALSE)
// dw_mail.Retrieve(cur_set.mailid,arg_address)
// dw_mail.SetRedraw (TRUE)
// dw_fj.SetRedraw (FALSE)
// dw_fj.Retrieve(cur_set.mailid,arg_address)
// dw_fj.SetRedraw (TRUE)
//ELSE
// dw_mail.Reset()
// dw_fj.Reset()
//END IF
end subroutine
public subroutine wf_retreve_rep (long arg_id, integer arg_fjtype);//IF arg_fjtype = 1 THEN
// IF have_rep THEN
// p_resize1.TriggerEvent(Clicked!)
// END IF
// p_resize1.Enabled = FALSE
// dw_rep.Reset()
//ELSE
// p_resize1.Enabled = TRUE
// dw_rep.SetRedraw (FALSE)
// dw_rep.Retrieve(arg_id)
// dw_rep.SetRedraw (TRUE)
//END IF
end subroutine
public subroutine pf_retrievetree (long arg_handl, integer arg_flag);//s_email_set temp_set
//Long ll_handl,ll_count,ll_count1
//long mailid
//string ls_title
//treeviewitem tvi
//datastore ds_list
//
//ds_list = create datastore
//ll_handl = arg_handl
//ll_handl = tv_1.FindItem(ChildTreeItem!,ll_handl)
//
//DO WHILE ll_handl > 0
// tv_1.GetItem(ll_handl,tvi)
// temp_set = tvi.Data
//
// IF (arg_flag = -1 OR temp_set.mailid = cur_set.mailid) and (cur_set.mailid > 0) THEN
//
// CHOOSE CASE temp_set.viewtype
// CASE 1
//
// ds_list.DataObject = 'dw_email_view_rev'
// ds_list.SetTransObject(sqlca)
// ll_count = ds_list.Retrieve(temp_set.mailid)
//
// datastore ds_notread
// ds_notread = CREATE datastore
// ds_notread.DataObject = 'dw_email_view_rev_notread'
// ds_notread.SetTransObject(sqlca)
// ll_count1 = ds_notread.Retrieve(temp_set.mailid)
//
// IF ll_count > 0 THEN
// ls_title = '收件箱(' + String(ll_count1) + '/' + String(ll_count) + ')'
// ELSE
// ls_title = '收件箱'
// END IF
// CASE 2
// ds_list.DataObject = 'dw_email_view_send'
// ds_list.SetTransObject(sqlca)
// ll_count = ds_list.Retrieve(temp_set.mailid)
// IF ll_count > 0 THEN
// ls_title = '发件箱(' + String(ll_count) + ')'
// ELSE
// ls_title = '发件箱'
// END IF
// CASE 3
// ds_list.DataObject = 'dw_email_view_sent'
// ds_list.SetTransObject(sqlca)
// ll_count = ds_list.Retrieve(temp_set.mailid)
// IF ll_count > 0 THEN
// ls_title = '已发件箱(' + String(ll_count) + ')'
// ELSE
// ls_title = '已发件箱'
// END IF
// CASE 4
// ds_list.DataObject = 'dw_email_view_dust'
// ds_list.SetTransObject(sqlca)
// ll_count = ds_list.Retrieve(temp_set.mailid)
// IF ll_count > 0 THEN
// ls_title = '废件箱(' + String(ll_count) + ')'
// ELSE
// ls_title = '废件箱'
// END IF
// CASE ELSE
// cur_address = ''
// END CHOOSE
//
// IF temp_set.viewtype > 0 THEN
// tvi.Label = ls_title
// tv_1.SetItem(ll_handl, tvi)
// END IF
// END IF
// pf_retrievetree(ll_handl,arg_flag)
// ll_handl = tv_1.FindItem(NextTreeItem!,ll_handl)
//LOOP
//
//
//
end subroutine
public subroutine wf_retrieve ();s_tv_data1 tv_data
string ls_msg
if wf_tv_getcurrent() <= 0 then
// DONE:不显示列表与内容
wf_ui_reflash()
return
end if
tv_data = wf_tv_getdata(wf_tv_getcurrent())
if tv_data.a_string = C_innerrev then
// DONE: 内部消息收件箱
wf_dw_retrieve_innermsg_rev()
elseif tv_data.a_string = C_innersend then
// DONE: 内部消息发件箱
wf_dw_retrieve_innermsg_send()
elseif tv_data.a_string = C_mailbox then
// DONE: 邮箱
long ll_mailid, ll_boxid
ll_mailid = tv_data.a_long
ll_boxid = tv_data.relid
wf_dw_retrieve_mailmsg(ll_mailid, ll_boxid,tv_data.b_string)
else
dw_list.dataobject = ''
end if
wf_ui_reflash()
//long ll_count,ll_count1
//string ls_title
//
// st_3.visible = false
// em_1.visible = false
// pb_em1.visible = false
// st_4.visible = false
// em_2.visible = false
// pb_em2.visible = false
// pb_2.visible = false
// p_1.visible = false
// st_refresh.visible = false
//
//have_user = false
//
//// 内部消息
//if cur_set.mailid = -1 then
// CHOOSE CASE cur_set.viewtype
// CASE 1
// dw_list.DataObject = 'dw_deal_admsg_1_copy'
// dw_list.settransobject(sqlca)
// ll_count = dw_list.REtrieve(sys_empid, ls_dealflag)
// dw_list.Title = '收件箱(' + string(ll_count) + ')'
// ls_title = dw_list.Title
// CASE 2
// st_3.visible = true
// em_1.visible = true
// pb_em1.visible = true
// st_4.visible = true
// em_2.visible = true
// pb_em2.visible = true
// pb_2.visible = true
// p_1.visible = true
// st_refresh.visible = true
//
// dw_list.DataObject = 'dw_hismsg_copy'
// dw_list.settransobject(sqlca)
// DateTime first_date, end_date
// first_date = DateTime(Date(em_1.Text), Time(0))
// end_date = datetime(date(em_2.Text), Time('23:59:59'))
// ll_count = dw_list.retrieve(sys_empid,first_date, end_date)
// dw_list.Title = '发件箱(' + string(ll_count) + ')'
// ls_title = dw_list.Title
// CASE ELSE
// end CHOOSE
// if cur_set.viewtype > 0 then
// l_tvi.Label = ls_title
// tv_1.SetItem(cur_hand, l_tvi)
// end if
// this.triggerevent('resize')
// return
//end if
////////////////////////////////////////////
//
//CHOOSE CASE cur_set.viewtype
// CASE 1
// dw_list.DataObject = 'dw_email_view_rev'
// dw_list.Title = '收件箱'
// dw_list.SetTransObject(sqlca)
// ll_count = dw_list.Retrieve(cur_set.mailid)
//
// datastore ds_notread
// ds_notread = CREATE datastore
// ds_notread.DataObject = 'dw_email_view_rev_notread'
// ds_notread.SetTransObject(sqlca)
// ll_count1 = ds_notread.Retrieve(cur_set.mailid)
//
// IF ll_count > 0 THEN
// ls_title = '收件箱(' + String(ll_count1) + '/' + String(ll_count) + ')'
// ELSE
// ls_title = '收件箱'
// END IF
// CASE 2
// dw_list.DataObject = 'dw_email_view_send'
// dw_list.Title = '发件箱'
// dw_list.SetTransObject(sqlca)
// ll_count = dw_list.Retrieve(cur_set.mailid)
// IF ll_count > 0 THEN
// ls_title = '发件箱(' + String(ll_count) + ')'
// ELSE
// ls_title = '发件箱'
// END IF
// CASE 3
// dw_list.DataObject = 'dw_email_view_sent'
// dw_list.Title = '已发件箱'
// dw_list.SetTransObject(sqlca)
// ll_count = dw_list.Retrieve(cur_set.mailid)
// IF ll_count > 0 THEN
// ls_title = '已发件箱(' + String(ll_count) + ')'
// ELSE
// ls_title = '已发件箱'
// END IF
// CASE 4
// dw_list.DataObject = 'dw_email_view_dust'
// dw_list.Title = '废件箱'
// dw_list.SetTransObject(sqlca)
// ll_count = dw_list.Retrieve(cur_set.mailid)
// IF ll_count > 0 THEN
// ls_title = '废件箱(' + String(ll_count) + ')'
// ELSE
// ls_title = '废件箱'
// END IF
// CASE ELSE
// cur_address = ''
//END CHOOSE
//
//IF cur_set.viewtype > 0 THEN
// l_tvi.Label = ls_title
// tv_1.SetItem(cur_hand, l_tvi)
//END IF
//
// this.triggerevent('resize')
//
end subroutine
public subroutine wf_retrievetree (integer arg_flag);//
//long ll_handl
//ll_handl = tv_1.finditem(RootTreeItem!,0)
//if ll_handl > 0 then pf_retrievetree(ll_handl,arg_flag)
//if (arg_flag = -1) and (cur_set.mailid = -1) then wf_retrieve()
end subroutine
public function integer wf_import_eml (string arg_file, ref string arg_msg);Integer rslt = 1
Blob lb_file
uo_mimeproxyfactory ll_factory
ll_factory = Create uo_mimeproxyfactory
s_tv_data1 tv_data
tv_data = wf_tv_getdata(wf_tv_getCurrent())
IF tv_data.a_string <> C_mailbox THEN
rslt = 0
arg_msg = '请选择邮箱'
GOTO ext
END IF
//arg_file="C:\Documents and Settings\Administrator\桌面\11.eml"
IF f_filetoblob(arg_file, lb_file, arg_msg) <> 1 THEN
rslt = 0
GOTO ext
END IF
oleobject ll_proxy
IF ll_factory.getproxy(ll_proxy, arg_msg) <> 1 THEN
rslt = 0
GOTO ext
END IF
oleobject ll_message
ll_message = ll_proxy.InitFromBlob(lb_file, Ref arg_msg)
IF IsNull(ll_message) THEN
rslt = 0
GOTO ext
END IF
//cur_set.mailid // 账号
//cur_set.viewtype // 1:收件2:发件3:已发4:废件
// 保存在收件箱
Long mailid
mailid = tv_data.a_long
s_email_set s_set
IF wf_ds_get_mail_set(mailid, s_set, arg_msg) <> 1 THEN
rslt = 0
GOTO ext
END IF
s_email_send s_send
s_send.sendid = 0
s_send.mailid = mailid
s_send.boxid = tv_data.relid
s_send.mailAddress = s_set.mailAddress
s_send.Subject = ll_message.Subject
s_send.mailsize = ll_message.ContentLength
s_send.textbody = ll_message.Plain
s_send.htmlbody = ll_message.Html
s_send.orgdata = lb_file
s_send.senduser = ll_message.From
s_send.sendaddress = ll_message.FromEmail
//s_send.sendoption = 0
s_send.priority = 3
s_send.mailtype = '收件'
s_send.status = '未读'
Long ll_AttachmentsCOUNT, j
ll_AttachmentsCOUNT = ll_message.AttachmentsCount
s_email_lvfj s_fj[]
FOR j = 0 To ll_AttachmentsCOUNT - 1
s_fj[j+1].Filename = ll_message.GetAttachmentName(j)
s_fj[j+1].fileblob = ll_message.GetAttachment(j)
s_fj[j+1].cid = ll_message.GetAttachmentContentID(j)
s_fj[j+1].FileType = C_from_file // 附件类型
NEXT
IF mail.f_import_eml(s_send, s_fj, arg_msg) <> 1 THEN
rslt = 0
GOTO ext
END IF
// s_email_rev s_rev
// string tuid
// datetime dt_rev
// s_rev.mailAddress = cur_set.mailaddress
// s_rev.Subject = ole_mime.Object.Subject
// s_rev.textBody = ole_mime.Object.Plain
//
// s_rev.htmlBody = Blob(ole_mime.Object.Html)
// s_rev.senduser = ole_mime.object.From
// s_rev.sendaddress = ole_mime.Object.FromEmail
// s_rev.mailsize = ole_mime.Object.ContentLength
// tuid = ole_mime.object.MessageID
//// dt_rev =
// s_rev.RevID = f_sys_scidentity(0,"u_email_rev","RevID",arg_msg,False, sqlca) //数据commit事务)
// IF s_rev.RevID <= 0 THEN
// rollback;
// rslt = 0
// GOTO ext
// END IF
// INSERT INTO u_email_rev(
// RevID,
// mailID,
// mailaddress,
// mailtype,
// Subject,
// senduser,
// sendaddress,
// revdate,
// mailSize,
// textBody,
// tUID)
// VALUES
// ( :s_rev.RevID,
// :cur_set.mailid,
// :s_rev.mailaddress,
// 1, // 已读
// :s_rev.Subject,
// :s_rev.senduser,
// :s_rev.sendaddress,
// getdate(),
// :s_rev.mailSize,
// :s_rev.textBody,
// :tUID);
// IF sqlca.SQLCode <> 0 THEN
// rollback;
// arg_msg = '向数据库插入已收邮件信息失败'
// rslt = 0
// GOTO ext
// ELSE
// COMMIT;
// END IF
//
// IF len(lb_file) > 0 THEN
// UPDATEBLOB u_email_rev
// Set orgData = :lb_file
// Where RevID = :s_rev.RevID;
// IF sqlca.SQLCode <> 0 THEN
// arg_msg = '更新数据库已收邮件原始信息失败'
// rslt = 0
// GOTO ext
// END IF
// END IF
//
// IF len(s_rev.htmlBody) > 0 THEN
// UPDATEBLOB u_email_rev
// Set htmltext = :s_rev.htmlBody
// Where RevID = :s_rev.RevID;
// IF sqlca.SQLCode <> 0 THEN
// arg_msg = '更新数据库已收邮件富文本信息失败'
// rslt = 0
// GOTO ext
// END IF
// END IF
//
// long ll_AttachmentsCOUNT, j
// ll_AttachmentsCOUNT = ole_mime.object.AttachmentsCount
// IF ll_AttachmentsCOUNT = 0 THEN GOTO ext
// s_email_fj s_fj
//
// FOR j = 0 TO ll_AttachmentsCOUNT - 1
// s_fj.fjid[j+1] = f_sys_scidentity(0,"u_email_fj","fjid",arg_msg,TRUE, sqlca) //数据commit事务)
// IF s_fj.fjid[j+1] <= 0 THEN
// rslt = 0
// GOTO ext
// END IF
// blob lb_fileblob
// s_fj.Filename[j+1] = ole_mime.object.GetAttachmentName(j)
// lb_fileblob = ole_mime.object.GetAttachment(j)
// s_fj.filesize[j+1] = len(lb_fileblob) // 附件大小
// s_fj.FileType[j+1] = "" // 附件类型
// INSERT INTO u_email_fj
// ( fjid,
// fjtype,
// Relid,
// filename,
// filesize,
// filetype
// ) VALUES
// ( :s_fj.fjid[j+1],
// 1,
// :s_rev.RevID,
// :s_fj.filename[j+1],
// :s_fj.filesize[j+1],
// :s_fj.filetype[j+1]
// );
// IF sqlca.SQLCode <> 0 THEN
// rollback;
// arg_msg = '向数据库插入已收邮件附件信息失败'
// rslt = 0
// GOTO ext
// ELSE
// COMMIT;
// END IF
//
// IF len(lb_fileblob) > 0 THEN
// UPDATEBLOB u_email_fj
// Set fileblob = :lb_fileblob
// Where fjid = :s_fj.fjid[j+1];
// IF sqlca.SQLCode <> 0 THEN
// arg_msg = '更新数据库已收邮件附件信息失败'
// rslt = 0
// GOTO ext
// ELSE
// COMMIT;
// END IF
// END IF
//
// NEXT
//goto ext
ext:
Destroy ll_factory
RETURN rslt
end function
public function integer days_in_month (integer month, integer year);//Most cases are straight forward in that there are a fixed number of
//days in 11 of the 12 months. February is, of course, the problem.
//In a leap year February has 29 days, otherwise 28.
Integer li_DaysInMonth, li_Days[12] = {31,28,31,30,31,30,31,31,30,31,30,31}
// Get the number of days per month for a non leap year.
li_DaysInMonth = li_Days[Month]
// Check for a leap year.
If Month = 2 Then
// If the year is a leap year, change the number of days.
// Leap Year Calculation:
// Year divisible by 4, but not by 100, unless it is also divisible by 400
If ( (Mod(Year,4) = 0 And Mod(Year,100) <> 0) Or (Mod(Year,400) = 0) ) Then
li_DaysInMonth = 29
End If
End If
//Return the number of days in the relevant month
Return li_DaysInMonth
end function
public subroutine wf_set_read (long row);//if row <= 0 OR row > dw_list.rowcount( ) then return
//long ll_fjtype, ll_id
//ll_fjtype = dw_list.Object.fjtype[row]
//ll_id = dw_list.Object.id[row]
//
//if ll_fjtype = 1 and dw_list.dataobject = 'dw_email_view_rev' then
// if dw_list.Object.mailtype[row] = 1 then return
// update u_email_rev set mailtype = 1 where revid = :ll_id;
// if sqlca.sqlcode <> 0 then
// return
// end if
// commit;
// dw_list.Object.mailtype[row] = 1
// if dw_list.isselected(row) then
// dw_list.object.filename[row] = 'graphics\read_select.bmp'
// else
// dw_list.object.filename[row] = 'graphics\read.bmp'
// end if
// dw_list.accepttext( )
//end if
end subroutine
public subroutine wf_set_unread (long row);//if row <= 0 OR row > dw_list.rowcount( ) then return
//long ll_fjtype, ll_id
//ll_fjtype = dw_list.Object.fjtype[row]
//ll_id = dw_list.Object.id[row]
//
//if ll_fjtype = 1 and dw_list.dataobject = 'dw_email_view_rev' then
// if dw_list.Object.mailtype[row] = 0 then return
// update u_email_rev set mailtype = 0 where revid = :ll_id;
// if sqlca.sqlcode <> 0 then
// return
// end if
// commit;
// dw_list.Object.mailtype[row] = 0
// if dw_list.isselected(row) then
// dw_list.object.filename[row] = 'graphics\unread_select.bmp'
// else
// dw_list.object.filename[row] = 'graphics\unread.bmp'
// end if
// dw_list.accepttext( )
//end if
end subroutine
public function integer wf_tv_build_tree (ref string arg_msg);//uo_kq.settext('email','wf_tv_build_tree')
Int rslt = 1
Long Handle, handle1, handle2
s_tv_data1 tv_data
uo_ljmail_box uo_box
uo_box = Create uo_ljmail_box
IF tv_1.FindItem(RootTreeItem!, 0) <> -1 THEN
rslt = 0
arg_msg = 'treeView不能为空'
GOTO ext
END IF
//uo_kq.settext('email','FindItem')
// 根
tv_data.relid = -1
tv_data.a_string = C_root
Handle = wf_tv_insert(0, '所有邮箱', 1, tv_data)
tv_root = Handle
//uo_kq.settext('email','根')
// 内部消息
tv_data.relid = -1
tv_data.a_string = C_innerroot
handle1 = wf_tv_insert(Handle, '内部消息', 8, tv_data)
//uo_kq.settext('email','内部消息')
// 内部消息收件箱
tv_data.relid = -1
tv_data.a_string = C_innerrev
ins_innerrevhandle = wf_tv_insert(handle1, '收件箱', 7, tv_data)
//uo_kq.settext('email','内部消息收件箱')
// 内部消息发件箱
tv_data.relid = -1
tv_data.a_string = C_innersend
wf_tv_insert(handle1, '发件箱', 8, tv_data)
//uo_kq.settext('email','内部消息发件箱')
// LE
tv_data.relid = -1
tv_data.a_string = C_leroot
handle1 = wf_tv_insert(Handle, '供应链邮件', 2, tv_data)
//uo_kq.settext('email','LE')
// LEBOX
IF uo_box.uf_initbox(sys_empid, arg_msg, True) <> 1 THEN
MessageBox('错误', arg_msg)
END IF
wf_tv_insertlebox(handle1, 0)
//uo_kq.settext('email','LEBOX')
// 插入账号
wf_tv_insertallacount(Handle)
//uo_kq.settext('email','插入账号')
// 短信
tv_data.relid = -1
tv_data.a_string = C_smsroot
handle2 = wf_tv_insert(Handle, '短信', 8, tv_data)
//uo_kq.settext('email','短信')
// 短信发件箱
tv_data.relid = -1
tv_data.a_string = C_smssend
wf_tv_insert(handle2, '发件箱', 8, tv_data)
//uo_kq.settext('email','短信发件箱')
tv_1.ExpandItem(Handle)
//tv_1.expandall(handle)
ext:
Destroy uo_box
RETURN rslt
end function
public function long wf_tv_insert (long arg_handle, string arg_label, long arg_picindex, any arg_data);// 插入树的项
Long Handle
TreeViewItem tvi
Handle = tv_1.InsertItemLast(arg_handle, arg_label, arg_picindex)
IF Handle > 0 THEN
IF tv_1.GetItem(Handle, tvi) = 1 THEN
tvi.Data = arg_data
tv_1.SetItem(Handle, tvi)
END IF
END IF
RETURN Handle
end function
public subroutine wf_tv_insertallacount (long handle);// 添加帐号
s_tv_data1 tv_data
long handle1
s_email_set l_s_set[]
string ls_msg
long i
wf_ds_getmailset(l_s_set, ls_msg)
for i = 1 to upperbound(l_s_set)
tv_data.relid = l_s_set[i].mailid
tv_data.a_string = C_mailacount
tv_data.b_string = trim(l_s_set[i].mailuser) + '<' + trim(l_s_set[i].mailaddress) + '>'
tv_data.c_string = trim(l_s_set[i].mailuser)
tv_data.d_string = trim(l_s_set[i].mailaddress)
handle1 = wf_tv_insert(handle, tv_data.b_string, 2, tv_data)
wf_tv_insertallbox(handle1)
next
end subroutine
public subroutine wf_tv_insertallbox (long handle);// 插入邮箱树
s_tv_data1 tv_data
long ll_mailid, ll_parentid
long boxhandle
s_email_box s_box[]
string ls_msg
long i
tv_data = wf_tv_getdata(handle)
if tv_data.a_string = C_mailacount then
ll_mailid = tv_data.relid
ll_parentid = 0
elseif tv_data.a_string = C_mailbox then
ll_mailid = tv_data.a_long
ll_parentid = tv_data.relid
end if
wf_ds_getmailbox(ll_mailid, ll_parentid, s_box, ls_msg)
FOR i = 1 TO UPPERBOUND(s_box)
tv_data.relid = s_box[i].boxid
tv_data.a_string = C_mailbox
tv_data.b_string = s_box[i].boxname
tv_data.a_long = ll_mailid
tv_data.b_long = s_box[i].isdefault
long unread
unread = wf_box_getunread(s_box[i].boxid)
long totle
totle = wf_box_gettotle(s_box[i].boxid)
string label
label = trim(s_box[i].boxname) + '(' + string(unread) + '/' + string(totle) + ')'
if unread>0 and tv_data.b_string <> '收件箱' and tv_data.b_string <> '发件箱' and tv_data.b_string <> '已发件箱' and tv_data.b_string <> '废件箱' then
boxhandle = wf_tv_insert(handle, label,7, tv_data)
else
boxhandle = wf_tv_insert(handle, label, s_box[i].picindex, tv_data)
end if
wf_tv_insertallbox(boxhandle)
NEXT
end subroutine
public function s_tv_data1 wf_tv_getdata (long handle);// 获取项数据
s_tv_data1 rslt
treeviewitem tvi
if tv_1.GetItem(handle, tvi) = 1 then
rslt = tvi.data
end if
return rslt
end function
public function integer wf_ds_getmailset (ref s_email_set arg_set[], ref string arg_msg);Int rslt = 1
Long ll_mailid
String ls_mailuser, ls_mailaddress
s_email_set tmp_set[]
Long i = 0
Long emplist[],cnt
Long seeall = 0
IF uo_email_power.can_see_other(sys_msg_pow) THEN
emplist[1]=-1
else
emplist[1]=sys_empid
END IF
String mailidList = ''
f_get_empson(sys_empid,Ref emplist)
String sqltxt
sqltxt = 'SELECT mailID '&
+' ,mailuser '&
+' ,mailaddress '&
+'FROM u_email_set '&
+'WHERE empid = ? or ?=-1 OR mailtype = 1 '
//查看下级的邮件2012-11-03
DECLARE cur1 Dynamic Cursor FOR sqlsa;
PREPARE sqlsa From :sqltxt Using Commit_Tran;
FOR cnt = 1 To UpperBound(emplist)
OPEN Dynamic cur1 Using :emplist[cnt],:emplist[cnt];
FETCH cur1 Into :ll_mailid, :ls_mailuser, :ls_mailaddress;
DO WHILE Commit_Tran.SQLCode = 0
IF Pos(mailidList,String(ll_mailid)) <= 0 THEN
mailidList+= String(ll_mailid)+','
i++
tmp_set[i].mailid = ll_mailid
tmp_set[i].mailuser = ls_mailuser
tmp_set[i].mailAddress = ls_mailaddress
END IF
FETCH cur1 Into :ll_mailid, :ls_mailuser, :ls_mailaddress;
LOOP
CLOSE cur1;
NEXT
arg_set = tmp_set
RETURN rslt
end function
public function integer wf_ds_getmailbox (long arg_mailid, long arg_parentid, ref s_email_box arg_box[], ref string arg_msg);int rslt = 1
long boxid
string boxname
long isdefault
long mailid
string boxtype
long parentid
long picindex
s_email_box s_box[]
long i = 0
DECLARE cur1 CURSOR FOR SELECT boxid
,boxname
,isdefault
,mailid
,boxtype
,parentid
,picindex
FROM u_email_box
WHERE mailid = :arg_mailid AND parentid = :arg_parentid using Commit_Tran;
OPEN cur1;
FETCH cur1 INTO :boxid, :boxname, :isdefault, :mailid, :boxtype, :parentid, :picindex;
DO WHILE Commit_Tran.sqlcode = 0
i ++
s_box[i].boxid = boxid
s_box[i].boxname = boxname
s_box[i].isdefault = isdefault
s_box[i].mailid = mailid
s_box[i].boxtype = boxtype
s_box[i].parentid = parentid
s_box[i].picindex = picindex
FETCH cur1 INTO :boxid, :boxname, :isdefault, :mailid, :boxtype, :parentid, :picindex;
LOOP
CLOSE cur1;
arg_box = s_box
return rslt
end function
public function long wf_tv_getcurrent ();return tv_1.FindItem(CurrentTreeItem!, 0)
end function
public subroutine wf_tv_setcurrenttext (string arg_text);
long ll_curhandle
ll_curhandle = wf_tv_getcurrent()
if ll_curhandle > 0 then
TreeViewItem tvi
if tv_1.GetItem(ll_curhandle, tvi) = 1 then
tvi.label = arg_text
tv_1.SetItem(ll_curhandle, tvi)
end if
end if
end subroutine
public subroutine wf_dw_rowfocuschanged_innermsg_rev ();
end subroutine
public subroutine wf_dw_rowfocuschanged_innermsg_send ();
end subroutine
public subroutine wf_dw_rowfocuschanged_mailmsg ();
end subroutine
public function long wf_tv_getacount (long arg_handle);s_tv_data1 tv_data
do
if arg_handle <= 0 then
return -1
end if
tv_data = wf_tv_getdata(arg_handle)
if tv_data.a_string = C_mailacount then
return arg_handle
elseif tv_data.a_string = C_mailbox then
arg_handle = tv_1.FindItem(ParentTreeItem!, arg_handle)
else
return -1
end if
loop WHILE arg_handle > 0
return -1
end function
public subroutine wf_ui_reflash ();// DONE: 更新界面,更新按键可用,与日期可见
s_tv_data1 tv_data
tv_data = wf_tv_getdata(wf_tv_getcurrent())
IF tv_data.a_string = C_innersend THEN
st_3.Visible = True
em_1.Visible = True
pb_em1.Visible = True
st_4.Visible = True
em_2.Visible = True
pb_em2.Visible = True
pb_2.Visible = True
p_1.Visible = True
st_refresh.Visible = True
ELSE
st_3.Visible = False
em_1.Visible = False
pb_em1.Visible = False
st_4.Visible = False
em_2.Visible = False
pb_em2.Visible = False
pb_2.Visible = False
p_1.Visible = False
st_refresh.Visible = False
END IF
p_del.Visible = (tv_data.a_string = C_innerrev)
st_del.Visible = (tv_data.a_string = C_innerrev)
cbx_showmeredeal.Visible = (tv_data.a_string = C_innerrev)
cb_viewbill.Visible = (tv_data.a_string = C_innerrev)
cb_view_his.Visible = (tv_data.a_string = C_innerrev)
sle_find.Visible =(tv_data.a_string =C_mailacount or tv_data.a_string =C_mailbox )
cb_find.Visible =(tv_data.a_string =C_mailacount or tv_data.a_string =C_mailbox )
ddlb_1.visible = (tv_data.a_string = C_smssend)
em_3.visible = (tv_data.a_string = C_smssend)
end subroutine
public subroutine wf_dw_retrieve_innermsg_rev ();long ll_count
string ls_title
dw_list.Reset()
if dw_list.DataObject <> 'dw_deal_admsg_1_copy' then
if dw_list.dataobject <> '' then
dw_list.uf_save_profile_layout()
end if
dw_list.DataObject = 'dw_deal_admsg_1_copy'
wf_dw_readlayout()
dw_list.settransobject(Commit_Tran)
end if
ll_count = dw_list.REtrieve(sys_empid, ls_dealflag)
dw_list.Title = '收件箱(' + string(ll_count) + ')'
ls_title = dw_list.Title
wf_tv_setcurrenttext(ls_title)
end subroutine
public subroutine wf_dw_retrieve_innermsg_send ();long ll_count
string ls_title
dw_list.Reset()
if dw_list.dataobject <> 'dw_hismsg_copy' then
if dw_list.dataobject <> '' then
dw_list.uf_save_profile_layout()
end if
dw_list.DataObject = 'dw_hismsg_copy'
wf_dw_readlayout()
dw_list.settransobject(Commit_Tran)
end if
DateTime first_date, end_date
first_date = DateTime(Date(em_1.Text), Time(0))
end_date = datetime(date(em_2.Text), Time('23:59:59'))
ll_count = dw_list.retrieve(sys_empid,first_date, end_date)
dw_list.Title = '发件箱(' + string(ll_count) + ')'
ls_title = dw_list.Title
wf_tv_setcurrenttext(ls_title)
end subroutine
public function integer wf_ds_get_mail_set (long arg_mailid, ref s_email_set arg_set, ref string arg_msg);int rslt = 1
SELECT mailuser, mailaddress
INTO :arg_set.mailuser, :arg_set.mailaddress
FROM u_email_set
WHERE mailID = :arg_mailid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询帐号信息失败,' + Commit_Tran.sqlerrtext
goto ext
end if
arg_set.mailid = arg_mailid
ext:
return rslt
end function
public function integer wf_ds_get_mail_box (long arg_boxid, ref s_email_box arg_box, ref string arg_msg);int rslt = 1
SELECT boxname
,isdefault
,mailid
,boxtype
,parentid
,picindex
INTO :arg_box.boxname,
:arg_box.isdefault,
:arg_box.mailid,
:arg_box.boxtype,
:arg_box.parentid,
:arg_box.picindex
FROM u_email_box
WHERE boxid = :arg_boxid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询邮箱信息失败,' + Commit_Tran.sqlerrtext
goto ext
end if
arg_box.boxid = arg_boxid
ext:
return rslt
end function
public function integer wf_ds_del_msg (long arg_id, ref string arg_msg);int rslt = 1
// 删除邮件
DELETE FROM u_email_msg WHERE ID = :arg_id using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '删除邮件失败,' + fj_tran.sqlerrtext
goto ext
end if
// 删除附件
DELETE FROM u_email_fj WHERE Relid = :arg_id using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '删除邮件附件失败,' + fj_tran.sqlerrtext
goto ext
end if
// 删除收件人列表
DELETE FROM u_email_sendmx WHERE sendid = :arg_id using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '删除收件人列表失败,' + fj_tran.sqlerrtext
goto ext
end if
ext:
if rslt = 0 then
rollback using fj_tran;
else
commit using fj_tran;
end if
return rslt
end function
public function long wf_ds_gettrunkbox (long arg_mailid);long rslt = -1
SELECT TOP 1 boxid INTO :rslt
FROM u_email_box
WHERE mailid = :arg_mailid AND boxtype = '废件箱' using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
return -1
end if
return rslt
end function
public function integer wf_ds_move_msg_box (long arg_id, long arg_boxid, ref string arg_msg);int rslt = 1
long mailid
SELECT mailid INTO :mailid
FROM u_email_box WHERE boxid = :arg_boxid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询邮箱所属帐号失败,' + Commit_Tran.sqlerrtext
goto ext
end if
UPDATE u_email_msg SET boxid = :arg_boxid, mailid = :mailid
WHERE ID = :arg_id using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '移动邮件失败,' + fj_tran.sqlerrtext
goto ext
end if
if fj_tran.SQLNRows <> 1 then
rslt = 0
arg_msg = '原邮件已经不存在'
goto ext
end if
ext:
if rslt = 0 then
rollback using fj_tran;
else
commit using fj_tran;
end if
return rslt
end function
protected function long wf_box_gettotle (long arg_boxid);if not has_fj_tran then
return 0
end if
long ll_cnt
SELECT COUNT(0) INTO :ll_cnt FROM u_email_msg WHERE boxid = :arg_boxid using fj_tran;
if fj_tran.sqlcode <> 0 then
return 0
end if
return ll_cnt
end function
public function long wf_box_getunread (long arg_boxid);if not has_fj_tran then
return 0
end if
long ll_cnt
SELECT COUNT(0) INTO :ll_cnt FROM u_email_msg WHERE boxid = :arg_boxid AND status = '未读' using fj_tran;
if fj_tran.sqlcode <> 0 then
return 0
end if
return ll_cnt
end function
public subroutine wf_box_update_label (long arg_boxid);
end subroutine
public subroutine wf_tv_settext (long arg_handle, string arg_label);if arg_handle > 0 then
TreeViewItem tvi
if tv_1.GetItem(arg_handle, tvi) = 1 then
tvi.label = arg_label
tv_1.SetItem(arg_handle, tvi)
end if
end if
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
ELSEIF lss_subject <> "" And lss_senddate <> "" And lss_sendman <> "" And IsNull(lss_subject) = False And IsNull(lss_senddate) = False And IsNull(lss_sendman) = False 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 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_mail_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg);int rslt = 1
long len
BLOB lb
SELECT DATALENGTH(htmlbody) INTO :len FROM u_email_msg
WHERE ID = :arg_msgid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询html长度失败,' + fj_tran.sqlerrtext
goto ext
end if
if len = 0 then
SELECT DATALENGTH(textbody) INTO :len FROM u_email_msg
WHERE ID = :arg_msgid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询text长度失败,' + fj_tran.sqlerrtext
goto ext
end if
if len > 2048 then
SELECTBLOB textbody INTO :lb FROM u_email_msg
WHERE ID = :arg_msgid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询text失败,' + fj_tran.sqlerrtext
goto ext
end if
arg_text = string(lb)
wf_str_replace(arg_text, '~r~n', '
')
wf_str_replace(arg_text, '~r', '
')
wf_str_replace(arg_text, '~n', '
')
else
SELECT textbody INTO :arg_text FROM u_email_msg
WHERE ID = :arg_msgid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询text失败,' + fj_tran.sqlerrtext
goto ext
end if
wf_str_replace(arg_text, '~r~n', '
')
wf_str_replace(arg_text, '~r', '
')
wf_str_replace(arg_text, '~n', '
')
end if
elseif len > 2048 then
SELECTBLOB htmlbody INTO :lb FROM u_email_msg
WHERE ID = :arg_msgid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询html失败,' + fj_tran.sqlerrtext
goto ext
end if
arg_text = string(lb)
else
SELECT htmlbody INTO :arg_text FROM u_email_msg
WHERE ID = :arg_msgid using fj_tran;
if fj_tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询html失败,' + fj_tran.sqlerrtext
goto ext
end if
end if
ext:
return rslt
end function
public function integer wf_admsg_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg);int rslt = 1
long len
SELECT DATALENGTH(s_msg) INTO :len
FROM Sys_admsg
WHERE msgid = :arg_msgid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询消息长度失败,' + Commit_Tran.sqlerrtext
goto ext
end if
if len > 2048 then
BLOB lb
SELECTBLOB s_msg INTO :lb FROM Sys_admsg
WHERE msgid = :arg_msgid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询消息块失败,' + Commit_Tran.sqlerrtext
goto ext
end if
arg_text = string(lb)
else
SELECT s_msg INTO :arg_text FROM Sys_admsg
WHERE msgid = :arg_msgid using Commit_Tran;
if Commit_Tran.sqlcode <> 0 then
rslt = 0
arg_msg = '查询消息失败,' + Commit_Tran.sqlerrtext
goto ext
end if
end if
ext:
return rslt
end function
public subroutine wf_str_replace (ref string arg_source, string arg_str1, string arg_str2);long ll_pos
ll_pos = pos(arg_source, arg_str1,1)
do while ll_pos > 0
arg_source = replace(arg_source, ll_pos, len(arg_str1), arg_str2)
ll_pos = pos(arg_source, arg_str1,1)
LOOP
end subroutine
public function integer wf_mail_getfj (long arg_id, ref s_email_lvfj arg_lvfj[], ref string arg_msg);int rslt = 1
s_email_lvfj lvfj[]
long fjid
string filename
long i = 0
string cid
DECLARE cur1 CURSOR FOR
SELECT fjid, filename, cid FROM u_email_fj
WHERE Relid = :arg_id using fj_tran;
OPEN cur1;
FETCH cur1 INTO :fjid, :filename, :cid;
DO WHILE fj_tran.sqlcode = 0
i++
lvfj[i].fjid = fjid
lvfj[i].filename = filename
lvfj[i].filetype = C_u_email_fj
lvfj[i].cid = cid
FETCH cur1 INTO :fjid, :filename, :cid;
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_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 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_ui_row (long arg_row);if dw_list.dataobject = 'dw_email_view_msg' then
if arg_row <= 0 OR arg_row > dw_list.RowCount() then return
if dw_list.IsSelected(arg_row) then
if dw_list.object.status[arg_row] = '未读' then
dw_list.object.filename[arg_row] = 'graphics\unread_select.bmp'
else
dw_list.object.filename[arg_row] = 'graphics\read_select.bmp'
end if
else
if dw_list.object.status[arg_row] = '未读' then
dw_list.object.filename[arg_row] = 'graphics\unread.bmp'
else
dw_list.object.filename[arg_row] = 'graphics\read.bmp'
end if
end if
end if
end subroutine
public subroutine wf_ui_unselectall ();if dw_list.dataobject = 'dw_email_view_msg' then
long i
for i = 1 to dw_list.RowCount()
if dw_list.IsSelected(i) then
if dw_list.object.status[i] = '未读' then
dw_list.object.filename[i] = 'graphics\unread.bmp'
else
dw_list.object.filename[i] = 'graphics\read.bmp'
end if
end if
next
dw_list.accepttext()
end if
end subroutine
public subroutine wf_revert_read (long arg_row);if dw_list.dataobject = 'dw_email_view_msg' AND arg_row > 0 AND arg_row <= dw_list.RowCount() then
string ls_msg
if dw_list.object.status[arg_row] = '未读' then
if mail.f_read(dw_list.object.id[arg_row], ls_msg) = 1 then
dw_list.object.status[arg_row] = '已读'
end if
else
if mail.f_unread(dw_list.object.id[arg_row], ls_msg) = 1 then
dw_list.object.status[arg_row] = '未读'
end if
end if
wf_ui_row(arg_row)
end if
end subroutine
public subroutine wf_read_row (long arg_row);if (dw_list.dataobject = 'dw_email_view_msg' or dw_list.dataobject = 'dw_email_view_msg_rev') AND arg_row > 0 AND arg_row <= dw_list.RowCount() then
string ls_msg
if dw_list.object.status[arg_row] = '未读' then
if mail.f_read(dw_list.object.id[arg_row], ls_msg) = 1 then
dw_list.object.status[arg_row] = '已读'
end if
end if
wf_ui_row(arg_row)
end if
end subroutine
public subroutine wf_tv_setdata (long arg_handle, s_tv_data1 arg_data);if arg_handle > 0 then
TreeViewItem tvi
if tv_1.GetItem(arg_handle, tvi) = 1 then
tvi.data = arg_data
tv_1.SetItem(arg_handle, tvi)
end if
end if
end subroutine
public subroutine wf_tv_reflash (long arg_handle);s_tv_data1 tv_data
tv_data = wf_tv_getdata(arg_handle)
if tv_data.a_string = C_mailbox then
long unread
unread = wf_box_getunread(tv_data.relid)
long totle
totle = wf_box_gettotle(tv_data.relid)
string label
label = trim(tv_data.b_string) + '(' + string(unread) + '/' + string(totle) + ')'
wf_tv_settext(arg_handle, label)
else
end if
end subroutine
public function long wf_tv_gettrunkhandle (long arg_handle);arg_handle = wf_tv_getacount(arg_handle)
if arg_handle <= 0 then return -1
long handle
s_tv_data1 tv_data
handle = tv_1.finditem(ChildTreeItem!, arg_handle)
do while handle > 0
tv_data = wf_tv_getdata(handle)
if tv_data.b_string = '废件箱' AND tv_data.b_long = 1 then
return handle
end if
handle = tv_1.finditem(NextTreeItem!, handle)
loop
return -1
end function
public subroutine wf_tv_retrieve ();s_email_set s_set[]
String ls_msg
wf_ds_getmailset(s_set, ls_msg)
Long child[]
wf_tv_getchild(tv_root, child)
s_tv_data1 tv_data[]
Long i, j
FOR i = 1 To UpperBound(child)
tv_data[i] = wf_tv_getdata(child[i])
NEXT
Boolean has_tb // 已同步
FOR j = 1 To UpperBound(child)
IF tv_data[j].a_string <> C_mailacount THEN
child[j] = -1
END IF
NEXT
FOR i = 1 To UpperBound(s_set)
has_tb = False
FOR j = 1 To UpperBound(child)
IF child[j] = -1 THEN CONTINUE
IF tv_data[j].a_string <> C_mailacount THEN
// 内部消息
child[j] = -1
CONTINUE
END IF
IF s_set[i].mailid = tv_data[j].relid THEN
IF tv_data[j].c_string <> Trim(s_set[i].mailuser) Or tv_data[j].d_string <> Trim(s_set[i].mailAddress) THEN
tv_data[j].b_string = Trim(s_set[i].mailuser) + '<' + Trim(s_set[i].mailAddress) + '>'
tv_data[j].c_string = Trim(s_set[i].mailuser)
tv_data[j].d_string = Trim(s_set[i].mailAddress)
wf_tv_setdata(child[j], tv_data[j])
wf_tv_settext(child[j], tv_data[j].b_string)
END IF
wf_tv_retrieveallchildbox(child[j])
child[j] = -1
has_tb = True
EXIT
END IF
NEXT
IF Not has_tb THEN // 未同步
s_tv_data1 tv_data1
Long handle1
tv_data1.relid = s_set[i].mailid
tv_data1.a_string = C_mailacount
tv_data1.b_string = Trim(s_set[i].mailuser) + '<' + Trim(s_set[i].mailAddress) + '>'
tv_data1.c_string = Trim(s_set[i].mailuser)
tv_data1.d_string = Trim(s_set[i].mailAddress)
handle1 = wf_tv_insert(tv_root, tv_data1.b_string, 2, tv_data1)
wf_tv_insertallbox(handle1)
END IF
NEXT
FOR i = 1 To UpperBound(child)
IF child[i] > 0 THEN
tv_1.DeleteItem(child[i])
END IF
NEXT
//dw_list.trigger event rowfocuschanged(dw_list.getrow())
end subroutine
public subroutine wf_tv_retrieveallchildbox (long arg_handle);// 插入邮箱树
s_tv_data1 tv_data
long ll_mailid, ll_parentid
long boxhandle
s_email_box s_box[]
string ls_msg
long i,j
long unread
long totle
string label
tv_data = wf_tv_getdata(arg_handle)
if tv_data.a_string = C_mailacount then
ll_mailid = tv_data.relid
ll_parentid = 0
elseif tv_data.a_string = C_mailbox then
ll_mailid = tv_data.a_long
ll_parentid = tv_data.relid
end if
wf_ds_getmailbox(ll_mailid, ll_parentid, s_box, ls_msg)
long child[]
boolean has_tb
wf_tv_getchild(arg_handle, child)
s_tv_data1 tv_data_arr[]
for i = 1 to upperbound(child)
tv_data_arr[i] = wf_tv_getdata(child[i])
next
FOR i = 1 TO UPPERBOUND(s_box)
has_tb = false
for j = 1 to upperbound(child)
if child[j] = -1 then continue
if tv_data_arr[j].a_string <> C_mailbox then
// 内部消息
child[j] = -1
continue
end if
if s_box[i].boxid = tv_data_arr[j].relid then
tv_data_arr[j].relid = s_box[i].boxid
tv_data_arr[j].a_string = C_mailbox
tv_data_arr[j].b_string = s_box[i].boxname
tv_data_arr[j].a_long = ll_mailid
tv_data_arr[j].b_long = s_box[i].isdefault
unread = wf_box_getunread(s_box[i].boxid)
totle = wf_box_gettotle(s_box[i].boxid)
label = trim(s_box[i].boxname) + '(' + string(unread) + '/' + string(totle) + ')'
wf_tv_setdata(child[j], tv_data_arr[j])
wf_tv_settext(child[j], label)
wf_tv_retrieveallchildbox(child[j])
child[j] = -1
has_tb = true
exit
end if
next
if not has_tb then
s_tv_data1 tv_data2
tv_data2.relid = s_box[i].boxid
tv_data2.a_string = C_mailbox
tv_data2.b_string = s_box[i].boxname
tv_data2.a_long = ll_mailid
tv_data2.b_long = s_box[i].isdefault
unread = wf_box_getunread(s_box[i].boxid)
totle = wf_box_gettotle(s_box[i].boxid)
label = trim(s_box[i].boxname) + '(' + string(unread) + '/' + string(totle) + ')'
boxhandle = wf_tv_insert(arg_handle, label, s_box[i].picindex, tv_data2)
wf_tv_insertallbox(boxhandle)
end if
NEXT
for i = 1 to upperbound(child)
if child[i] > 0 then
tv_1.DeleteItem(child[i])
end if
next
end subroutine
public subroutine wf_tv_getchild (long arg_handle, ref long arg_child[]);long child[]
long handle
long i = 0
handle = tv_1.finditem(ChildTreeItem!, arg_handle)
do while handle > 0
i++
child[i] = handle
handle = tv_1.finditem(NextTreeItem!, handle)
loop
arg_child = child
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_str_modfilepath (ref string ls_filepath);long ll_pos
ll_pos = pos(ls_filepath, ':',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, ':',1)
loop
ll_pos = pos(ls_filepath, '*',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '*',1)
loop
ll_pos = pos(ls_filepath, '<',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '<',1)
loop
ll_pos = pos(ls_filepath, '>',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '>:',1)
loop
ll_pos = pos(ls_filepath, '|',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '|',1)
loop
ll_pos = pos(ls_filepath, '?',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '?',1)
loop
ll_pos = pos(ls_filepath, '/',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '/',1)
loop
ll_pos = pos(ls_filepath, '\',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '\',1)
loop
ll_pos = pos(ls_filepath, '"',1)
do while ll_pos > 0
ls_filepath = replace(ls_filepath, ll_pos, 1, "")
ll_pos = pos(ls_filepath, '"',1)
loop
end subroutine
public subroutine wf_dw_readlayout ();dw_list.ins_INIfile_name = sys_inifilename
dw_list.ins_opemp = publ_operator
dw_list.cardw_empid = sys_empid
dw_list.cur_DataObject = dw_list.DataObject
dw_list.uf_read_profile_layout()
//
f_title_change(dw_list)
end subroutine
public subroutine wf_dw_retrieve_smssend ();Long ll_count
String ls_title
dw_list.Reset()
IF dw_list.DataObject <> 'dw_sms_spring_send' THEN
IF dw_list.DataObject <> '' THEN
dw_list.uf_save_profile_layout()
END IF
dw_list.DataObject = 'dw_sms_spring_send'
wf_dw_readlayout()
dw_list.SetTransObject(Commit_Tran)
END IF
Long ll_empid
ll_empid = sys_empid
IF sys_empid = 0 THEN
ll_empid = -1
END IF
string str,str_r
long cnt,EM1
EM1=LONG(EM_3.TEXT)
str = trim(dw_list.Describe("DataWindow.Table.Select"))
cnt = pos(str,'empname')
str_r = mid(str,cnt,len(str))
str = 'select top '+STRING(EM1)+' ' +str_r
dw_list.Modify("datawindow.table.select = ~"" + str+ "~"")
//MessageBox('', string(sys_empid))
ll_count = dw_list.Retrieve(ll_empid,cur_send)
//dw_list.Title = '收件箱(' + string(ll_count) + ')'
//ls_title = dw_list.Title
//
//wf_tv_setcurrenttext(ls_title)
end subroutine
public subroutine wf_tv_insertlebox (long arg_handle, long arg_parentid);
s_ljmail_box boxs[]
String arg_msg
uo_ljmail_box uo_box
uo_box = Create uo_ljmail_box
IF uo_box.uf_getchildboxs(arg_parentid, Ref boxs, Ref arg_msg) <> 1 THEN
GOTO ext
END IF
Long ll_i
Long handle1
s_tv_data1 tv_data
FOR ll_i = 1 To UpperBound(boxs)
tv_data.a_string = C_lebox
tv_data.relid = boxs[ll_i].boxid
tv_data.b_string = boxs[ll_i].boxname
tv_data.a_long = boxs[ll_i].boxtype
tv_data.b_long = boxs[ll_i].empid
handle1 = wf_tv_insert(arg_handle, boxs[ll_i].boxname, 7, tv_data)
wf_tv_insertlebox(handle1, boxs[ll_i].boxid)
NEXT
ext:
Destroy uo_box
end subroutine
public subroutine wf_dw_retrieve_le (long arg_boxid);Long ll_count
String ls_title
dw_list.Reset()
IF dw_list.DataObject <> 'dw_ljmail_msg' THEN
IF dw_list.DataObject <> '' THEN
dw_list.uf_save_profile_layout()
END IF
dw_list.DataObject = 'dw_ljmail_msg'
wf_dw_readlayout()
dw_list.SetTransObject(fj_tran)
END IF
ll_count = dw_list.Retrieve(arg_boxid)
end subroutine
public subroutine wf_dw_retrieve_smssendmx ();IF dw_list.DataObject = 'dw_sms_spring_send' THEN
IF dw_user.DataObject <> 'dw_sms_spring_sendmx' THEN
IF dw_user.DataObject <> '' THEN
dw_user.uf_save_profile_layout()
END IF
dw_user.DataObject = 'dw_sms_spring_sendmx'
dw_user.ins_INIfile_name = sys_inifilename
dw_user.ins_opemp = publ_operator
dw_user.cardw_empid = sys_empid
dw_user.cur_DataObject = dw_list.DataObject
dw_user.uf_read_profile_layout()
//
f_title_change(dw_user)
dw_user.SetTransObject(Commit_Tran)
END IF
IF dw_list.GetRow() > 0 THEN
dw_user.Retrieve(dw_list.Object.sendid[dw_list.GetRow()])
ELSE
dw_user.Reset()
END IF
END IF
end subroutine
public subroutine wf_dw_retrieve_mailmsg (long arg_mailid, long arg_boxid, string arg_boxname);s_tv_data1 tv_data
string ls_title
dw_list.Reset()
//if arg_boxname='收件箱' then
// dw_list.dataobject='dw_email_view_msg' //dw_email_view_msg_rev'
// dw_list.settrans(fj_tran)
// goto con
//end if
if dw_list.dataobject <> 'dw_email_view_msg' then
if dw_list.dataobject <> '' then
dw_list.uf_save_profile_layout()
end if
dw_list.dataobject = 'dw_email_view_msg'
wf_dw_readlayout()
dw_list.settransobject(fj_tran)
end if
//con:
dw_list.retrieve(arg_mailid, arg_boxid)
tv_data = wf_tv_getdata(wf_tv_getcurrent())
ls_title = tv_data.b_string&
+ '(' + string(wf_box_getunread(arg_boxid)) &
+ '/' + string(wf_box_gettotle(arg_boxid)) + ')'
wf_tv_setcurrenttext(ls_title)
end subroutine
public function long wf_findtreeitem (treeview tv_tree, boolean findby, any data);//tv_tree: TreeView, 指明在tv_tree树中查找
//
//findby: boolean, 指明查找方式
//
//false - 按标签(Label)查找
//
//true - 按附加数据(data)查找
//
//data: any, 指明要查找的内容
//
//返回值:long型。若找到,返回找到的项的Handle;
//
//若没有找到,返回0;
//
//若出错,返回-1
//
//程序代码如下:
long ll_hdl[]
integer li_cnt
TreeViewitem lt_tvi
li_cnt = 1
ll_hdl[1] = tv_tree.FindItem(RootTreeItem!, 0)
do while li_cnt > 0
if tv_tree.GetItem(ll_hdl[li_cnt], lt_tvi) = -1 then return -1
if findby then
if lt_tvi.data = data then
return ll_hdl[li_cnt]
end if
else
if pos(lt_tvi.label ,string(data) )>0 then
return ll_hdl[li_cnt]
end if
end if
if lt_tvi.children then
li_cnt ++
ll_hdl[li_cnt] = tv_tree.FindItem( ChildTreeItem!, ll_hdl[li_cnt - 1])
else
ll_hdl[li_cnt] = tv_tree.FindItem( NextTreeItem!, ll_hdl[li_cnt])
end if
do while ll_hdl[li_cnt] <= 0
li_cnt --
if li_cnt = 0 then exit
ll_hdl[li_cnt] = tv_tree.FindItem( NextTreeItem!, ll_hdl[li_cnt])
loop
loop
return 0
end function
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 subroutine wf_move ();//游标读收费项目
String arry_sql[]
Integer i
DECLARE readitem_sql CURSOR FOR
SELECT u_email_box.filter
From u_email_box Where if_filter = 1;
OPEN readitem_sql;
i++
FETCH readitem_sql Into :arry_sql[i];
DO WHILE sqlca.SQLCode = 0
i++
FETCH readitem_sql Into :arry_sql[i];
LOOP
CLOSE readitem_sql;
FOR i = 1 To UpperBound(arry_sql)
IF arry_sql[i] <> "" THEN
IF Pos(arry_sql[i],"#1s") <= 0 And Pos(arry_sql[i],"#2s") <= 0 And Pos(arry_sql[i],"#3s") <= 0 And Pos(arry_sql[i],"#4s") <= 0 THEN
CONTINUE
END IF
arry_sql[i] = of_globalreplace(arry_sql[i],"‘","'")
arry_sql[i] = of_globalreplace(arry_sql[i],"’","'")
arry_sql[i] = of_globalreplace(arry_sql[i],",",",")
arry_sql[i] = of_globalreplace(arry_sql[i],"#1s"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#2s"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#3s"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#4s"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#1e"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#2e"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#3e"," ")
arry_sql[i] = of_globalreplace(arry_sql[i],"#4e"," ")
EXECUTE Immediate :arry_sql[i] Using sys_email_sqlca;
IF sys_email_sqlca.SQLCode <> 0 THEN
MessageBox("错误" , "移动邮件失败~n"+sys_email_sqlca.SQLErrText)
GOTO ext
END IF
COMMIT;
END IF
NEXT
ext:
This.cb_fresh.TriggerEvent(Clicked!)
end subroutine
on w_email_view.create
int iCurrent
call super::create
this.cb_rev=create cb_rev
this.cb_send=create cb_send
this.cb_write=create cb_write
this.cb_back=create cb_back
this.lv_fj=create lv_fj
this.dw_mail=create dw_mail
this.dw_rep=create dw_rep
this.dw_fj=create dw_fj
this.cb_sendother=create cb_sendother
this.cb_del=create cb_del
this.cb_rep=create cb_rep
this.cb_fresh=create cb_fresh
this.lb_1=create lb_1
this.cb_help=create cb_help
this.p_resize=create p_resize
this.p_resize1=create p_resize1
this.ln_bar=create ln_bar
this.ln_bar2=create ln_bar2
this.r_bar=create r_bar
this.tv_1=create tv_1
this.sp_v1=create sp_v1
this.sp_h1=create sp_h1
this.ole_1=create ole_1
this.st_3=create st_3
this.em_1=create em_1
this.pb_em1=create pb_em1
this.st_4=create st_4
this.em_2=create em_2
this.pb_em2=create pb_em2
this.pb_2=create pb_2
this.p_1=create p_1
this.st_refresh=create st_refresh
this.dw_user=create dw_user
this.dw_list=create dw_list
this.cb_1=create cb_1
this.st_del=create st_del
this.p_del=create p_del
this.cbx_showmeredeal=create cbx_showmeredeal
this.cb_viewbill=create cb_viewbill
this.cb_view_his=create cb_view_his
this.sle_find=create sle_find
this.cb_find=create cb_find
this.ddlb_1=create ddlb_1
this.em_3=create em_3
iCurrent=UpperBound(this.Control)
this.Control[iCurrent+1]=this.cb_rev
this.Control[iCurrent+2]=this.cb_send
this.Control[iCurrent+3]=this.cb_write
this.Control[iCurrent+4]=this.cb_back
this.Control[iCurrent+5]=this.lv_fj
this.Control[iCurrent+6]=this.dw_mail
this.Control[iCurrent+7]=this.dw_rep
this.Control[iCurrent+8]=this.dw_fj
this.Control[iCurrent+9]=this.cb_sendother
this.Control[iCurrent+10]=this.cb_del
this.Control[iCurrent+11]=this.cb_rep
this.Control[iCurrent+12]=this.cb_fresh
this.Control[iCurrent+13]=this.lb_1
this.Control[iCurrent+14]=this.cb_help
this.Control[iCurrent+15]=this.p_resize
this.Control[iCurrent+16]=this.p_resize1
this.Control[iCurrent+17]=this.ln_bar
this.Control[iCurrent+18]=this.ln_bar2
this.Control[iCurrent+19]=this.r_bar
this.Control[iCurrent+20]=this.tv_1
this.Control[iCurrent+21]=this.sp_v1
this.Control[iCurrent+22]=this.sp_h1
this.Control[iCurrent+23]=this.ole_1
this.Control[iCurrent+24]=this.st_3
this.Control[iCurrent+25]=this.em_1
this.Control[iCurrent+26]=this.pb_em1
this.Control[iCurrent+27]=this.st_4
this.Control[iCurrent+28]=this.em_2
this.Control[iCurrent+29]=this.pb_em2
this.Control[iCurrent+30]=this.pb_2
this.Control[iCurrent+31]=this.p_1
this.Control[iCurrent+32]=this.st_refresh
this.Control[iCurrent+33]=this.dw_user
this.Control[iCurrent+34]=this.dw_list
this.Control[iCurrent+35]=this.cb_1
this.Control[iCurrent+36]=this.st_del
this.Control[iCurrent+37]=this.p_del
this.Control[iCurrent+38]=this.cbx_showmeredeal
this.Control[iCurrent+39]=this.cb_viewbill
this.Control[iCurrent+40]=this.cb_view_his
this.Control[iCurrent+41]=this.sle_find
this.Control[iCurrent+42]=this.cb_find
this.Control[iCurrent+43]=this.ddlb_1
this.Control[iCurrent+44]=this.em_3
end on
on w_email_view.destroy
call super::destroy
destroy(this.cb_rev)
destroy(this.cb_send)
destroy(this.cb_write)
destroy(this.cb_back)
destroy(this.lv_fj)
destroy(this.dw_mail)
destroy(this.dw_rep)
destroy(this.dw_fj)
destroy(this.cb_sendother)
destroy(this.cb_del)
destroy(this.cb_rep)
destroy(this.cb_fresh)
destroy(this.lb_1)
destroy(this.cb_help)
destroy(this.p_resize)
destroy(this.p_resize1)
destroy(this.ln_bar)
destroy(this.ln_bar2)
destroy(this.r_bar)
destroy(this.tv_1)
destroy(this.sp_v1)
destroy(this.sp_h1)
destroy(this.ole_1)
destroy(this.st_3)
destroy(this.em_1)
destroy(this.pb_em1)
destroy(this.st_4)
destroy(this.em_2)
destroy(this.pb_em2)
destroy(this.pb_2)
destroy(this.p_1)
destroy(this.st_refresh)
destroy(this.dw_user)
destroy(this.dw_list)
destroy(this.cb_1)
destroy(this.st_del)
destroy(this.p_del)
destroy(this.cbx_showmeredeal)
destroy(this.cb_viewbill)
destroy(this.cb_view_his)
destroy(this.sle_find)
destroy(this.cb_find)
destroy(this.ddlb_1)
destroy(this.em_3)
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
//uo_1.width = this.width - 30
//uo_1.height = this.height - uo_1.y - 150
tv_1.Height = THIS.Height - tv_1.Y - 120
sp_v1.height = tv_1.height
sp_h1.width = this.width - dw_list.x - 30
//
IF have_fj THEN
// tab_1.Height = tv_1.Height - lv_fj.Height - dw_list.Height - 5
ole_1.height = tv_1.Height - lv_fj.Height - dw_list.Height - 5
lv_fj.Visible = TRUE
p_resize.Height = ole_1.height + lv_fj.Height
ELSE
// tab_1.Height = tv_1.Height - dw_list.Height - 5
ole_1.height = tv_1.height - dw_list.height - 5
lv_fj.Visible = FALSE
p_resize.Height = ole_1.height
END IF
IF have_rep THEN
dw_list.Width = THIS.Width - dw_list.X - dw_rep.Width - p_resize1.Width - 30
ELSE
dw_list.Width = THIS.Width - dw_list.X - p_resize1.Width - 30
END IF
p_resize1.X = dw_list.X + dw_list.Width
dw_rep.X = p_resize1.X + p_resize1.Width
IF have_inout THEN
// tab_1.Width = THIS.Width - tab_1.X - dw_mail.Width - p_resize.Width - 30
ole_1.width = THIS.Width - ole_1.X - dw_mail.Width - p_resize.Width - 30
ELSE
// tab_1.Width = THIS.Width - tab_1.X - p_resize.Width - 30
ole_1.width = THIS.Width - ole_1.X - p_resize.Width - 30
END IF
p_resize.X = ole_1.X + ole_1.Width
dw_mail.X = p_resize.X + p_resize.Width
dw_fj.X = dw_mail.X
lv_fj.Width = ole_1.Width
lv_fj.Y = ole_1.Y + ole_1.Height
dw_mail.Height = (tv_1.Height - dw_list.Height ) / 2
dw_fj.Y = dw_mail.Y + dw_mail.Height
dw_fj.Height = dw_mail.Height
if have_user then
dw_user.visible = true
dw_list.width = dw_list.width - dw_user.width
dw_user.x = dw_list.x + dw_list.width
else
dw_user.visible = false
end if
end event
event open;call super::open;//uo_kq=create uo_kp_setprofile
//uo_kq.clear('a')
//uo_kq.settext('email','in open')
IF sys_project = 0 THEN
//L1权限
ins_can_see_other = 2571
ins_can_edit = 2572
ELSE
//ecl权限
ins_can_see_other = 1411
ins_can_edit = 1412 //可以修改的
END IF
commit_tran = sqlca
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
//uo_kq.settext('email','1')
IF sys_email_sqlca.DBHandle() <> 0 THEN
fj_tran = sys_email_sqlca
has_fj_tran = True
ELSE
MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
fj_tran = Create Transaction
has_fj_tran = False
li_ifexit = 0
END IF
//uo_kq.settext('email','2')
IF li_ifexit = 0 THEN
dw_fj.SetTransObject(commit_tran)
dw_user.SetTransObject(commit_tran)
dw_mail.SetTransObject(fj_tran)
dw_rep.SetTransObject(fj_tran)
dw_list.SetTransObject(fj_tran)
mail = Create uo_email
mail.commit_tran = commit_tran
mail.fj_tran = fj_tran
//Pathname = sys_cur_path + 'temp.html'
dw_mail.Visible = False
dw_fj.Visible = False
dw_rep.Visible = False
em_1.Text = String(RelativeDate ( Today(), -7 ),'YY-MM-DD')
em_2.Text = String(Today(),'YY-MM-DD')
wf_ui_reflash()
// uo_kq.settext('email','2-1')
have_user = False
dw_user.Width = 1200
String ls_msg
Long a
a = wf_tv_build_tree(ls_msg)
// uo_kq.settext('email',string(a))
IF a <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
Close(This)
RETURN
END IF
// uo_kq.settext('email','2-2')
ole_1.Object.navigate('about:blank')
//string ls_msg
//wf_init(ls_msg)
//alltimmer= create so_timmer
//curtimmer= create so_timmer
//atimmer= create so_timmer
//alltimmer.of_setparent(this)
//curtimmer.of_setparent(this)
//atimmer.of_setparent(this)
// uo_kq.settext('email','2-3')
Long sp_v1_x
sp_v1_x = Long(f_ProfileString(sys_empid, "sp_v1", "x", '855'))
sp_v1.X = sp_v1_x
tv_1.Width = sp_v1.X - 5
dw_list.X = sp_v1.X + 5
//tab_1.x = sp_v1.x + 5
ole_1.X = sp_v1.X + 5
lv_fj.X = sp_v1.X + 5
sp_v1.of_reset()
sp_v1.of_register(tv_1, sp_v1.Left)
sp_v1.of_register(dw_list, sp_v1.Right)
sp_v1.of_register(sp_h1, sp_v1.Right)
//sp_v1.of_register(tab_1, sp_v1.right)
sp_v1.of_register(ole_1, sp_v1.Right)
sp_v1.of_register(lv_fj, sp_v1.Right)
sp_v1.uf_possplitbar(tv_1)
// uo_kq.settext('email','2-4')
Long sp_h1_y
sp_h1_y = Long(f_ProfileString(sys_empid, "sp_h1", "y", '1084'))
sp_h1.Y = sp_h1_y
dw_list.Height = sp_h1.Y - 5 - dw_list.Y
dw_user.Height = dw_list.Height
p_resize1.Height = sp_h1.Y - 5 - p_resize1.Y
dw_rep.Height = sp_h1.Y - 5 - dw_rep.Y
//tab_1.y = sp_h1.y + 5
ole_1.Y = sp_h1.Y + 5
p_resize.Y = sp_h1.Y + 5
dw_mail.Y = sp_h1.Y + 5
sp_h1.of_reset()
sp_h1.of_register(dw_list, sp_h1.above)
sp_h1.of_register(dw_user, sp_h1.above)
sp_h1.of_register(p_resize1, sp_h1.above)
sp_h1.of_register(dw_rep, sp_h1.above)
//sp_h1.of_register(tab_1, sp_h1.below)
sp_h1.of_register(ole_1, sp_h1.below)
sp_h1.of_register(p_resize, sp_h1.below)
sp_h1.of_register(dw_mail, sp_h1.below)
sp_h1.uf_possplitbar(dw_list)
// uo_kq.settext('email','2-5')
ELSE
// cb_exit.PostEvent(Clicked!)
END IF
//uo_kq.settext('email','3')
This.PostEvent('ue_afteropen')
//自动收取邮件
ll_autotime = Long(f_ProfileString(sys_empid,publ_userid+'_'+'sle_auottime', "autotime",'0'))
IF ll_autotime > 0 THEN
if_autorev = True
timer(ll_autotime * 60)
END IF
//自动收取邮件
end event
event close;call super::close;Destroy mail
//destroy alltimmer
//destroy curtimmer
IF not has_fj_tran THEN
Destroy fj_tran
END IF
wf_delfj()
end event
event activate;call super::activate;//messagebox('','act')
if isvalid(fj_tran) then
wf_tv_retrieve()
end if
end event
event timer;call super::timer;Long ll_cpu,ll_cpu1,ll_hwnd
ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
IF ll_hwnd > 0 THEN RETURN
ULong lu_class
String ls_name
SetNull(lu_class)
//ls_name = "龙嘉接收邮件工具"
//IF FindWindowA(lu_class, ls_name) > 0 THEN
// MessageBox('提示','正在收取邮件,请稍后!',information!,OK!)
// RETURN
//END IF
IF NOT FileExists(sys_cur_path + 'longjoe_rev.exe') THEN
MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
RETURN
END IF
// DONE: 检测是否安装.net
if not wf_hasDotNet() then
MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
RETURN
end if
if not has_fj_tran then
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
end if
String ls_run
ls_run = 'longjoe_rev.exe -longjoe&'&
+ sys_system_id + '&'&
+ sys_cur_version + '&'&
+ String(sys_if_register) + '&'&
+ Commit_Tran.Database + '&'&
+ Commit_Tran.UserID + '&'&
+ f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
+ Commit_Tran.LogID + '&'&
+ f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
+ Commit_Tran.ServerName + '&'&
+ string(sys_empid) + '&'&
+ '-1&'&
+ '0&'&
+ fj_tran.Database + '&'&
+ fj_tran.UserID + '&'&
+ f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
+ fj_tran.LogID + '&'&
+ f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
+ fj_tran.ServerName + '&'
IF Run(sys_cur_path + ls_run) = -1 THEN
MessageBox('错误','运行程序失败!',stopsign!,ok!)
RETURN
END IF
if IsValid(w_tanchuang) then close(w_tanchuang)
open(w_tanchuang)
end event
type cb_func from w_publ_base`cb_func within w_email_view
boolean visible = false
integer x = 775
integer width = 150
integer height = 163
end type
type cb_exit from w_publ_base`cb_exit within w_email_view
integer x = 1657
integer width = 165
integer height = 163
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
type cb_rev from uo_imflatbutton within w_email_view
integer x = 165
integer width = 165
integer height = 163
integer taborder = 10
boolean bringtotop = true
string text = "收取"
string normalpicname = "email_view1.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;
m_Dfc_Control_PopupMenu dmPopupMenu
String menustr
s_tv_data1 tv_data
long ll_handle
ll_handle = wf_tv_getCurrent()
ll_handle = wf_tv_getacount(ll_handle)
if ll_handle > 0 then
tv_data = wf_tv_getdata(ll_handle)
menustr = "Text=" + tv_data.b_string + "~tEvent=ue_revcur"
menustr = menustr + "|" + "Text=-"
menustr = menustr + "|" + "Text=全部邮箱~tEvent=ue_revall"
else
menustr = "Text=全部邮箱~tEvent=ue_revall"
end if
IF len(Trim(menustr)) <> 0 THEN
dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
dmPopupMenu.mf_BuildMenu(THIS, menustr)
dmPopupMenu.mf_PopMenu()
DESTROY dmPopupMenu
END IF
end event
type cb_send from uo_imflatbutton within w_email_view
integer x = 329
integer width = 165
integer height = 163
integer taborder = 30
boolean bringtotop = true
string text = "发送"
string normalpicname = "email_view2.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
String menustr
s_tv_data1 tv_data
long ll_handle
ll_handle = wf_tv_getCurrent()
ll_handle = wf_tv_getacount(ll_handle)
if ll_handle > 0 then
tv_data = wf_tv_getdata(ll_handle)
menustr = "Text=" + tv_data.b_string + "~tEvent=ue_sendcur"
menustr = menustr + "|" + "Text=-"
menustr = menustr + "|" + "Text=全部邮箱~tEvent=ue_sendall"
else
menustr = "Text=全部邮箱~tEvent=ue_sendall"
end if
IF len(Trim(menustr)) <> 0 THEN
dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
dmPopupMenu.mf_BuildMenu(THIS, menustr)
dmPopupMenu.mf_PopMenu()
DESTROY dmPopupMenu
END IF
end event
type cb_write from uo_imflatbutton within w_email_view
integer x = 494
integer width = 165
integer height = 163
integer taborder = 20
boolean bringtotop = true
string text = "撰写"
string normalpicname = "email_view3.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;s_tv_data1 tv_data
Long curhandle
curhandle = wf_tv_getcurrent()
IF curhandle < 0 THEN
MessageBox('错误','请先选择邮箱',stopsign!,OK!)
RETURN
END IF
tv_data = wf_tv_getdata(curhandle)
IF tv_data.a_string = C_root THEN
MessageBox('错误','请先选择邮箱',stopsign!,OK!)
RETURN
ELSEIF tv_data.a_string = C_innerroot Or tv_data.a_string = C_innerrev Or tv_data.a_string = C_innersend THEN
Parent.TriggerEvent('ue_msg_send')
RETURN
ELSEIF tv_data.a_string = C_mailacount Or tv_data.a_string = C_mailbox THEN
Long ll_handle
ll_handle = wf_tv_getacount(curhandle)
IF ll_handle <= 0 THEN
MessageBox('错误','请先选择邮箱',stopsign!,OK!)
RETURN
END IF
tv_data = wf_tv_getdata(ll_handle)
s_email_set s_parm
s_parm.mailid = tv_data.relid
s_parm.mailuser = tv_data.c_string
s_parm.mailAddress = tv_data.d_string
OpenWithParm(w_email_send_new,s_parm)
ELSEIF tv_data.a_string = C_smsroot Or tv_data.a_string = C_smssend THEN
// DONE: 打开发送短信窗口
s_spring_send s_send
s_send.sendid = 0
s_send.sendflag = 2
s_send.empid = sys_empid
OpenWithParm(w_sms_send_new, s_send)
ELSEIF tv_data.a_string = C_leroot Or tv_data.a_string = C_lebox THEN
s_ljmail_msg_parm s_parm_set
s_parm_set.msgid = 0
s_parm_set.reltype = 0
s_parm_set.relid = 0
OpenWithParm(w_ljmail_msg_send, s_parm_set)
END IF
end event
type cb_back from uo_imflatbutton within w_email_view
integer x = 658
integer width = 165
integer height = 163
integer taborder = 30
boolean bringtotop = true
string text = "回复"
string normalpicname = "email_view4.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;// DONE: 回复
IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
Parent.TriggerEvent('ue_msg_back')
ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
Parent.TriggerEvent('ue_reply')
ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
// TODO: 回复
// s_spring_send s_send
// s_send.revphone =
ELSEIF dw_list.DataObject = 'dw_ljmail_msg' THEN
// TODO: 回复LE
IF dw_list.GetRow() > 0 THEN
s_ljmail_msg_parm s_msg_parm
s_msg_parm.msgid = 0
s_msg_parm.reltype = 0
s_msg_parm.relid = 0
s_msg_parm.s_msg.mx[1].ljmail = dw_list.Object.ljmail[dw_list.GetRow()]
OpenWithParm(w_ljmail_msg_send, s_msg_parm)
END IF
END IF
end event
type lv_fj from uo_email_lv within w_email_view
integer x = 863
integer y = 2042
integer width = 1306
integer height = 234
integer taborder = 40
boolean bringtotop = true
boolean extendedselect = true
boolean hideselection = false
string smallpicturename[] = {"p15drive_fdd.ico"}
end type
event doubleclicked;ListViewItem lvi
s_email_lvfj lvfj
Blob lb
String ls_msg
IF ins_index > 0 THEN
IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
lvfj = lvi.Data
IF lvfj.FileType = C_Sys_admsg_fj THEN
IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSEIF lvfj.FileType = C_u_email_fj THEN
IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSE
RETURN
END IF
wf_blob_runfj(lb, lvfj.Filename)
END IF
END IF
//if cur_set.mailid > 0 then
// call super::doubleclicked
//else // 内部消息
//
// //附件下载并打开
// String lsNull
// setnull(lsNull)
// integer rslt = 1
// string errmsg, ls_pathname
// listviewitem l_lvi
// s_email_lvfj s_lvfj
// IF this.ins_index > 0 THEN
// THIS.GetItem( this.ins_index, l_lvi)
// s_lvfj = l_lvi.Data
// this.ins_cur_fjid = s_lvfj.fjid
// this.ins_cur_fjname = l_lvi.Label
// IF this.ins_cur_fjname = '' THEN GOTO ext
// ELSE
// GOTO ext
// END IF
// //下载附件并打开
// ls_pathname = sys_cur_path+this.fjfilepathname+'\'+this.ins_cur_fjname
// IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
// IF this.ins_cur_fjid > 0 THEN
// selectblob fileblob INTO :this.ls_filedata
// from Sys_admsg_fj
// where fjid = :this.ins_cur_fjid;
// if sqlca.sqlcode <> 0 then
// rslt = 0
// errmsg = '下载附件失败'
// goto ext
// end if
// ELSE
// this.ls_filedata = s_lvfj.fileblob
// END IF
//
// IF f_blobtofile(ls_pathname,this.ls_filedata,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 if
end event
event ue_saveas;
ListViewItem lvi, selectedlvi[]
Long ll_cnt = 0, ll_i
s_email_lvfj lvfj
Blob lb
String ls_msg, ls_sum = ''
IF ins_index > 0 THEN
IF lv_fj.TotalSelected() = 1 THEN
IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
lvfj = lvi.Data
IF lvfj.FileType = C_Sys_admsg_fj THEN
IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSEIF lvfj.FileType = C_u_email_fj THEN
IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
ELSE
RETURN
END IF
wf_blob_saveas(lb, lvfj.Filename)
END IF
ELSE
// 多选
String ls_filepath
String ls_filename
IF GetFolder('选择保存路径', ls_filepath) <> 1 THEN RETURN
IF Mid(ls_filepath, Len(ls_filepath), 1) <> '\' THEN
ls_filepath += '\'
END IF
FOR ll_i = 1 To This.TotalItems()
IF This.GetItem(ll_i, lvi) = 1 THEN
IF lvi.Selected THEN
ll_cnt++
selectedlvi[ll_cnt] = lvi
END IF
END IF
NEXT
FOR ll_i = 1 To ll_cnt
lvfj = selectedlvi[ll_i].Data
IF lvfj.FileType = C_Sys_admsg_fj THEN
IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
ls_sum = ls_sum + ls_msg + '~r~n'
CONTINUE
END IF
ELSEIF lvfj.FileType = C_u_email_fj THEN
IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
ls_sum = ls_sum + ls_msg + '~r~n'
CONTINUE
END IF
ELSE
ls_sum = ls_sum + '未定义FileType:' + lvfj.FileType + '~r~n'
CONTINUE
END IF
ls_filename = ls_filepath + lvfj.Filename
IF FileExists(ls_filename) THEN
IF MessageBox('提问', lvfj.Filename + '已经存在是否覆盖?', Question!, YesNo!) <> 1 THEN
CONTINUE
END IF
END IF
IF f_blobtofile(ls_filename, lb, ls_msg) <> 1 THEN
ls_sum = ls_sum + ls_msg + '~r~n'
CONTINUE
END IF
NEXT
IF ls_sum <> '' THEN
MessageBox('错误', ls_sum)
ELSE
MessageBox('提示', '保存成功')
END IF
END IF
END IF
//if cur_set.mailid > 0 then
// call super::ue_saveas// tv_fj.ue_saveas
//else
//
// //附件另存为
// Integer i
// Long ls_i,ls_j,ls_newrow,ls_filesize
// String ls_Pathname,ls_filename
// String errmsg,arg_msg
// String ls_filetypename
// Long pos1,lrow,rslt
// String ls_para,ls_downarg[]
// ls_Pathname = this.ins_cur_fjname
//
// //*************************************************************
//
// pos1 = pos(this.ins_cur_fjname,'.',1)
// IF pos1 > 0 THEN
// ls_filetypename = Mid(this.ins_cur_fjname,pos1 + 1)
// i = GetFileSaveName("另存为",ls_Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
// ELSE
// ls_filetypename = ''
// i = GetFileSaveName("另存为",ls_Pathname,ls_filename,"*","*.*,*.*")
// END IF
//
// IF i = 1 AND Trim(ls_Pathname) <> '' THEN
// selectblob fileblob INTO :ls_filedata
// from Sys_admsg_fj
// where fjid = :this.ins_cur_fjid;
// if sqlca.sqlcode <> 0 then
// MessageBox('系统提示', '下载附件失败')
// return
// end if
//
// IF f_blobtofile(ls_Pathname,ls_filedata,errmsg) = 0 THEN
// MessageBox('系统提示',errmsg)
// RETURN
// ELSE
//
// MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+ls_Pathname)
// END IF
// END IF
//
//
//
//
//end if
end event
type dw_mail from u_dw_rbtnfilter within w_email_view
integer x = 2216
integer y = 1088
integer width = 1368
integer height = 595
integer taborder = 20
boolean bringtotop = true
boolean titlebar = true
string title = "往来邮件"
string dataobject = "dw_email_view_inout"
boolean maxbox = true
boolean hscrollbar = true
boolean vscrollbar = true
boolean resizable = true
boolean border = false
boolean hsplitscroll = true
boolean rbutton_filter_use = true
boolean rbutton_setposition_use = true
boolean titleclick_sort_use = true
string cur_allowversion = "0"
end type
event rowfocuschanged;call super::rowfocuschanged;IF currentrow = 0 THEN RETURN
THIS.SelectRow(0,FALSE)
THIS.SelectRow(currentrow,TRUE)
end event
event clicked;call super::clicked;THIS.SetRow(row)
end event
event doubleclicked;call super::doubleclicked;//IF dw_mail.GetRow() = 0 THEN RETURN
//
//Long i,ll_fjtype
//
//dw_mail.AcceptText()
//ll_fjtype = dw_mail.Object.fjtype[dw_mail.GetRow()]
//CHOOSE CASE ll_fjtype
// CASE 1
// s_edit_index_tran s_tran
// Long cur_revid[]
// s_tran.b_long = dw_mail.GetRow()
// s_tran.c_long = dw_mail.RowCount()
//
// FOR i = 1 TO dw_mail.RowCount()
// cur_revid[i] = dw_mail.Object.id[i]
// NEXT
// s_tran.arr_long = cur_revid
// OpenWithParm(w_email_rev,s_tran)
//
// CASE 0
// s_email_set s_parm
// s_parm = cur_set
// s_parm.sendid = dw_mail.Object.id[dw_mail.GetRow()]
//
// OpenWithParm(w_email_send_new,s_parm)
//
//END CHOOSE
//
//
//
//
end event
type dw_rep from u_dw_rbtnfilter within w_email_view
integer x = 2216
integer y = 179
integer width = 1368
integer height = 909
integer taborder = 30
boolean bringtotop = true
boolean titlebar = true
string title = "联系人"
string dataobject = "dw_email_view_send_rep"
boolean maxbox = true
boolean hscrollbar = true
boolean vscrollbar = true
boolean resizable = true
boolean border = false
boolean hsplitscroll = true
boolean rbutton_filter_use = true
boolean rbutton_setposition_use = true
boolean titleclick_sort_use = true
string cur_allowversion = "0"
end type
event rowfocuschanged;call super::rowfocuschanged;dw_mail.reset()
dw_fj.reset()
if isnull(currentrow) then return
IF currentrow <= 0 THEN RETURN
THIS.SelectRow(0,FALSE)
THIS.SelectRow(currentrow,TRUE)
String ls_address
ls_address = THIS.Object.revaddress[currentrow]
if dw_list.dataobject = 'dw_email_view_msg' and dw_list.getrow() > 0 then
dw_mail.SetRedraw (FALSE)
dw_mail.Retrieve(dw_list.object.mailid[dw_list.getrow()],ls_address)
dw_mail.SetRedraw (TRUE)
dw_fj.SetRedraw (FALSE)
dw_fj.Retrieve(dw_list.object.mailid[dw_list.getrow()],ls_address)
dw_fj.SetRedraw (TRUE)
end if
end event
event clicked;call super::clicked;THIS.SetRow(row)
end event
type dw_fj from u_dw_rbtnfilter within w_email_view
integer x = 2216
integer y = 1683
integer width = 1368
integer height = 589
integer taborder = 30
boolean bringtotop = true
boolean titlebar = true
string title = "往来附件"
string dataobject = "dw_email_view_fj"
boolean maxbox = true
boolean hscrollbar = true
boolean vscrollbar = true
boolean resizable = true
boolean border = false
boolean hsplitscroll = true
boolean rbutton_filter_use = true
boolean rbutton_setposition_use = true
boolean titleclick_sort_use = true
string cur_allowversion = "0"
end type
event clicked;call super::clicked;THIS.SetRow(row)
end event
event rowfocuschanged;call super::rowfocuschanged;IF currentrow = 0 THEN RETURN
THIS.SelectRow(0,FALSE)
THIS.SelectRow(currentrow,TRUE)
end event
event doubleclicked;call super::doubleclicked;parent.triggerevent('ue_open_fj')
end event
type cb_sendother from uo_imflatbutton within w_email_view
integer x = 823
integer width = 165
integer height = 163
integer taborder = 30
boolean bringtotop = true
string text = "转发"
string normalpicname = "email_view5.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;// DONE: 要将内部消息转发到email
parent.triggerevent('ue_sendother')
end event
type cb_del from uo_imflatbutton within w_email_view
integer x = 987
integer width = 165
integer height = 163
integer taborder = 40
boolean bringtotop = true
string text = "删除"
string normalpicname = "email_view6.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;String ls_msg
//messagebox('',string(dw_list.DataObject))
If (dw_list.DataObject = 'dw_email_view_msg' )And dw_list.GetRow() > 0 THEN
Parent.TriggerEvent('ue_del')
END IF
IF dw_list.DataObject = 'dw_sms_spring_send' And dw_list.GetRow() > 0 THEN
IF MessageBox ("询问","是否确定要永久删除选中短信吗",Question!,YesNo! ) = 2 THEN RETURN
uo_spring_send uo_spring
uo_spring = Create uo_spring_send
uo_spring.commit_transaction = Commit_Tran
IF uo_spring.uf_del(dw_list.Object.Sendid[dw_list.GetRow()], Ref ls_msg, True) <> 1 THEN
Destroy uo_spring
MessageBox('删除失败', ls_msg)
RETURN
END IF
Destroy uo_spring
wf_dw_retrieve_smssend()
END IF
Long ll_boxtype = 0
uo_ljmail_msg uo_ljmail
Long i
IF dw_list.DataObject = 'dw_ljmail_msg' And dw_list.GetRow() > 0 THEN
if not has_fj_tran then
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
end if
uo_ljmail = Create uo_ljmail_msg
uo_ljmail.commit_transaction = fj_tran
ins_deletingrow = 1
dw_list.SetRedraw(False)
FOR i = dw_list.RowCount() To 1 Step -1
IF dw_list.IsSelected(i) THEN
IF ll_boxtype = 0 THEN
IF uo_ljmail.uf_get_boxtype(dw_list.Object.msgid[i], Ref ll_boxtype, ls_msg) = 0 THEN
MessageBox('错误', ls_msg, stopsign!)
GOTO ext
END IF
IF ll_boxtype = 4 THEN
IF MessageBox ("询问","是否确定要永久删除选中邮件吗",Question!,YesNo! ) = 2 THEN GOTO ext
ELSE
IF MessageBox ("询问","是否确定要把当前邮件放入废件吗",Question!,YesNo! ) = 2 THEN GOTO ext
END IF
END IF
IF uo_ljmail.uf_del(dw_list.Object.msgid[dw_list.GetRow()], Ref ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
GOTO ext
END IF
dw_list.DeleteRow(i)
END IF
NEXT
ext:
ins_deletingrow = 0
dw_list.SetRedraw(True)
dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
wf_tv_reflash(wf_tv_getcurrent())
Destroy uo_ljmail
END IF
end event
type cb_rep from uo_imflatbutton within w_email_view
integer x = 1152
integer width = 165
integer height = 163
integer taborder = 50
boolean bringtotop = true
string text = "账号"
string normalpicname = "email_view7.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;parent.triggerevent('ue_emailset')
end event
type cb_fresh from uo_imflatbutton within w_email_view
integer width = 165
integer height = 163
integer taborder = 20
boolean bringtotop = true
string text = "刷新"
string normalpicname = "refresh.BMP"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;// DONE: 刷新
wf_tv_retrieve()
tv_1.trigger event selectionchanged(-1, wf_tv_getcurrent())
long tvi_hdl = 0
DO UNTIL tv_1.FindItem(RootTreeItem!, 0) = -1
tv_1.DeleteItem(tvi_hdl)
LOOP
String ls_msg
Long a
long ll_tvi
a = wf_tv_build_tree(ls_msg)
//ll_tvi = tv_1.FindItem(RootTreeItem! ,0)
handle1_email=wf_findtreeitem(tv_1,false,tv_data_move.b_string)
tv_1.ExpandAll(handle1_email)
tv_1.SetRedraw(false)
tv_1.SelectItem(handle1_email)
tv_1.SetRedraw(True)
end event
type lb_1 from listbox within w_email_view
boolean visible = false
integer x = 1540
integer width = 549
integer height = 144
integer taborder = 20
boolean bringtotop = true
integer textsize = -12
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
long textcolor = 33554432
borderstyle borderstyle = stylelowered!
end type
type cb_help from uo_imflatbutton within w_email_view
event ue_help ( )
integer x = 1488
integer width = 165
integer height = 163
integer taborder = 50
boolean bringtotop = true
string text = "帮助"
string normalpicname = "help.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event ue_help();Int i
i = htmlhelpA(Handle(THIS), sys_help_chm, 0, "电子邮箱管理.html")
end event
event clicked;call super::clicked;PARENT.TriggerEvent('ue_help')
end event
type p_resize from picture within w_email_view
integer x = 2172
integer y = 1091
integer width = 48
integer height = 1184
boolean bringtotop = true
string picturename = "w_resize_2.bmp"
boolean focusrectangle = false
end type
event clicked;String ls_msg
IF THIS.PictureName = 'w_resize_2.bmp' THEN
THIS.PictureName = 'w_resize_1.bmp'
dw_mail.Visible = TRUE
dw_fj.Visible = TRUE
have_inout = TRUE
// wf_retreve_inout(cur_address)
ELSE
THIS.PictureName = 'w_resize_2.bmp'
dw_mail.Visible = FALSE
dw_fj.Visible = FALSE
have_inout = FALSE
END IF
parent.triggerevent('resize')
end event
type p_resize1 from picture within w_email_view
integer x = 2172
integer y = 179
integer width = 48
integer height = 912
boolean bringtotop = true
string picturename = "w_resize_2.bmp"
borderstyle borderstyle = stylelowered!
boolean focusrectangle = false
end type
event clicked;String ls_msg
IF THIS.PictureName = 'w_resize_2.bmp' THEN
THIS.PictureName = 'w_resize_1.bmp'
dw_rep.Visible = TRUE
have_rep = TRUE
ELSE
THIS.PictureName = 'w_resize_2.bmp'
dw_rep.Visible = false
have_rep = false
END IF
parent.TriggerEvent('resize')
end event
type ln_bar from line within w_email_view
long linecolor = 268435456
integer linethickness = 4
integer beginy = 173
integer endx = 3397
integer endy = 173
end type
type ln_bar2 from line within w_email_view
long linecolor = 16777215
integer linethickness = 4
integer beginy = 176
integer endx = 3277
integer endy = 176
end type
type r_bar from rectangle within w_email_view
long linecolor = 16777215
integer linethickness = 4
long fillcolor = 1073741824
integer x = 3141
integer y = 3
integer width = 88
integer height = 67
end type
event constructor;this.fillcolor = 14215660
this.linecolor = 14215660
this.x = -1
this.y = -1
this.height = ln_bar.beginy - 5
end event
type tv_1 from treeview within w_email_view
integer y = 179
integer width = 859
integer height = 2093
integer taborder = 40
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
long backcolor = 16777215
borderstyle borderstyle = stylelowered!
boolean editlabels = true
boolean hasbuttons = false
boolean haslines = false
boolean disabledragdrop = false
boolean hideselection = false
boolean tooltips = false
boolean trackselect = true
string picturename[] = {"email_all.bmp","email_one.bmp","email_rev.bmp","email_send.bmp","email_sent.bmp","email_dust.bmp","graphics\newsout.BMP","graphics\newsin.BMP","graphics\email_bak.bmp"}
long picturemaskcolor = 16777215
long statepicturemaskcolor = 536870912
end type
event selectionchanged;s_tv_data1 tv_data
String ls_msg
IF newhandle <= 0 THEN
// DONE:不显示列表与内容
wf_ui_reflash()
RETURN
END IF
tv_data = wf_tv_getdata(newhandle)
tv_data_move = tv_data
//handle1_email=newhandle
IF tv_data.a_string = C_innerrev THEN
// DONE: 内部消息收件箱
wf_dw_retrieve_innermsg_rev()
ELSEIF tv_data.a_string = C_innersend THEN
// DONE: 内部消息发件箱
wf_dw_retrieve_innermsg_send()
ELSEIF tv_data.a_string = C_mailbox THEN
// DONE: 邮箱
Long ll_mailid, ll_boxid
ll_mailid = tv_data.a_long
ll_boxid = tv_data.relid
wf_dw_retrieve_mailmsg(ll_mailid, ll_boxid, tv_data.b_string)
ELSEIF tv_data.a_string = C_smssend THEN
// DONE: 短信发件箱
wf_dw_retrieve_smssend()
ELSEIF tv_data.a_string = C_lebox THEN
wf_dw_retrieve_le(tv_data.relid)
ELSE
IF dw_list.DataObject <> '' THEN
dw_list.uf_save_profile_layout()
END IF
dw_list.DataObject = ''
END IF
//左边点选邮箱时应直接显示收件箱明细(荣)20130719 star
Long ls_mailid,ls_boxid
String ss_b_string
ss_b_string = "收件箱"
IF tv_data.a_string = "邮箱帐号" THEN
dw_list.Reset( )
ole_1.Object.document.body.innerhtml = ""
SELECT mailid Into :ls_mailid From u_email_set Where mailuser = :tv_data.c_string And mailAddress = :tv_data.d_string;
SELECT boxid Into :ls_boxid From u_email_box Where mailid = :ls_mailid And boxname = '收件箱' And isdefault = 1;
wf_dw_retrieve_mailmsg(ls_mailid, ls_boxid, ss_b_string)
END IF
//左边点选邮箱时应直接显示收件箱明细(荣)20130719 end
wf_ui_reflash()
//
//
//s_email_set s_tmp
//dw_list.Reset()
//cur_hand = THIS.FindItem(CurrentTreeItem!,0)
//
//IF THIS.GetItem(cur_hand,l_tvi) = 1 THEN
//
// IF FileExists(sys_cur_path + 'temp.html') THEN FileDelete(sys_cur_path + 'temp.html')
// if not isnull(ole_1.object.document.body) then
// ole_1.object.document.body.innerhtml = ''
// end if
// lv_fj.DeleteItems( )
//
// IF cur_hand = 1 THEN
// cur_set.mailid = 0
// ELSE
//// s_tmp = l_tvi.Data
// cur_set = l_tvi.Data
// if cur_set.mailid = -1 then
// parent.title = '电子邮箱管理' + ' - 内部消息'
// else
// parent.title = '电子邮箱管理' + ' - 当前邮箱:' + Trim(cur_set.mailuser) + '<' + Trim(cur_set.mailAddress) + '>'
// end if
// wf_retrieve()
// END IF
//
//END IF
//
//
//
end event
event rightclicked;IF Handle <= 0 THEN RETURN
String menustr = ''
tv_1.SelectItem(Handle)
s_tv_data1 tv_data
tv_data = wf_tv_getdata(Handle)
IF tv_data.a_string = C_innerrev THEN
ELSEIF tv_data.a_string = C_innersend THEN
ELSEIF tv_data.a_string = C_mailacount THEN
// 新建邮箱
// 接收当前
// 发送当前
// 修改
// 接收所有
// 发送所有
menustr = "Text=新建子目录1~tEvent=ue_newbox"
menustr = menustr+"|"+"Text=接收当前~tEvent=ue_revcur"
menustr = menustr+"|"+"Text=发送当前~tEvent=ue_sendcur"
menustr = menustr+"|"+"Text=-"
menustr = menustr+"|"+"Text=接收全部~tEvent=ue_revall"
menustr = menustr+"|"+"Text=发送全部~tEvent=ue_sendall"
menustr = menustr+"|"+"Text=-"
menustr = menustr+"|"+"Text=属性~tEvent=ue_emailset_property"
ELSEIF tv_data.a_string = C_mailbox THEN
// 新建邮箱
// 导入邮件
// 导出邮件
// 重命名
// 删除
Long ll_parentid,ll_old
String ls_str,ls_parent
SELECT boxtype,parentid Into :ls_str,:ll_parentid From u_email_box Where boxid = :tv_data.relid;
SELECT boxtype,parentid Into :ls_parent ,:ll_old From u_email_box Where boxid = :ll_parentid;
DO WHILE ls_parent = "新邮箱"
ll_parentid = ll_old
SELECT boxtype,parentid Into :ls_parent ,:ll_old From u_email_box Where boxid = :ll_parentid;
LOOP
menustr = "Text=新建子目录2~tEvent=ue_newbox"
menustr = menustr+"|"+"Text=导入邮件~tEvent=ue_import_eml"
IF ls_str = "新邮箱" And ls_parent = "收件箱" THEN
menustr = menustr+"|"+"Text=从收件箱移入\移出邮件~tEvent=ue_move_eml"
END IF
// IF ls_str = "新邮箱" And ls_parent = "发件箱" THEN
// menustr = menustr+"|"+"Text=从发件箱移入邮件~tEvent=ue_import_eml"
// END IF
// IF ls_str = "新邮箱" And ls_parent = "已发件箱" THEN
// menustr = menustr+"|"+"Text=从发件箱移入邮件~tEvent=ue_import_eml"
// END IF
IF tv_data.b_long <> 1 THEN
menustr = menustr+"|"+"Text=重命名~tEvent=ue_renamebox"
menustr = menustr+"|"+"Text=删除~tEvent=ue_delbox"
END IF
ELSEIF tv_data.a_string = C_leroot THEN
menustr = "Text=接收供应链邮件~tEvent=ue_revlemsg"
menustr += "|Text=新建子目录3~tEvent=ue_newlebox"
ELSEIF tv_data.a_string = C_lebox THEN
menustr = "Text=新建子目录4~tEvent=ue_newlebox"
END IF
IF menustr <> '' THEN
m_Dfc_Control_PopupMenu dmPopupMenu
dmPopupMenu = Create m_Dfc_Control_PopupMenu
dmPopupMenu.mf_BuildMenu(This, menustr)
dmPopupMenu.mf_PopMenu()
Destroy dmPopupMenu
END IF
//
//s_email_set s_tmp
//dw_list.Reset()
//cur_hand = handle
//
//IF THIS.GetItem(cur_hand,l_tvi) = 1 THEN
//
// IF FileExists(sys_cur_path + 'temp.html') THEN FileDelete(sys_cur_path + 'temp.html')
// if not isnull(ole_1.object.document.body) then
// ole_1.object.document.body.innerhtml = ''
// end if
// lv_fj.DeleteItems( )
//
// IF cur_hand = 1 THEN
// cur_set.mailid = 0
// ELSE
//// s_tmp = l_tvi.Data
// cur_set = l_tvi.Data
// if cur_set.mailid = -1 then
// parent.title = '电子邮箱管理' + ' - 内部消息'
// else
// parent.title = '电子邮箱管理' + ' - 当前邮箱:' + Trim(cur_set.mailuser) + '<' + Trim(cur_set.mailAddress) + '>'
// end if
// wf_retrieve()
// END IF
//
// if cur_set.mailid > 0 then
// m_Dfc_Control_PopupMenu dmPopupMenu
// String menustr
// menustr = "Text=接收当前~tEvent=ue_revcur"
// menustr = menustr+"|"+"Text=发送当前~tEvent=ue_sendcur"
// menustr = menustr+"|"+"Text=-"
// menustr = menustr+"|"+"Text=接收全部~tEvent=ue_revall"
// menustr = menustr+"|"+"Text=发送全部~tEvent=ue_sendall"
// menustr = menustr+"|"+"Text=-"
// menustr = menustr+"|"+"Text=导入~tEvent=ue_import_eml"
// menustr = menustr+"|"+"Text=属性~tEvent=ue_emailset_property"
// dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
// dmPopupMenu.mf_BuildMenu(THIS, menustr)
// dmPopupMenu.mf_PopMenu()
// DESTROY dmPopupMenu
// end if
//END IF
//
//m_email_view om_1
//om_1 = CREATE m_email_view
//om_1.anyobject = parent
//om_1.popupmenu(THIS.X+THIS.PointerX(),THIS.Y+THIS.PointerY())
//
//DESTROY om_1
end event
event beginlabeledit;IF Handle <= 0 THEN RETURN
s_tv_data1 tv_data
tv_data = wf_tv_getdata(Handle)
IF tv_data.a_string = C_mailbox THEN
IF tv_data.b_long = 1 THEN RETURN 1
wf_tv_settext(Handle, tv_data.b_string)
ELSEIF tv_data.a_string = C_lebox THEN
IF tv_data.a_long <> 5 THEN RETURN 1
ELSE
RETURN 1
END IF
end event
event endlabeledit;s_tv_data1 tv_data
tv_data = wf_tv_getdata(Handle)
String ls_msg
IF IsNull(newtext) THEN RETURN 1
IF tv_data.a_string = C_mailbox THEN
IF tv_data.a_string <> C_mailbox THEN RETURN 1
IF tv_data.b_long = 1 THEN RETURN 1
uo_email_box box
box = Create uo_email_box
box.commit_tran = commit_tran
box.fj_tran = fj_tran
IF box.uf_rename(tv_data.relid, newtext, ls_msg) = 1 THEN
tv_data.b_string = box.boxname
wf_tv_setdata(Handle, tv_data)
Long Unread
Unread = wf_box_getunread(box.boxid)
Long totle
totle = wf_box_gettotle(box.boxid)
String Label
Label = Trim(box.boxname) + '(' + String(Unread) + '/' + String(totle) + ')'
wf_tv_settext(Handle, Label)
ELSE
MessageBox('重命令失败', ls_msg, stopsign!)
Destroy box
RETURN 1
END IF
Destroy box
ELSEIF tv_data.a_string = C_lebox THEN
uo_ljmail_box uo_box
uo_box = Create uo_ljmail_box
IF uo_box.uf_rename(tv_data.relid, newtext, ls_msg) <> 1 THEN
MessageBox('重命令失败', ls_msg, stopsign!)
Destroy uo_box
RETURN 1
ELSE
tv_data.b_string = newtext
wf_tv_setdata(Handle, tv_data)
wf_tv_settext(Handle, newtext)
END IF
Destroy uo_box
END IF
end event
event dragdrop;IF Source = dw_list THEN
s_tv_data1 tv_data
tv_data = wf_tv_getdata(Handle)
IF tv_data.a_string = C_mailbox THEN
// TODO: 电子邮件拖放
IF dw_list.DataObject <> 'dw_email_view_msg' THEN GOTO ext
Long i
String ls_msg
dw_list.SetRedraw(False)
FOR i = dw_list.RowCount() To 1 Step -1
IF dw_list.IsSelected(i) THEN
IF dw_list.Object.boxid[i] = tv_data.relid THEN
dw_list.SetRedraw(True)
GOTO ext
END IF
IF mail.wf_ds_move_msg_box(dw_list.Object.id[i], tv_data.relid, ls_msg) = 1 THEN
ins_deletingrow = 1
dw_list.DeleteRow(i)
ins_deletingrow = 0
END IF
END IF
NEXT
dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
dw_list.SetRedraw(True)
wf_tv_reflash(wf_tv_getcurrent())
wf_tv_reflash(Handle)
ELSEIF tv_data.a_string = C_lebox THEN
// TODO: 龙嘉邮件拖放
ELSE
GOTO ext
END IF
END IF
ext:
SetDropHighlight(0)
end event
event dragwithin;// dragwithin
SetDropHighlight(0)
s_tv_data1 tv_data
tv_data = wf_tv_getdata(handle)
if tv_data.a_string = C_mailbox then
SetDropHighlight(handle)
end if
end event
type sp_v1 from u_lbs_stsplitbar within w_email_view
integer x = 856
integer y = 186
integer width = 7
integer height = 2093
boolean bringtotop = true
long backcolor = 16777215
integer ii_minobjectsize = 600
end type
type sp_h1 from u_lbs_stsplitbar within w_email_view
integer x = 863
integer y = 1085
integer width = 2710
integer height = 13
boolean bringtotop = true
long backcolor = 16777215
integer ii_style = 2
integer ii_minobjectsize = 600
end type
type ole_1 from olecustomcontrol within w_email_view
event statustextchange ( string text )
event progresschange ( long progress, long progressmax )
event commandstatechange ( long command, boolean enable )
event downloadbegin ( )
event downloadcomplete ( )
event titlechange ( string text )
event propertychange ( string szproperty )
event beforenavigate2 ( oleobject pdisp, any url, any flags, any targetframename, any postdata, any headers, ref boolean cancel1 )
event newwindow2 ( ref oleobject ppdisp, ref boolean cancel1 )
event navigatecomplete2 ( oleobject pdisp, any url )
event documentcomplete ( oleobject pdisp, any url )
event onquit ( )
event onvisible ( boolean ocx_visible )
event ontoolbar ( boolean toolbar )
event onmenubar ( boolean menubar )
event onstatusbar ( boolean statusbar )
event onfullscreen ( boolean fullscreen )
event ontheatermode ( boolean theatermode )
event windowsetresizable ( boolean resizable1 )
event windowsetleft ( long left )
event windowsettop ( long top )
event windowsetwidth ( long ocx_width )
event windowsetheight ( long ocx_height )
event windowclosing ( boolean ischildwindow, ref boolean cancel1 )
event clienttohostwindow ( ref long cx, ref long cy )
event setsecurelockicon ( long securelockicon )
event filedownload ( ref boolean cancel1 )
event navigateerror ( oleobject pdisp, any url, any frame, any statuscode, ref boolean cancel1 )
event printtemplateinstantiation ( oleobject pdisp )
event printtemplateteardown ( oleobject pdisp )
event updatepagestatus ( oleobject pdisp, any npage, any fdone )
event privacyimpactedstatechange ( boolean bimpacted )
integer x = 863
integer y = 1088
integer width = 1306
integer height = 947
integer taborder = 30
boolean bringtotop = true
borderstyle borderstyle = stylelowered!
boolean focusrectangle = false
string binarykey = "w_email_view.win"
integer textsize = -12
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
long textcolor = 33554432
end type
event constructor;ole_1.object.navigate('about:blank')
end event
type st_3 from statictext within w_email_view
boolean visible = false
integer x = 1861
integer y = 96
integer width = 201
integer height = 61
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
long backcolor = 134217739
boolean enabled = false
string text = "日期从:"
alignment alignment = right!
boolean focusrectangle = false
end type
event constructor;this.backcolor = 14215660
end event
type em_1 from editmask within w_email_view
boolean visible = false
integer x = 2063
integer y = 77
integer width = 384
integer height = 90
integer taborder = 120
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
borderstyle borderstyle = stylelowered!
maskdatatype maskdatatype = datemask!
string mask = "yyyy-mm-dd"
boolean spin = true
end type
event rbuttondown;s_calender_arg s_calender
s_calender.PointerX = THIS.PointerX()
s_calender.PointerY = THIS.PointerY()
s_calender.X = THIS.X
s_calender.Y = THIS.Y
OpenWithParm(w_calendar,s_calender)
THIS.Text = String(id_date_selected)
end event
type pb_em1 from picturebutton within w_email_view
boolean visible = false
integer x = 2447
integer y = 74
integer width = 102
integer height = 93
integer taborder = 30
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
string picturename = "date.BMP"
alignment htextalign = left!
end type
event clicked;em_1.triggerevent(rbuttondown!)
end event
type st_4 from statictext within w_email_view
boolean visible = false
integer x = 2542
integer y = 96
integer width = 106
integer height = 61
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
long backcolor = 134217739
boolean enabled = false
string text = "到:"
alignment alignment = right!
boolean focusrectangle = false
end type
event constructor;this.backcolor = 14215660
end event
type em_2 from editmask within w_email_view
boolean visible = false
integer x = 2648
integer y = 77
integer width = 384
integer height = 90
integer taborder = 130
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
borderstyle borderstyle = stylelowered!
maskdatatype maskdatatype = datemask!
string mask = "yyyy-mm-dd"
boolean spin = true
end type
event rbuttondown;s_calender_arg s_calender
s_calender.PointerX = THIS.PointerX()
s_calender.PointerY = THIS.PointerY()
s_calender.X = THIS.X
s_calender.Y = THIS.Y
OpenWithParm(w_calendar,s_calender)
THIS.Text = String(id_date_selected)
end event
type pb_em2 from picturebutton within w_email_view
boolean visible = false
integer x = 3032
integer y = 74
integer width = 102
integer height = 93
integer taborder = 60
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
string picturename = "date.BMP"
alignment htextalign = left!
end type
event clicked;em_2.triggerevent(rbuttondown!)
end event
type pb_2 from picturebutton within w_email_view
boolean visible = false
integer x = 3131
integer y = 74
integer width = 102
integer height = 93
integer taborder = 60
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
string picturename = "date1.BMP"
alignment htextalign = left!
end type
event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
string menustr
menustr="Text=本日~tEvent=ue_date1"
menustr = menustr + "|" + "Text=本周~tEvent=ue_date2"
menustr = menustr + "|" + "Text=本月~tEvent=ue_date3"
if len(trim(menustr))<>0 then
dmPopupMenu = Create m_Dfc_Control_PopupMenu
dmPopupMenu.mf_BuildMenu(This, menustr)
dmPopupMenu.mf_PopMenu()
Destroy dmPopupMenu
end if
end event
type p_1 from picture within w_email_view
boolean visible = false
integer x = 3255
integer y = 83
integer width = 73
integer height = 64
boolean bringtotop = true
string pointer = "HyperLink!"
string picturename = "graphics\refresh.BMP"
boolean focusrectangle = false
end type
event clicked;st_refresh.triggerevent(clicked!)
end event
type st_refresh from statictext within w_email_view
boolean visible = false
integer x = 3328
integer y = 93
integer width = 135
integer height = 48
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
string pointer = "HyperLink!"
long textcolor = 33554432
long backcolor = 134217739
string text = "刷新"
boolean focusrectangle = false
end type
event clicked;wf_retrieve()
end event
event constructor;this.backcolor = 14215660
end event
type dw_user from u_dw_rbtnfilter within w_email_view
integer x = 1543
integer y = 186
integer width = 618
integer height = 906
integer taborder = 20
boolean bringtotop = true
string title = "确认列表"
string dataobject = "dw_objdpm_user_cmmt_copy"
boolean hscrollbar = true
boolean vscrollbar = true
boolean livescroll = false
boolean rbutton_filter_use = true
boolean rbutton_setposition_use = true
boolean titleclick_sort_use = true
string cur_allowversion = "0"
end type
type dw_list from u_dw_rbtnfilter within w_email_view
event mousemove pbm_mousemove
event lbuttondown pbm_lbuttondown
event lbuttonup pbm_lbuttonup
integer x = 863
integer y = 186
integer width = 680
integer height = 899
integer taborder = 20
string dragicon = "graphics\Shell32 025.ico"
boolean bringtotop = true
string dataobject = "dw_email_view_msg"
boolean hscrollbar = true
boolean vscrollbar = true
boolean rbutton_filter_use = true
boolean rbutton_setposition_use = true
boolean titleclick_sort_use = true
string cur_allowversion = "0"
end type
event mousemove;if dw_list.dataobject <> 'dw_email_view_msg' then return
if keydown(keyleftbutton!) then
long i
for i = 1 to dw_list.RowCount()
if dw_list.IsSelected(i) then
if ins_candrag then
dw_list.Drag(begin!)
ins_candrag = false
return
end if
end if
next
end if
end event
event lbuttondown;SetCapture(handle(this))
end event
event lbuttonup;ins_candrag = false
ReleaseCapture()
end event
event rowfocuschanged;call super::rowfocuschanged;// 界面
//messagebox('rowfoucuschanged',string(this.dataobject))
IF ins_deletingrow = 1 THEN RETURN
currentrow = this.getrow()
IF Not KeyDown(keycontrol!) THEN
wf_ui_unselectall()
This.SelectRow(0, False)
IF currentrow > 0 THEN
This.SelectRow(currentrow, True)
wf_read_row(currentrow)
wf_tv_reflash(wf_tv_getcurrent())
END IF
END IF
Long ll_id
String ls_msg
s_email_lvfj s_lvfj[]
// DONE: 刷新文本与关联datawindow, 刷新UI
String ls_text = '' // 最终在浏览器显示
dw_user.Reset()
dw_rep.Reset()
dw_fj.Reset()
dw_mail.Reset()
lv_fj.DeleteItems()
have_user = False
have_fj = False
IF IsNull(currentrow) Or currentrow <= 0 THEN
GOTO ext
END IF
IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN // 内部消息收
ll_id = dw_list.Object.sys_admsgmx_msgid[currentrow]
IF wf_admsg_gethtml(ll_id, ls_text, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
GOTO ext
END IF
have_rep = False
have_inout = False
// 刷新附件
wf_admsg_getfj(ll_id, s_lvfj, ls_msg)
ELSEIF dw_list.DataObject = 'dw_hismsg_copy' THEN // 内部消息发
ll_id = dw_list.Object.msgid[currentrow]
IF wf_admsg_gethtml(ll_id, ls_text, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
GOTO ext
END IF
have_rep = False
have_inout = False
have_user = True
dw_user.Retrieve(ll_id)
// 刷新附件
wf_admsg_getfj(ll_id, s_lvfj, ls_msg)
ELSEIF dw_list.DataObject = 'dw_email_view_msg' Or dw_list.DataObject = 'dw_email_view_msg_rev'THEN
ll_id = dw_list.Object.id[currentrow]
IF wf_mail_gethtml(ll_id, ls_text, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
GOTO ext
END IF
// 刷新附件
wf_mail_getfj(ll_id, s_lvfj, ls_msg)
// rep
dw_rep.Retrieve(ll_id)
// mail
// fj
lss_subject=""
lss_sendman=""
lss_senddate=""
lss_subject=dw_list.Object.subject[currentrow]
lss_sendman=dw_list.Object.sendman[currentrow]
lss_senddate=string(dw_list.Object.revdate[currentrow])
lss_revdate=string(dw_list.Object.u_email_msg_senddate[currentrow])
ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
ll_id = dw_list.Object.sendid[currentrow]
SELECT msg
INTO :ls_text
FROM u_spring_send
Where sendid = :ll_id;
IF sqlca.SQLCode <> 0 THEN
MessageBox('错误', '查询短信内容失败,' + sqlca.SQLErrText, stopsign!)
GOTO ext
END IF
have_user = True
wf_dw_retrieve_smssendmx()
ELSEIF dw_list.DataObject = 'dw_ljmail_msg' THEN
IF Not has_fj_tran THEN
MessageBox('提示','未设置邮件数据库!',information!,OK!)
RETURN
END IF
uo_ljmail_msg uo_ljmail
uo_ljmail = Create uo_ljmail_msg
uo_ljmail.commit_transaction = fj_tran
IF uo_ljmail.uf_get_html(dw_list.Object.msgid[currentrow], ls_text, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
END IF
Destroy uo_ljmail
ELSE
GOTO ext
END IF
// 根据所选设置 have_user, have_fj
ext:
ListViewItem lvi
Long i
FOR i = 1 To UpperBound(s_lvfj)
lvi.Label = s_lvfj[i].Filename
lvi.PictureIndex = 1
lvi.Data = s_lvfj[i]
lv_fj.AddItem(lvi)
have_fj = True
NEXT
wf_html_set(ls_text)
Parent.TriggerEvent('resize')
//dw_rep.Reset()
//dw_mail.Reset()
//dw_fj.Reset()
////tab_1.tabpage_1.mle_text.Text = ''
////tab_1.tabpage_2.ole_html.Object.navigate('about:blank')
//lv_fj.DeleteItems( )
//ole_1.object.navigate('about:blank')
//dw_user.reset()
//have_user = false
//
//IF currentrow = 0 THEN RETURN
//THIS.SelectRow(0,FALSE)
//THIS.SelectRow(currentrow,TRUE)
//if dw_list.dataobject = 'dw_email_view_rev' then
// if dw_list.object.mailtype[currentrow] = 0 then
// dw_list.object.filename[currentrow] = 'graphics\unread_select.bmp'
// else
// dw_list.object.filename[currentrow] = 'graphics\read_select.bmp'
// end if
// dw_list.accepttext()
//end if
//
//Long ll_id,ll_fjtype
//String ls_msg ,ls_address
//IF dw_list.GetRow() = 0 THEN RETURN
//
//// 内部消息
//if cur_set.mailid = -1 then
//
//
// s_email_lvfj s_lvfj
// listviewitem l_lvi
// long count = 1, ll_size
// have_fj = false
// if cur_set.viewtype = 1 then
// ll_id = dw_list.object.sys_admsgmx_msgid[dw_list.getrow()]
// elseif cur_set.viewtype = 2 then
// ll_id = dw_list.object.msgid[dw_list.getrow()]
// else
// parent.triggerevent('resize')
// return
// end if
// // 正文
// IF FileExists(Pathname) THEN FileDelete(Pathname)
// select datalength(s_msg) INTO :ll_size
// from Sys_admsg
// where msgid = :ll_id;
// if sqlca.sqlcode <> 0 then
// MessageBox('错误', '查询正文长度失败')
// return
// end if
//
// blob lb_text
// if ll_size > 2048 then
// selectblob s_msg INTO :lb_text
// from Sys_admsg
// where msgid = :ll_id;
// if sqlca.sqlcode <> 0 then
// MessageBox('错误', '下载正文数据失败')
// return
// end if
// else
// string ls_text
// select s_msg INTO :ls_text
// from Sys_admsg
// where msgid = :ll_id;
// if sqlca.sqlcode <> 0 then
// MessageBox('错误', '下载正文失败')
// return
// end if
// lb_text = blob(ls_text)
// end if
//
// IF f_blobtofile(Pathname,lb_text,ls_msg) = 0 THEN
// MessageBox('错误', ls_msg)
// return
// END IF
// DO WHILE pos(Pathname,'\',1) > 0
// Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
// LOOP
// ole_1.object.navigate('file:///' + Pathname)
//
//
// // 附件
// declare cursorfj cursor for
// select fjid,filename, filesize from Sys_admsg_fj where msgid = :ll_id;
// open cursorfj;
// fetch cursorfj INTO :s_lvfj.fjid, :s_lvfj.filename, :s_lvfj.filesize;
// do while (sqlca.sqlcode = 0)
// s_lvfj.relid = ll_id
// l_lvi.label = s_lvfj.filename
// l_lvi.pictureindex = 1
// l_lvi.data = s_lvfj
// lv_fj.additem(l_lvi)
// have_fj = true
// fetch cursorfj INTO :s_lvfj.fjid, :s_lvfj.filename, :s_lvfj.filesize;
// loop
// close cursorfj;
// lv_fj.visible = have_fj
//
// // 确认列表
// if cur_set.viewtype = 2 then
// have_user = true
// dw_user.retrieve(ll_id)
// end if
//
// parent.triggerevent('resize')
// return
//end if
//////////////////
//
//
//ll_fjtype = dw_list.Object.fjtype[dw_list.GetRow()]
//ll_id = dw_list.Object.id[dw_list.GetRow()]
//cur_address = dw_list.Object.sendaddress[dw_list.GetRow()]
//IF wf_retrievemx(ll_id,ll_fjtype,cur_address,ls_msg) = 0 THEN
// MessageBox('错误',ls_msg)
// return
//END IF
//wf_set_read(dw_list.GetRow())
end event
event rowfocuschanging;call super::rowfocuschanging;//if currentrow <= 0 OR currentrow > dw_list.rowcount() then return
//if dw_list.dataobject = 'dw_email_view_msg' then
// if dw_list.object.status[currentrow] = '未读' then
// dw_list.object.filename[currentrow] = 'graphics\unread.bmp'
// else
// dw_list.object.filename[currentrow] = 'graphics\read.bmp'
// end if
// dw_list.accepttext( )
//end if
end event
event rbuttondown;//call super::rbuttondown;
IF row <= 0 THEN
CALL Super::RButtonDown
RETURN
END IF
IF KeyDown(keyLeftButton!) THEN
CALL Super::RButtonDown
ELSE
IF Not dw_list.IsSelected(row) THEN
This.ScrollToRow(row)
END IF
// this.selectrow(0, false)
// this.selectrow(row, true)
m_Dfc_Control_PopupMenu dmPopupMenu
String menustr
IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
// menustr = "Text=刷新信息~tEvent=ue_msg_retr"
// menustr = menustr+"|"+"Text=-"
// menustr = menustr+"|"+"Text=回复信息~tEvent=ue_msg_back"
// menustr = menustr+"|"+"Text=确认信息~tEvent=ue_msg_del"
// menustr = menustr+"|"+"Text=-"
// menustr = menustr+"|"+"Text=查看历史~tEvent=ue_msg_his"
// menustr = menustr+"|"+"Text=-"
// IF ls_dealflag = 0 THEN
// menustr = menustr+"|"+"Text=只显示待确认消息√~tEvent=ue_msg_view1"
// menustr = menustr+"|"+"Text=显示全部消息~tEvent=ue_msg_view2"
// ELSE
// menustr = menustr+"|"+"Text=只显示待确认消息~tEvent=ue_msg_view1"
// menustr = menustr+"|"+"Text=显示全部消息√~tEvent=ue_msg_view2"
// END IF
// menustr = menustr+"|"+"Text=-"
// menustr = menustr + "|" + "Text=转发~tEvent=ue_sendother"
CALL Super::RButtonDown
ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
Long i, ll_cnt = 0
FOR i = 1 To dw_list.RowCount()
IF dw_list.IsSelected(i) THEN
ll_cnt ++
IF ll_cnt > 1 THEN
EXIT
END IF
END IF
NEXT
IF ll_cnt > 1 THEN
menustr = "Text=导出~tEvent=ue_export_eml"
menustr = menustr + "|" + "Text=-"
menustr = menustr + "|" + "Text=删除~tEvent=ue_del"
ELSE
menustr = "Text=回复~tEvent=ue_reply"
menustr = menustr + "|" + "Text=转发~tEvent=ue_sendother"
menustr = menustr + "|" + "Text=导出~tEvent=ue_export_eml"
menustr = menustr + "|" + "Text=-"
menustr = menustr + "|" + "Text=删除~tEvent=ue_del"
END IF
END IF
IF Len(Trim(menustr)) <> 0 THEN
dmPopupMenu = Create m_Dfc_Control_PopupMenu
dmPopupMenu.mf_BuildMenu(This, menustr)
dmPopupMenu.mf_PopMenu()
Destroy dmPopupMenu
END IF
END IF
end event
event doubleclicked;call super::doubleclicked;IF dw_list.GetRow() = 0 THEN RETURN
s_email_set s_parm
String ls_msg
IF dw_list.DataObject = 'dw_email_view_msg' THEN
s_parm.mailid = dw_list.Object.mailid[dw_list.GetRow()]
IF wf_ds_get_mail_set(s_parm.mailid, s_parm, ls_msg) <> 1 THEN
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
s_parm.sendid = dw_list.Object.id[dw_list.GetRow()]
IF dw_list.Object.mailtype[dw_list.GetRow()] = '发件' THEN
OpenWithParm(w_email_send_new,s_parm)
ELSE
Long arr[]
Long i
FOR i = 1 To dw_list.RowCount()
arr[i] = dw_list.Object.id[i]
NEXT
s_parm.arr = arr
s_parm.cur = dw_list.GetRow()
OpenWithParm(w_email_rev, s_parm)
END IF
ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
// IF dw_list.Object.sendflag = 2 THEN
s_spring_send s_send
uo_spring_send uo_send
uo_send = Create uo_spring_send
uo_send.commit_transaction = sqlca
IF uo_send.uf_getinfo_withmx(dw_list.Object.sendid[dw_list.GetRow()], Ref s_send, Ref ls_msg) = 0 THEN
Destroy uo_send
MessageBox('错误', ls_msg, stopsign!)
RETURN
END IF
Destroy uo_send
OpenWithParm(w_sms_send_new, s_send)
// END IF
ELSEIF dw_list.DataObject = 'dw_ljmail_msg' THEN
IF dw_list.GetRow() > 0 THEN
s_ljmail_msg_parm s_msg_parm
s_msg_parm.msgid = dw_list.Object.msgid[dw_list.GetRow()]
OpenWithParm(w_ljmail_msg_send, s_msg_parm)
END IF
ELSEIF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
IF dwo.Name = 'sys_admsgmx_billcode' THEN
Parent.TriggerEvent('ue_viewbill_msg')
END IF
END IF
//IF dw_list.GetRow() = 0 THEN RETURN
//
//Long i,ll_fjtype
//
//if cur_set.mailid = -1 then return
//
//dw_list.AcceptText()
//ll_fjtype = dw_list.Object.fjtype[dw_list.GetRow()]
//CHOOSE CASE ll_fjtype
// CASE 1
// s_edit_index_tran s_tran
// Long cur_revid[]
// s_tran.b_long = dw_list.GetRow()
// s_tran.c_long = dw_list.RowCount()
//
// FOR i = 1 TO dw_list.RowCount()
// cur_revid[i] = dw_list.Object.id[i]
// NEXT
// s_tran.arr_long = cur_revid
// OpenWithParm(w_email_rev,s_tran)
//
// CASE 0
// s_email_set s_parm
// s_parm = cur_set
// s_parm.sendid = dw_list.Object.id[dw_list.GetRow()]
//
// OpenWithParm(w_email_send_new,s_parm)
//
//END CHOOSE
//
//
//
//
end event
event clicked;call super::clicked;Long ll_mailid,ll_NTFlag
String ls_status
IF row > 0 THEN
ins_candrag = True
ELSE
RETURN
END IF
IF This.DataObject = 'dw_email_view_msg' And KeyDown(keycontrol!) THEN
IF row > 0 THEN
This.SelectRow(row, Not This.IsSelected(row))
wf_ui_row(row)
RETURN 1 // 如果不刷新其它内容
END IF
ELSEIF This.DataObject = 'dw_email_view_msg' And KeyDown(keyshift!) THEN
IF row > 0 THEN
wf_ui_unselectall()
This.SelectRow(0, False)
Long i
IF dw_list.GetRow() > row THEN
FOR i = row To dw_list.GetRow()
This.SelectRow(i, True)
wf_ui_row(i)
NEXT
ELSE
FOR i = row To dw_list.GetRow() Step -1
This.SelectRow(i, True)
wf_ui_row(i)
NEXT
END IF
RETURN 1 // 如果不刷新其它内容
END IF
ELSE
IF row > 0 THEN
IF This.DataObject = 'dw_email_view_msg' And dwo.Name = 'filename' THEN
wf_revert_read(row)
wf_tv_reflash(wf_tv_getcurrent())
RETURN 1 // 只更改 未读 已读 状态
END IF
//
// if this.dataobject = 'dw_email_view_msg_rev' AND dwo.Name = 'filename' then
// wf_revert_read(row)
// wf_tv_reflash(wf_tv_getcurrent())
// return 1 // 只更改 未读 已读 状态
// end if
//2012929-1648
// if this.IsSelected(row) then
// return 1
// end if
/////////////////////////// //
// 内部消息确认
IF This.DataObject = 'dw_deal_admsg_1_copy' And dwo.Name = 'bt_deal' THEN
IF MessageBox ("IF","是否确定要确认当前消息记录?"+' '+String(dw_list.Object.sys_admsgmx_s_msgtitle[row]),Question!,YesNo! ) = 2 THEN RETURN 1
Long ls_msgid, ls_empid, ls_senddtint, rslt
String arg_msg
ls_msgid = dw_list.Object.sys_admsgmx_msgid[row]
ls_empid = dw_list.Object.sys_admsgmx_empid[row]
ls_senddtint = dw_list.Object.sys_admsgmx_senddtint[row]
uo_transmsg uo_itransmsg
rslt = uo_itransmsg.f_redeal_admsg(ls_msgid,ls_senddtint,ls_empid,arg_msg,True)
IF rslt = 0 THEN
MessageBox('提示',arg_msg, Information!, OK! )
ELSE
wf_dw_retrieve_innermsg_rev()
END IF
RETURN 1
END IF
/////////////////////// //
// rowfocuschanged
dw_list.ScrollToRow(row)
END IF
END IF
///////////////////////////////////// //回执
s_email_set s_parm_huizi
String ls_msg
IF This.DataObject = 'dw_email_view_msg' THEN
IF dw_list.Object.mailtype[dw_list.GetRow()] = "收件" THEN
ll_mailid = Long(dw_list.Object.id[dw_list.GetRow()])
SELECT NTFlag Into :ll_NTFlag From u_email_msg Where id = :ll_mailid Using fj_tran;
IF ll_NTFlag = 1 THEN
s_parm_huizi.id = dw_list.Object.id[dw_list.GetRow()]
s_parm_huizi.mailid = dw_list.Object.mailid[dw_list.GetRow()]
IF wf_ds_get_mail_set(s_parm_huizi.mailid, s_parm_huizi, ls_msg) <> 1 THEN
RETURN
END IF
s_parm_huizi.flag = 1
s_parm_huizi.revuser = dw_list.Object.senduser[dw_list.GetRow()]
s_parm_huizi.revaddress = dw_list.Object.sendaddress[dw_list.GetRow()]
s_parm_huizi.relid = dw_list.Object.id[dw_list.GetRow()]
s_parm_huizi.reltype = 3
s_parm_huizi.Subject = " " //带主题
// s_parm_huizi.mailid = 0
// s_parm_huizi.mailuser = tv_data_move.c_string
// s_parm_huizi.mailAddress = tv_data_move.d_string
// s_parm_huizi.revaddress = dw_list.Object.sendman[dw_list.GetRow()]
OpenWithParm(w_email_huizi,s_parm_huizi)
// messagebox("","需要回执")
END IF
END IF
END IF
//////////////////////////////////// //回执
//if (dw_list.dataobject = 'dw_email_view_rev') and (dwo.Name = 'filename') and row > 0 then
// if dw_list.object.mailtype[row] = 0 then
// wf_set_read(row)
// else
// wf_set_unread(row)
// end if
// return 1
//end if
//THIS.SetRow(row)
//
//
end event
event buttonclicked;call super::buttonclicked;//Long rslt = 1,ls_msgid ,ls_empid,ls_senddtint
//String arg_msg
//IF (cur_set.mailid = -1 and cur_set.viewtype = 1) and dwo.Name = 'bt_deal' AND row > 0 THEN
// IF MessageBox ("IF","是否确定要确认当前消息记录?"+' '+String(this.Object.sys_admsgmx_s_msgtitle[row]),Question!,YesNo! ) = 2 THEN RETURN
// ls_msgid = this.Object.sys_admsgmx_msgid[row]
// ls_empid = this.Object.sys_admsgmx_empid[row]
// ls_senddtint = this.Object.sys_admsgmx_senddtint[row]
//
// uo_transmsg uo_itransmsg
//
// rslt = uo_itransmsg.f_redeal_admsg(ls_msgid,ls_senddtint,ls_empid,arg_msg,TRUE)
// IF rslt = 0 THEN
// MessageBox('提示',arg_msg, Information!, OK! )
// ELSE
// wf_retrieve()
// END IF
//END IF
//
//
end event
type cb_1 from uo_imflatbutton within w_email_view
event ue_set_email_move ( )
integer x = 1317
integer width = 176
integer height = 163
integer taborder = 40
boolean bringtotop = true
string text = "设置"
string normalpicname = "imexport.bmp"
integer picsize = 16
toolbaralignment pic_align = alignattop!
boolean border = false
end type
event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
String menustr
menustr = "Text=设置签名~tEvent=ue_set_signature"
menustr = menustr + "|" + "Text=设置客户资料~tEvent=ue_set_cust"
menustr = menustr + "|" + "Text=设置收件分类~tEvent=ue_set_email_move"
menustr = menustr + "|" + "Text=设置自动收件时间间隔~tEvent=ue_autorev"
menustr = menustr + "|" + "Text=邮件短信接收人自定义分组~tEvent=ue_rep_group"
IF len(Trim(menustr)) <> 0 THEN
dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
dmPopupMenu.mf_BuildMenu(THIS, menustr)
dmPopupMenu.mf_PopMenu()
DESTROY dmPopupMenu
END IF
end event
type st_del from uo_text_m_main within w_email_view
boolean visible = false
integer x = 1953
integer y = 109
integer width = 230
integer height = 51
boolean bringtotop = true
integer textsize = -9
string text = "确认信息"
end type
event clicked;call super::clicked;parent.triggerevent('ue_msg_del')
end event
event constructor;call super::constructor;this.backcolor = 14215660
end event
type p_del from picture within w_email_view
boolean visible = false
integer x = 1872
integer y = 96
integer width = 73
integer height = 64
boolean bringtotop = true
boolean originalsize = true
string picturename = "graphics\ok.bmp"
boolean focusrectangle = false
end type
event clicked;st_del.triggerevent(clicked!)
end event
type cbx_showmeredeal from checkbox within w_email_view
boolean visible = false
integer x = 2216
integer y = 109
integer width = 534
integer height = 51
integer taborder = 80
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
long backcolor = 16777215
string text = "只显示待确认消息"
boolean checked = true
end type
event clicked;IF This.Checked THEN
ls_dealflag = 0
ELSE
ls_dealflag = -1
END IF
wf_retrieve()
end event
event constructor;this.backcolor = 14215660
end event
type cb_viewbill from commandbutton within w_email_view
boolean visible = false
integer x = 2790
integer y = 83
integer width = 311
integer height = 83
integer taborder = 70
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
string text = "查看单据"
end type
event clicked;parent.triggerevent('ue_viewbill_msg')
end event
type cb_view_his from commandbutton within w_email_view
boolean visible = false
integer x = 3141
integer y = 83
integer width = 311
integer height = 83
integer taborder = 80
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
string text = "查看历史"
end type
event clicked;parent.triggerevent('ue_msg_his')
end event
type sle_find from singlelineedit within w_email_view
event keydown pbm_keydown
integer x = 2055
integer y = 58
integer width = 640
integer height = 90
integer taborder = 20
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
end type
event keydown;IF Key = keyenter! THEN
cb_find.trigger event clicked()
end if
end event
type cb_find from uo_imflatbutton within w_email_view
integer x = 2710
integer y = 48
integer width = 304
integer height = 99
integer taborder = 40
boolean bringtotop = true
string text = "查找"
string normalpicname = "PREVIEW.BMP"
integer picsize = 16
end type
event clicked;call super::clicked;String ls_date
IF Trim(sle_find.Text) = "" THEN RETURN
ls_date = "'%" + Trim(sle_find.Text) + "%'"
//dw_list.SetFilter("subject like '%" + ls_date + "%' " )
ls_date = "(subject like " + ls_date + ") or (sendman like " + ls_date + ")" + " or (revman like " + ls_date + ")"
dw_list.SetFilter( ls_date)
dw_list.Filter()
dw_list.SetFilter("")
end event
type ddlb_1 from dropdownlistbox within w_email_view
integer x = 3229
integer y = 61
integer width = 260
integer height = 278
integer taborder = 90
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
string item[] = {"全部","已发","未发"}
borderstyle borderstyle = stylelowered!
end type
event constructor;//this.enabled = false
this.text = '全部'
end event
event selectionchanged;IF THIS.TEXT ='已发' then
cur_send = 1
elseif THIS.TEXT ='未发' then
cur_send =0
else
cur_send = -1
end if
wf_dw_retrieve_smssend()
end event
type em_3 from editmask within w_email_view
integer x = 3021
integer y = 58
integer width = 187
integer height = 83
integer taborder = 30
boolean bringtotop = true
integer textsize = -9
integer weight = 400
fontcharset fontcharset = gb2312charset!
fontpitch fontpitch = variable!
string facename = "宋体"
long textcolor = 33554432
long backcolor = 16777215
string text = "100"
alignment alignment = right!
borderstyle borderstyle = stylelowered!
string mask = "##0"
string minmax = "0~~"
end type
Start of PowerBuilder Binary Data Section : Do NOT Edit
0Fw_email_view.bin
2800000a00e011cfd0e11ab1a1000000000000000000000000000000000003003e0009fffe000000060000000000000000000000010000000100000000000010000000000200000001fffffffe0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffefffffffefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006f00520074006f004500200074006e00790072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050016ffffffffffffffff000000010000000000000000000000000000000000000000000000000000000018577f8001d20f3000000003000001800000000000500003004f0042005800430054005300450052004d0041000000000000000000000000000000000000000000000000000000000000000000000000000000000102001affffffff00000002ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c00000000004200500043004f00530058004f00540041005200450047000000000000000000000000000000000000000000000000000000000000000000000000000000000001001affffffffffffffff000000038856f96111d0340ac0006ba9a205d74f0000000018577f8001d20f3018577f8001d20f30000000000000000000000000004f00430054004e004e00450053005400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001020012ffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000030000009c000000000000000100000002fffffffe0000000400000005fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
24ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000004c00001d8f0000187f0000000000000000000000000000000000000000000000000000004c0000000000000000000000010057d0e011cf3573000869ae62122e2b00000008000000000000004c0002140100000000000000c0460000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c00001d8f0000187f0000000000000000000000000000000000000000000000000000004c0000000000000000000000010057d0e011cf3573000869ae62122e2b00000008000000000000004c0002140100000000000000c0460000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1Fw_email_view.bin
End of PowerBuilder Binary Data Section : No Source Expected After This Point