GETHZ.H
上传用户:zhang8947
上传日期:2007-01-08
资源大小:1910k
文件大小:2k
源码类别:

多国语言处理

开发平台:

Visual C++

  1. // aview.h : interface of the CAView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. //输入法库文件格式结构
  5. #define CODE_CELL_NUM 94 //码元数目
  6. #define MAX_NAME_LEN 16 //输入法名的最大长度
  7. #define MAX_CODE_LEN 12 //最大码长
  8. #define MAX_PAGE 16
  9. #define START_CODE 33 //码元表开始的字符
  10. //表头结构
  11. struct INPUT_LIB_HEAD
  12. {
  13. DWORD dwTotalBytes ; //整个库所占字节数
  14. DWORD dwTotalWords ; //整个库中的词条数目
  15. char sName[MAX_NAME_LEN+2] ; //输入法名,以''结束
  16. int nFunctionKey ; //功能键号
  17. int nGodKey ; //万能键
  18. int nMaxCodeLen ; //最大码长
  19. char sCodeCells[CODE_CELL_NUM] ; //码元表,1表示有,0无
  20. DWORD dwIndex[CODE_CELL_NUM] ; //首码索引表
  21. } ;
  22. //输入法库类
  23. class CInputLib
  24. {
  25. public:
  26. char huge *m_hpsLib ; //库指针
  27. DWORD m_dwLibLen ; //库长度
  28. INPUT_LIB_HEAD far *m_lpLibHead ; //库头
  29. char huge *m_hpsContent ; //内容指针
  30. char huge *m_hpsPage ; //翻页指针
  31. DWORD m_dwContent ; //判断内容指针是否已经到库尾
  32. DWORD m_dwPage ; //判断翻页指针是否已经到库尾
  33. int m_nCheckedNum ; //已经检索过的字母数
  34. int m_nScrolledPage ; //翻过的页数
  35. //内容指针,指向每个字母开始处
  36. DWORD m_dwContentPoint[MAX_CODE_LEN] ;
  37. //页指针,指向每页开始处
  38. DWORD m_dwPagePoint[MAX_PAGE] ;
  39. public:
  40. CInputLib( void ) ;
  41. ~CInputLib( void ) ;
  42. //装入输入法库
  43. BOOL LoadInputLib( LPCSTR lpsLibName ) ;
  44. void UnloadInputLib( void ) ; //释放输入法库
  45. } ;
  46. //------------------------------------------------------------------//
  47. #ifdef __cplusplus
  48. extern "C" {
  49. #endif
  50. int ArrangeOutHz( LPCSTR lpsEnglish , int nEnglishLen ,
  51. LPSTR lpsChinese , int nMaxChinese , 
  52. LPINT lpnChineseLen , int nFlag ) ;
  53. int SetHzString( LPCSTR lpsEnglish , int nEnglishLen ,
  54. LPSTR lpsChinese , int nMaxChinese , 
  55. LPINT lpnChineseLen ) ;
  56. #ifdef __cplusplus
  57. }
  58. #endif