📄 zd_set.cpp
字号:
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 + -