📄 mydictionary.h
字号:
#if !defined(AFX_WORDTAGSET_H__8B656CD7_8E67_403B_A5F7_0D06D8944ECD__INCLUDED_)
#define AFX_WORDTAGSET_H__8B656CD7_8E67_403B_A5F7_0D06D8944ECD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <afxdao.h>
/////////////////////////////////////////////////////////////////////////////
// CWordTagSet DAO recordset
class CWordTagSet : public CDaoRecordset
{
public:
CWordTagSet(CDaoDatabase* pDatabase = NULL);
int GetFreq(CString w, CString t);
int GetFreqs(CString w, CObArray & a);
DECLARE_DYNAMIC(CWordTagSet)
// Field/Param Data
//{{AFX_FIELD(CWordTagSet, CDaoRecordset)
long m_wid;
CString m_pos;
long m_pfreq;
long m_pid;
CString m_word;
long m_wfreq;
long m_wid2;
//}}AFX_FIELD
CString m_WordParam; // 词语参数
CString m_TagParam; // 词性标记参数
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CWordTagSet)
public:
// virtual CString GetDefaultDBName(); // Default database name
// virtual CString GetDefaultSQL(); // Default SQL for Recordset
virtual void DoFieldExchange(CDaoFieldExchange* pFX); // RFX support
//}}AFX_VIRTUAL
// Implementation
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
};
class CTagFreq: public CObject
{
public:
CString Tag;
int Freq;
CTagFreq(LPCSTR t, long f) {
Tag=t;
Freq=f;
} // 构造函数
};
class CMyDictionary
{
CDaoDatabase * pDatabase; // 数据库类指针
CDaoRecordset * pWords, * pTags; // 词表和词性表记录集指针
CDaoTableDef * pWordsDef, * pTagsDef; // 词表和词性表结构指针
public:
CMyDictionary(){}; // 构造函数
~CMyDictionary()
{// 构析函数
if(pWords) {
pWords->Close();
delete pWords;
}
if(pTags) {
pTags->Close();
delete pTags;
}
if(pWordsDef) {
pWordsDef->Close();
delete pWordsDef;
}
if(pTagsDef) {
pTagsDef->Close();
delete pTagsDef;
}
if(pDatabase) {
pDatabase->Close();
delete pDatabase;
AfxDaoTerm(); // can now safely terminate DAO
}
myDatabaseName = "";
};
CString myDatabaseName; // 数据库文件名
BOOL OpenMDB(); //打开数据库,表结构和记录集
BOOL CloseMDB(); //关闭数据库,表结构和记录集,释放个指针申请的内存
long GetWordID(CString w); // 成员函数:获取词语的代号
long GetFreq(CString w); // 成员函数:获取词语的频度值
long GetFreq(CString w, CString t); // 成员函数:获取词语在一定词性下的频度值
long GetFreq(CString w, CObArray& a); // 成员函数:获取词语各词性标记以及在各词性下的频度值
long Insert(CString w, long freq=1); // 成员函数:插入词频信息,包括新词的频度值信息
long Insert(CString w, CString t, long freq=1); // 成员函数:插入词语,词性标记,词频信息
// 处理词性标记的函数
CString GetTagOfWord(CString w); // 新增成员函数:获取词语的词性标记
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_WORDTAGSET_H__8B656CD7_8E67_403B_A5F7_0D06D8944ECD__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -