📄 function.cpp
字号:
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," . . ");
if((bData&0x30)==0) {
strcat(Str,"00. . . . ,去话半回声控制装置请求无信息");
}
else if((bData&0x30)==16) {
strcat(Str,"01. . . . ,去话半回声控制装置激活请求");
}
else if((bData&0x30)==32) {
strcat(Str,"10. . . . ,去话半回声控制装置去活请求");
}
else {
strcat(Str,"11. . . . ,备用");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str,"");
if((bData&0xc0)==0) {
strcat(Str,"00. . . . . . ,来话半回声控制装置请求无信息");
}
else if((bData&0xc0)==0x40) {
strcat(Str,"01. . . . . . ,来话半回声控制装置激活请求");
}
else if((bData&0xc0)==0x80) {
strcat(Str,"10. . . . . . ,来话半回声控制装置去活请求");
}
else {
strcat(Str,"11. . . . . . ,备用");
}
if(YOrNTxt==true)
strcat(word1_TotalDataStr,Str);
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
return(nDrawY);
}
/****************************************************************************
* *
* FUNCTION : DrawCMINFOStr(BYTE) *
* PURPOSE : Get One Byte Data's Str
*
****************************************************************************/
int DrawCMINFOStr(CMsgText& msgText,BYTE bData,int nDrawX,int nDrawY,int DltY,float PtRate,bool YOrNTxt)
{
char Str[70];
strcpy(word1_TotalDataStr,"");
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
nDrawY+=DltY;
strcpy(Str," . . . . . ");
if((bData&0x07)==0) {
strcat(Str,"000,预定任选不知道");
}
else if((bData&0x07)==1) {
strcat(Str,"001,提供不允许预定任选");
}
else if((bData&0x07)==2) {
strcat(Str,"010,提供允许预定任选,带有改发号码");
}
else if((bData&0x07)==3) {
strcat(Str,"011,提供允许预定任选,不带有改发号码");
}
else {
strcat(Str,"XXX,备用");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," . ");
if((bData&0x78)==0) {
strcat(Str,"0000. . . ,该发原因不知道");
}
else if((bData&0x78)==0x08) {
strcat(Str,"0001. . . ,该发原因为用户忙");
}
else if((bData&0x78)==0x10) {
strcat(Str,"0010. . . ,该发原因为无应答");
}
else if((bData&0x78)==0x18) {
strcat(Str,"0011. . . ,该发原因为无条件");
}
else if((bData&0x78)==0x20) {
strcat(Str,"0100. . . ,该发原因为在提示期间转向");
}
else if((bData&0x78)==0x28) {
strcat(Str,"0101. . . ,该发原因为转向立即响应");
}
else if((bData&0x78)==0x30) {
strcat(Str,"0110. . . ,该发原因为移动用户不可到达");
}
else {
strcat(Str,"XXXX. . . ,备用");
}
if(YOrNTxt==true)
strcat(word1_TotalDataStr,Str);
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
return(nDrawY);
}
/****************************************************************************
* *
* FUNCTION : DrawREDNLITStr(BYTE) *
* PURPOSE : Get One Byte Data's Str
*
****************************************************************************/
int DrawREDNLITStr(CMsgText& msgText,BYTE bData,int nDrawX,int nDrawY,int DltY,float PtRate,bool YOrNTxt)
{
char Str[70];
strcpy(word1_TotalDataStr,"");
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
nDrawY+=DltY;
strcpy(Str," . . . . . . ");
if((bData&0x03)==0) {
strcat(Str,"00,提供允许");
}
else if((bData&0x07)==1) {
strcat(Str,"01,提供限制");
}
else if((bData&0x07)==2) {
strcat(Str,"10,备用");
}
else {
strcat(Str,"11,备用");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," XXXXXX. . 备用");
if(YOrNTxt==true)
strcat(word1_TotalDataStr,Str);
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
return(nDrawY);
}
/****************************************************************************
* *
* FUNCTION : DrawEVINStr(BYTE) *
* PURPOSE : Get One Byte Data's Str
*
****************************************************************************/
int DrawEVINStr(CMsgText& msgText,BYTE bData,int nDrawX,int nDrawY,int DltY,float PtRate,bool YOrNTxt)
{
char Str[70];
strcpy(word1_TotalDataStr,"");
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
nDrawY+=DltY;
strcpy(Str," . ");
if((bData&0x7f)==1) {
strcat(Str,"0000001,去话半回声控制装置响应:提示");
}
else if((bData&0x7f)==2) {
strcat(Str,"0000010,去话半回声控制装置响应:进展");
}
else if((bData&0x7f)==3) {
strcat(Str,"0000011,去话半回声控制装置响应:带内信息或适当的码型现在可用");
}
else if((bData&0x7f)==4) {
strcat(Str,"0000100,去话半回声控制装置响应:遇忙呼叫前向转移");
}
else if((bData&0x7f)==5) {
strcat(Str,"0000101,去话半回声控制装置响应:无应答呼叫前向转移");
}
else if((bData&0x7f)==6) {
strcat(Str,"0000101,去话半回声控制装置响应:无条件呼叫前向转移");
}
else {
strcat(Str,"XXXXXXX,备用");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str,"");
if((bData&0x78)==0) {
strcat(Str,"0. . . . . . . ,事件提供限制无指示");
}
else {
strcat(Str,"1. . . . . . . ,事件提供限制");
}
if(YOrNTxt==true)
strcat(word1_TotalDataStr,Str);
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
return(nDrawY);
}
/****************************************************************************
* *
* FUNCTION : DrawMCIDREQIStr(BYTE) *
* PURPOSE : Get One Byte Data's Str
*
****************************************************************************/
int DrawMCIDREQIStr(CMsgText& msgText,BYTE bData,int nDrawX,int nDrawY,int DltY,float PtRate,bool YOrNTxt)
{
char Str[70];
strcpy(word1_TotalDataStr,"");
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
nDrawY+=DltY;
strcpy(Str," . . . . . . . ");
if((bData&0x01)==0) {
strcat(Str,"0, MCID未请求");
}
else {
strcat(Str,"1, MCID请求");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," . . . . . . ");
if((bData&0x02)==0) {
strcat(Str,"0. , 保持未请求");
}
else {
strcat(Str,"1. , 保持请求");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," XXXXXX. . 备用");
if(YOrNTxt==true)
strcat(word1_TotalDataStr,Str);
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
return(nDrawY);
}
/****************************************************************************
* *
* FUNCTION : DrawMCIDRESIStr(BYTE) *
* PURPOSE : Get One Byte Data's Str
*
****************************************************************************/
int DrawMCIDRESIStr(CMsgText& msgText,BYTE bData,int nDrawX,int nDrawY,int DltY,float PtRate,bool YOrNTxt)
{
char Str[70];
strcpy(word1_TotalDataStr,"");
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
nDrawY+=DltY;
strcpy(Str," . . . . . . . ");
if((bData&0x01)==0) {
strcat(Str,"0, MCID未包括");
}
else {
strcat(Str,"1, MCID包括");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," . . . . . . ");
if((bData&0x02)==0) {
strcat(Str,"0. , 保持未提供");
}
else {
strcat(Str,"1. , 保持提供");
}
if(YOrNTxt==true)
{strcat(word1_TotalDataStr,Str);
strcat(word1_TotalDataStr,"\r\n");
strcat(word1_TotalDataStr," ");}
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
nDrawY+=DltY;
strcpy(Str," XXXXXX. . 备用");
if(YOrNTxt==true)
strcat(word1_TotalDataStr,Str);
else
msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
return(nDrawY);
}
/****************************************************************************
* *
* FUNCTION : GetISUPStr(BYTE) *
* PURPOSE : Get One Byte Data's Str
*
****************************************************************************/
void GetISUPStr(BYTE Data)
{
BYTE Value=Data;
strcpy(DataStr,"");
switch(MsgKind) {
case 1: //IAM
switch(MsgFKind+1) {
case 3://// CLGPC
Value=Data;
GetISUPCLGPCStr(Value);
break;
case 4://TRMRQ
Value=Data;
sprintf(DataStr,"传输媒介要求:");
switch(Value) {
case 0:
strcat(DataStr," 语言");
break;
case 1:
strcat(DataStr," 备用");
break;
case 2:
strcat(DataStr," 64kb/s不受限");
break;
case 3:
strcat(DataStr," 3. 1KHZ音频");
break;
case 4:
strcat(DataStr," 语音(业务2)/64kb/s不受限(业务1)交替(备用)");
break;
case 5:
strcat(DataStr," 64kb/s不受限(业务1)/语音(业务2)交替(备用)");
break;
case 6:
strcat(DataStr," 64kb/s优选");
break;
case 7:
strcat(DataStr," 2*64kb/s不受限");
break;
case 8:
strcat(DataStr," 384kb/s不受限");
break;
case 10:
strcat(DataStr," 1920kb/s不受限");
break;
default:
strcat(DataStr," 备用");
break;
}
break;
case 5://Ptr2
sprintf(DataStr," 可变项指针1");
break;
case 6://Ptr2
sprintf(DataStr," 任选项指针2");
break;
case 7://CALNOLI
sprintf(DataStr," 被叫用户号码长度");
break;
case 8://CALADDRIN
Value=(Data>>1);
GetISUPAddrinStr(Value);
break;
case 9://CALO/E
Value=(Data>>7);
GetISUPAddrOEStr(Value);
break;
case 10://CALCODE
Value=(Data>>5);
GetISUPAddrCodeStr(Value);
break;
case 11://CALINN
Value=(Data>>7);
GetISUPAddrINNStr(Value);
break;
case 12://CALADDR
strcpy(DataStr," 被叫用户号码的地址信号");
break;
case 13://TNSN
sprintf(DataStr," 转接网选择表示语");
break;
case 14://TNSNLI
sprintf(DataStr," 转接网选择长度");
break;
case 15://TNIDPLAN
Value=(Data>>4);
sprintf(DataStr," 网络识别计划");
switch(Value) {
case 0:
strcat(DataStr," 未知");
break;
case 3:
strcat(DataStr," 公用数据网识别码");
break;
case 6:
strcat(DataStr," 公用陆地移动网识别码");
break;
default:
strcat(DataStr," 备用");
break;
}
break;
case 16://TNIDTYPE
Value=(Data>>5);
sprintf(DataStr," 网络识别类型");
switch(Value) {
case 0:
strcat(DataStr," CCITT标准化识别");
break;
case 2:
strcat(DataStr," 国内网识别");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -