- 注册时间
- 2004-12-21
- 最后登录
- 1970-1-1
|
如题
我的nc2000上用到就自动关机……
这是原代码有点乱表介意……
#define KEY_U 20<BR>#define KEY_L 23<BR>#define KEY_R 22<BR>#define KEY_D 21
#define KEY_F2 29<BR>char str[20];<BR>void inputw()<BR>{<BR> char i,ii,c,pinyin[10];<BR> char s[20];<BR> int id,sum;<BR> long t;<BR> char n;<BR> char out;<BR> char word[2];<BR> out=0;<BR> pinyin[0]=0;<BR> i=0;<BR> id=0;<BR> sum=0;<BR> ClearScreen();<BR> TextOut(2,67,"拼",1);<BR> Block(1,66,13,78,2);<BR> Refresh();<BR> for (;;) <BR> {<BR> Block(0,0,159,12,0);<BR> TextOut(0,0,str,1);<BR> Refresh();<BR> c=getchar();<BR> if (c==KEY_L)<BR> {<BR> if (i)<BR> {<BR> pinyin[--i]=0;<BR> id=0;<BR> sum=0;<BR> }<BR> } else if (c==KEY_D) <BR> {<BR> if (id+9<sum) id=id+9;<BR> } <BR> else if (c==KEY_U) <BR> {<BR> if (id>9) id=id-9;<BR> else id=0;<BR> } <BR> else if (c>='a' && c<='z') <BR> {<BR> if (i<6) <BR> {<BR> pinyin[i++]=c;<BR> pinyin=0;<BR> id=0;<BR> sum=0;<BR> }<BR> }<BR> else if (c==27) <BR> {<BR> out=1;<BR> }<BR> else if (c==KEY_F2&&strlen(str)>0) <BR> {<BR> memmove(str+strlen(str)-2,"",2);<BR> }<BR> Block(15,67,159,79,0);<BR> TextOut(15,67,pinyin,1);<BR> t=System.PY2GB(id,pinyin,s);<BR> if (t!=-1) <BR> {<BR> sum=t>>16;<BR> TextOut(52,67,s,1);<BR> }<BR> Refresh();<BR> Inkey();<BR> if (c==13&&t!=-1)<BR> {<BR> n=0;<BR> for (;;)<BR> {<BR> Block(0,0,159,12,0);<BR> TextOut(0,0,str,1);<BR> Block(15,67,159,79,0);<BR> TextOut(15,67,pinyin,1);<BR> t=System.PY2GB(id,pinyin,s);<BR> if (t!=-1) <BR> {<BR> sum=t>>16;<BR> TextOut(52,67,s,1);<BR> }<BR> Block(52+n*12,67,63+n*12,78,2);<BR> Refresh();<BR> c=getchar();<BR> if (n>0&&c==KEY_U) n--; <BR> if (n<9&&c==KEY_D) n++;<BR> if (c==13&&t!=-1) <BR> {<BR> memcpy(word,s+n*2,2);<BR> if (strlen(str)<20) sprintf(str,"%s%s",str,word);<BR> for (ii=0;ii<10;ii++)<BR> {<BR> pinyin[ii]=0;<BR> i=0;<BR> id=0;<BR> sum=0;<BR> Block(15,67,159,79,0);<BR> }<BR> break;<BR> }<BR> }<BR> }<BR> if (out==1) break;<BR> }<BR>}<BR>void main()<BR>{<BR> inputw();<BR> TextOut(0,20,str,1);<BR> Refresh();<BR>}
|
|