请问如何判断edit控件里面输入的是不是汉字啊?急
请问如何判断edit控件里面输入的是不是汉字啊?
给点思路,最好是给出源代码!谢谢了!
问题点数:50、回复次数:16Top
1 楼strip(阿飞 - Mozilla●CSDN●痛)回复于 2002-03-10 12:45:24 得分 10
UINT Char;
if (IsDBCSLeadByte(*pStr))
{
Char = PackDBCS(pStr[0], pStr[1]);
}
else
{
Char = pStr[0];
}
GetCharWidth32(hDC, Char, Char, pWidth);
或者用isleadbyte()
Top
2 楼hoco(流星雨)回复于 2002-03-10 13:35:54 得分 0
strip(阿飞)
很牛啊,这么快就到一颗红星了啊!
呵呵,佩服佩服
但是你的代码我不懂啊,能不能帮忙解释一下啊?Top
3 楼hoco(流星雨)回复于 2002-03-10 15:57:36 得分 0
到底有没有人回答这个问题啊?
急啊!Top
4 楼leonfu(子夜星光)回复于 2002-03-10 16:48:34 得分 5
if you use Ansi, the chinese characters are bigger than 0x80Top
5 楼wagxm(大头)回复于 2002-03-10 16:52:19 得分 0
关注Top
6 楼ourworld(失魂落魄)回复于 2002-03-10 17:10:30 得分 5
strip(阿飞) 基本正确(在MBCS下),不过在UNICODE下不正确,而且判断结果只是表明它是否是一个多字节字符,而不一定是中文,日文、韩文,都得到同样结果Top
7 楼idAnts(此广告位招租)回复于 2002-03-10 17:23:21 得分 20
bool IsHZCode(unsigned char bC1,unsigned char bC2)
{
if((bC1>=0xa1)&&(bC1<=0xfe)&&
(bC2>=0xa1)&&(bC2<=0xfe))
return true;
return false;
}
这个只能判断国标码。Top
8 楼hoco(流星雨)回复于 2002-03-10 17:35:50 得分 0
ourworld(失魂落魄)
,谢谢。:)
不过在座的能不能告诉我原理呢?
不明白
strip(阿飞) 写的东西啊,
是不是这样啊。
一个汉字是由2个字节组成。然后
if (IsDBCSLeadByte(*pStr))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这是判断什么呢?lead byte是什么啊?看不懂
我看msdn的时候,看不懂这个词。说是有两个字节组成的。
是不是一个字呢?
{
Char = PackDBCS(pStr[0], pStr[1]);
~~~~~~~~
这个函数没有找到啊!
}
else
{
Char = pStr[0];
}
GetCharWidth32(hDC, Char, Char, pWidth);
~~~~~~~~~~~~~
这个函数也不知道是什么意思,看不懂。:(
大家帮帮忙啦!我会加分的!
Top
9 楼hoco(流星雨)回复于 2002-03-10 17:38:33 得分 0
idAnts(鹤舞白沙——我心飞翔)
呵呵,谢谢。
我去试试,如果可以的话,马上给分
我最讨厌那些解答完问题不给分的人了,
大家讨论一下啊,这是怎么回事啊,都ft死了!
呵呵Top
10 楼111222(www.111222.cn)回复于 2002-03-10 18:06:59 得分 5
必须逐个字符判断,判断ASCII码或者用IsDBCSLeadByte
IsDBCSLeadByte函数耗内存,尤其在你循环判断很长的字符串的时候
我建议你判断ASCIITop
11 楼cppnet(cppnet)回复于 2002-03-10 18:58:07 得分 5
最好去判断Ascall码
很快的Top
12 楼llmcw(流星雨)回复于 2002-03-10 19:10:46 得分 0
同意楼上的.Top
13 楼kant76(双剑合璧)回复于 2002-03-10 20:07:50 得分 0
汉字是不是两个字节组成?
LeadByte是不是就是第一个字节?
判断ASCII,是不是就是判断LeadByte是否大于0x80啊?Top
14 楼hoco(流星雨)回复于 2002-03-10 21:53:22 得分 0
leadByte到底是什么啊?
谁能告诉我呢?
哎呀,算了,给分吧!
大家最好再给我一些答案吧!
好吗?:),谢谢!!!!!!!Top
15 楼ourworld(失魂落魄)回复于 2002-03-11 22:05:03 得分 0
测试指定自负是否是一个MCBS的起始字符,实际是判断x<=char<=y是否成立,char是你的参数,x、y可以在MSDN上查到,但不要直接使用不等式判断,其间有代码页问题Top
16 楼hoco(流星雨)回复于 2002-03-12 15:02:16 得分 0
谢谢ourworld(失魂落魄)
的解答。
Top
相关问题
- 如何使Edit控件作为密码输入框时(PasswordChar设为*),能接受汉字输入?
- edit编辑框可以判断输入的字符是汉字还是英文吗?如果不能,哪个控件可以呢?
- 开发文本框控件,如何检测输入的是否汉字?
- CEdit控件如何判断输入内容是英文还是汉字
- 如何控制在Tedit控件中,让其无法输入汉字及字母(只能让其输入数字)
- 怎么控制edit控件输入
- 如何读取(或判断)Text or Richtextbox控件中刚输入的字符(或汉字)
- !!!乱码!!! 第三方控件vaSpread在输入汉字时出现乱,急!!! ------------在线等......
- 如何实现在combobox控件中输入汉字(多个)的第一个字母自动找到item中的汉字串?
- 如何判断edit框输入的是汉字还是英文???




