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

📄 dspdetailisup.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				case 45:       //ECINFO
					ShowType=ISUP_CON_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							Num=8;
							if(Len2!=Len3 && J==(Len2/8))
								Num=Len2%8;
							bEnd=GetDataStr(bData,Num,ShowType);
							strcat(Str2,DataStr);
						}
					}
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_CON_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						sprintf(Str,": %sb  ",Str2);
						strcat(Str," 回声控制信息");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						nDrawY=DrawECINFOStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,word1_TotalDataStr);
						strcat(detailisup_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					break;
				case 54:       //PCINFO
					ShowType=ISUP_CON_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							Num=8;
							if(Len2!=Len3 && J==(Len2/8))
								Num=Len2%8;
							bEnd=GetDataStr(bData,Num,ShowType);
							strcat(Str2,DataStr);
						}
					}
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_CON_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						sprintf(Str,": %sb  ",Str2);
						strcat(Str," 参数兼容性信息");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						nDrawY=DrawPCINFOStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,word1_TotalDataStr);
						strcat(detailisup_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					break;
				case 77:       //REDNLIT
					ShowType=ISUP_CON_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							Num=8;
							if(Len2!=Len3 && J==(Len2/8))
								Num=Len2%8;
							bEnd=GetDataStr(bData,Num,ShowType);
							strcat(Str2,DataStr);
						}
					}
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_CON_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						sprintf(Str,": %sb  ",Str2);
						strcat(Str," 改发号码限制信息");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						nDrawY=DrawREDNLITStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,word1_TotalDataStr);
						strcat(detailisup_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					break;
				}
			}
			break;
		case 8:         //FOT
			if(MsgFKind<6) {
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_FOT_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
					}
					ShowType=ISUP_FOT_FieldCrit[MsgFKind][3];
					 if(Len3<MAX_LEN_OF_DETAILSHOW)
					 {
						 strcpy(Str2,"");
						 for(J=0;J<Len3;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
								 Num=8;
								 if(Len2!=Len3 && 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(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							if(ShowType==1)
								sprintf(Str,": %sb",Str2);
							else {
								if(ShowType==2)
									sprintf(Str,": %sh",Str2);
								else  sprintf(Str,": %s",Str2);
							}
							strcat(Str,"   ");
							GetISUPStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,Str);
						strcat(detailisup_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++;
								if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
									 Num=8;
									 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
									 strcat(Str2,DataStr);
									 strcat(Str2," ");
								}
							 }
							if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
								nDrawX+=DeltaX;
								strcpy(Str,Str2);
								if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,Str);
						strcat(detailisup_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," ");
						 }
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							strcpy(Str,Str2);
							strcat(Str," ");
							GetISUPStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,Str);
						strcat(detailisup_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							
							nDrawY+=DltY;
						}
					 }
			}
			break;

		case 9:         //ANM
			if(MsgFKind<80) {
				switch(MsgFKind+1) {
				default:
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_ANM_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
					}
					ShowType=ISUP_ANM_FieldCrit[MsgFKind][3];
					 if(Len3<MAX_LEN_OF_DETAILSHOW)
					 {
						 strcpy(Str2,"");
						 for(J=0;J<Len3;++J) {
							 bData=BUFDISPLAY[I];
							 I++;
							if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
								 Num=8;
								 if(Len2!=Len3 && 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(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							if(ShowType==1)
								sprintf(Str,": %sb",Str2);
							else {
								if(ShowType==2)
									sprintf(Str,": %sh",Str2);
								else  sprintf(Str,": %s",Str2);
							}
							strcat(Str,"   ");
							GetISUPStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,Str);
						strcat(detailisup_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++;
								if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
									 Num=8;
									 bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
									 strcat(Str2,DataStr);
									 strcat(Str2," ");
								}
							 }
							if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
								nDrawX+=DeltaX;
								strcpy(Str,Str2);
								if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,Str);
						strcat(detailisup_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," ");
						 }
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							strcpy(Str,Str2);
							strcat(Str," ");
							GetISUPStr(bData);
							strcat(Str,DataStr);
							nDrawX+=DeltaX;
							if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,Str);
						strcat(detailisup_TotalDataStr,"\r\n");}
							else
							msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
							
							nDrawY+=DltY;
						}
					 }
					break;
				case 4:       //BCLIN
					ShowType=ISUP_ANM_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					bEnd=GetDataStr(bData,Num,ShowType);
					strcat(Str2,DataStr);
					ByteNum=BUFDISPLAY[I];
					I++;
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						Num=8;
						bEnd=GetDataStr(ByteNum,Num,ShowType);
						strcat(Str2,DataStr);
						strcpy(Str,ISUP_ANM_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						if(ShowType==1)
							 sprintf(Str,": %sb",Str2);
						else {
							 if(ShowType==2)
								 sprintf(Str,": %sh",Str2);
							 else  sprintf(Str,": %s",Str2);
						}
						strcat(Str,"    后向呼叫表示语");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						Wnum=(WORD)bData;
						Wnum*=256;
						Wnum+=ByteNum;
						nDrawY=DrawBCLINStr(msgText,Wnum,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,word1_TotalDataStr);
						strcat(detailisup_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					break;
				case 7:       //OBCIN
					ShowType=ISUP_ANM_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							Num=8;
							if(Len2!=Len3 && J==(Len2/8))
								Num=Len2%8;
							bEnd=GetDataStr(bData,Num,ShowType);
							strcat(Str2,DataStr);
						}
					}
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_ANM_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						sprintf(Str,": %sb  ",Str2);
						strcat(Str," 任选后向呼叫表示语");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						nDrawY=DrawOBCINStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(detailisup_TotalDataStr,word1_TotalDataStr);
						strcat(detailisup_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					break;
				case 14:       //UUIN
					ShowType=ISUP_ANM_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
							Num=8;
							if(Len2!=Len3 && J==(Len2/8))
								Num=Len2%8;
							bEnd=GetDataStr(bData,Num,ShowType);
							strcat(Str2,DataStr);
						}
					}
					if(bDrawOK) {	//in print range except BUFDISPLAY[I];I++;
						strcpy(Str,ISUP_ANM_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						sprintf(Str,": %sb  ",Str2);
						strcat(Str," 用户至用户表示语");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(detailisup_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						
						nDrawY=D

⌨️ 快捷键说明

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