memo的使用问题,各位帮忙看看(100分)

S

shayang

Unregistered / Unconfirmed
GUEST, unregistred user!
memo中现在有下面这些东西:
汉字 如:大家新年好
半角数字 如:1234
全角数字 如:1234
半角字母 如:abcdABCD
全角字母 如:ABCD
各种半角标点符号 如:,:;.?
各种全角标点符号 如:,:。?
各种数字序号 如:⒈⒉⒊㈠㈡㈢①②③⑴⑵⑶ⅠⅡⅢ
各种希腊字母 如:αβγ
各种……
我现在只要保留里面的 汉字,半角字母,半角数字
请问各位大哥大姐,这东西通过程序怎么弄?
 
其实就是区分单字节字符和双字节字符的问题
ByteType('你好haha吗',1) = mbLeadByte //是双字节字符的第一个字符
ByteType('你好haha吗',2) = mbTrailByte //是双字节字符的第二个字符
ByteType('你好haha吗',5) = mbSingleByte//是单字节字符字符
循环判断就可以了。
 
to liyinwei,这样想法是很好的。可是,怎么处理除了汉字以外的全角字符呢?
如:1234,。?ABCD+-=%等等(这种本该是单字节的东西可以打成全角的啊),这些可都是双字节的。 我不需要这些东西。总不至于一个一个去掉吧?
 
要区分汉字与全角符号确实挺麻烦的,这个我没做过,建议楼主研究一下这个:
国标GB2312-80 《信息交换用汉字编码字符集 基本集》
http://www.moe.edu.cn/edoas/website18/info16417.htm
看看能不能从汉字编码区分。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
895
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部