$PBExportHeader$w_sms_send_new.srw forward global type w_sms_send_new from w_publ_base end type type cb_send from uo_imflatbutton within w_sms_send_new end type type cb_2 from uo_imflatbutton within w_sms_send_new end type type cb_4 from uo_imflatbutton within w_sms_send_new end type type mle_1 from multilineedit within w_sms_send_new end type type st_1 from statictext within w_sms_send_new end type type st_2 from statictext within w_sms_send_new end type type dw_revlist from u_dw_rbtnfilter within w_sms_send_new end type type cb_1 from uo_imflatbutton within w_sms_send_new end type type cb_3 from uo_imflatbutton within w_sms_send_new end type type cb_5 from uo_imflatbutton within w_sms_send_new end type type st_3 from statictext within w_sms_send_new end type type cb_6 from uo_imflatbutton within w_sms_send_new end type type cb_7 from uo_imflatbutton within w_sms_send_new end type type ln_bar from line within w_sms_send_new end type type ln_bar2 from line within w_sms_send_new end type type r_bar from rectangle within w_sms_send_new end type end forward global type w_sms_send_new from w_publ_base integer width = 2834 integer height = 1844 string title = "编辑短信" cb_send cb_send cb_2 cb_2 cb_4 cb_4 mle_1 mle_1 st_1 st_1 st_2 st_2 dw_revlist dw_revlist cb_1 cb_1 cb_3 cb_3 cb_5 cb_5 st_3 st_3 cb_6 cb_6 cb_7 cb_7 ln_bar ln_bar ln_bar2 ln_bar2 r_bar r_bar end type global w_sms_send_new w_sms_send_new type variables s_spring_send s_send end variables forward prototypes public function integer wf_buildmx (ref s_spring_sendmx mx[], ref string arg_msg) public subroutine wf_showsendway (long arg_sendway) end prototypes public function integer wf_buildmx (ref s_spring_sendmx mx[], ref string arg_msg);int rslt = 1 s_spring_sendmx ls_mx[] long ll_row long ll_i = 0 for ll_row = 1 to dw_revlist.RowCount() if dw_revlist.Object.revphone[ll_row] <> '' then ll_i ++ ls_mx[ll_i].revtype = dw_revlist.Object.revtype[ll_row] ls_mx[ll_i].revid = dw_revlist.Object.revid[ll_row] ls_mx[ll_i].revname = dw_revlist.Object.revname[ll_row] ls_mx[ll_i].revrep = dw_revlist.Object.revrep[ll_row] ls_mx[ll_i].revphone = dw_revlist.Object.revphone[ll_row] end if next mx = ls_mx return rslt end function public subroutine wf_showsendway (long arg_sendway);Long ll_cnt String ls_name ls_name = '' SELECT COUNT(0) INTO :ll_cnt FROM u_spring_sendway Where sendwayid = :arg_sendway; IF sqlca.SQLCode <> 0 THEN GOTO ext END IF IF ll_cnt = 0 THEN GOTO ext END IF SELECT sendwayname INTO :ls_name FROM u_spring_sendway Where sendwayid = :arg_sendway; IF sqlca.SQLCode <> 0 THEN GOTO ext END IF ext: st_3.Text = ls_name end subroutine on w_sms_send_new.create int iCurrent call super::create this.cb_send=create cb_send this.cb_2=create cb_2 this.cb_4=create cb_4 this.mle_1=create mle_1 this.st_1=create st_1 this.st_2=create st_2 this.dw_revlist=create dw_revlist this.cb_1=create cb_1 this.cb_3=create cb_3 this.cb_5=create cb_5 this.st_3=create st_3 this.cb_6=create cb_6 this.cb_7=create cb_7 this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.r_bar=create r_bar iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_send this.Control[iCurrent+2]=this.cb_2 this.Control[iCurrent+3]=this.cb_4 this.Control[iCurrent+4]=this.mle_1 this.Control[iCurrent+5]=this.st_1 this.Control[iCurrent+6]=this.st_2 this.Control[iCurrent+7]=this.dw_revlist this.Control[iCurrent+8]=this.cb_1 this.Control[iCurrent+9]=this.cb_3 this.Control[iCurrent+10]=this.cb_5 this.Control[iCurrent+11]=this.st_3 this.Control[iCurrent+12]=this.cb_6 this.Control[iCurrent+13]=this.cb_7 this.Control[iCurrent+14]=this.ln_bar this.Control[iCurrent+15]=this.ln_bar2 this.Control[iCurrent+16]=this.r_bar end on on w_sms_send_new.destroy call super::destroy destroy(this.cb_send) destroy(this.cb_2) destroy(this.cb_4) destroy(this.mle_1) destroy(this.st_1) destroy(this.st_2) destroy(this.dw_revlist) destroy(this.cb_1) destroy(this.cb_3) destroy(this.cb_5) destroy(this.st_3) destroy(this.cb_6) destroy(this.cb_7) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.r_bar) end on event resize;call super::resize;ln_bar.EndX = This.Width ln_bar2.EndX = This.Width r_bar.Width = THIS.Width mle_1.Height = This.WorkSpaceHeight() - mle_1.Y dw_revlist.Height = This.WorkSpaceHeight() - dw_revlist.Y dw_revlist.Width = This.WorkSpaceWidth() - dw_revlist.X end event event open;call super::open;s_send = Message.PowerObjectParm IF Not IsNull(s_send) THEN mle_1.Text = s_send.msg Long ll_i Long ll_row FOR ll_i = 1 To UpperBound(s_send.mx) // DONE: 添加接收列表 ll_row = dw_revlist.InsertRow(0) dw_revlist.Object.revtype[ll_row] = s_send.mx[ll_i].revtype dw_revlist.Object.revid[ll_row] = s_send.mx[ll_i].revid dw_revlist.Object.revname[ll_row] = s_send.mx[ll_i].revname dw_revlist.Object.revrep[ll_row] = s_send.mx[ll_i].revrep dw_revlist.Object.revphone[ll_row] = s_send.mx[ll_i].revphone NEXT IF s_send.sendflag = 2 THEN // 草稿 IF s_send.sendid = 0 THEN cb_exit.X = cb_4.X cb_4.Visible = False cb_7.Visible = False cb_6.Visible = False ELSE cb_exit.X = cb_7.X cb_7.Visible = False cb_6.Visible = False END IF ELSEIF s_send.sendflag = 0 Or s_send.sendflag = 1 THEN // 待发、已发 cb_6.X = cb_send.X cb_exit.X = cb_2.X cb_send.Visible = False cb_2.Visible = False cb_4.Visible = False cb_7.Visible = False mle_1.DisplayOnly = True cb_1.Visible = False cb_3.Visible = False cb_5.Visible = False ELSEIF s_send.sendflag = 3 THEN // 收件 cb_7.X = cb_send.X cb_6.X = cb_2.X cb_exit.X = cb_4.X cb_send.Visible = False cb_2.Visible = False cb_4.Visible = False END IF END IF st_1.Text = '正文('+String(Len(mle_1.Text))+')' IF s_send.sendway = 0 THEN Long ll_sendwayid SELECT TOP 1 sendwayid INTO :ll_sendwayid From u_spring_sendway; IF sqlca.SQLCode <> 0 THEN ll_sendwayid = 0 END IF s_send.sendway = ll_sendwayid END IF wf_showsendway(s_send.sendway) end event type cb_func from w_publ_base`cb_func within w_sms_send_new boolean visible = false integer x = 837 integer y = 40 integer taborder = 30 end type type cb_exit from w_publ_base`cb_exit within w_sms_send_new integer x = 823 integer width = 165 integer height = 164 integer taborder = 70 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type cb_send from uo_imflatbutton within w_sms_send_new integer width = 165 integer height = 164 integer taborder = 10 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;Int rslt = 1 uo_spring_send uo_send uo_send = Create uo_spring_send uo_send.commit_transaction = sqlca String ls_msg s_spring_send s_tmp s_tmp = s_send s_tmp.sendid = s_send.sendid s_tmp.msg = mle_1.Text s_tmp.sendway = s_send.sendway s_tmp.sendflag = 0 IF wf_buildmx(Ref s_tmp.mx, Ref ls_msg) <> 1 THEN rslt = 0 GOTO ext END IF IF UpperBound(s_tmp.mx) <= 0 THEN rslt = 0 ls_msg = '没有收件人,不能发送' GOTO ext END IF IF uo_send.uf_save(Ref s_tmp, Ref ls_msg) <> 1 THEN rslt = 0 GOTO ext END IF s_send = s_tmp ext: Destroy uo_send IF rslt = 0 THEN MessageBox('错误', ls_msg, stopsign!) ELSE MessageBox('提示', '发送成功') END IF end event type cb_2 from uo_imflatbutton within w_sms_send_new integer x = 165 integer width = 165 integer height = 164 integer taborder = 20 boolean bringtotop = true string text = "保存" string normalpicname = "SAVE.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Int rslt = 1 uo_spring_send uo_send uo_send = Create uo_spring_send uo_send.commit_transaction = sqlca String ls_msg s_spring_send s_tmp s_tmp = s_send s_tmp.sendid = s_send.sendid s_tmp.msg = mle_1.Text s_tmp.sendway = s_send.sendway IF wf_buildmx(Ref s_tmp.mx, Ref ls_msg) <> 1 THEN rslt = 0 GOTO ext END IF IF uo_send.uf_save(Ref s_tmp, Ref ls_msg) <> 1 THEN rslt = 0 GOTO ext END IF s_send = s_tmp ext: Destroy uo_send IF rslt = 0 THEN MessageBox('错误', ls_msg, stopsign!) ELSE MessageBox('提示', '保存成功') END IF end event type cb_4 from uo_imflatbutton within w_sms_send_new integer x = 329 integer width = 165 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "另存" string normalpicname = "SAVE.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Int rslt = 1 uo_spring_send uo_send uo_send = Create uo_spring_send uo_send.commit_transaction = sqlca String ls_msg s_spring_send s_tmp s_tmp = s_send s_tmp.sendid = 0 s_tmp.msg = mle_1.Text s_tmp.sendway = s_send.sendway IF wf_buildmx(Ref s_tmp.mx, Ref ls_msg) <> 1 THEN rslt = 0 GOTO ext END IF IF uo_send.uf_save(Ref s_tmp, Ref ls_msg) <> 1 THEN rslt = 0 GOTO ext END IF s_send = s_tmp ext: Destroy uo_send IF rslt = 0 THEN MessageBox('错误', ls_msg, stopsign!) ELSE MessageBox('提示', '保存成功') END IF end event type mle_1 from multilineedit within w_sms_send_new event keyup pbm_keyup integer y = 260 integer width = 1097 integer height = 1496 integer taborder = 80 boolean bringtotop = true integer textsize = -11 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean vscrollbar = true boolean autovscroll = true borderstyle borderstyle = stylelowered! end type event keyup;triggerevent('modified') end event event modified;st_1.Text = '正文('+String(Len(mle_1.Text))+')' end event type st_1 from statictext within w_sms_send_new integer y = 188 integer width = 517 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "正文" boolean focusrectangle = false end type type st_2 from statictext within w_sms_send_new integer x = 1111 integer y = 188 integer width = 517 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "发送列表" boolean focusrectangle = false end type type dw_revlist from u_dw_rbtnfilter within w_sms_send_new integer x = 1111 integer y = 260 integer width = 1705 integer height = 1496 integer taborder = 120 boolean bringtotop = true string dataobject = "dw_sms_send_new_mx" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true string cur_allowversion = "0" end type event doubleclicked;call super::doubleclicked;cb_1.TriggerEvent(Clicked!) end event event clicked;call super::clicked;IF row <= 0 THEN RETURN This.SetRow(row) IF KeyDown(keyControl!) THEN This.SelectRow(row, Not This.IsSelected(row)) ELSE This.SelectRow(0, False) This.SelectRow(row, True) END IF end event type cb_1 from uo_imflatbutton within w_sms_send_new integer x = 1682 integer y = 184 integer width = 165 integer height = 76 integer taborder = 90 boolean bringtotop = true integer weight = 700 string text = "新增" integer picsize = 16 boolean border = false end type event clicked;call super::clicked;IF s_send.sendflag <> 2 THEN RETURN Long ll_row ll_row = dw_revlist.GetRow() dw_revlist.SelectRow(0, False) Open(w_sms_send_new_ch) s_spring_send s_rslt s_rslt = Message.PowerObjectParm Long ll_i //IF IsNull(s_rslt) THEN RETURN //IF IsNull(s_rslt.mx) THEN RETURN FOR ll_i = 1 To UpperBound(s_rslt.mx) IF ll_row <= 0 THEN ll_row = dw_revlist.InsertRow(0) END IF IF Trim(dw_revlist.Object.revphone[ll_row]) <> '' THEN ll_row = dw_revlist.InsertRow(0) END IF dw_revlist.Object.revtype[ll_row] = s_rslt.mx[ll_i].revtype dw_revlist.Object.revid[ll_row] = s_rslt.mx[ll_i].revid dw_revlist.Object.revname[ll_row] = s_rslt.mx[ll_i].revname dw_revlist.Object.revrep[ll_row] = s_rslt.mx[ll_i].revrep dw_revlist.Object.revphone[ll_row] = s_rslt.mx[ll_i].revphone dw_revlist.SelectRow(ll_row, True) NEXT IF ll_row > 0 THEN dw_revlist.ScrollToRow(ll_row) END IF end event type cb_3 from uo_imflatbutton within w_sms_send_new integer x = 1851 integer y = 184 integer width = 165 integer height = 76 integer taborder = 100 boolean bringtotop = true integer weight = 700 string text = "删除" integer picsize = 16 boolean border = false end type event clicked;call super::clicked;Long ll_i FOR ll_i = dw_revlist.RowCount() To 1 Step -1 IF dw_revlist.IsSelected(ll_i) THEN dw_revlist.DeleteRow(ll_i) END IF NEXT end event type cb_5 from uo_imflatbutton within w_sms_send_new integer x = 2519 integer y = 184 integer width = 274 integer height = 76 integer taborder = 110 boolean bringtotop = true string text = "选择通道" integer picsize = 16 boolean border = false end type event clicked;call super::clicked;s_spring_sendway s_sendway Open(w_sendway_edit_ch) s_sendway = Message.PowerObjectParm IF s_sendway.sendwayid > 0 THEN s_send.sendway = s_sendway.sendwayid wf_showsendway(s_sendway.sendwayid) END IF end event type st_3 from statictext within w_sms_send_new integer x = 2089 integer y = 192 integer width = 421 integer height = 56 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 alignment alignment = right! boolean focusrectangle = false end type type cb_6 from uo_imflatbutton within w_sms_send_new integer x = 658 integer width = 165 integer height = 164 integer taborder = 60 boolean bringtotop = true string text = "转发" string normalpicname = "email_view5.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type cb_7 from uo_imflatbutton within w_sms_send_new integer x = 494 integer width = 165 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "回复" string normalpicname = "email_view4.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type ln_bar from line within w_sms_send_new long linecolor = 268435456 integer linethickness = 4 integer beginy = 172 integer endx = 3200 integer endy = 172 end type type ln_bar2 from line within w_sms_send_new long linecolor = 16777215 integer linethickness = 4 integer beginx = 14 integer beginy = 176 integer endx = 3278 integer endy = 176 end type type r_bar from rectangle within w_sms_send_new long linecolor = 16777215 integer linethickness = 4 long fillcolor = 1073741824 integer x = 969 integer y = 52 integer width = 87 integer height = 68 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_bar.beginy - 5 end event