⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 segdocdlg.cpp

📁 良好的代码实现
💻 CPP
字号:
// SegDocDlg.cpp : implementation file
//

#include "stdafx.h"
#include "TextClassify.h"
#include "SegDocDlg.h"
#include "WZDDRDLG.H"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSegDocDlg dialog

SegDocsParam theSegDocsParam;

CSegDocDlg::CSegDocDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSegDocDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSegDocDlg)
	m_strTarget = _T("");
	m_strSource = _T("");
	m_bContainTag = FALSE;
	m_bMultiDocs = FALSE;
	m_bDelStopwords = FALSE;
	//}}AFX_DATA_INIT
}


void CSegDocDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSegDocDlg)
	DDX_Text(pDX, IDC_EDIT_TARGET, m_strTarget);
	DDX_Text(pDX, IDC_EDIT_SOURCE, m_strSource);
	//DDX_Check(pDX, IDC_CONTAIN_TAG, m_bContainTag);
	DDX_Check(pDX, IDC_MULTI_DOCS, m_bMultiDocs);
	DDX_Check(pDX, IDC_DEL_STOPWORDS, m_bDelStopwords);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSegDocDlg, CDialog)
	//{{AFX_MSG_MAP(CSegDocDlg)
	ON_BN_CLICKED(IDC_BTN_BROWSE1, OnBtnBrowse1)
	ON_BN_CLICKED(IDC_BTN_BROWSE2, OnBtnBrowse2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSegDocDlg message handlers

void CSegDocDlg::OnOK() 
{
	// TODO: Add extra validation here
	
	UpdateData(TRUE);
	if(m_strSource.IsEmpty()||m_strTarget.IsEmpty())
	{
		AfxMessageBox("目标路径或结果路径不能为空!");
		return;
	}
	if(m_bMultiDocs)
	{
		if(!SetCurrentDirectory(m_strSource))
		{
			AfxMessageBox("源文档目录不存在!");
			return;
		}
		if(m_strTarget.Find(m_strSource)>=0)
		{
			AfxMessageBox("\"结果\"不能是\"目标\"的子目录!");
			return;
		}
		if(!SetCurrentDirectory(m_strTarget))
		{
			if(!CreateDirectory(m_strTarget,NULL))
			{
				AfxMessageBox("无法创建结果文档目录!");
				return;
			}
		}	
	}
	else
	{
		FILE *file;
		if((file=fopen(m_strSource,"r"))==NULL)
		{
			AfxMessageBox("文件"+m_strSource+"不存在!");
			return;
		}
		fclose(file);
	}
	theSegDocsParam.m_strSource=m_strSource;
	theSegDocsParam.m_strTarget=m_strTarget;
	theSegDocsParam.m_bContainTag=m_bContainTag;
	theSegDocsParam.m_bMultiDocs=m_bMultiDocs;
	theSegDocsParam.m_bDelStopwords=m_bDelStopwords;

	CDialog::OnOK();
}

void CSegDocDlg::OnBtnBrowse1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_bMultiDocs)
	{
		UpdateData(TRUE);	
		CWzdDirDlg dlg;
		CString dir=dlg.GetDirectory(this,m_strSource);
		if(!dir.IsEmpty())
		{
			m_strSource=dir;
			UpdateData(FALSE);	
		}	
	}
	else
	{
		static char BASED_CODE szFilter[] = "All Files (*.*)|*.*||";
		CFileDialog cfd(TRUE,szFilter,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);
		if (cfd.DoModal()==IDOK) 
		{
			m_strSource=cfd.GetPathName();
			m_strTarget=m_strSource+".seg";
			UpdateData(FALSE);	
		}
	}
}

void CSegDocDlg::OnBtnBrowse2() 
{
	// TODO: Add your control notification handler code here
	if(m_bMultiDocs)
	{
		UpdateData(TRUE);	
		CWzdDirDlg dlg;
		CString dir=dlg.GetDirectory(this,m_strTarget);
		if(!dir.IsEmpty())
		{
			m_strTarget=dir;
			UpdateData(FALSE);	
		}	
	}
	else
	{
		static char BASED_CODE szFilter[] = "All Files (*.*)|*.*||";
		CFileDialog cfd(FALSE,szFilter,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);
		if (cfd.DoModal()==IDOK) 
		{
			m_strTarget=cfd.GetPathName();
			UpdateData(FALSE);	
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -