Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

175 lines
3.4 KiB
C++

#include "stdafx.h"
#include "DGKDDlg.h"
#include "EarThwormDef.h"
IMPLEMENT_DYNAMIC(CDGKDDlg, CDialog)
CDGKDDlg::CDGKDDlg(CWnd *pParent /*=NULL*/)
: CDialog(CDGKDDlg::IDD, pParent)
, m_dSizeAdd(5.0)
, m_dT(6.0)
, m_dTL(100)
, m_bHasCase(TRUE)
, m_bHasNozz(FALSE)
, m_bExt(FALSE)
, m_dExt1(0)
, m_dExt2(0)
, m_sPipeType(_T("A型刚性防水套管"))
, m_sNo(_T("H-001"))
, m_sForUse(_T(""))
{
GET_CACHE(CDGKDDlg, %s%s%s%d%d%d%f%f%f%f%f
, &m_sPipeType
, &m_sNo
, &m_sForUse
, &m_bHasCase
, &m_bHasNozz
, &m_bExt
, &m_dT
, &m_dTL
, &m_dSizeAdd
, &m_dExt1
, &m_dExt2 );
}
CDGKDDlg::~CDGKDDlg()
{
}
void CDGKDDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_dSizeAdd);
DDX_Check(pDX,IDC_CHECK1,m_bHasNozz);
DDX_Check(pDX, IDC_CHECK6, m_bHasCase);
DDX_Text(pDX, IDC_EDIT5, m_dT);
DDX_Text(pDX, IDC_EDIT9, m_dTL);
DDX_Check(pDX, IDC_CHECK7, m_bExt);
DDX_Text(pDX, IDC_EDIT10, m_dExt1);
DDX_Text(pDX, IDC_EDIT11, m_dExt2);
DDX_Control(pDX, IDC_EDIT10, m_wndExtEx1);
DDX_Control(pDX, IDC_EDIT11, m_wndEditExt2);
DDX_Control(pDX, IDC_COMBO1, m_wndComboMaters);
DDX_CBString(pDX, IDC_COMBO3, m_sPipeType);
DDX_Text(pDX, IDC_EDIT6, m_sForUse);
DDX_Control(pDX, IDC_COMBO3, m_wndPipeComboType);
}
BEGIN_MESSAGE_MAP(CDGKDDlg, CDialog)
ON_BN_CLICKED(IDOK, &CDGKDDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_CHECK7, &CDGKDDlg::OnBnClickedCheck7)
END_MESSAGE_MAP()
void CDGKDDlg::GetData(BatHoleCasing& data)
{
data.m_dSizeAdd = m_dSizeAdd;
data.m_bHasCase = m_bHasCase;
data.m_bHasNozz = m_bHasNozz;
data.m_dT = m_dT;
data.m_dTL = m_dTL;
data.m_bExt = m_bExt;
if (m_bExt)
{
data.m_dExt1 = m_dExt1;
data.m_dExt2 = m_dExt2;
}
else
{
data.m_dExt1 = 0.;
data.m_dExt2 = 0.;
}
_tcscpy(data.m_sPipeType,m_sPipeType);
_tcscpy(data.m_sForUse, m_sForUse);
}
BOOL CDGKDDlg::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(FALSE);
CString path = FilePath::GetSysDir() + Plumbing_DB;
if (!m_dbSQLite.InitADOServer(path))
{
AfxMessageBox(CString(_T("数据库初始化失败,请检查 sys")) + Plumbing_DB + _T("文件是否存在."));
return FALSE;
}
InitMaterial();
int nSel = m_wndPipeComboType.FindString(0,m_sPipeType);
if (nSel == -1)
{
nSel = 0;
}
m_wndPipeComboType.SetCurSel(nSel);
m_wndExtEx1.EnableWindow(m_bExt);
m_wndEditExt2.EnableWindow(m_bExt);
return TRUE;
}
void CDGKDDlg::InitMaterial()
{
//材质
CStringArray arVals;
CString sSQL = _T("select [材质] from AecMaterial where [类型]='管道'");
m_dbSQLite.GetSelData(sSQL,arVals);
int nSel = 0;
m_wndComboMaters.ResetContent();
for (int i = 0;i < arVals.GetSize();i++)
{
m_wndComboMaters.InsertString(i,arVals.GetAt(i));
if (m_sMertial.CompareNoCase(arVals.GetAt(i)) == 0)
{
nSel = i;
}
}
m_wndComboMaters.SetCurSel(nSel);
}
void CDGKDDlg::OnBnClickedOk()
{
UpdateData();
if (m_bHasCase)
{
// 不检查套管长度了, 长度会自适应墙板的厚度
//if (m_dTL < 1.e-2)
//{
// AfxMessageBox(_T("请检查套管的长度是否合理!"));
// return;
//}
}
SET_CACHE(CDGKDDlg, %s%s%s%d%d%d%f%f%f%f%f
, m_sPipeType
, m_sNo
, m_sForUse
, m_bHasCase
, m_bHasNozz
, m_bExt
, m_dT
, m_dTL
, m_dSizeAdd
, m_dExt1
, m_dExt2 );
OnOK();
}
void CDGKDDlg::OnBnClickedCheck7()
{
UpdateData();
m_wndExtEx1.EnableWindow(m_bExt);
m_wndEditExt2.EnableWindow(m_bExt);
}