98 lines
1.9 KiB
C++
98 lines
1.9 KiB
C++
#include "stdafx.h"
|
|
#include "TQBGDlg.h"
|
|
#include "UITools.h"
|
|
|
|
namespace
|
|
{
|
|
void split(LPCTSTR pszSrc, TCHAR sp, std::vector<CString> &vec)
|
|
{
|
|
if (!pszSrc) return;
|
|
|
|
vec.clear();
|
|
|
|
CString src(pszSrc);
|
|
|
|
CString oneString(_T(""));
|
|
TCHAR ch;
|
|
for (int i = 0; i < src.GetLength(); ++i)
|
|
{
|
|
ch = src[i];
|
|
if (ch == sp)
|
|
{
|
|
if (oneString.IsEmpty())
|
|
continue;
|
|
else
|
|
{
|
|
vec.push_back(oneString);
|
|
oneString.Empty();
|
|
}
|
|
}
|
|
else
|
|
oneString += ch;
|
|
}
|
|
if (!oneString.IsEmpty())
|
|
vec.push_back(oneString);
|
|
}
|
|
}
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CTQBGDlg, CDialog)
|
|
|
|
CTQBGDlg::CTQBGDlg(const double &dMax, const double &dMin, CWnd* pParent /*=NULL*/)
|
|
: CDialog(IDD_TQBG_DLG, pParent)
|
|
, m_iSpace(200)
|
|
, m_dStart(dMin)
|
|
, m_dEnd(dMax)
|
|
, m_dMin(dMin)
|
|
, m_dMax(dMax)
|
|
{
|
|
UIDataCache::Read(_T("%i%d%d%d%d"), _T("CTQBGDlg"), &m_iSpace, &m_dStart, &m_dEnd, &m_dMin, &m_dMax);
|
|
}
|
|
|
|
CTQBGDlg::~CTQBGDlg() { }
|
|
|
|
void CTQBGDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_EDIT1, m_iSpace);
|
|
DDV_MinMaxInt(pDX, m_iSpace, 1, 99999999);
|
|
DDX_Text(pDX, IDC_EDIT3, m_dStart);
|
|
DDV_MinMaxDouble(pDX, m_dStart, 0, 99999999999.);
|
|
DDX_Text(pDX, IDC_EDIT4, m_dEnd);
|
|
DDV_MinMaxDouble(pDX, m_dEnd, 0, 999999999999.);
|
|
}
|
|
|
|
|
|
BOOL CTQBGDlg::OnInitDialog()
|
|
{
|
|
UpdateData(False);
|
|
return CDialog::OnInitDialog();
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CTQBGDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CTQBGDlg::OnBnClickedOk)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
void CTQBGDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData(TRUE);
|
|
UIDataCache::Write(_T("%i%d%d%d%d"), _T("CTQBGDlg"), &m_iSpace, &m_dStart, &m_dEnd, &m_dMin, &m_dMax);
|
|
if (m_dStart >= m_dEnd)
|
|
{
|
|
AfxMessageBox(_T("起始距离应该小于结束距离。"));
|
|
return;
|
|
}
|
|
if (m_dStart < m_dMin)
|
|
{
|
|
AfxMessageBox(_T("起始距离应该大于桩号文件中最小桩号。"));
|
|
return;
|
|
}
|
|
if (m_dEnd > m_dMax)
|
|
{
|
|
AfxMessageBox(_T("结束距离应该小于桩号文件中最大桩号。"));
|
|
return;
|
|
}
|
|
CDialog::OnOK();
|
|
}
|