📄 alssadlg.cpp
字号:
strTemp = "计算得最佳路径为:";
// ::SendMessage( ViewHWND, WYWM_INFOVIEWAPPENDINFO, (WPARAM)(&strTemp), (LPARAM)0 );
plistInfo->AddString(strTemp);
strTemp = FormRouterString( ResultRouter );
// ::SendMessage( ViewHWND, WYWM_INFOVIEWAPPENDINFO, (WPARAM)(&strTemp), (LPARAM)0 );
plistInfo->AddString(strTemp);
GetRouterFileString( ResultRouter, strTemp );
cityfile.Write( strTemp, strTemp.GetLength() );
cityfile.Close();
iterfile.Close();
IsComputing = FALSE;
return 0;
}
void CALSSADlg::OnComput()
{
// TODO: Add your control notification handler code here
//CTspSAView *pView = (CTspSAView*)GetActiveView();
//CALSSADlg dlg;
//HWND ViewHWND = ::GetDlgItem(dlg.m_hWnd,IDC_LIST_INFO);
CListBox* plistInfo = (CListBox*)GetDlgItem(IDC_LIST_INFO);
AfxBeginThread( SACompution, (LPVOID)plistInfo );
// SACompution();
GetDlgItem(IDC_COMPUT)->EnableWindow(FALSE);
//GetDlgItem(IDC_FILEOPEN)->EnableWindow(IsComputing);
}
void CALSSADlg::OnCancel()
{
// TODO: Add extra cleanup here
CResertDlg dlg;
dlg.DoModal();
CDialog::OnCancel();
}
//DEL void CALSSADlg::OnUpdateFileOpen(CCmdUI* pCmdUI)
//DEL {
//DEL if( IsComputing )
//DEL pCmdUI->Enable(FALSE);
//DEL else
//DEL pCmdUI->Enable(TRUE);
//DEL }
//DEL void CALSSADlg::Msg(CString str)
//DEL {
//DEL CListBox * plistInfo = (CListBox*)GetDlgItem(IDC_LIST_INFO);
//DEL SYSTEMTIME tm;
//DEL GetLocalTime(&tm);
//DEL CString time;
//DEL time.Format(_T(" %d年%d月%d日 %d时:%d分:%d秒"), tm.wYear,tm.wMonth,tm.wDay,tm.wHour, tm.wMinute,tm.wSecond);
//DEL plistInfo->AddString(time+" "+str);
//DEL int numList=plistInfo->GetCount()-1;
//DEL plistInfo->SetTopIndex(numList);
//DEL plistInfo->SetCurSel(numList);
//DEL
//DEL
//DEL }
void CALSSADlg::OnFilehard()
{
// TODO: Add your control notification handler code here
CString strFileName;
char szFilter[200];
int isok=0;
CListBox * plistInfo = (CListBox*)GetDlgItem(IDC_LIST_INFO);
strcpy( szFilter, "TXT Files (*.txt)|*.txt||" );
CFileDialog *pFileDialog;
pFileDialog = new CFileDialog( TRUE,
NULL,
NULL,
OFN_HIDEREADONLY,
szFilter,
this );
if( IDOK == pFileDialog->DoModal() )
{
//CTspSAView *pView = (CTspSAView*)GetActiveView();
ClearSA();
//pView->ClearInfos();
CString strValue, strTemp;
strFileName = pFileDialog->GetPathName();
CStdioFile DataFile( strFileName, CFile::modeRead );
CString strReadString;
int ncityindex = 1;
while( DataFile.ReadString(strReadString) )
{
strReadString.TrimLeft();
strReadString.TrimRight();
CString fcitycodx, tcitycodx,hdPanish;
int nspace = 0;
nspace = strReadString.Find(" ");
if( nspace > 0 )
fcitycodx = strReadString.Left( nspace );
strReadString = strReadString.Mid( nspace+1 );
nspace = strReadString.Find(" ");
if( nspace > 0 )
tcitycodx = strReadString.Left( nspace );
strReadString = strReadString.Mid( nspace+1 );
hdPanish = strReadString;
SYCity tmpCity;
tmpCity.m_strName = "城市 "+cityName;
tmpCity.m_nIndex = ncityindex;
tmpCity.m_Coordinate.m_fcodx = atof( citycodx );
tmpCity.m_Coordinate.m_fcody = atof( citycody );
vecCitys.push_back( tmpCity );
ncityindex++;
}
DataFile.Close();
InitialSA();
strTemp = "共读入城市信息";
strValue.Format("%d",CityNumber);
strTemp += strValue;
strTemp += "个";
// pView->AddString( strTemp );
plistInfo->AddString(strTemp);
strTemp = "计算城市距离完成";
// pView->AddString( strTemp );
plistInfo->AddString(strTemp);
isok=1;
}
delete pFileDialog;
if(isok)
{
GetDlgItem(IDC_COMPUT)->EnableWindow(true);
GetDlgItem(IDC_FILEHARD)->EnableWindow(FALSE);
}
}
void CALSSADlg::OnFilewidth()
{
// TODO: Add your control notification handler code here
CString strFileName;
char szFilter[200];
int isok=0;
CListBox * plistInfo = (CListBox*)GetDlgItem(IDC_LIST_INFO);
strcpy( szFilter, "TXT Files (*.txt)|*.txt||" );
CFileDialog *pFileDialog;
pFileDialog = new CFileDialog( TRUE,
NULL,
NULL,
OFN_HIDEREADONLY,
szFilter,
this );
if( IDOK == pFileDialog->DoModal() )
{
//CTspSAView *pView = (CTspSAView*)GetActiveView();
ClearSA();
//pView->ClearInfos();
CString strValue, strTemp;
strFileName = pFileDialog->GetPathName();
CStdioFile DataFile( strFileName, CFile::modeRead );
CString strReadString;
int ncityindex = 1;
while( DataFile.ReadString(strReadString) )
{
strReadString.TrimLeft();
strReadString.TrimRight();
CString fcitycodx, tcitycodx,hdPanish;
int nspace = 0;
nspace = strReadString.Find(" ");
if( nspace > 0 )
fcitycodx = strReadString.Left( nspace );
strReadString = strReadString.Mid( nspace+1 );
nspace = strReadString.Find(" ");
if( nspace > 0 )
tcitycodx = strReadString.Left( nspace );
strReadString = strReadString.Mid( nspace+1 );
hdPanish = strReadString;
SYCity tmpCity;
tmpCity.m_strName = "城市 "+cityName;
tmpCity.m_nIndex = ncityindex;
tmpCity.m_Coordinate.m_fcodx = atof( citycodx );
tmpCity.m_Coordinate.m_fcody = atof( citycody );
vecCitys.push_back( tmpCity );
ncityindex++;
}
DataFile.Close();
InitialSA();
strTemp = "共读入城市信息";
strValue.Format("%d",CityNumber);
strTemp += strValue;
strTemp += "个";
// pView->AddString( strTemp );
plistInfo->AddString(strTemp);
strTemp = "计算城市距离完成";
// pView->AddString( strTemp );
plistInfo->AddString(strTemp);
isok=1;
}
delete pFileDialog;
if(isok)
{
GetDlgItem(IDC_COMPUT)->EnableWindow(true);
GetDlgItem(IDC_FILEHARD)->EnableWindow(FALSE);
}
GetDlgItem(IDC_FILEWIDTH)->EnableWindow(FALSE);
}
void CALSSADlg::OnFilegauge()
{
// TODO: Add your control notification handler code here
CString strFileName;
char szFilter[200];
int isok=0;
CListBox * plistInfo = (CListBox*)GetDlgItem(IDC_LIST_INFO);
strcpy( szFilter, "TXT Files (*.txt)|*.txt||" );
CFileDialog *pFileDialog;
pFileDialog = new CFileDialog( TRUE,
NULL,
NULL,
OFN_HIDEREADONLY,
szFilter,
this );
if( IDOK == pFileDialog->DoModal() )
{
//CTspSAView *pView = (CTspSAView*)GetActiveView();
ClearSA();
//pView->ClearInfos();
CString strTemp;
strFileName = pFileDialog->GetPathName();
CStdioFile DataFile( strFileName, CFile::modeRead );
CString strReadString;
int ncityindex = 1;
while( DataFile.ReadString(strReadString) )
{
strReadString.TrimLeft();
strReadString.TrimRight();
CString fcitycodz, tcitycodz,gPanish;
int nspace = 0;
nspace = strReadString.Find(" ");
if( nspace > 0 )
fcitycodz = strReadString.Left( nspace );
strReadString = strReadString.Mid( nspace+1 );
nspace = strReadString.Find(" ");
if( nspace > 0 )
tcitycodz = strReadString.Left( nspace );
strReadString = strReadString.Mid( nspace+1 );
gPanish = strReadString;
Gaugepanish tmpGaugepanish;
tmpGaugepanish.m_fcodz = atof(fcitycodz);
tmpGaugepanish.m_tcodz = atof(tcitycodz);
tmpGaugepanish.m_gPanish = atof(gPanish);
vecGaugepanish.push_back( tmpGaugepanish );
ncityindex++;
}
DataFile.Close();
strTemp = "厚度惩罚系数数据读入完毕";
// pView->AddString( strTemp );
plistInfo->AddString(strTemp);
isok=1;
}
delete pFileDialog;
if(isok)
{
GetDlgItem(IDC_FILEOPEN)->EnableWindow(true);
GetDlgItem(IDC_FILEGAUGE)->EnableWindow(FALSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -