⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pinyininput.h

📁 我自己做的拼音输入法
💻 H
📖 第 1 页 / 共 2 页
字号:
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_g_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"g     "))Input[1]='a';
    for(i=0;i<19;i++)
        if(StringCompare(Input,PY_index_g[i]))return(acFontHZHei_g5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_h_index(*Input)
//	功能介绍:  	从h开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_h_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"h     "))Input[1]='a';
    for(i=0;i<19;i++)
        if(StringCompare(Input,PY_index_h[i]))return(acFontHZHei_h5x5_pointer[i]);
    return 0;
}


//=========================================================================================================
//	函数名:   	unsigned char const *PY_j_index(*Input)
//	功能介绍:  	从j开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_j_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"j     "))Input[1]='i';
    for(i=0;i<14;i++)
        if(StringCompare(Input,PY_index_j[i]))return(acFontHZHei_j5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_k_index(*Input)
//	功能介绍:  	从k开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_k_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"k     "))Input[1]='a';
    for(i=0;i<18;i++)
        if(StringCompare(Input,PY_index_k[i]))return(acFontHZHei_k5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_l_index(*Input)
//	功能介绍:  	从l开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_l_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"l     "))Input[1]='a';
    for(i=0;i<24;i++)
        if(StringCompare(Input,PY_index_l[i]))return(acFontHZHei_l5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_m_index(*Input)
//	功能介绍:  	从m开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_m_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"m     "))Input[1]='a';
    for(i=0;i<19;i++)
        if(StringCompare(Input,PY_index_m[i]))return(acFontHZHei_m5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_n_index(*Input)
//	功能介绍:  	从n开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_n_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"n     "))Input[1]='a';
    for(i=0;i<23;i++)
        if(StringCompare(Input,PY_index_n[i]))return(acFontHZHei_n5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_o_index(*Input)
//	功能介绍:  	从o开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_o_index(char *Input)
{
    unsigned int i;
    for(i=0;i<2;i++)
        if(StringCompare(Input,PY_index_o[i]))return(acFontHZHei_o5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_p_index(*Input)
//	功能介绍:  	从p开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_p_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"p     "))Input[1]='a';
    for(i=0;i<17;i++)
        if(StringCompare(Input,PY_index_p[i]))return(acFontHZHei_p5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_q_index(*Input)
//	功能介绍:  	从q开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_q_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"q     "))Input[1]='i';
    for(i=0;i<14;i++)
        if(StringCompare(Input,PY_index_q[i]))return(acFontHZHei_q5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_r_index(*Input)
//	功能介绍:  	从r开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_r_index(char *Input)
{
    unsigned int i;
    for(i=0;i<14;i++)
        if(StringCompare(Input,PY_index_r[i]))return(acFontHZHei_r5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_s_index(*Input)
//	功能介绍:  	从s开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_s_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"s     "))Input[1]='a';
    for(i=0;i<34;i++)
        if(StringCompare(Input,PY_index_s[i]))return(acFontHZHei_s5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_t_index(*Input)
//	功能介绍:  	从t开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_t_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"t     "))Input[1]='a';
    for(i=0;i<19;i++)
        if(StringCompare(Input,PY_index_t[i]))return(acFontHZHei_t5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_w_index(*Input)
//	功能介绍:  	从w开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_w_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"w     "))Input[1]='a';
    for(i=0;i<9;i++)
        if(StringCompare(Input,PY_index_w[i]))return(acFontHZHei_w5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_x_index(*Input)
//	功能介绍:  	从x开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_x_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"x     "))Input[1]='i';
    for(i=0;i<14;i++)
        if(StringCompare(Input,PY_index_x[i]))return(acFontHZHei_x5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_y_index(*Input)
//	功能介绍:  	从y开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_y_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"y     "))Input[1]='a';
    for(i=0;i<15;i++)
        if(StringCompare(Input,PY_index_y[i]))return(acFontHZHei_y5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_z_index(*Input)
//	功能介绍:  	从z开头的拼音里找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-16 		
unsigned char const *PY_z_index(char *Input)
{
    unsigned int i;
    if(StringCompare(Input,"z     "))Input[1]='a';
    for(i=0;i<36;i++)
        if(StringCompare(Input,PY_index_z[i]))return(acFontHZHei_z5x5_pointer[i]);
    return 0;
}

//=========================================================================================================
//	函数名:   	unsigned char const *PY_HZ_index(*Input)
//	功能介绍:  	找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-17 	
extern unsigned char const *PY_HZ_index(char *Input)
{
    if(Input[0]=='i'|| Input[0]=='u'||Input[0]=='v'||Input[0]==' ')return (0);
    return((*PY_index[Input[0]-97])(Input));
}

//=========================================================================================================
//	函数名:   	PinYinInput()
//	功能介绍:  	找出所要找的拼音,没有就返回0
//	Author:		chenyongxi
//	Date:		2008-12-17 
void PinYinInput(void)
{
    char aa,Key[7]="      ";
    unsigned int KeyNum=0,HzNum=0,i,page,flag=0;
    unsigned char const *p[128];
	unsigned char const *py;
    while(1)
	 {
	    aa=Uart_Getch();
	    if(aa ==0x0d)
	      {
	        if(flag==0){flag=1;Lcd_DrawEnglishString7_10(150,93,"Char Input!");}
	        else {flag=0;Lcd_DrawEnglishString7_10(150,93,"HanZ Input!");}
	      }
	    //****************汉字输入
	    if(flag==0)
	      {
	      if(aa>='a' && aa<='z' && KeyNum<6)
	          {
	          Lcd_ClearLine(76,16);
	          Lcd_DrawChar12_16(0+KeyNum*12,93,aa);
	          Key[KeyNum] = aa;
	          KeyNum++;
	          py = PY_HZ_index(Key);
	          if(py!=0){Lcd_DrawChineseIndex(py,1);page=0;}
	          }
	      if(aa == 0x08)
	         {
	         if(KeyNum != 0)
	            {
	            Key[--KeyNum] = ' ';
	            Lcd_ClearLine(76,16);
	            Lcd_DrawChar12_16(0+KeyNum*12,93,' ');
	            py = PY_HZ_index(Key);
	            if(py!=0){Lcd_DrawChineseIndex(py,1);page=0;}
	            }
	         else if(HzNum!=0)
	            {
	            Lcd_ClearChinese16_16(((HzNum)%15)*16,((HzNum)/15)*16);
	            p[--HzNum]=0;
	            Lcd_DrawChar16_16(((HzNum)%15)*16,((HzNum)/15)*16,'|');//|
	            }
	         }
	      if(aa == ' '&&py!=0)
	        { 
	        p[HzNum] = py+1+page*8*32;
	        Lcd_DrawChinese16_16((HzNum%15)*16,(HzNum/15)*16,p[HzNum]);//汉字
	        HzNum++;
	        Lcd_DrawChar16_16(((HzNum)%15)*16,((HzNum)/15)*16,'|');//|
	        for(i=0;i<6;i++)Key[i]=' ';
	        Lcd_DrawEnglishString12_16(0,93,Key);
	        KeyNum=0;
	        }
	      if(aa>='0'&&aa<='7'&&((aa-48)+page*8)<*py&&py!=0)
	        {
	        p[HzNum] = py+1+((aa-48)+page*8)*32;
	        Lcd_DrawChinese16_16((HzNum%15)*16,(HzNum/15)*16,p[HzNum]);//汉字
	        HzNum++;
	        Lcd_DrawChar16_16(((HzNum)%15)*16,((HzNum)/15)*16,'|');//|
	        for(i=0;i<6;i++)Key[i]=' ';
	        Lcd_DrawEnglishString12_16(0,93,Key);
	        KeyNum=0;
	        }
	      if(aa=='='&&py!=0)
	        {
	        if((page+1)*8<*py)
	          {
	           page++;
	           Lcd_ClearLine(76,16);
	           Lcd_DrawChineseIndex(py,page*8+1);
	           }
         
	        }
	      if(aa=='-'&&py!=0&&page!=0)
	        {
	        page--;
	        Lcd_ClearLine(76,16);
	        Lcd_DrawChineseIndex(py,page*8+1);  
	        }
	     }
	     //********字符输入
	    if(flag==1)
	     {
	        if(aa>=' '&&aa<='~')
	        {
	          p[HzNum] = &acFontEZK_16x16[aa-32][0];
	          Lcd_DrawChinese_char16_16((HzNum%15)*16,(HzNum/15)*16,p[HzNum]);//字符
	          HzNum++;
	          Lcd_DrawChar16_16(((HzNum)%15)*16,((HzNum)/15)*16,'|');//|
	          for(i=0;i<6;i++)Key[i]=' ';
	          Lcd_DrawEnglishString12_16(0,93,Key);
	          KeyNum=0;
	          Lcd_ClearLine(76,16);
	        }
	        if(aa==0x08&&HzNum!=0)
	        {
	          Lcd_ClearChinese16_16(((HzNum)%15)*16,((HzNum)/15)*16);
	          p[--HzNum]=0;
	          Lcd_DrawChar16_16(((HzNum)%15)*16,((HzNum)/15)*16,'|');//|
	        }
	     }
	    if(aa=='*')break;  
	    Lcd_DrawIntdata(0,64,aa);//显示接收到的字符的ASCII码
	 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -