📄 mydiag.cpp
字号:
// MyDiag.cpp : implementation file
//
#include "stdafx.h"
#include "Cart.h"
#include "MyDiag.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// C45Option dialog
C45Option::C45Option(CWnd* pParent /*=NULL*/)
: CDialog(C45Option::IDD, pParent)
{
//{{AFX_DATA_INIT(C45Option)
mD_Batch = true;
mD_GainCrit = true;
mD_ProbThresh = FALSE;
mD_Subset = FALSE;
mD_Unseen = FALSE;
mD_Fname = _T("");
mD_CF = 1.0f;
mD_Increment = 1;
mD_MinObjs = 2;
mD_Trials = 10;
mD_VerbLevel = 1;
mD_Window = 1;
mD_C = FALSE;
mD_I = FALSE;
mD_M = FALSE;
mD_T = FALSE;
mD_V = FALSE;
mD_W = FALSE;
//}}AFX_DATA_INIT
}
void C45Option::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(C45Option)
DDX_Control(pDX, IDOK, mC_OK);
DDX_Control(pDX, IDC_EDIT_V, m_EditV);
DDX_Control(pDX, IDC_EDIT_M, m_EditM);
DDX_Control(pDX, IDC_EDIT_C, m_EditC);
DDX_Control(pDX, IDC_EDIT_I, m_EditI);
DDX_Control(pDX, IDC_EDIT_W, m_EditW);
DDX_Control(pDX, IDC_EDIT_T, m_EditT);
DDX_Check(pDX, IDC_CHECK_BATCH, mD_Batch);
DDX_Check(pDX, IDC_CHECK_GAINCRIT, mD_GainCrit);
DDX_Check(pDX, IDC_CHECK_PTHRSH, mD_ProbThresh);
DDX_Check(pDX, IDC_CHECK_SUBSET, mD_Subset);
DDX_Check(pDX, IDC_CHECK_UNSEEN, mD_Unseen);
DDX_Text(pDX, IDC_EDIT_FN, mD_Fname);
DDX_Text(pDX, IDC_EDIT_C, mD_CF);
DDV_MinMaxFloat(pDX, mD_CF, 1.e-003f, 100.f);
DDX_Text(pDX, IDC_EDIT_I, mD_Increment);
DDV_MinMaxInt(pDX, mD_Increment, 1, 1000000);
DDX_Text(pDX, IDC_EDIT_M, mD_MinObjs);
DDV_MinMaxInt(pDX, mD_MinObjs, 1, 1000000);
DDX_Text(pDX, IDC_EDIT_T, mD_Trials);
DDV_MinMaxInt(pDX, mD_Trials, 1, 10000);
DDX_Text(pDX, IDC_EDIT_V, mD_VerbLevel);
DDX_Text(pDX, IDC_EDIT_W, mD_Window);
DDV_MinMaxInt(pDX, mD_Window, 1, 1000000);
DDX_Check(pDX, IDC_CHECK_C, mD_C);
DDX_Check(pDX, IDC_CHECK_I, mD_I);
DDX_Check(pDX, IDC_CHECK_M, mD_M);
DDX_Check(pDX, IDC_CHECK_T, mD_T);
DDX_Check(pDX, IDC_CHECK_V, mD_V);
DDX_Check(pDX, IDC_CHECK_W, mD_W);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(C45Option, CDialog)
//{{AFX_MSG_MAP(C45Option)
ON_BN_CLICKED(IDC_BUTTON_BRWS, OnFileBrws)
ON_BN_CLICKED(IDC_CHECK_BATCH, OnCheckBatch)
ON_BN_CLICKED(IDC_CHECK_C, OnCheckC)
ON_BN_CLICKED(IDC_CHECK_I, OnCheckI)
ON_BN_CLICKED(IDC_CHECK_M, OnCheckM)
ON_BN_CLICKED(IDC_CHECK_T, OnCheckT)
ON_BN_CLICKED(IDC_CHECK_V, OnCheckV)
ON_BN_CLICKED(IDC_CHECK_W, OnCheckW)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// C45Option message handlers
void C45Option::OnFileBrws()
{
CFileDialog fDlg(true,NULL,"*.*;*.data", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"数据文件 (*.data;*.*)|*.data; *.*|所有文件 (*.*)|*.*|", NULL);
UpdateData(true);
if(fDlg.DoModal()==IDOK)
mD_Fname=fDlg.GetPathName();
if(strcmp(mD_Fname,""))
mC_OK.EnableWindow(true);
UpdateData(false);
return;
}
void C45Option::OnOK()
{
UpdateData(true);
if(!strcmp(mD_Fname,""))
{
MessageBox("请选择数据文件!");
mC_OK.EnableWindow(false);
return ;
}
else
CDialog::OnOK();
}
void C45Option::OnCheckBatch()
{
mD_Batch=!mD_Batch;
UpdateData(true);
if(mD_Batch)
{
mD_I=false;
m_EditI.EnableWindow(mD_I);
mD_T=false;
m_EditT.EnableWindow(mD_T);
mD_W=false;
m_EditW.EnableWindow(mD_W);
}
UpdateData(false);
}
void C45Option::OnCheckC()
{
mD_C=!mD_C;
UpdateData(true);
m_EditC.EnableWindow(mD_C);
UpdateData(false);
}
void C45Option::OnCheckI()
{
mD_I=!mD_I;
UpdateData(true);
m_EditI.EnableWindow(mD_I);
if(mD_I)
mD_Batch=false;
UpdateData(false);
}
void C45Option::OnCheckM()
{
mD_M=!mD_M;
UpdateData(true);
m_EditM.EnableWindow(mD_M);
UpdateData(false);
}
void C45Option::OnCheckT()
{
mD_T=!mD_T;
UpdateData(true);
if(mD_T)
mD_Batch=false;
m_EditT.EnableWindow(mD_T);
UpdateData(false);
}
void C45Option::OnCheckV()
{
mD_V=!mD_V;
UpdateData(true);
m_EditV.EnableWindow(mD_V);
UpdateData(false);
}
void C45Option::OnCheckW()
{
mD_W=!mD_W;
UpdateData(true);
if(mD_W)
mD_Batch=false;
m_EditW.EnableWindow(mD_W);
UpdateData(false);
}
/////////////////////////////////////////////////////////////////////////////
// C45RULEOPTION dialog
C45RULEOPTION::C45RULEOPTION(CWnd* pParent /*=NULL*/)
: CDialog(C45RULEOPTION::IDD, pParent)
{
//{{AFX_DATA_INIT(C45RULEOPTION)
mD_CF = 0;
mD_Fn = _T("");
mD_R = 0;
mD_S = 0;
mD_A = FALSE;
mD_U = FALSE;
mD_V = 0;
mC_V = FALSE;
mC_S = FALSE;
mC_R = FALSE;
mC_C = FALSE;
//}}AFX_DATA_INIT
}
void C45RULEOPTION::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(C45RULEOPTION)
DDX_Control(pDX, IDC_EDIT_V, m_EditV);
DDX_Control(pDX, IDC_EDIT_R, m_EditR);
DDX_Control(pDX, IDC_EDIT_C, m_EditC);
DDX_Control(pDX, IDOK, mC_OK);
DDX_Control(pDX, IDC_EDIT_S, mD_EditS);
DDX_Text(pDX, IDC_EDIT_C, mD_CF);
DDV_MinMaxInt(pDX, mD_CF, 0, 100);
DDX_Text(pDX, IDC_EDIT_FN, mD_Fn);
DDV_MaxChars(pDX, mD_Fn, 100);
DDX_Text(pDX, IDC_EDIT_R, mD_R);
DDV_MinMaxInt(pDX, mD_R, 0, 10000);
DDX_Text(pDX, IDC_EDIT_S, mD_S);
DDV_MinMaxInt(pDX, mD_S, 0, 100);
DDX_Check(pDX, IDC_CHECK_SIMANNEAL, mD_A);
DDX_Check(pDX, IDC_CHECK_UNSEEN, mD_U);
DDX_Text(pDX, IDC_EDIT_V, mD_V);
DDV_MinMaxInt(pDX, mD_V, 0, 100);
DDX_Check(pDX, IDC_CHECK_V, mC_V);
DDX_Check(pDX, IDC_CHECK_S, mC_S);
DDX_Check(pDX, IDC_CHECK_R, mC_R);
DDX_Check(pDX, IDC_CHECK_C, mC_C);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(C45RULEOPTION, CDialog)
//{{AFX_MSG_MAP(C45RULEOPTION)
ON_BN_CLICKED(IDC_BUTTON_BRWS, OnButtonBrwsFile)
ON_BN_CLICKED(IDC_CHECK_C, OnCheckC)
ON_BN_CLICKED(IDC_CHECK_R, OnCheckR)
ON_BN_CLICKED(IDC_CHECK_S, OnCheckS)
ON_BN_CLICKED(IDC_CHECK_V, OnCheckV)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// C45RULEOPTION message handlers
void C45RULEOPTION::OnButtonBrwsFile()
{
CFileDialog fDlg(true,NULL,"*.*;*.data", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"数据文件 (*.data;*.*)|*.data; *.*|所有文件 (*.*)|*.*|", NULL);
UpdateData(true);
if(fDlg.DoModal()==IDOK)
mD_Fn=fDlg.GetPathName();
if(strcmp(mD_Fn,""))
mC_OK.EnableWindow(true);
UpdateData(false);
return;
}
void C45RULEOPTION::OnOK()
{
UpdateData(true);
if(!strcmp(mD_Fn,""))
{
MessageBox("请选择数据文件!");
mC_OK.EnableWindow(false);
return ;
}
else
CDialog::OnOK();
}
void C45RULEOPTION::OnCheckC()
{
mC_C=!mC_C;
UpdateData(true);
m_EditC.EnableWindow(mC_C);
UpdateData(false);
}
void C45RULEOPTION::OnCheckR()
{
mC_R=!mC_R;
UpdateData(true);
m_EditR.EnableWindow(mC_R);
UpdateData(false);
}
void C45RULEOPTION::OnCheckS()
{
mC_S=!mC_S;
UpdateData(true);
mD_EditS.EnableWindow(mC_S);
UpdateData(false);
}
void C45RULEOPTION::OnCheckV()
{
mC_V=!mC_V;
UpdateData(true);
m_EditV.EnableWindow(mC_V);
UpdateData(false);
}
/////////////////////////////////////////////////////////////////////////////
// ConsultOption dialog
ConsultOption::ConsultOption(CWnd* pParent /*=NULL*/)
: CDialog(ConsultOption::IDD, pParent)
{
//{{AFX_DATA_INIT(ConsultOption)
mD_V = FALSE;
mD_Fname = _T("");
mD_T = FALSE;
//}}AFX_DATA_INIT
}
void ConsultOption::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(ConsultOption)
DDX_Control(pDX, IDOK, mC_OK);
DDX_Check(pDX, IDC_CHECK_V, mD_V);
DDX_Text(pDX, IDC_EDIT_FN, mD_Fname);
DDV_MaxChars(pDX, mD_Fname, 100);
DDX_Check(pDX, IDC_CHECK_TRACE, mD_T);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(ConsultOption, CDialog)
//{{AFX_MSG_MAP(ConsultOption)
ON_BN_CLICKED(IDC_BUTTON_BRWS, OnFileBrws)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// ConsultOption message handlers
void ConsultOption::OnFileBrws()
{
CFileDialog fDlg(true,NULL,"*.*;*.data", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"数据文件 (*.data;*.*)|*.data; *.*|所有文件 (*.*)|*.*|", NULL);
UpdateData(true);
if(fDlg.DoModal()==IDOK)
mD_Fname=fDlg.GetPathName();
if(strcmp(mD_Fname,""))
mC_OK.EnableWindow(true);
UpdateData(false);
return;
}
void ConsultOption::OnOK()
{
UpdateData(true);
if(!strcmp(mD_Fname,""))
{
MessageBox("请选择数据文件!");
mC_OK.EnableWindow(false);
return ;
}
else
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -