ChLibarry.h
上传用户:hyb6888
上传日期:2016-01-24
资源大小:5186k
文件大小:2k
源码类别:

输入法编程

开发平台:

Visual C++

  1. // loadmylib.h: interface for the loadmylib class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_LOADMYLIB_H__4773B0BC_EABE_4EB8_B133_4E9EED2F62A5__INCLUDED_)
  5. #define AFX_LOADMYLIB_H__4773B0BC_EABE_4EB8_B133_4E9EED2F62A5__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class ChLibarry  
  10. {
  11. public:
  12.    //字库长度CLIB与字串个数LPCL由它们的下标限制
  13. char LibName[1000];
  14. HANDLE  hMapFile;
  15. LPVOID  lpMapFileBase;
  16. char *LIBHead;
  17. long *Headlon ;
  18. long *IndexNum ;
  19. long *NullIndex;
  20. long *CLIB_Start;
  21. long *CLIB_lon;
  22. long *ExCodeStart;
  23. long *ExCdlon;
  24. long *FileLong;
  25. long *LIBIndex;
  26. char *CLIB_EnCh;
  27. char *ExCdLIB;
  28. int Base, GoldeNum, GoldeLen;      //编码规则部分使用
  29. char Midtems[5000] ;               //存放中间临时字符串.
  30. long FirstChiNum;                  //从编码中得到的第一个汉字的位置
  31. unsigned long Sqrt(long num ,int p);
  32. public:
  33. long GetIndex(char *En);
  34. long GetIndex(char *En,char *chi);
  35. long GetChss(long ID,char *ss1,char *ss2,char *EE);
  36. long GetChss(char *enss,char *ss);
  37. char *EntoCh(char*Enss);
  38. long findNextChiAndID(char *Enss,char *Nextchiss);
  39. int  loadChiLib(char *inputLibName,long Locbase, long LocGoldeNum, long LocGoldeLen);
  40.     int  loadChiLibEx(char *inputLibName,long Locbase, long LocGoldeNum, long LocGoldeLen);
  41. ChLibarry();
  42. virtual ~ChLibarry();
  43. long findNextID(char *Enss);
  44. long GetChlen(long ID);
  45. long deletestr(char *pc,char *Chi,int tag);
  46. long insertID(char *En,char *chi,int  tag);
  47. deleteID(char *En,char *Chi,int tag);//删除指定的汉字串
  48. ScanID();
  49. bool isWBcode(char *inputEn);
  50. long DeleteSpace(long LID);
  51. long GetSpaceLon(long LID,char **pcBs,char **pcEx);
  52. long insertNewtoEnd(char *En,char *pcBs,char *pcEx);
  53. MySort(long CurID,int n, char *sle);
  54. long reloadmylib();
  55. Unloadmylib();
  56. long insertNewIndex(char *En,long nexindexvar);
  57. long FindSameWord(char* ss,char *chi,int tag);
  58. };
  59. #endif // !defined(AFX_LOADMYLIB_H__4773B0BC_EABE_4EB8_B133_4E9EED2F62A5__INCLUDED_)