📄 put.c
字号:
kk=304;
jj=jj-16;
}
if(jj<=120)
{
jj=120;
}
goto h1;
case 0 :
s=check_key(getch());
goto outhz; /*汉字输入确认*/
case 10:i=i-2;if(i<0){i=0;goto top;}
break;
case 11:
case 20:
goto again;
}
if(i==0)
{ /*若为第一次读键*/
for(k=0;k<402;k++)
{
if(hzk_index[k][0]==key[0]) /*搜索索引表*/
{
ok=k;
goto here;
}
}
}
if(i==1)
{ /*若为第二次读键*/
mu=0;
for(k=0;k<402;k++)
{
if(hzk_index[k][0]==key[0]&&hzk_index[k][1]==key[1]) /*搜索索引表*/
{
mu=1;
ok=k;
goto here;
}
}
if(mu==0){sm[i]=ok;goto again;}
}
if(i==2)
{ /*若为第三次读键*/
mu=0;
for(k=0;k<402;k++)
{
if(hzk_index[k][0]==key[0]&&hzk_index[k][1]==key[1]&&hzk_index[k][2]==key[2])/*搜索索引表*/
{
ok=k;
mu=1;
goto here;
}
}
if(mu==0){sm[i]=ok;goto again;}
}
if(i==3)
{ /*若为第四次读键*/
mu=0;
for(k=0;k<402;k++)
{
if(hzk_index[k][0]==key[0]&&hzk_index[k][1]==key[1]&&hzk_index[k][2]==key[2]&&hzk_index[k][3]==key[3])
{
ok=k;
mu=1;
goto here;
}
}
if(mu==0){sm[i]=ok;goto again;}
}
if(i==4)
{ /*若为第五次读键*/
mu=0;
for(k=0;k<402;k++)
{
if(hzk_index[k][0]==key[0]&&hzk_index[k][1]==key[1]&&hzk_index[k][2]==key[2]&&hzk_index[k][3]==key[3]&&hzk_index[k][4]==key[4])
{
mu=1;
ok=k;
goto here;
}
}
if(mu==0){sm[i]=ok;goto again;}
}
if(i==5)
{ /*若为第六次读键*/
mu=0;
for(k=0;k<402;k++)
{
if(hzk_index[k][0]==key[0]&&hzk_index[k][1]==key[1]&&hzk_index[k][2]==key[2]&&hzk_index[k][3]==key[3]&&hzk_index[k][4]==key[4]&&hzk_index[k][5]==key[5])
{
mu=1;
ok=k;
goto here;
}
}
if(mu==0){sm[i]=ok;goto again;}
}
here: /*显示对应键盘字母所有的可能组合*/
m=hzk_index[k][6]; /*m为所有可能数,它位于索引表每行第7列*/
firqmh=hzk_index[k][7];
firqml=hzk_index[k][8];
bar(0,50,300,100);
pydisp();
bar(100,50,200,100);
for(ks=0;ks<9;ks++)
{
putnum(ks*32,70,ks+1,2);
puthz((ks*2+1)*16,70,firqmh,firqml+ks,2);
}
for(n=0;n<m;n++)
{
putnum(10*8+n*64,50,n+1,2);
for(kkk=1;kkk<=i+1;kkk++)
{
a[n][kkk]=hzk_index[k][18+(n*(i+1)+kkk)];
putzimus(11*8+n*64+kkk*8,50,a[n][kkk]-1,2);
}
}
}
outhz: /*用户选择组合中所有可能中的一种*/
nn=++nn ;
if(mu==1)
{
qmh=hzk_index[k][7+(s-1)*2];
qml=hzk_index[k][7+(s-1)*2+1];
}
if(mu==0)
{
qmh=hzk_index[sm[i]][7+(s-1)*2];
qml=hzk_index[sm[i]][7+(s-1)*2+1];
}
fydisp:
bar(0,50,500,100);
pydisp();
for(i=0;i<9;i++)
{
putnum(i*32,70,i+1,2);
puthz((i*2+1)*16,70,qmh,qml+i+(9*page),2);
}
endtop:
end=check_key(getch());
switch(end)
{
case 11:page=page+1;goto fydisp;
case 10:page=page-1;goto fydisp;
case 20:goto endtop;
case 12:goto endtop;
case 13:kd++;goto top;
default:
break;
}
puthz(kk,jj,qmh,qml+end+page*9-1,2);
kk=kk+16;
if(kk>300)
{
kk=0;
jj=jj+16;
}
}
}
while(kd==1) /*字母输入状态*/
{
top1:
bar(0,50,500,100);
bengdisp();
for(;;)
{
while(d)
{ /*大写字母输入*/
top2:
key1=check_key(getch()); /*判断键值*/
switch(key1)
{ /*判断键状态*/
case 9:kk=kk+8;goto top2;
case 13:kd++;goto top;
case 0: d=!d;goto top1; /*大小写切换*/
case 20:
case 11:
case 10: goto top2;
case 12:
kk=kk-8;
bar(kk,jj,kk+8,jj+16);
if(kk<0)
{
kk=304;
jj=jj-16;
}
if(jj<=120)
{
jj=120;
}
goto top2;
}
qmh=key1*3-3;
kp=key1;
bar(0,50,500,100);
bengdisp();
for(mm=0;mm<3;mm++)
{
putzimub((mm+15)*8,50,qmh+mm,3);
}
key2=check_key(getch());
switch(key2)
{
case 13:kd++;goto top;
case 0:d=!d;goto top1;
}
goto outen;
}
while(!d)
{ /*小写字母输入*/
top3:
bar(0,50,500,100);
sengdisp();
key1=check_key(getch()); /*判断键值*/
switch(key1)
{ /*判断键状态*/
case 9:kk=kk+8;goto top3;
case 13:kd++;goto top;
case 0: d=!d;goto top1; /*大小写切换*/
case 10:
case 11:
case 20:goto top3;
case 12:
kk=kk-8;
bar(kk,jj,kk+8,jj+16);
if(kk<0)
{
kk=304;
jj=jj-16;
}
if(jj<=120)
{
jj=120;
}
goto top3;
}
qmh=key1*3-3;
kp=key1;
bar(0,50,500,100);
sengdisp();
for(mm=0;mm<3;mm++)
{
putzimus((mm+15)*8,50,qmh+mm,3);
}
key2=check_key(getch());
switch(key2)
{
case 13:kd++;goto top;
case 0: d=!d;goto top1;
case 9:kk=kk+8;goto top;
case 12:
kk=kk-8;
bar(kk,jj,kk+8,jj+16);
if(kk<0)
{
kk=304;
jj=jj-16;
}
if(jj<=120)
{
jj=120;
}
goto top3;
}
goto outen;
}
}
outen: /*从显示的三个字母中选出所需的字母*/
if(d)
{
ii=kp*3-4+key2;
putzimub(kk,jj,ii,3);
kk=kk+8;
if(kk>288)
{
kk=0;
jj=jj+16;
}
}
if(!d)
{
ii=kp*3-4+key2;
putzimus(kk,jj,ii,3);
kk=kk+8;
if(kk>288)
{
kk=0;
jj=jj+16;
}
}
}
while(kd==2) /*数字输入状态*/
{
bar(0,50,500,100);
numdisp();
top4:
for(;;)
{
key1=check_key(getch()); /*判断键值*/
switch(key1)
{
case 13:kd++;goto top;
case 11:
case 10:
case 20:goto top4;
case 12:kk=kk-8;
bar(kk,jj,kk+8,jj+16);
if(kk<0)
{
kk=304;
jj=jj-16;
}
if(jj<=120)
{
jj=120;
}
goto top4;
}
putnum(kk,jj,key1,3);
kk=kk+8;
if(kk>288)
{
kk=0;
jj=jj+16;
}
}
}
while(kd==3) /*字符输入状态*/
{
zifudisp:
bar(0,50,500,100);
zifudisp();
bar(100,50,200,100);
for(ks=0;ks<9;ks++)
{
putnum(ks*32,70,ks+1,2);
putzifu((ks*2+1)*16,70,ks+9*page1,2);
}
endtop1:
end1=check_key(getch());
switch(end1)
{
case 11:page1=page1+1;if(page1>=2){page1=2;}goto zifudisp;
case 10:page1=page1-1;if(page1<=0){page1=0;}goto zifudisp;
case 20:goto endtop1;
case 13:kd++;goto top;
case 12:
kk=kk-8;
bar(kk,jj,kk+8,jj+16);
if(kk<0)
{
kk=304;
jj=jj-16;
}
if(jj<=120)
{
jj=120;
}
goto endtop1;
}
putzifu(kk,jj,end1+page1*9-1,2);
kk=kk+8;
if(kk>300)
{
kk=0;
jj=jj+16;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -