首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

Edit字符输入解决办法

2013-03-22 
Edit字符输入(Edit的MAXLEN设置为8)Edit当中汉字输入占一个字符,那么不管是汉字还是英文字符只能输入8个,

Edit字符输入
(Edit的MAXLEN设置为8)Edit当中汉字输入占一个字符,那么不管是汉字还是英文字符只能输入8个,我想这样如果是汉字的话输入8个,如果是英文字符或者数字的话就输入16个(一个汉字占2个字符),这个该怎么处理呢?貌似CSDN有点小问题,帖子发布出去;
[解决办法]
那要中英文混合的,允许输入多少个?
[解决办法]
在Change事件中动态判断一下吧
[解决办法]
在Change里,或keypress,kenDown里判断
[解决办法]
C++Builder2010和bcb6的编码不同
bcb6 AnsiString 以字节为单位 一个汉字占2字节
C++Builder2010 UnicodeString 以字为单位
那可以Change里都转成WideString,超过的舍掉
如下:

//bcb6代码
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
    WideString wstr=Edit1->Text;
    if(wstr.Length()>8){
       wstr.SetLength(8);
    }
    Edit1->Text=wstr;
}

热点排行