www.pudn.com > Triumph.rar > TriumphDoc.cpp
// TriumphDoc.cpp : implementation of the CTriumphDoc class
//
#include "stdafx.h"
#include "Triumph.h"
#include "TriumphDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTriumphDoc
IMPLEMENT_DYNCREATE(CTriumphDoc, CDocument)
BEGIN_MESSAGE_MAP(CTriumphDoc, CDocument)
//{{AFX_MSG_MAP(CTriumphDoc)
ON_COMMAND(ID_INPORT, OnInport)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTriumphDoc construction/destruction
CTriumphDoc::CTriumphDoc()
{
// TODO: add one-time construction code here
}
CTriumphDoc::~CTriumphDoc()
{
}
BOOL CTriumphDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CTriumphDoc serialization
void CTriumphDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}
/////////////////////////////////////////////////////////////////////////////
// CTriumphDoc diagnostics
#ifdef _DEBUG
void CTriumphDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CTriumphDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTriumphDoc commands
void CTriumphDoc::OnInport()
{
// TODO: Add your command handler code here
//首先将任务清空,下面开始读取任务
stringlist.RemoveAll();
CFileDialog FileDialog(TRUE,"Haha","b",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR,"文本文件|*.txt|");
if(FileDialog.DoModal()==IDOK)
{
CStdioFile file;
file.Open(FileDialog.GetPathName(),CFile::modeRead);
CString strTemp;
while(TRUE)
{
if(!file.ReadString(strTemp)) break;
stringlist.AddTail(strTemp);
}
}
//现在开始查找任务
CMedium medium;
POSITION po=stringlist.GetHeadPosition();
for(int n=stringlist.GetCount();n--;)
{
//下面依次在各词库里面查找
CString temp=stringlist.GetNext(po);
NOTESTRUCT ns=medium.Search(temp,CString("研究生考试词汇"));
if(ns.WordLength==0) ns=medium.Search(temp,CString("GRE考试词汇"));
if(ns.WordLength==0)
{
notelist.AddTail(temp);
notelist.AddTail("找不到!");
}
else
{
notelist.AddTail(ns.Word+" "+ns.Phonetic);
notelist.AddTail(ns.Explanation);
}
}
UpdateAllViews(NULL);
///////////////////////////////////////////////////
}
CStringList& CTriumphDoc::GetTask()
{
return stringlist;
}
CStringList& CTriumphDoc::GetNote()
{
return notelist;
}