📄 tranuc.h
字号:
//UCDOS文本输入文件转换头文件
//输入法库文件格式结构
#define CODE_CELL_NUM 94 //码元数目
#define MAX_NAME_LEN 16 //输入法名的最大长度
#define MAX_CODE_LEN 12 //最大码长
#define MAX_CHINESE_LEN 200 //汉字最大长度
//表头结构
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] ; //首码索引表
} ;
//英文,汉字对照项结构
struct INPUT_LIB_ITEM
{
int nEnglishLen ;
int nChineseLen ;
char sEnglish[MAX_CODE_LEN] ;
char sChinese[MAX_CHINESE_LEN] ;
} ;
//UCDOS输入法文本文件转换类
class CTranUcdos
{
private:
char m_sLibName[100] ; //库文件名
DWORD m_dwSourceLen ; //源库文件长度
char huge *m_hpsSource ; //源库
DWORD m_dwSourcePoint ; //源库指针
DWORD m_dwTotalLines ; //码表中项数
INPUT_LIB_HEAD inputLibHead ; //输入法文件头
private:
void ShowResult( CDC *pdc ) ;
//得到一行
BOOL GetOneLine( char *sLineBuff ) ;
//分析源库文件(指UCDOS输入法文本文件格式)
BOOL Analysis( void ) ;
BOOL AnalysisContent( char *psLine ) ;
//分析UCDOS输入法文本文件的头
BOOL AnalysisHead( char *psLine ) ;
//产生我的输入法文件
void CreateMyLib( void ) ;
//对该内容进行排序
void SortContent( char huge *hpsFile , DWORD dwFileLen ) ;
//拷贝输入项
void CopyInputItem( INPUT_LIB_ITEM huge *item1 ,
INPUT_LIB_ITEM huge *item2 ) ;
public:
//转换的接口
BOOL TranslateUcdos( CString pathName ) ;
} ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -