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

📄 msgtext.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;
								case 10:         //RESTRANCALL
									if(MsgFKind<10) {
											ShowType=RESTRANCALL_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(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++;
												strcpy(Str,RESTRANCALL_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;
								case 11:         //CUGREFUSE
									if(MsgFKind<8) {
											ShowType=CUGREFUSE_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(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++;
												strcpy(Str,CUGREFUSE_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;	
								case 12:         //SSERRSTATUS
									if(MsgFKind<3) {
										switch(MsgFKind+1) {
										default:
											ShowType=SSERRSTATUS_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(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++;
												strcpy(Str,SSERRSTATUS_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
											break;
										case 3://SS_Status *
											ShowType=SSERRSTATUS_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(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,SSERRSTATUS_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												sprintf(Str,": %sb  ",Str2);
												strcat(Str," SS状态码");
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawY=DrawMAPSS_STATUSStr(*this,bData,nDrawX,nDrawY,DltY,PtRate);
												nDrawX=X0;
												nDrawY+=DltY;
											}
											break;	
										}
									}
									else I+=Len3;
									break;	
								case 13:         //SSSIGNOPT
									if(MsgFKind<6) {
											ShowType=SSSIGNOPT_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(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++;
												strcpy(Str,SSSIGNOPT_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;	
								case 14:         //SSNOTCOMP
									if(MsgFKind<14) {
										switch(MsgFKind+1) {
										default:
											ShowType=SSNOTCOMP_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(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++;
												strcpy(Str,SSNOTCOMP_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
											break;
										case 14://SS_Status *
											ShowType=SSNOTCOMP_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(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,SSNOTCOMP_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												sprintf(Str,": %sb  ",Str2);
												strcat(Str," SS状态码");
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawY=DrawMAPSS_STATUSStr(*this,bData,nDrawX,nDrawY,DltY,PtRate);
												nDrawX=X0;
												nDrawY+=DltY;
											}
											break;	
										}
									}
									else I+=Len3;
									break;	
								case 20:         //ABSENTSUB
									if(MsgFKind<8) {
											ShowType=ABSENTSUB_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(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++;
												strcpy(Str,ABSENTSUB_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;	
								case 21:         //SMTRANSFAIL
									if(MsgFKind<11) {
											ShowType=SMTRANSFAIL_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(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++;
												strcpy(Str,SMTRANSFAIL_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;	
								case 22:         //SYSTEMBREAK
									if(MsgFKind<8) {
											ShowType=SYSTEMBREAK_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(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++;
												strcpy(Str,SYSTEMBREAK_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);
												nDrawX+=DeltaX;
												AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
												nDrawX=X0;
												nDrawY+=DltY;
											}
									}
									else I+=Len3;
									break;	
								case 23:         //PWDREGISTFAIL
									if(MsgFKind<3) {
											ShowType=PWDREGISTFAIL_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(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++;
												strcpy(Str,PWDREGISTFAIL_Field[MsgFKind]);
												nDrawX+=DeltaXL;
												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,"   ");
												GetMapErrFieldStr(bData);
												strcat(Str,DataStr);

⌨️ 快捷键说明

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