⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspdetailmap.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
						 strcpy(Str2,"");
						 for(J=0;J<Len3%15;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							 Num=8;
							 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
							 strcat(Str2,DataStr);
							 strcat(Str2," ");
						 }
							strcpy(Str,Str2);
							strcat(Str," ");
							GetMapFieldStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
							{strcat(detailmap_TotalDataStr,Str);
							strcat(detailmap_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							nDrawY+=DltY;
							
					 }
					break;
				case 8://MsisdnAddrin
				case 42://ForwardToAddrin
				case 60://ForwardToV2Addrin
					ShowType=INSSUBDATA_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,INSSUBDATA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 号码地址性质表示语");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY=DrawMAPADDRINStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(detailmap_TotalDataStr,word1_TotalDataStr);
						strcat(detailmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				case 39://SS_Status *
					ShowType=INSSUBDATA_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,INSSUBDATA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," SS状态码");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY=DrawMAPSS_STATUSStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(detailmap_TotalDataStr,word1_TotalDataStr);
						strcat(detailmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;	
				case 46://ForwardOption
					ShowType=INSSUBDATA_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,INSSUBDATA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 前转选择");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY=DrawMAPForwardOptStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(detailmap_TotalDataStr,word1_TotalDataStr);
						strcat(detailmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				}
			}
			break;	
		case 5:         //DELSUBDATA
			if(MsgFKind<26) {
					strcpy(Str,DELSUBDATA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					ShowType=DELSUBDATA_FieldCrit[MsgFKind][3];
					 if(Len3<MAX_LEN_OF_DETAILSHOW)
					 {
						 strcpy(Str2,"");
						 for(J=0;J<Len3;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							 Num=8;
							 if(J==(Len2/8))
								Num=Len2%8;
							 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
							 if(!bEnd) {
								sprintf(Str2,"?: %02Xh",bData);
								I+=(Len3-1-J);
								break;
							 }
							 strcat(Str2,DataStr);
						 }
						if(ShowType==1)
							sprintf(Str,": %sb",Str2);
						else {
							if(ShowType==2)
								sprintf(Str,": %sh",Str2);
							else  sprintf(Str,": %s",Str2);
						}
						strcat(Str,"   ");
						GetMapFieldStr(bData);
						strcat(Str,DataStr);
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						{strcat(detailmap_TotalDataStr,Str);
						strcat(detailmap_TotalDataStr,"\r\n");}
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						nDrawY+=DltY;
						
					 }
					 else
					 {
						ShowType=2;		//HEX
						 for(K=0;K<Len3/15;++K) {
							 strcpy(Str2,"");
							 for(J=0;J<15;++J) {
								 bData=BUFDISPLAY[I];
								 I++;
								 Num=8;
								 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
								 strcat(Str2,DataStr);
								 strcat(Str2," ");
							 }
							nDrawX+=DeltaX;
							strcpy(Str,Str2);
							if(YOrNTxt==true)
							{strcat(detailmap_TotalDataStr,Str);
							strcat(detailmap_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							nDrawY+=DltY;
							nDrawX-=DeltaX;
							
						 }
						 strcpy(Str2,"");
						 for(J=0;J<Len3%15;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							 Num=8;
							 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
							 strcat(Str2,DataStr);
							 strcat(Str2," ");
						 }
							strcpy(Str,Str2);
							strcat(Str," ");
							GetMapFieldStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
							{strcat(detailmap_TotalDataStr,Str);
							strcat(detailmap_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							
							nDrawY+=DltY;
					 }
			}
			break;	
		case 6:         //SENDPARA
			if(MsgFKind<135) {
				switch(MsgFKind+1) {
				default:
					strcpy(Str,SENDPARA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					ShowType=SENDPARA_FieldCrit[MsgFKind][3];
					 if(Len3<MAX_LEN_OF_DETAILSHOW)
					 {
						 strcpy(Str2,"");
						 for(J=0;J<Len3;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							 Num=8;
							 if(J==(Len2/8))
								Num=Len2%8;
							 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
							 if(!bEnd) {
								sprintf(Str2,"?: %02Xh",bData);
								I+=(Len3-1-J);
								break;
							 }
							 strcat(Str2,DataStr);
						 }
						if(ShowType==1)
							sprintf(Str,": %sb",Str2);
						else {
							if(ShowType==2)
								sprintf(Str,": %sh",Str2);
							else  sprintf(Str,": %s",Str2);
						}
						strcat(Str,"   ");
						GetMapFieldStr(bData);
						strcat(Str,DataStr);
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						{strcat(detailmap_TotalDataStr,Str);
						strcat(detailmap_TotalDataStr,"\r\n");}
						 else
						 msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												
						nDrawY+=DltY;
					 }
					 else
					 {
						ShowType=2;		//HEX
						 for(K=0;K<Len3/15;++K) {
							 strcpy(Str2,"");
							 for(J=0;J<15;++J) {
								 bData=BUFDISPLAY[I];
								 I++;
								 Num=8;
								 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
								 strcat(Str2,DataStr);
								 strcat(Str2," ");
							 }
							nDrawX+=DeltaX;
							strcpy(Str,Str2);
							if(YOrNTxt==true)
							{strcat(detailmap_TotalDataStr,Str);
							strcat(detailmap_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							nDrawY+=DltY;
							nDrawX-=DeltaX;
							
						 }
						 strcpy(Str2,"");
						 for(J=0;J<Len3%15;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							 Num=8;
							 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
							 strcat(Str2,DataStr);
							 strcat(Str2," ");
						 }
							strcpy(Str,Str2);
							strcat(Str," ");
							GetMapFieldStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
							{strcat(detailmap_TotalDataStr,Str);
							strcat(detailmap_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							
							nDrawY+=DltY;
					 }
					break;
				case 24://MsisdnAddrin
				case 76://ForwardToV2Addrin
					ShowType=SENDPARA_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,SENDPARA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 号码地址性质表示语");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY=DrawMAPADDRINStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(detailmap_TotalDataStr,word1_TotalDataStr);
						strcat(detailmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				case 55://SS_Status *
					ShowType=SENDPARA_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,SENDPARA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," SS状态码");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY=DrawMAPSS_STATUSStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(detailmap_TotalDataStr,word1_TotalDataStr);
						strcat(detailmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;	
				case 62://ForwardOption
					ShowType=SENDPARA_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,SENDPARA_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 前转选择");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY=DrawMAPForwardOptStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(detailmap_TotalDataStr,word1_TotalDataStr);
						strcat(detailmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				}
			}
			break;	
		case 7:         //REGISTSS
			if(MsgFKind<56) {
				switch(MsgFKind+1) {
				default:
					strcpy(Str,REGISTSS_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(detailmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					ShowType=REGISTSS_FieldCrit[MsgFKind][3];
					 if(Len3<MAX_LEN_OF_DETAILSHOW)
					 {
						 strcpy(Str2,"");
						 for(J=0;J<Len3;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							 Num=8;
							 if(J==(Len2/8))
								Num=Len2%8;
							 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
							 if(!bEnd) {
								sprintf(Str2,"?: %02Xh",bData);
								I+=(Len3-1-J);
								break;
							 }
							 strcat(Str2,DataStr);
						 }
						if(ShowType==1)
							sprintf(Str,": %sb",Str2);
						else {
							if(ShowType==2)
								sprintf(Str,": %sh",Str2);
							else  sprintf(Str,": %s",Str2);
						}
						strcat(Str,"   ");
						GetMapFieldStr(bData);
						strcat(Str,DataStr);
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						{strcat(detailmap_TotalDataStr,Str);
						strcat(detailmap_TotalDataStr,"\r\n");}
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						nDrawY+=DltY;
					 }
					 else
					 {
						ShowType=2;		//HEX
						 for(K=0;K<Len3/15;++K) {
							 strcpy(Str2,"");
							 for(J=0;J<15;++J) {
								 bData=BUFDISPLAY[I];
								 I++;
								 Num=8;
								 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
								 strcat(Str2,DataStr);
								 strcat(Str2," ");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -