?? pyin.c
字號:
{"en \XED\X0E"},
{"eng \XF4\X0E"},
{"i \X05\X0F"},
{"ian \X22\X0F"},
{"iao \X35\X0F"},
{"ie \X46\X0F"},
{"in \X4B\X0F"},
{"ing \X58\X0F"},
{"iu \X65\X0F"},
{"o \X68\X0F"},
{"ou \X8D\X0F"},
{"u \X94\X0F"}};
unsigned char code PY_index_n[][8]={
{"a \XB3\X0F"},
{"ai \XC2\X0F"},
{"an \XCD\X0F"},
{"ang \XD4\X0F"},
{"ao \XD7\X0F"},
{"e \XE2\X0F"},
{"ei \XE5\X0F"},
{"en \XEA\X0F"},
{"eng \XED\X0F"},
{"i \XF0\X0F"},
{"ian \X07\X10"},
{"iang \X16\X10"},
{"iao \X1B\X10"},
{"ie \X20\X10"},
{"in \X2F\X10"},
{"ing \X32\X10"},
{"iu \X3F\X10"},
{"ong \X48\X10"},
{"u \X51\X10"},
{"uan \X58\X10"},
{"ue \X5B\X10"},
{"uo \X60\X10"},
{"v \X69\X10"}};
unsigned char code PY_index_o[][8]={
{" \X6C\X10"},
{"u \X6F\X10"}};
unsigned char code PY_index_p[][8]={
{"a \X7E\X10"},
{"ai \X8D\X10"},
{"an \X9A\X10"},
{"ang \XAB\X10"},
{"ao \XB6\X10"},
{"ei \XC5\X10"},
{"en \XD8\X10"},
{"eng \XDD\X10"},
{"i \XFA\X10"},
{"ian \X1F\X11"},
{"iao \X28\X11"},
{"ie \X31\X11"},
{"in \X36\X11"},
{"ing \X41\X11"},
{"o \X54\X11"},
{"ou \X65\X11"},
{"u \X68\X11"}};
unsigned char code PY_index_q[][8]={
{"i \X87\X11"},
{"ia \XD0\X11"},
{"ian \XD7\X11"},
{"iang \X04\X12"},
{"iao \X15\X12"},
{"ie \X34\X12"},
{"in \X3F\X12"},
{"ing \X56\X12"},
{"iong \X71\X12"},
{"iu \X76\X12"},
{"u \X87\X12"},
{"uan \XA2\X12"},
{"ue \XB9\X12"},
{"un \XCA\X12"}};
unsigned char code PY_index_r[][8]={
{"an \XCF\X12"},
{"ang \XD8\X12"},
{"ao \XE3\X12"},
{"e \XEA\X12"},
{"en \XEF\X12"},
{"eng \X04\X13"},
{"i \X09\X13"},
{"ong \X0C\X13"},
{"ou \X21\X13"},
{"u \X28\X13"},
{"uan \X3D\X13"},
{"ui \X42\X13"},
{"un \X49\X13"},
{"uo \X4E\X13"}};
unsigned char code PY_index_s[][8]={
{"a \X53\X13"},
{"ai \X5A\X13"},
{"an \X63\X13"},
{"ang \X6C\X13"},
{"ao \X73\X13"},
{"e \X7C\X13"},
{"en \X83\X13"},
{"eng \X86\X13"},
{"ha \X89\X13"},
{"hai \X9C\X13"},
{"han \XA1\X13"},
{"hang \XC4\X13"},
{"hao \XD5\X13"},
{"he \XEC\X13"},
{"hen \X05\X14"},
{"heng \X28\X14"},
{"hi \X3F\X14"},
{"hou \XA0\X14"},
{"hu \XB5\X14"},
{"hua \XF8\X14"},
{"huai \XFD\X14"},
{"huan \X06\X15"},
{"huang \X0B\X15"},
{"hui \X12\X15"},
{"hun \X1B\X15"},
{"huo \X24\X15"},
{"i \X2D\X15"},
{"ong \X4C\X15"},
{"ou \X5D\X15"},
{"u \X66\X15"},
{"uan \X7D\X15"},
{"ui \X84\X15"},
{"un \X9B\X15"},
{"uo \XA2\X15"}};
unsigned char code PY_index_t[][8]={
{"a \XB3\X15"},
{"ai \XC6\X15"},
{"an \XD9\X15"},
{"ang \XFE\X15"},
{"ao \X19\X16"},
{"e \X30\X16"},
{"eng \X33\X16"},
{"i \X3C\X16"},
{"ian \X5B\X16"},
{"iao \X6C\X16"},
{"ie \X79\X16"},
{"ing \X80\X16"},
{"ong \X95\X16"},
{"ou \XB0\X16"},
{"u \XB9\X16"},
{"uan \XD0\X16"},
{"ui \XD5\X16"},
{"un \XE2\X16"},
{"uo \XEB\X16"}};
unsigned char code PY_index_w[][8]={
{"a \X02\X17"},
{"ai \X11\X17"},
{"an \X16\X17"},
{"ang \X39\X17"},
{"ei \X4E\X17"},
{"en \X91\X17"},
{"eng \XA6\X17"},
{"o \XAD\X17"},
{"u \XC0\X17"}};
unsigned char code PY_index_x[][8]={
{"i \XFB\X17"},
{"ia \X40\X18"},
{"ian \X59\X18"},
{"iang \X90\X18"},
{"iao \XB9\X18"},
{"ie \XDC\X18"},
{"in \X05\X19"},
{"ing \X1A\X19"},
{"iong \X37\X19"},
{"iu \X46\X19"},
{"u \X5B\X19"},
{"uan \X82\X19"},
{"ue \X97\X19"},
{"un \XA6\X19"}};
unsigned char code PY_index_y[][8]={
{"a \XC3\X19"},
{"an \XE4\X19"},
{"ang \X27\X1A"},
{"ao \X4A\X1A"},
{"e \X6D\X1A"},
{"i \X8C\X1A"},
{"in \XF7\X1A"},
{"ing \X18\X1B"},
{"o \X3D\X1B"},
{"ong \X40\X1B"},
{"ou \X5F\X1B"},
{"u \X88\X1B"},
{"uan \XE1\X1B"},
{"ue \X0A\X1C"},
{"un \X1D\X1C"}};
unsigned char code PY_index_z[][8]={
{"a \X36\X1C"},
{"ai \X3F\X1C"},
{"an \X50\X1C"},
{"ang \X59\X1C"},
{"ao \X60\X1C"},
{"e \X7D\X1C"},
{"ei \X86\X1C"},
{"en \X89\X1C"},
{"eng \X8C\X1C"},
{"ha \X93\X1C"},
{"hai \XAE\X1C"},
{"han \XBD\X1C"},
{"hang \XE0\X1C"},
{"hao \X01\X1D"},
{"he \X18\X1D"},
{"hen \X2F\X1D"},
{"heng \X52\X1D"},
{"hi \X6F\X1D"},
{"hong \XC6\X1D"},
{"hou \XDD\X1D"},
{"hu \XFA\X1D"},
{"hua \X2F\X1E"},
{"huai \X32\X1E"},
{"huan \X35\X1E"},
{"huang \X40\X1E"},
{"hui \X51\X1E"},
{"hun \X5E\X1E"},
{"huo \X63\X1E"},
{"i \X78\X1E"},
{"ong \X95\X1E"},
{"ou \XA4\X1E"},
{"u \XAD\X1E"},
{"uan \XBE\X1E"},
{"ui \XC5\X1E"},
{"un \XCE\X1E"},
{"uo \XD3\X1E"}};
unsigned char code PY_index_end[][8]={" \X0\X0"};
//================================================================================================
//================================================================================================
//"========================================變量聲明========================================"
unsigned int code py_mb_begin=(unsigned int)&PY_mb_a[0];
code unsigned char ( code *PY_index_pointer[25])[8] = {
PY_index_a,PY_index_b,PY_index_c,PY_index_d,PY_index_e,PY_index_f,PY_index_g,PY_index_h,
PY_index_j,PY_index_j,PY_index_k,PY_index_l,PY_index_m,PY_index_n,PY_index_o,PY_index_p,
PY_index_q,PY_index_r,PY_index_s,PY_index_t,PY_index_w,PY_index_x,PY_index_y,PY_index_z,
PY_index_end};
code char index_len_buf[] = {5,16,23,20,3,9,19,19,14,18,24,19,23,2,17,14,14,34,19,9,14,15,36};
//"========================================函數聲明========================================"
//"拼音輸入法杳詢函數,input_py為已輸入的拼音碼,反回值為中文的起始地址,當為0時,杳詢失敗"
unsigned char code *py_ime(unsigned char input_py_val[]);
//"========================================主程序體========================================"
unsigned char code *py_ime(unsigned char input_py_val[])
{
unsigned char ( * xdata p1)[8],( * xdata p2)[8],( * xdata p3)[8];
unsigned char i=1;
char len,index_len;
if (input_py_val[0]==0) return(0); //"如果輸入空字符返回0"
if (input_py_val[0]=='i') return(0);
if (input_py_val[0]=='u') return(0);
if (input_py_val[0]=='v') return(0);
p1=p2=PY_index_pointer[input_py_val[0]-0x61]; //"計算入口樹根"
/*
p3=PY_index_pointer[input_py_val[0]-0x60]; //"設置指針界限"
if (p1==0) return(0); //"查詢失敗返回0"
while (p1<p3)
if ((*p1)[0]==input_py_val[1])
{
p2=p1;
break;
}
else
p1++; //"查詢第二個拼音"
p1=p2;
while (p1<p3) //"階梯法查詢余下拼音"
if (((*p1)[i]==input_py_val[i+1])&&((*p1)[i-1]==input_py_val[i]))
{
p2=p1;
i++;
}
else
p1++;
*/
len = strlen(input_py_val);
index_len = index_len_buf[input_py_val[0]-0x61];
if( len == 1 )
{
for( i = 0;i < index_len;i++)
{
if( strncmp(p1[i]," ",1) == 0)
break;
}
}
else
{
for( i = 0;i < index_len;i++)
{
if( strncmp(p1[i],input_py_val+1,len-1) == 0)
break;
}
}
return (( unsigned char code *)(p1[i][6]+p1[i][7]*256+py_mb_begin ));
// return((unsigned char code *)((*p2)[6]+(*p2)[7]*256+py_mb_begin+1)); //"返回查詢結果首地址"
}
void main( void )
{
unsigned char input_string[]= "cha";
unsigned char chines_string[100];
char i;
sprintf(chines_string,"%s",py_ime(input_string));
i = 0;
return;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -