📄 demodlg.cpp
字号:
count = ret_l.getCount();
for (int i=0; i<count; i++)
{
CMSGResult* r = ret_l.getItem(i);
if (!r) continue;
r->restort_submit();
if (!r->SENDERR && !r->UNGETRESP)
AfxMessageBox("OK");
else
{
CString str;
str.Format("发送错误\n错误个数 :%d\n 没有回应个数: %d",r->SENDERR,r->UNGETRESP);
AfxMessageBox(str);
}
}
}
*/
void CDemoDlg::OnBtnLongSub()
{
// TODO: Add your control notification handler code here
int err = 0;
CString str;
UpdateData();
// CMSGResult* ret;
CMPP_SUBMIT sb_l; //长短信
strcpy((char*)sb_l.sSrcId , m_src);
strcpy((char*)sb_l.sDestTerminalId , m_dest);
strcpy((char*)sb_l.sMsgSrc , m_strSpid);//
strcpy((char*)sb_l.sServiceId,m_serviceid);
strcpy((char*)sb_l.sFeeType , m_feetype);
strcpy((char*)sb_l.sFeeCode , m_feecode);
strcpy((char*)sb_l.nFeeTerminaleId , m_feenumber);
strcpy((char*)sb_l.sAtTime,m_attime);
strcpy((char*)sb_l.sDestTerminalId , m_dest);
sb_l.cRegisteredDelivery = 1; //返回状态报告,非1则没有任何状态返回
sb_l.cMsgFmt = 0x08;
sb_l.cTpUdhi = 1;
ConfigTimeLSubmitTime(200);
// str.Format("%s",m_content.GetBuffer(0));
// AfxMessageBox(str);
int msgcount = Cmpp_submit(&sb_l,m_content.GetBuffer(0),m_content.GetLength(),ret);
if(msgcount <=0 )
{
AfxMessageBox("发送过程出现异常!");
str.Format("发送错误:%d",msgcount);
AfxMessageBox(str);
return;
}
else
{
str.Format("分割成的子短信数目%d",msgcount);
AfxMessageBox(str);
}
CString errStr ="123456" ; //错误字符串
errStr.Format("%d",ret->getCount());
AfxMessageBox(errStr);
err = Cmpp_query(ret,&errStr);
if(err<0)
{
AfxMessageBox("尚未接收到返回信息");
return ;
}
if(ret->SENDERR!=0||ret->UNGETRESP!=0)
{
str.Format("发送错误\n错误个数 :%d\n 没有回应个数: %d\n",ret->SENDERR,ret->UNGETRESP);
AfxMessageBox(str+errStr);
}
else
{
AfxMessageBox("OK");
}
}
void CDemoDlg::OnBtnQuery()
{
// TODO: Add your control notification handler code here
CMPP_QUERY qy;
CMPP_QUERY_RESP resp;
CString str;
CTime time = CTime::GetCurrentTime();
strcpy((char*)qy.sTime,time.Format("%Y%m%d"));
int err = Cmpp_queryA(&qy,&resp);
if(err<0)
{
AfxMessageBox("查询失败");
return;
}
str.Format("MT_TLMsg:%d\n MT_Tlusr:%d\n MT_Scs%d\n MT_WT:%d\n MT_FL:%d\n MO_Scs:%d\n MO_WT:%d\n",
resp.nMTTLMsg, //
resp.nMTTlusr, //
resp.nMTScs,
resp.nMTWT,
resp.nMTFL,
resp.nMOScs,
resp.nMOWT
);
AfxMessageBox(str);
}
/*
void CDemoDlg::OnBtnLongQuery()
{
//TODO: Add your control notification handler code here
int count = 0;
Cmpp_query_report(ret_l,int count);
//int count = ret_l[0].getCount();
for (int i=0; i<count; i++)
{
CMSGResult* r = ret_l.getItem(i);
r->restort_deliver();
if (!r) continue;
CString strTmp;
strTmp.Format("DELIVRD:%d\n EXPIRED:%d\n DELETED%d\n ACCEPTD:%d\n UNKNOWN:%d\n REJECTD:%d\n UNDELIV%d\nUNGETDLV: %d\n",
r->DELIVRD, //
r->EXPIRED, //
r->DELETED,
r->ACCEPTD,
r->UNKNOWN,
r->REJECTD,
r->UNDELIV,
r->UNGETDLV
);
AfxMessageBox(strTmp);
}
}
*/
void CDemoDlg::OnBtnLongQuery()
{
//TODO: Add your control notification handler code here
//CMSGResult* ret;
unsigned char curMsgID[8]={0};
strcpy((char*)curMsgID,(char*)Cmpp_GetMsgID());
Cmpp_query_report(ret);
CString strTmp;
strTmp.Format("DELIVRD:%d\n EXPIRED:%d\n DELETED%d\n ACCEPTD:%d\n UNKNOWN:%d\n REJECTD:%d\n UNDELIV%d\nUNGETDLV: %d\n",
ret->DELIVRD, //
ret->EXPIRED, //
ret->DELETED,
ret->ACCEPTD,
ret->UNKNOWN,
ret->REJECTD,
ret->UNDELIV,
ret->UNGETDLV
);
AfxMessageBox(strTmp);
}
void CDemoDlg::OnBtnCancel()
{
// TODO: Add your control notification handler code here
//char* msgid;
int err;
CString str;
unsigned char result =-1;
unsigned char curMsgID[8]={0};
//strcpy((char*)MsgID,(char*)msgid);
strcpy((char*)curMsgID,(char*)Cmpp_GetMsgID());
err = Cmpp_cancel(curMsgID,&result);
if(result ==0||result == 255)
AfxMessageBox("删除当前短信成功!");
else
AfxMessageBox("删除当前短信失败!");
}
void CDemoDlg::OnBtnLongCancel()
{
// TODO: Add your control notification handler code here
int err;
CString str;
unsigned char result =-1;
unsigned char curMsgID[8]={0};
strcpy((char*)curMsgID,(char*)Cmpp_GetMsgID());
err = Cmpp_cancel(curMsgID,&result);
if(result ==0||result == 255)
AfxMessageBox("删除当前短信成功!");
else
AfxMessageBox("删除当前短信失败!");
}
void CDemoDlg::OnBtnCheckDeliver()
{
// TODO: Add your control notification handler code here
int ret;
ret = Cmpp_Check_Deliver(20);
CString strTmp;
strTmp.Format("Deliver Count(%d)",ret);
AfxMessageBox(strTmp);
}
void CDemoDlg::OnBtnGetDeliver()
{
// TODO: Add your control notification handler code here
CMPP_DELIVER dev;
int err = Cmpp_Get_Deliver(&dev);
CString strTmp;
char msgid[100],serviceid[100];
char tppid[100],tpudhi[100],msgfmt[100],srcnumber[100];
char delivery[100],msglen[100],msgcontent[400];
char LinkID[100];
printf("\nRecieve Data.\n");
//memcpy((void *)dev.LinkID,(void *)(dev.msgcontent+dev.msglen),20);
dev.sMsgContent[dev.cMsgLen]=0x0;
//dev.nMsgId
//dev.deliver.LinkID[20]='\0';
//printf(" Size: %d\n",ntohl(pkg.head.size));
//printf(" cmdid: %d\n",ntohl(pkg.head.cmdid));
//printf(" seqid: %d\n",ntohl(pkg.head.seqid));
sprintf(msgid," msgid: %s\n",dev.nMsgId);
sprintf(serviceid," serviceid : %s\n",dev.sServiceId );
sprintf(tppid," tppid: %d\n",dev.cTpPid);
sprintf(tpudhi," tpudhi: %d\n",dev.cTpUdhi);
sprintf(msgfmt," msgfmt: %d\n",dev.cMsgFmt);
sprintf(srcnumber," srcnumber : %s\n",dev.sSrcTermId );
//sprintf(srctype," srctype: %d\n",dev.);
sprintf(delivery," delivery: %d\n",dev.cRegisteredDelivery);
sprintf(msglen," msglen: %d\n",dev.cMsgLen);
sprintf(msgcontent," msgcontent: %s\n",dev.sMsgContent);
sprintf(LinkID," Reserve : %s\n",dev.sReserve);
strTmp.Format(" GetDeliver err(%d)\n%s%s%s%s%s%s%s%s%s%s",err,
msgid,serviceid,tppid,
tpudhi,msgfmt,srcnumber,
delivery,msglen,msgcontent,LinkID);
AfxMessageBox(strTmp);
}
void CDemoDlg::OnChangeEditContent()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData();
CString str;
str.Format("Content(%d)",m_content.GetLength());
GetDlgItem(IDC_STATIC_CONTENT)->SetWindowText(str);
}
//DEL void CDemoDlg::OnButtonResend()
//DEL {
//DEL // TODO: Add your control notification handler code here
//DEL //ret_l.getErrSerialArray();
//DEL /* Cmpp_ResendA(&sb_l,&ret_l,&map_l);
//DEL char* pdata = 0;
//DEL
//DEL for (int i=0; i<map_l.getCount(); i++)
//DEL {
//DEL pdata = map_l.getMapContent(i);
//DEL AfxMessageBox(pdata);
//DEL }*/
//DEL }
void CDemoDlg::OnButtonResend()
{
// TODO: Add your control notification handler code here
//ret_l.getErrSerialArray();
CMPP_SUBMIT sb; //短信发送体
CString str;
sb.cRegisteredDelivery = 1; //返回状态报告
strcpy((char*)sb.sSrcId , m_src); //业务ID
strcpy((char*)sb.sMsgSrc ,m_strSpid ); //服务ID
strcpy((char*)sb.sServiceId,m_serviceid); //SERVICE_ID
strcpy((char*)sb.sFeeType , m_feetype); //收费类型
strcpy((char*)sb.sFeeCode , m_feecode); //收费代码
strcpy((char*)sb.nFeeTerminaleId , m_feenumber);
strcpy((char*)sb.sAtTime, m_attime);
strcpy((char*)sb.sDestTerminalId , m_dest); //终端号码
int msgcount = Cmpp_Resend(&sb,ret,true);
if(msgcount<0)
{
str.Format("重发失败%d",msgcount);
AfxMessageBox(str);
return;
}
else
{
str.Format("重发条数:%d",msgcount);
AfxMessageBox(str);
}
CString errStr=""; //错误字符串
int err = Cmpp_query(ret,&errStr);
if(err<0)
{
AfxMessageBox("尚未接收到返回信息");
return ;
}
if(ret->SENDERR!=0||ret->UNGETRESP!=0)
{
str.Format("发送错误\n错误个数 :%d\n 没有回应个数: %d\n",ret->SENDERR,ret->UNGETRESP);
AfxMessageBox(str+errStr);
}
else
{
AfxMessageBox("OK");
}
}
void CDemoDlg::OnButton1()
{
// TODO: Add your control notification handler code here
}
void CDemoDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CDialog::OnClose();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -