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

📄 dspdetaibssmap.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
						}
						strcat(Str2,DataStr);
					}
					strcpy(Str,Reset_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
			}
			break;	
		case 22:         //OverLoad
			if(MsgFKind<10) {
					ShowType=OverLoad_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,OverLoad_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
			}
			break;	
		case 23:         //ResetCircuit
			if(MsgFKind<10) {
				switch(MsgFKind+1) {
				default:
					ShowType=ResetCircuit_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,ResetCircuit_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
					break;
				case 5://	CIC
					ShowType=ResetCircuit_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					if(Len3==2) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
						ByteNum=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(ByteNum,Num,ShowType);
						strcat(Str2,DataStr);
						strcpy(Str,ResetCircuit_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(bssmap_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," CIC值");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						Wnum=(WORD)bData;
						Wnum*=256;
						Wnum+=ByteNum;
						nDrawY=DrawCICStr(msgText,Wnum,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					else I+=Len3;		//error not show error skip
					break;
				}
			}
			break;	
		case 24:         //ResetCircuitAck
			if(MsgFKind<2) {
				switch(MsgFKind+1) {
				default:
					ShowType=ResetCircuitAck_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,ResetCircuitAck_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
					break;
				case 2://	CIC
					ShowType=ResetCircuitAck_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					if(Len3==2) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
						ByteNum=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(ByteNum,Num,ShowType);
						strcat(Str2,DataStr);
						strcpy(Str,ResetCircuitAck_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(bssmap_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," CIC值");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						Wnum=(WORD)bData;
						Wnum*=256;
						Wnum+=ByteNum;
						nDrawY=DrawCICStr(msgText,Wnum,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					else I+=Len3;		//error not show error skip
					break;
				}
			}
			break;	
		case 25:         //MSCInvokeTrace
			if(MsgFKind<16) {
					ShowType=MSCInvokeTrace_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,MSCInvokeTrace_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
			}
			break;	
		case 26:         //BSSInvokeTrace
			if(MsgFKind<15) {
					ShowType=BSSInvokeTrace_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,BSSInvokeTrace_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
			}
			break;	
		case 27:         //Block
			if(MsgFKind<5) {
				switch(MsgFKind+1) {
				default:
					ShowType=Block_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,Block_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_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,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
					break;
				case 2://	CIC
					ShowType=Block_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					if(Len3==2) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
						ByteNum=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(ByteNum,Num,ShowType);
						strcat(Str2,DataStr);
						strcpy(Str,Block_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(bssmap_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," CIC值");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						Wnum=(WORD)bData;
						Wnum*=256;
						Wnum+=ByteNum;
						nDrawY=DrawCICStr(msgText,Wnum,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					else I+=Len3;		//error not show error skip
					break;
				}
			}
			break;	

		case 28:         //BlockAcknowledge
			if(MsgFKind<2) {
				switch(MsgFKind+1) {
				default:
					ShowType=BlockAcknowledge_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=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);
					}
					strcpy(Str,BlockAcknowledge_Field[MsgFKin

⌨️ 快捷键说明

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