易码技术论坛

 找回密码
 加入易码
搜索
查看: 197629|回复: 4

py2gb这个函数怎么用

[复制链接]
发表于 2005-7-16 12:13:00 | 显示全部楼层
System.PY2GB原型 long System.PY2GB(int id,addr str,addr buf); 功能 根据拼音取汉字 说明 str指向拼音字符串
      id为汉字的序号(从0开始)
      buf为存储符合条件的汉字的缓冲区
      返回值为-1表示没有符合条件的汉字,否则:
      返回值的低字表示符合条件的汉字数(一次最多取9个)
      返回值的高字表示该拼音下的所有汉字数 举例 #define LEFT_KEY 0x17
#define UP_KEY   0x14
#define DOWN_KEY 0x15

void main()
{
    char i,c,pinyin[10];
    char s[20];
    int id,sum;
    long t;

    pinyin[0]=0;
    i=0;
    id=0;
    sum=0;
    ClearScreen();
    TextOut(2,67,"拼",1);
    Block(1,66,13,78,2);
    Refresh();
    for (;;) {
        c=getchar();
        if (c==LEFT_KEY) {
            if (i) {
                pinyin[--i]=0;
                id=0;
                sum=0;
            }
        } else if (c==DOWN_KEY) {
            if (id+9<sum) id=id+9;
        } else if (c==UP_KEY) {
            if (id>9) id=id-9;
            else id=0;
        } else if (c>='a' && c<='z') {
            if (i<6) {
                pinyin[i++]=c;
                pinyin=0;
                id=0;
                sum=0;
            }
        }
        Block(15,67,159,79,0);
        TextOut(15,67,pinyin,1);
        t=System.PY2GB(id,pinyin,s);
        if (t!=-1) {
            sum=t>>16;
            TextOut(52,67,s,1);
        }
        Refresh();
    }
}
发表于 2005-7-16 12:28:00 | 显示全部楼层
可以作出一个简单的输入法。
魔法纪元里面输入名字的系统就是用这个作的。
 楼主| 发表于 2005-7-16 16:26:00 | 显示全部楼层
怎么做输入法
好像只能输入拼音,不能选汉字
发表于 2005-7-16 18:32:00 | 显示全部楼层
选汉字部分要自己作的。Help里面给的例子就是一个简单的输入法。可以参考。
 楼主| 发表于 2005-7-16 11:50:53 | 显示全部楼层 |阅读模式
如题
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-29 20:29 , Processed in 0.010932 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表