易码技术论坛

 找回密码
 加入易码
搜索
查看: 121140|回复: 6

[求助]FantasyDR大哥来帮我啊!

[复制链接]
发表于 2005-4-8 12:18:00 | 显示全部楼层
这种代码有没有人收集一下阿?
说不定可以过一段时间可以发布一个库的
发表于 2005-4-6 12:42:00 | 显示全部楼层
在x,y位置显示一个输入条,可以读取length长度的字符到string中。


#define  KEY_F1       28
#define  LEFT_ARROW   23
#define  KEY_ENTER    13
#define  TRUE        1
#define  FALSE       0
//读取键盘输入函数
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;
    *(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=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=2;
    *(string+p)=0;
   }
  }
  Refresh();
  TextOut(x,y,string,0x43);
}while(p>=0)
}
[此贴子已经被作者于2005-4-7 12:59:18编辑过]

发表于 2005-4-6 21:06:00 | 显示全部楼层
老F很积极啊,来JJ给糖糖你吃哦~~~
发表于 2005-4-8 18:48:00 | 显示全部楼层
哇..LAVA这么恐怖啊....
俺不懂
以后一定好好珍惜LAVA
发表于 2005-5-14 11:17:00 | 显示全部楼层
错误:未定义的变量发生在21行
发表于 2005-5-14 12:20:00 | 显示全部楼层
楼上的刷版有刷版嫌疑,顶这么老的帖子。
未定义的变量你就自己查查看是不是有的#define没有写上去……
发这种没有前因后果的帖子,不知道你是在讨论技术还是在灌水。
 楼主| 发表于 2005-4-5 21:18:21 | 显示全部楼层 |阅读模式
我现在写程序,想写一个自己给人物起名的子程序,可是不会写,我想既能输入英文和数字,也能输入汉字,通过SHIFT来切换输入法,.你能帮我写个简单的代码么>?能实现这个功能就行,神州的代码看不太懂,还是麻烦你了,另外,请把"名字"那个字符串命名为 name[],谢谢你拉
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-5-19 23:00 , Processed in 0.010906 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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