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

📄 commwizarddlg.cpp

📁 强大的串口编程和十分强大的格式转换功能
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				}
				in>>c;
				for(i=0;i<8;i++)
				in>>pointnumber[i];
				pointnumber[i]='\0';

				out<<pointnumber<<"\t";

			}
			else if(strcmp(sign,"21")==0)
			{
				int l,m,n;

				in>>c;
				while(c!='+' && !in.eof())
				{
				in>>c;
				}
				in>>c;
				in>>ha;
				ha/=100000.0;
				l=(int)ha;
				ha-=l;
				m=(int)(ha*100);
				ha*=100;
				ha-=m;
				n=(int)(ha*100);
				ha=l+m/60.0+n/3600.0;
		//		out<<ha<<"\t";

			}
			else if(strcmp(sign,"22")==0)
			{
				int l,m,n;
		
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>va;
				va/=100000.0;
				l=(int)va;
				va-=l;
				m=(int)(va*100);
				va*=100;
				va-=m;
				n=(int)(va*100);
				va=l+m/60.0+n/3600.0;
//				out<<va<<"\t";
				
			}
			else if(strcmp(sign,"31")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>SD;
				SD/=1000.0;
//				out<<SD<<"\t";

			}
			else if(strcmp(sign,"81")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>E1;
				E1/=1000.0;
				out<<E1<<"\t";

			}
			else if(strcmp(sign,"82")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>N1;
				N1/=1000.0;
				out<<N1<<"\t";

			}
			else if(strcmp(sign,"83")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
				in>>c;
				}
				in>>c;
				in>>Z1;
				Z1/=1000.0;
				out<<Z1<<"\t"<<endl;

			}
			else if(strcmp(sign,"87")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>d;
			}


	
		}	

	
	}
	else if(m_InstrSeled==1)
	{
			//SOKKIA:
			while(!in.eof())
			{
				int i;
				for(i=0;i<4;i++)
				{
					in>>sign[i];
					if(sign[i] == '\0') break;
				}
				sign[i]='\0';
				if(strcmp(sign,"02TP")==0)	
				{
			//		for(i=0;i<8;i++)
			//		{
			//			in>>c;
			//			out<<c;
			//		}
			//		out<<"\t";
					in>>N0>>E0>>Z0;
			//		out<<setprecision(3)<<setiosflags(ios::showpoint)<<setiosflags(ios::fixed)<<N0<<"\t"<<E0<<"\t"<<Z0<<"\t";
					out<<N0<<"\t"<<E0<<"\t"<<Z0<<"\t";

					in>>IN_H;
			//		in>>Buffer;
			//		out<<Buffer<<"\t";
					out<<IN_H<<endl;
				

				}
				else if(strcmp(sign,"08TP")==0)
				{
			//		for(i=0;i<8;i++)
			//		{
			//			in>>c;
			//			out<<c;
			//
			//		}
			//		out<<"\t";

			//		for(i=0;i<3;i++)
			//		{
			//			in>>d;
			//			out<<d<<"\t";
			//		}
			//sscanf(str , %lf %lf %lf", &a , &b &c) ;
					in>>N1>>E1>>Z1;
					out<<N1<<"\t"<<E1<<"\t"<<Z1<<"\t"<<endl;

			//		in>>Buffer;
			//		out<<Buffer<<"\t";
			//		out<<endl;

				}
				else if(strcmp(sign,"09F1")==0)
				{
					for(i=0;i<8;i++)
					{
						in>>c;
					}
					for(i=0;i<8;i++)
					{
						in>>c;
						out<<c;
					}
					out<<"\t";
					in>>SD>>va>>ha>>Buffer;
					sinz=sin(va*pi/180.0);
					cosz=cos(va*pi/180.0);
					sinaz=sin(ha*pi/180.0);
					cosaz=cos(ha*pi/180.0);
					N1=N0+SD*sinz*cosaz;
					E1=E0+SD*sinz*sinaz;
					Z1=Z0+SD*cosz+IN_H-rh;
					out<<N1<<"\t"<<E1<<"\t"<<Z1<<"\t"<<Buffer<<endl;
					
				}
				else if(strcmp(sign,"03NM")==0)
				{
					in>>rh;
					out<<rh<<endl;
				}
				else
				{
					continue;
				}
				
			}		
	}
	else if(m_InstrSeled==2) 
	{
		//Topcon
		while(!in.eof())
		{
				in>>c;   
				if(c=='\'')
				{
					int i=0;
					in>>c;
					while(c!='_'&& !in.eof())
					{
					pointnumber[i++]=c;
					in>>c;
					}
					pointnumber[i]='\0';
//					out<<endl<<pointnumber<<"\t";
//					sign=1;
				}

				else if(c=='(')
				{
					int i=0;
					in>>c;
					while(c!='_'&& !in.eof())
					{
					PO_CODE[i++]=c;
					in>>c;
					}
					PO_CODE[i]='\0';
					out<<PO_CODE<<"\t";
				
				}
				else if(c==')')
				{
				
					in>>IN_H;
					out<<IN_H<<"\n";
					in>>c;
				}
				else if(c=='+')
				{
					int i=0;
					in>>c;
					while(c!='_'&& !in.eof())
					{
					pointnumber[i++]=c;
					in>>c;
					}
					pointnumber[i]='\0';
				}	
				else if(c==' ')
				{
					in>>c;
				}
				else if(c=='?')
				{
				
					in>>c;
					in>>SD;
					SD/=1000.0;
					in>>c;
					in>>va;
					va/=10000.0;
					in>>ha;
					ha/=10000.0;
					in>>c;
					in>>HD;
					in>>c;
					while(c!='_'&& !in.eof())
					in>>c;
				}
				else if(c=='U')
				{
					in>>c;
					while(c!='+'&& !in.eof())
					{
						in>>c;
					}
					in>>N1;
					N1/=1000.000;
					in>>c;
					while(c!='+'&& !in.eof())
					{
						in>>c;
					}
					in>>E1;
					E1/=1000.000;
					in>>c;
					while(c!='+'&& !in.eof())
					{
						in>>c;
					}
					in>>Z1;
					Z1/=1000.000;
					in>>c;
					while(c!='+'&& !in.eof())
					{
						in>>c;
					}
					in>>ha;
					ha/=10000.000;
//					in>>c;
					while(c!='_'&& !in.eof())
						in>>c;
				
				}
				else if(c=='*')
				{
					int i=0;
					in>>c;
					while(c!='_'&& !in.eof())
					{
						PO_CODE[i++]=c;
						in>>c;
					}
					PO_CODE[i]='\0';
					out<<PO_CODE<<"\t";
				}
				else if(c==',')
				{
				
					int l,m,n;
					in>>rh;
					in>>c;
					l=(int)va;
					va-=l;
					m=(int)(va*100);
					va*=100;
					va-=m;
					n=(int)(va*100);
					va=l+m/60.0+n/3600.0;
					l=(int)ha;
					ha-=l;
					m=(int)(ha*100);
					ha-=m;
					n=(int)(ha*100);
					ha=1+m/60.0+n/3600.0;
				
					sinz=sin(va*pi/180.0);
					cosz=cos(va*pi/180.0);
					sinaz=sin(ha*pi/180.0);
					cosaz=cos(ha*pi/180.0);
//					N1=N0+SD*sinz*cosaz;
//					E1=E0+SD*sinz*sinaz;
//					Z1=Z0+SD*cosz+IN_H-rh;
				
					out<<pointnumber<<"\t"<<N1<<"\t"<<E1<<"\t"<<Z1<<"\t"<<rh<<endl;

				}
		}

	}
	in.close() ;
	out.close();
}

