📄 dlgconfig.cpp
字号:
if(m_CtrlListPlan.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
{
CString filename;
filename =strDir+"\\"+m_CtrlListPlan.GetItemText(i,0)+".txt";
CStdioFile sfPlan;
CString strTemp;
if(!sfPlan.Open(filename,CFile::modeRead))
{
AfxMessageBox("文件没打开");
}
else
{
int iLen=sfPlan.GetLength();
char * pBuf=new char[iLen+1];
sfPlan.Read(pBuf,iLen);
pBuf+='\0';
strTemp=pBuf;
int nPos=strTemp.Find("]");
m_strTXData=strTemp.Mid(nPos+1,iLen-nPos-1);
m_strTXData.TrimLeft("\n");
//////////////////////////////////////////////////////////////////////////
int icnAim1=m_CtrSourceA.GetCount();
if(icnAim1>0)
{
for(int i=0;i<icnAim1;i++)
{
m_CtrSourceA.DeleteString(0);
}
}
int icnAim2=m_CtrSourceB.GetCount();
if(icnAim2>0)
{
for(int i=0;i<icnAim2;i++)
{
m_CtrSourceB.DeleteString(0);
}
}
int icnAim3=m_CtrSourceC.GetCount();
if(icnAim3>0)
{
for(int i=0;i<icnAim3;i++)
{
m_CtrSourceC.DeleteString(0);
}
}
int icnAim4=m_CtrSourceD.GetCount();
if(icnAim4>0)
{
for(int i=0;i<icnAim4;i++)
{
m_CtrSourceD.DeleteString(0);
}
}
InitListBox();//删除目的,初始化源
//////////////////////////////向目的中添加数据////////////////////////////////////////////
int iLenPlan =m_strTXData.GetLength();
iLenPlan=iLenPlan/3;
int iIdx=0;
while(iIdx<iLenPlan)
{
CString strGetTs;
strGetTs=m_strTXData.Mid(0,2);
for(int its=0;its<128;its++)
{
CString strTemp;
strTemp=staTsBin.GetAt(its);
CString strTSTemp;
strTSTemp=staTsStr.GetAt(its);
if(strGetTs==strTemp)
{
its=128;
if(iIdx<32)
{
if(strTSTemp.Find("ATS")>=0)
{
m_CtrAim1.InsertString(iIdx,strTSTemp,BLACK);
}
else if(strTSTemp.Find("BTS")>=0)
{
m_CtrAim1.InsertString(iIdx,strTSTemp,GREEN);
}
else if(strTSTemp.Find("CTS")>=0)
{
m_CtrAim1.InsertString(iIdx,strTSTemp,BLUE);
}
else
{
m_CtrAim1.InsertString(iIdx,strTSTemp,YELLOW);
}
}
else if(iIdx>=32 &&iIdx<64)
{
if(strTSTemp.Find("ATS")>=0)
{
m_CtrAim2.InsertString(iIdx-32,strTSTemp,RED);
}
else if(strTSTemp.Find("BTS")>=0)
{
m_CtrAim2.InsertString(iIdx-32,strTSTemp,BLACK);
}
else if(strTSTemp.Find("CTS")>=0)
{
m_CtrAim2.InsertString(iIdx-32,strTSTemp,BLUE);
}
else
{
m_CtrAim2.InsertString(iIdx-32,strTSTemp,YELLOW);
}
}
else if(iIdx>=64 &&iIdx<96)
{
if(strTSTemp.Find("ATS")>=0)
{
m_CtrAim3.InsertString(iIdx-64,strTSTemp,RED);
}
else if(strTSTemp.Find("BTS")>=0)
{
m_CtrAim3.InsertString(iIdx-64,strTSTemp,GREEN);
}
else if(strTSTemp.Find("CTS")>=0)
{
m_CtrAim3.InsertString(iIdx-64,strTSTemp,BLACK);
}
else
{
m_CtrAim3.InsertString(iIdx-64,strTSTemp,YELLOW);
}
}
else if(iIdx>=96 &&iIdx<128)
{
if(strTSTemp.Find("ATS")>=0)
{
m_CtrAim4.InsertString(iIdx-96,strTSTemp,RED);
}
else if(strTSTemp.Find("BTS")>=0)
{
m_CtrAim4.InsertString(iIdx-96,strTSTemp,GREEN);
}
else if(strTSTemp.Find("CTS")>=0)
{
m_CtrAim4.InsertString(iIdx-96,strTSTemp,BLUE);
}
else
{
m_CtrAim4.InsertString(iIdx-96,strTSTemp,BLACK);
}
}
strTemp+=" ";
m_strTXData.Replace(strTemp,"");
iIdx++;
///////////////删除目的中的源的值///////////////////////////////////////////////////////////
if(strTSTemp.Find("ATS")!=-1)
{
// int iFindIdx;
CString strGetText;
for(int iDx=0;iDx<m_CtrSourceA.GetCount();iDx++)
{
m_CtrSourceA.GetText(iDx,strGetText);
if(strGetText==strTSTemp)
{
m_CtrSourceA.DeleteString(iDx);
iDx=m_CtrSourceA.GetCount();
}
}
}
else if(strTSTemp.Find("BTS")!=-1)
{
// int iFindIdx;
CString strGetText;
for(int iDx=0;iDx<m_CtrSourceB.GetCount();iDx++)
{
m_CtrSourceB.GetText(iDx,strGetText);
if(strGetText==strTSTemp)
{
m_CtrSourceB.DeleteString(iDx);
iDx=m_CtrSourceB.GetCount();
}
}
}
else if(strTSTemp.Find("CTS")!=-1)
{
// int iFindIdx;
CString strGetText;
for(int iDx=0;iDx<m_CtrSourceC.GetCount();iDx++)
{
m_CtrSourceC.GetText(iDx,strGetText);
if(strGetText==strTSTemp)
{
m_CtrSourceC.DeleteString(iDx);
iDx=m_CtrSourceC.GetCount();
}
}
}
else if(strTSTemp.Find("DTS")!=-1)
{
// int iFindIdx;
CString strGetText;
for(int iDx=0;iDx<m_CtrSourceD.GetCount();iDx++)
{
m_CtrSourceD.GetText(iDx,strGetText);
if(strGetText==strTSTemp)
{
m_CtrSourceD.DeleteString(iDx);
iDx=m_CtrSourceD.GetCount();
}
}
}
strGetTs=m_strTXData.Mid(0,2);
}
}
}
m_strTXData="";
UpdateData(false);
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
}
sfPlan.Close();
}
}
UpdateData(false);
*pResult = 0;
}
void CDlgConfig::WriteConfig(CString strConfig)
{
int iLenSentf;
CDlgAllStaSet dlgalstaset;
dlgalstaset.GetModulePath(strLogPath,NULL);
CString strFilelast,strFilelast1;
strFilelast1=strLogPath+"lastSent1.txt";
strFilelast=strLogPath+"lastSent.txt";
if(sfMessTemp.Open(strFilelast,CFile::modeRead))
{
iLenSentf=sfMessTemp.GetLength();
}
sfMessTemp.Close();
if(iLenSentf>5000)
{
if(sfMessTemp.Open(strFilelast1,CFile::modeRead))//如果能打开就是文件存在
{
sfMessTemp.Close();
sfMessTemp.Remove(strFilelast1);//如果存在,就把他删除;
sfMessTemp.Rename(strFilelast,strFilelast1);//如果不存在,则可以进行重命名;
}
else
{
sfMessTemp.Rename(strFilelast,strFilelast1);//如果不存在,则可以进行重命名;
}
if(sfMessTemp.Open(strFilelast,CFile::modeCreate|CFile::modeWrite))
{
sfMessTemp.SeekToEnd();
sfMessTemp.WriteString(strConfig+"\r\n");
}
sfMessTemp.Close();
}
else
{
if(sfMessTemp.Open(strFilelast,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite))
{
sfMessTemp.SeekToEnd();
sfMessTemp.WriteString(strConfig+"\r\n");
}
sfMessTemp.Close();
}
}
void CDlgConfig::OnBtnSave()
{
// TODO: Add your control notification handler code here
OnBtnOk();
for(int its=127;its>=0;its--)
{
m_strTXData.Replace(staTsStr.GetAt(its),staTsBin.GetAt(its));
}
CString strFileName;
CString strPlan;
int iNum=nCntPlan+1;
bool bWorking=true;
while (bWorking)
{
strFileName.Format("方案%d",iNum);
for(int i=0;i<nCntPlan;i++)
{
CString strTempName;
strTempName=straPlan.GetAt(i);
if(strTempName==strFileName)
{
iNum+=1;
i=nCntPlan;
bWorking=true;
}
else
{
bWorking=false;
}
}
}
CStdioFile sfPlan;
strPlan=strFileName;
CDlgAllStaSet dlgalstaset;
dlgalstaset.GetModulePath(strLogPath,NULL);
strFileName=strLogPath+"plan\\"+strFileName+".txt";
if(sfPlan.Open(strFileName,CFile::modeCreate|CFile::modeWrite))
{
nCntPlan++;
sfPlan.WriteString("["+m_strNote+"]"+"\n");
int iIdx =m_CtrlListPlan.InsertItem(0,strPlan);
m_CtrlListPlan.SetItemText(iIdx,1,"["+m_strNote+"]");
sfPlan.WriteString(m_strTXData);
straPlan.Add(strPlan);
}
sfPlan.Close();
}
void CDlgConfig::OnBtnRightato1()
{
// TODO: Add your control notification handler code here
/*
CString strSel;
int iSelIndex =m_CtrSourceA.GetCurSel();
if(iSelIndex>=0)
{
m_CtrSourceA.GetText(iSelIndex,strSel);
m_CtrSourceA.DeleteString(iSelIndex);
int iselAim =m_CtrAim1.GetCurSel();
if(iselAim>=0)
{
m_CtrAim1.InsertString(m_CtrAim1.GetCurSel()+1,strSel);
}
else
{
m_CtrAim1.AddString(strSel);
}
}
*/
CStringArray straSels;
int nCount = m_CtrSourceA.GetSelCount();
if(nCount>0)
{
CArray<int,int> aryListBoxSel;
aryListBoxSel.SetSize(nCount);
m_CtrSourceA.GetSelItems(nCount,aryListBoxSel.GetData());
for(int i=0; i<nCount;i++)
{
CString Temp;
m_CtrSourceA.GetText(aryListBoxSel[i], Temp);//获得每项的文字保存在Temp
straSels.Add(Temp);
}
int nAimCn;
nAimCn=m_CtrAim1.GetCount();
int nCurSelAim;
nCurSelAim =m_CtrAim1.GetCurSel();
if(nAimCn>0 &&nCurSelAim>0&&CDlgConfig::nSel1!=-1)
{
for(int j=0;j<nCount;j++)
{
m_CtrAim1.InsertString(nCurSelAim+j,straSels.GetAt(j),BLACK);
}
}
else
{
for(int k=0;k<nCount;k++)
{
m_CtrAim1.AddString(straSels.GetAt(k),BLACK);
}
}
int iSelCnt=0;
for(int m=m_CtrSourceA.GetCount()-1;m>=0;m--)
{
int nIdx;
nIdx=m_CtrSourceA.GetCurSel();
if(nIdx>=0)
{
m_CtrSourceA.DeleteString(nIdx);
iSelCnt++;
if (iSelCnt==nCount)
{
return;
}
}
}
m_CtrAim1.SetSel(-1,false);
}
}
void CDlgConfig::OnBtnRightato2()
{
// TODO: Add your control notification handler code here
CStringArray straSels;
int nCount = m_CtrSourceA.GetSelCount();
if(nCount>0)
{
CArray<int,int> aryListBoxSel;
aryListBoxSel.SetSize(nCount);
m_CtrSourceA.GetSelItems(nCount,aryListBoxSel.GetData());
for(int i=0; i<nCount;i++)
{
CString Temp;
m_CtrSourceA.GetText(aryListBoxSel[i], Temp);//获得每项的文字保存在Temp
straSels.Add(Temp);
}
/* for(int j=0;j<nCount;j++)
{
m_CtrAim2.AddString(straSels.GetAt(j),RED);
}
int iSelCnt=0;
for(int m=m_CtrSourceA.GetCount()-1;m>=0;m--)
{
int nIdx;
nIdx=m_CtrSourceA.GetCurSel();
if(nIdx>=0)
{
m_CtrSourceA.DeleteString(nIdx);
iSelCnt++;
if (iSelCnt==nCount)
{
return;
}
}
}
*/
int nAimCn;
nAimCn=m_CtrAim2.GetCount();
int nCurSelAim;
nCurSelAim =m_CtrAim2.GetCurSel();
if(nAimCn>0 &&nCurSelAim>0&&CDlgConfig::nSel2!=-1)
{
for(int j=0;j<nCount;j++)
{
m_CtrAim2.InsertString(nCurSelAim+j,straSels.GetAt(j),RED);
}
}
else
{
for(int k=0;k<nCount;k++)
{
m_CtrAim2.AddString(straSels.GetAt(k),RED);
}
}
int iSelCnt=0;
for(int m=m_CtrSourceA.GetCount()-1;m>=0;m--)
{
int nIdx;
nIdx=m_CtrSourceA.GetCurSel();
if(nIdx>=0)
{
m_CtrSourceA.DeleteString(nIdx);
iSelCnt++;
if (iSelCnt==nCount)
{
return;
}
}
}
m_CtrAim2.SetSel(-1,false);
}
}
void CDlgConfig::OnBtnRightato3()
{
// TODO: Add your control notification handler code here
CStringArray straSels;
int nCount = m_CtrSourceA.GetSelCount();
if(nCount>0)
{
CArray<int,int> aryListBoxSel;
aryListBoxSel.SetSize(nCount);
m_CtrSourceA.GetSelItems(nCount,aryListBoxSel.GetData());
for(int i=0; i<nCount;i++)
{
CString Temp;
m_CtrSourceA.GetText(aryListBoxSel[i], Temp);//获得每项的文字保存在Temp
straSels.Add(Temp);
}
/* for(int j=0;j<nCount;j++)
{
m_CtrAim3.AddString(straSels.GetAt(j),RED);
}
int iSelCnt=0;
for(int m=m_CtrSourceA.GetCount()-1;m>=0;m--)
{
int nIdx;
nIdx=m_CtrSourceA.GetCurSel();
if(nIdx>=0)
{
m_CtrSourceA.DeleteString(nIdx);
iSelCnt++;
if (iSelCnt==nCount)
{
return;
}
}
}
*/
int nAimCn;
nAimCn=m_CtrAim3.GetCount();
int nCurSelAim;
nCurSelAim =m_CtrAim3.GetCurSel();
if(nAimCn>0 &&nCurSelAim>0&&CDlgConfig::nSel3!=-1)
{
for(int j=0;j<nCount;j++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -