TC官方合作论坛

 找回密码
 立即注册
查看: 2467|回复: 14

[源码分享] 没事弄了一个模拟拼音汉字输入,欢迎大家来喷!!TC5.0

[复制链接]
发表于 2015-4-21 13:30:42 | 显示全部楼层 |阅读模式
本帖最后由 爱上老公 于 2015-4-21 14:55 编辑

前两天看了一位大神做了一个仿五笔输入的帖子,心里就琢磨着弄个拼音的,说干就干,本来想按照大神的思路,从输入法导出个汉字拼音字库什么的,但实施起来才发现问题,导是导出来了一个叫.bin的文件,打不开,
按照网上的方法改成ISO后缀,再用镜像软件装载,再打开,提示“镜像文件已经破坏,无法打开”,我丢它XX的,换成QQ输入法,导出来几个不知名文件,再次丢它XX,直接放弃,看来只能换个思路了!!!!{:soso_e101:}
一包烟和一包槟榔下去,抽搐半天,要不这样吧,反正高科技咱不行,来点肝胆的:提取要输入的单个字———再找到这个字的拼音————用搜狗输入法输入拼音————识字判断————再按键输出
对于大神们来说,思路出来了,东西出来是分分钟,对于我这种小白来说,思路还只是个念头,还是理想,还差1000008000里。费尽心思做了下面的工作:
1.网上找了一个汉字拼音对照表,换成TXT文件,当做字库
2.把这个汉字拼音对照表TXT文件每隔一行插入一个“/”,做什么用说不清,反正有用
3.用大漠做了一个7000字的汉字宋体字库,搜狗输出栏找字用
下面的工作就是:
遍历(i=1;i<5000;1++)
调试
一支烟
失败
一个槟榔
修改
遍历结束{:soso_e173:}
返回如下:


变量 待输入集合=数组()
变量 j
功能 退出_点击()
    退出()
结束

功能 拼音分割()
    //这个字库不是大漠字库,是自己网上下载的一个大约6500字的汉字+拼音的表格,再做成TXT的,然后每隔一行加个"/"符号
    变量 c
    变量 字库="C:\\Documents and Settings\\Administrator\\桌面\\汉字拼音对照表.txt"
    变量 字体=字库设置("rc:宋体12号7000.txt",0)//这个字体文件是用大漠工具做一个7000字的字库,用于拼音输入完成后屏幕找字
    变量 b = 文件获取行数(字库)//获取行数
    变量 file = 文件读取内容(字库)//读文件
    变量 待输入内容=编辑框获取文本("编辑框0")//要输入的字符放编辑框0
    变量 待输入内容长度=字符串长度(待输入内容)//判断要输入的字符的长度
    等待(2000)
    遍历( j = 0; j < 待输入内容长度; j++)//从第一个字符开始
        等待(20)
        待输入集合[j]=字符串截取(待输入内容,j,j+1)//截取第一个字符
        变量 字符类型 = 字符串返回字符(待输入集合[j],0)//得到字符的编码值
        调试输出(字符类型)
        变量 编码长度=字符串长度(字符类型)//得到字符的编码值

        调试输出(编码长度)
        //如果编码值长度小于等于3,说明是英文和英文符号,我在这里就直接放剪切板粘贴了,没做处理
        如果(编码长度<=3)
            设置剪切板(待输入集合[j])
            键盘按下(17)
            等待(20)
            键盘按下(86)
            等待(20)
            键盘弹起(86)
            等待(20)
            键盘弹起(17)
        否则
            变量 ret=字符串查找(file,待输入集合[j])//如果编码长度是5位,则说明是汉字和汉字标点
            调试输出(ret)
            如果(ret==-1)//因为自己做的汉字拼音TXT文件没放中文标点进去,所以尽管编码长度也是5位,但也找不到,
                         // 我在这里就直接放剪切板粘贴了,没做处理
                设置剪切板(待输入集合[j])
                键盘按下(17)
                等待(20)
                键盘按下(86)
                等待(20)
                键盘弹起(86)
                等待(20)
                键盘弹起(17)
                继续
            否则//剩下的编码长度是5位的,全部是汉字了,重点在这,
                遍历(变量 i = ret+1; i<ret+13; i++)//ret是前面找到的在汉字拼音对照表中的位置(把整个汉字拼音对照表TXT当做一个字符串)
                    等待(10)
                    //因为拼音在汉字的后面,在"/"的前面,截取拼音位置为:ret的后面,在"/"的前面
                    变量 ret1 = 字符串返回字符(file,i)
                    如果(ret1==47)//如果返回的编码为47("/"),就截取拼音
                        c=字符串截取(file,ret+1,i)
                        跳出
                    结束
                结束
                变量 拼音长度=字符串长度(c)//判断拼音的长度,依次输出每个字母
                遍历(变量 s = 1; s < 拼音长度+1;s++)
                    等待(20)
                    变量 ret2 = 字符串返回字符(c,s)
                    如果(97<=ret2<=122)
                        键盘按键(ret2-32)//因为汉字拼音对照表TXT里面是小写,而TC键码是大写,要转成大写的编码值才行
                    结束
                结束
                等待(10)
                输入判断()//拼音输入完成,进入文字查找
            结束
        结束

    结束