void CCommWizardDlg::ProcessZuoBiao()
{
	/*
	CStdioFile    m_sfileR;
	CStdioFile    m_sfileW;
	if(!m_sfileR.Open(m_FilePathRead,CFile::modeCreate | CFile::modeRead|CFile::typeText,NULL))
	{
		AfxMessageBox("打开文件错误!" , MB_ICONSTOP , NULL) ;
		return ;
	}
	if(!m_sfileW.Open("c:\\temp.tmp",CFile::modeReadWrite|CFile::typeText,NULL))
	{
		AfxMessageBox("生成文件错误!" , MB_ICONSTOP , NULL) ;
		return ;
	}
	*/
	ifstream in(m_FilePathRead);

	//assure(in,m_FilePathRead);

	ofstream out("c:\\temp.tmp");

	//assure(out,m_FilePathReadWrite);
	double  SD,va,ha,HD,N0,E0,Z0,rh,Z1,N1,E1,IN_H,sinz,cosz,sinaz,cosaz,d;
	char  pointnumber[50];
	char  PO_CODE[50];
	char  Buffer[50];
	char  sign[50];
	char  c;
	CString m_strPro;
	////////////////////////////////////////////////
	// TODO: Add your control notification handler code here
	if(m_InstrSeled==0)
	{
		//LEICA 
		while(!in.eof())
		{
			int i;
			for(i=0;i<2;i++)
			in>>sign[i];
			sign[i]='\0';
			if(strcmp(sign,"11")==0)	
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				for(i=0;i<8;i++)
				in>>pointnumber[i];
				pointnumber[i]='\0';

				out<<pointnumber<<"\t";

			}
			else if(strcmp(sign,"21")==0)
			{
				int l,m,n;

				in>>c;
				while(c!='+' && !in.eof())
				{
				in>>c;
				}
				in>>c;
				in>>ha;
				ha/=100000.0;
				l=(int)ha;
				ha-=l;
				m=(int)(ha*100);
				ha*=100;
				ha-=m;
				n=(int)(ha*100);
				ha=l+m/60.0+n/3600.0;
		//		out<<ha<<"\t";

			}
			else if(strcmp(sign,"22")==0)
			{
				int l,m,n;
		
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>va;
				va/=100000.0;
				l=(int)va;
				va-=l;
				m=(int)(va*100);
				va*=100;
				va-=m;
				n=(int)(va*100);
				va=l+m/60.0+n/3600.0;
//				out<<va<<"\t";
				
			}
			else if(strcmp(sign,"31")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>SD;
				SD/=1000.0;
//				out<<SD<<"\t";

			}
			else if(strcmp(sign,"81")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>E1;
				E1/=1000.0;
				out<<E1<<"\t";

			}
			else if(strcmp(sign,"82")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>N1;
				N1/=1000.0;
				out<<N1<<"\t";

			}
			else if(strcmp(sign,"83")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
				in>>c;
				}
				in>>c;
				in>>Z1;
				Z1/=1000.0;
				out<<Z1<<"\t"<<endl;

			}
			else if(strcmp(sign,"87")==0)
			{
				in>>c;
				while(c!='+' && !in.eof())
				{
					in>>c;
				}
				in>>c;
				in>>d;
			}


	
		}	


	}
	else if(m_InstrSeled==1)
	{
			//SOKKIA:
			while(!in.eof())
			{
				int i;
				for(i=0;i<4;i++)
				{
					in>>sign[i];
					if(sign[i] == '\0') break;
				}
				sign[i]='\0';
				if(strcmp(sign,"02TP")==0)	
				{
			//		for(i=0;i<8;i++)
			//		{
			//			in>>c;
			//			out<<c;
			//		}
			//		out<<"\t";
					in>>N0>>E0>>Z0;
			//		out<<setprecision(3)<<setiosflags(ios::showpoint)<<setiosflags(ios::fixed)<<N0<<"\t"<<E0<<"\t"<<Z0<<"\t";
					out<<N0<<"\t"<<E0<<"\t"<<Z0<<"\t";

					in>>IN_H;
			//		in>>Buffer;
			//		out<<Buffer<<"\t";
					out<<IN_H<<endl;
				

				}
				else if(strcmp(sign,"08TP")==0)
				{
			//		for(i=0;i<8;i++)
			//		{
			//			in>>c;
			//			out<<c;
			//
			//		}
			//		out<<"\t";

			//		for(i=0;i<3;i++)
			//		{
			//			in>>d;
			//			out<<d<<"\t";
			//		}
			//sscanf(str , %lf %lf %lf", &a , &b &c) ;
					in>>N1>>E1>>Z1;
					out<<N1<<"\t"<<E1<<"\t"<<Z1<<"\t"<<endl;

			//		in>>Buffer;
			//		out<<Buffer<<"\t";
			//		out<<endl;

				}
				else if(strcmp(sign,"09F1")==0)
				{
					for(i=0;i<8;i++)
					{
						in>>c;
					}
					for(i=0;i<8;i++)
					{
						in>>c;
						out<<c;
					}
					out<<"\t";
					in>>SD>>va>>ha>>Buffer;
					sinz=sin(va*pi/180.0);
					cosz=cos(va*pi/180.0);
					sinaz=sin(ha*pi/180.0);
					cosaz=cos(ha*pi/180.0);
					N1=N0+SD*sinz*cosaz;
					E1=E0+SD*sinz*sinaz;
					Z1=Z0+SD*cosz+IN_H-rh;
					out<<N1<<"\t"<<E1<<"\t"<<Z1<<"\t"<<Buffer<<endl;
					
				}
				else if(strcmp(sign,"03NM")==0)
				{
					in>>rh;
					out<<rh<<endl;
				}
				else
				{
					continue;
				}
				
			}		

	}
	else if(m_InstrSeled==2) 
	{
		//Topcon
		while(!in.eof())
		{
			int i=0;
			in>>c;   
			while(c!='+'&& !in.eof())
			{
				in>>c;
			}
			while(c!='_'&& !in.eof())
			{
				pointnumber[i++]=c;
				in>>c;
			}
			pointnumber[i]='\0';
			while(c!='+'&& !in.eof())
			{
				in>>c;
			}
			in>>N1;
			N1/=1000.0;
			in>>c;
			while(c!='+'&& !in.eof())
			{
				in>>c;
			}
			in>>E1;
			E1/=1000.0;

			in>>c;
			while(c!='+'&& !in.eof())
			{
				in>>c;
			}
			in>>Z1;
			Z1/=1000.0;

			out<<pointnumber<<"\t\t"<<N1<<"\t\t"<<E1<<"\t\t"<<Z1<<endl;

		}
			
	}
	in.close();
	out.close();
	
}

void CCommWizardDlg::OnSelchangeSkinSel() 
{
	// TODO: Add your control notification handler code here
	m_SkinSeled = m_SkinSel.GetCurSel();	
	if(m_SkinSeled==0)
	{
		m_csskinsel="Devior.smf";
	}
	else if(m_SkinSeled==1)
	{
		m_csskinsel="corona.smf";
	}
	else if(m_SkinSeled==2)
	{
		m_csskinsel="x-plus.smf";
	}
	
}

void CCommWizardDlg::OnRADIOGuanCe() 
{
	// TODO: Add your control notification handler code here
	m_SkinSeled=0;
}

void CCommWizardDlg::OnRADIOZuoBiao() 
{
	// TODO: Add your control notification handler code here
	m_SkinSeled=1;
}

⌨️ 快捷键说明

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