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

📄 dspdetaibssmap.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
						else
				msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
				nDrawY+=DltY;
			}
			break;	
		case 9:         //HandoverFailure
			if(MsgFKind<10) {
					ShowType=HandoverFailure_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,HandoverFailure_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 10:         //HandoverPerformed
			if(MsgFKind<14) {
					ShowType=HandoverPerformed_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,HandoverPerformed_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 11:         //HandoverCandidateEnquiry
			if(MsgFKind<16) {
					ShowType=HandoverCandidateEnquiry_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,HandoverCandidateEnquiry_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 12:         //HandoverCandidateRespon
			if(MsgFKind<9) {
					ShowType=HandoverCandidateRespon_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,HandoverCandidateRespon_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 13:         //HandoverRequiredReject
			if(MsgFKind<3) {
					ShowType=HandoverRequiredReject_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,HandoverRequiredReject_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 15:         //ClearCommand
			if(MsgFKind<7) {
					ShowType=ClearCommand_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,ClearCommand_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 17:         //ClearRequest
			if(MsgFKind<2) {
					ShowType=ClearRequest_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,ClearRequest_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 18:         //SAPI_n_Reject
			if(MsgFKind<5) {
					ShowType=SAPI_n_Reject_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,SAPI_n_Reject_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 19:         //Confusion
			if(MsgFKind<7) {
				switch(MsgFKind+1) {
				default:
					ShowType=Confusion_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,Confusion_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 6://	ErrorPtr
					ShowType=Confusion_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,Confusion_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," 错误指针");
						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=DrawErrorPtrStr(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 20:         //Reset
			if(MsgFKind<2) {
					ShowType=Reset_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;

⌨️ 快捷键说明

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