- 注册时间
- 2004-8-28
- 最后登录
- 1970-1-1
|
发表于 2005-8-19 14:30:00
|
显示全部楼层
所有工作都需要你自己来作的。
- //读取键盘输入函数
- void Input(int string,int x,int y,int length)
- {
- int c;//字符缓存
- char p;//指针
- char len[256];//字符长度储存
- char Caps;
- char mode;
- Caps=TRUE;
- mode=3;
- p=0;
- do
- {
- Box(x+p*6,y+13,x+p*6+6,y+14,1,1);
- c=GetWord(mode);
- if (c==KEY_F2||c==LEFT_ARROW)
- {
- if(p!=0)
- {
- p=p-len[ p];
- *(string+p)=0;
- }
- }/*else if(c==KEY_SHIFT)
- {
- if(mode==2)
- mode=0;
- else
- mode++;
- }*/
- /*else if(c==KEY_CAPS)
- {
- if(Caps==FALSE)
- Caps=TRUE;
- else
- Caps=FALSE;
- }*/
- else if(c==KEY_ENTER)
- {
- *(string+p)=0;
- break;
- }else
- {
- if ((c&0xff00)==0 && isprint(c)&&p<length)
- {
- //if(Caps==TRUE) c=toupper(c);
- *(string+p)=c;
- p++;
- len[ p]=1;
- *(string+p)=0;
- }else if (c<0&&p<length-1)
- {
- memset(_TEXT+4*20,' ',20); //清除提示行
- *(string+p)=c;
- *(string+p+1)=c>>8;
- p=p+2;
- len[ p]=2;
- *(string+p)=0;
- }
- }
- Refresh();
- TextOut(x,y,string,0x43);
- }while(p>=0)
- }
- }
复制代码
这个是我从《时空》代码里面截取的输入函数,可以支持汉字输入。
这段代码没有#define,不能直接用。请参考时空引擎全代码自己补上缺少的预定义。
至于保存,就是保存数据。你把字符存在char数组里面然后保存这个数组就可以了。 |
|