结束   

功能 输入判断()
    变量 宽,高
    变量 图片x,图片y
    变量 x,y
    变量 次数=5
    变量 分辨率=系统获取分辨率(宽,高)
    等待(20)
    循环(次数)//在全屏找要输入的字,也就是判断搜狗的输出栏里面是否有这个字(本来之前是用通过找搜狗图标来确定找字的坐标,后来发现有时找不到且反应慢)
        变量 查找 = 快速找字(0,0,宽,高,待输入集合[j],"0082E5-000000",1.0,x,y)//就改成了直接全屏找(速度还可以,一般每分钟70字左右,考试的话算及格,哈哈)
        等待(50)
        如果(查找==0)//如果找到这个字,就接着识别这个字前面的数字,再按对应数字的键
            变量 选字 = 识字(x-33,y,x-3,y+20,"0082E5-000000",1.0)
            如果(选字==1)
                键盘按键(49)
            结束   
            如果(选字==2)
                键盘按键(50)
            结束   
            如果(选字==3)
                键盘按键(51)
            结束
            如果(选字==4)
                键盘按键(52)
            结束
            如果(选字==5)
                键盘按键(53)
            结束
            如果(选字==6)
                键盘按键(54)
            结束
            如果(选字==7)
                键盘按键(55)
            结束
            如果(选字==8)
                键盘按键(56)
            结束
            如果(选字==9)
                键盘按键(57)
            结束
            跳出
        否则
            键盘按键(187)//如果没有找到这个字,按"="键翻页再找,循环5次,不管是否找到,重新开始输入下一个字的拼音
            等待(20)
        结束
        次数--
    结束
结束

功能 热键0_热键()
    线程开启("拼音分割","")
结束

功能 热键0_失去焦点()
    热键销毁("热键0")
    热键注册("热键0")
结束










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2015-4-21 13:32:27 | 显示全部楼层
累死了,自己坐板凳
回复 支持 反对

使用道具 举报

发表于 2015-4-21 13:37:12 | 显示全部楼层
不错的样子哦,等下给你补充点东西
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-21 13:44:15 | 显示全部楼层
忆辰辅助 发表于 2015-4-21 13:37
不错的样子哦,等下给你补充点东西

谢谢大神哦,现在这个东西是一个个字输的,并没有用到搜狗的联想输入,接下来我会想一个办法,让它可以模仿人手进行联想输入,或者头字母输入,估计有点难,望指导提点,再者就是要优化下代码,感谢大神回复!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-21 13:46:15 | 显示全部楼层
忆辰辅助 发表于 2015-4-21 13:37
不错的样子哦,等下给你补充点东西

还有个小问题,怎么样设置回复可见,因为我想知道大家提的意见,谢谢
回复 支持 反对

使用道具 举报

发表于 2015-4-21 14:11:31 | 显示全部楼层
爱上老公 发表于 2015-4-21 13:46
还有个小问题,怎么样设置回复可见,因为我想知道大家提的意见,谢谢

有一个小锁的图标就是了
回复 支持 反对

使用道具 举报

发表于 2015-4-21 15:10:53 | 显示全部楼层
爱上老公 发表于 2015-4-21 13:44
谢谢大神哦,现在这个东西是一个个字输的,并没有用到搜狗的联想输入,接下来我会想一个办法,让它可以模 ...

http://bbs.tyuyan.com/thread-50246-1-1.html
直接获取汉字拼音
回复 支持 反对

使用道具 举报

发表于 2015-4-21 16:54:25 | 显示全部楼层
看看啊   我也一样是小白
回复 支持 反对

使用道具 举报

发表于 2015-4-21 18:21:20 | 显示全部楼层
dsfsfdsdffsddfssdffsdsfdfsd
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-22 00:23:46 | 显示全部楼层
哈哈啊哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-12 10:27 , Processed in 0.043582 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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