www.pudn.com > 智能内码识别,支持屏幕取词翻译的程序.zip > GETHZ.H


// aview.h : interface of the CAView class 
// 
///////////////////////////////////////////////////////////////////////////// 
 
//输入法库文件格式结构 
 
#define	CODE_CELL_NUM	94			//码元数目 
#define	MAX_NAME_LEN	16		//输入法名的最大长度 
#define	MAX_CODE_LEN	12		//最大码长 
#define	MAX_PAGE			16 
#define	START_CODE			33		//码元表开始的字符 
 
//表头结构 
struct	INPUT_LIB_HEAD 
{ 
	DWORD	dwTotalBytes ;		//整个库所占字节数 
	DWORD	dwTotalWords ;		//整个库中的词条数目 
	char			sName[MAX_NAME_LEN+2] ;		//输入法名,以'\0'结束 
	int				nFunctionKey ;		//功能键号 
	int				nGodKey ;			//万能键 
	int				nMaxCodeLen ;	//最大码长 
	 
	char		sCodeCells[CODE_CELL_NUM] ;		//码元表,1表示有,0无 
	DWORD	dwIndex[CODE_CELL_NUM] ;	//首码索引表 
} ;		 
 
//输入法库类 
class	CInputLib 
{ 
	public: 
		char huge	*m_hpsLib ;			//库指针 
		DWORD	m_dwLibLen ;	//库长度 
		INPUT_LIB_HEAD far	*m_lpLibHead ;	//库头 
		 
		char huge	*m_hpsContent ;	//内容指针 
		char huge	*m_hpsPage ;	//翻页指针 
		DWORD	m_dwContent ;	//判断内容指针是否已经到库尾 
		DWORD	m_dwPage ;		//判断翻页指针是否已经到库尾 
 
		int				m_nCheckedNum ;	//已经检索过的字母数 
		int				m_nScrolledPage ;	//翻过的页数 
		//内容指针,指向每个字母开始处		 
		DWORD	m_dwContentPoint[MAX_CODE_LEN] ; 
		//页指针,指向每页开始处 
		DWORD	m_dwPagePoint[MAX_PAGE] ; 
	public: 
		CInputLib( void ) ; 
		~CInputLib( void ) ; 
	 
		//装入输入法库 
		BOOL	LoadInputLib( LPCSTR lpsLibName ) ; 
		void	UnloadInputLib( void ) ;	//释放输入法库 
} ; 
 
//------------------------------------------------------------------// 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
int	ArrangeOutHz( LPCSTR lpsEnglish , int nEnglishLen , 
							LPSTR lpsChinese , int nMaxChinese ,  
							LPINT lpnChineseLen , int nFlag ) ; 
int	SetHzString( LPCSTR lpsEnglish , int nEnglishLen , 
							LPSTR lpsChinese , int nMaxChinese ,  
							LPINT lpnChineseLen ) ; 
 
#ifdef __cplusplus 
} 
#endif