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

📄 zd_set.cpp

📁 evc编程,使用数据库软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			buf[i+1]='\0';
			break;
		case '1':
			buf[i]='1';
			buf[i+1]='\0';
			break;
		case '2':
			buf[i]='2';
			buf[i+1]='\0';
			break;
		case '3':
			buf[i]='3';
			buf[i+1]='\0';
			break;
		case '4':
			buf[i]='4';
			buf[i+1]='\0';
			break;
		case '5':
			buf[i]='5';
			buf[i+1]='\0';
			break;
		case '6':
			buf[i]='6';
			buf[i+1]='\0';
			break;
		case '7':
			buf[i]='7';
			buf[i+1]='\0';
			break;
		case '8':
			buf[i]='8';
			buf[i+1]='\0';
			break;
		case '9':
			buf[i]='9';
			buf[i+1]='\0';
			break;
		}
	}

	return atof(buf);
}

void CZd_set::clsx()//设置测量顺序
{
	CString str;
//	delclsx();
	bool jlkz;
	int i,j,index=theApp.fxmc.GetSize();
	int m_chs=chs(theApp.spj_chs_kz,theApp.czj_chs_kz,theApp.dis_chs_kz);
	//水平角	
	
	CTSX *nobj,*nobj1;
	for(i=0;i<theApp.spj_chs_kz;i++)
	{
		for(j=0;j<index;j++)//盘左
		{
			nobj=new CTSX;
			wcscpy(nobj->CDM,theApp.fxmc.GetAt(j)->cdm);
			nobj->cbg=theApp.fxmc.GetAt(j)->cbg;
			nobj->czj=theApp.fxmc.GetAt(j)->czj;
			nobj->spj=theApp.fxmc.GetAt(j)->spj;
			nobj->chs=i+1;
			nobj->jl=theApp.fxmc.GetAt(j)->jl;
			nobj->chjsbz=0;
			wcscpy(nobj->L_R,_T("盘左"));
			theApp.clsx.Add(nobj);
		}
		for(j=index-1;j>=0;j--)//盘右
		{
			nobj=new CTSX;
			wcscpy(nobj->CDM,theApp.fxmc.GetAt(j)->cdm);
			nobj->cbg=theApp.fxmc.GetAt(j)->cbg;
			nobj->czj=theApp.fxmc.GetAt(j)->czj;
			nobj->spj=theApp.fxmc.GetAt(j)->spj;
			nobj->jl=theApp.fxmc.GetAt(j)->jl;
			nobj->chs=i+1;
			wcscpy(nobj->L_R,_T("盘右"));
			if(j==0 )
				nobj->chjsbz=-1;
			else 
				nobj->chjsbz=0;
			theApp.clsx.Add(nobj);
		}
	}
	//垂直角
	
	if(theApp.czj_chs_kz>theApp.spj_chs_kz)
	{
		for(i=0;i<(theApp.czj_chs_kz-theApp.spj_chs_kz);i++)
		{
			if(theApp.dis_chs_kz<=theApp.spj_chs_kz+i)
				jlkz=false;
			else
				jlkz=true;
			for(j=0;j<index;j++)
			{
				if(theApp.fxmc.GetAt(j)->czj)
				{
					nobj=new CTSX;
					nobj1=new CTSX;
					wcscpy(nobj->CDM,theApp.fxmc.GetAt(j)->cdm);
					wcscpy(nobj1->CDM,theApp.fxmc.GetAt(j)->cdm);
					nobj1->cbg=nobj->cbg=theApp.fxmc.GetAt(j)->cbg;
					nobj1->czj=nobj->czj=true;
					nobj1->spj=nobj->spj=false;
					nobj1->jl=nobj->jl=jlkz;
					nobj1->chs=nobj->chs=i+1+theApp.spj_chs_kz;
					wcscpy(nobj->L_R,_T("盘左"));
					wcscpy(nobj1->L_R,_T("盘右"));
					nobj->chjsbz=0;
					if(j==index-1 )
						nobj1->chjsbz=-1;
					else 
						nobj1->chjsbz=0;
					theApp.clsx.Add(nobj);
					theApp.clsx.Add(nobj1);
				}
			}
		}
	}
	theApp.clsx.GetAt(theApp.clsx.GetSize()-1)->chjsbz=1;//表示测角结束

	//距离	
	int m=theApp.czj_chs_kz>theApp.spj_chs_kz? theApp.czj_chs_kz:theApp.spj_chs_kz;
	if(m_chs>m)
	{
		m_chs-=m;
		for(i=0;i<index;i++)
		{
			for(j=0;j<m_chs;j++)
			{
				if(theApp.fxmc.GetAt(i)->jl)
				{
					nobj=new CTSX;
					wcscpy(nobj->CDM,theApp.fxmc.GetAt(i)->cdm);
					nobj->cbg=theApp.fxmc.GetAt(i)->cbg;
					nobj->czj=false;
					nobj->spj=false;
					nobj->chs=j+1+m;
					nobj->jl=theApp.fxmc.GetAt(i)->jl;
					nobj->chjsbz=2;//表示只测距
					wcscpy(nobj->L_R,_T("盘左"));
					theApp.clsx.Add(nobj);
				}
			}
		}
		theApp.clsx.GetAt(theApp.clsx.GetSize()-1)->chjsbz=10;//表示测距结束
	}
	

}



BOOL CZd_set::writetab()
{
	if(!saveczjtab())return false;
	if(!addspjtab())return false;
	
	if(!savejltab())return false;
	return true;
}

bool CZd_set::saveczjtab()
{
	int i,j,l=0,index=theApp.fxmc.GetSize(),m;
	CString str;
	
	if(!theApp.DataBase.OpenTable(theApp.DataBase.szFileName,_T("DXCZJ")))
	{
		AfxMessageBox(_T("不能打开DXCZJ"));
		return false;
	}

	for( i=0;i<(int)theApp.DataBase.GetRecordNumber();)
		theApp.DataBase.DelRecord(i);

	for(i=1;i<theApp.czj_chs_kz+1;i++)//czj
		{
			for(j=0;j<index;j++)
			{
				if(theApp.fxmc.GetAt(j)->czj)
				{
					if(i==1)
						theApp.czj_rec_len++;
					
			
					str.Format(_T("%d"),i);
					theApp.DataBase.m_values.Add(str);
					theApp.DataBase.m_values.Add(m_zdm);
					str=theApp.fxmc.GetAt(j)->cdm;
					theApp.DataBase.m_values.Add(str);
					str.Format(_T("%f"),theApp.fxmc.GetAt(j)->cbg);
					theApp.DataBase.m_values.Add(str);
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					str.Format(_T("%d"),l);
					theApp.DataBase.m_values.Add(str);

				
				
					if(!theApp.DataBase.AddNewRecord())
					{
						AfxMessageBox(_T("czj表添加记录不成功"));
					
						m=theApp.DataBase.m_values.GetSize();
						str.Format(_T("%d"),m);
						AfxMessageBox(str);
					
						theApp.DataBase.CloseTable();
						return false;
					}
					l++;
				}
			}
		}



	theApp.DataBase.CloseTable();

	return true;
}

BOOL CZd_set::addspjtab()
{
	int i,j,l=0,index=theApp.fxmc.GetSize();
	CString str;
	
	if(!theApp.DataBase.OpenTable(theApp.DataBase.szFileName,_T("DXSPJ")))
	{
		AfxMessageBox(_T("不能打开DXSPJ"));
		return false;
	}
	
	for( i=0;i<(int)theApp.DataBase.GetRecordNumber();)
		theApp.DataBase.DelRecord(i);
	theApp.DataBase.m_values.RemoveAll();
	for(i=1;i<theApp.spj_chs_kz+1;i++)//spj
		{
			for(j=0;j<index;j++)
			{
				if(theApp.fxmc.GetAt(j)->spj)
				{
				//	if(i==1)
				//		theApp.spj_rec_len++;
					
					str.Format(_T("%d"),i);
					theApp.DataBase.m_values.Add(str);
					theApp.DataBase.m_values.Add(m_zdm);
					str=theApp.fxmc.GetAt(j)->cdm;
					theApp.DataBase.m_values.Add(str);				
					str.Format(_T("%f"),theApp.fxmc.GetAt(j)->cbg);
					theApp.DataBase.m_values.Add(str);
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					theApp.DataBase.m_values.Add(_T("-1000.0"));
					str.Format(_T("%d"),l);
					theApp.DataBase.m_values.Add(str);
					if(!theApp.DataBase.AddNewRecord())
					{
						AfxMessageBox(_T("spj表添加记录不成功"));
						theApp.DataBase.CloseTable();
						return false;
					}
					l++;
				}
			}
		}

	
	theApp.DataBase.CloseTable();
	return true;
}

BOOL CZd_set::savejltab()
{
	int i,j,l=0,index=theApp.fxmc.GetSize();
	CString str;
	if(!theApp.DataBase.OpenTable(theApp.DataBase.szFileName,_T("DXJL")))
	{
		AfxMessageBox(_T("不能打开DXJL"));
		return false;
	}
	for( i=0;l<(int)theApp.DataBase.GetRecordNumber();)
		theApp.DataBase.DelRecord(i);
	theApp.DataBase.m_values.RemoveAll();
	for(i=1;i<theApp.dis_chs_kz+1;i++)//jl
	{
		for(j=0;j<index;j++)
		{
			if(theApp.fxmc.GetAt(j)->jl)
			{
				if(i==1)
					theApp.jl_rec_len++;
				str.Format(_T("%d"),i);
				theApp.DataBase.m_values.Add(str);
				theApp.DataBase.m_values.Add(m_zdm);
				str=theApp.fxmc.GetAt(j)->cdm;
				theApp.DataBase.m_values.Add(str);				
				str.Format(_T("%f"),theApp.fxmc.GetAt(j)->cbg);
				theApp.DataBase.m_values.Add(str);
				theApp.DataBase.m_values.Add(_T("-1000.0"));
				theApp.DataBase.m_values.Add(_T("-1000.0"));
				theApp.DataBase.m_values.Add(_T("-1000.0"));
				theApp.DataBase.m_values.Add(_T("-1000.0"));
				theApp.DataBase.m_values.Add(_T("-1000.0"));
				str.Format(_T("%d"),l);
				theApp.DataBase.m_values.Add(str);
				if(!theApp.DataBase.AddNewRecord())
				{
					AfxMessageBox(_T("jl表添加记录不成功"));
					theApp.DataBase.CloseTable();
					return false;
				}
				l++;
			}
		}
	}

	theApp.DataBase.CloseTable();
	return true;
}

int CZd_set::sumrec(int chs)
{
	int j=0;
	for(int i=0;i<theApp.clsx.GetSize();i++)
	{
		if(chs==theApp.clsx.GetAt(i)->chs)
			j++;
	}
	return j;
}

BOOL CZd_set::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_cty=theApp.cty;
	UpdateData(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CZd_set::delclsx()
{
	CTSX *nobj;
	for(int i=0;i<theApp.clsx.GetSize();)
	{
		nobj=theApp.clsx.GetAt(0);
		theApp.clsx.RemoveAt(0);
		delete nobj;
	}
	return true;
}

⌨️ 快捷键说明

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