判断一个字符是否为汉字的最佳方法 字数,字符,字节统计
2009-06-30 15:57
726 查看
procedure Tfrm1.memoTextChange(Sender: TObject);
var
i,e,c,c2,w:integer;
s:String;
//s:wideString;
// 注:wideString类型,也可以统计
begin
s:=memoText.Text;
e:=0;
c:=0;
if s='' then
begin
lblWordHint.Caption:='字数:0';
abort;
end;
for I := 0 to length(s) do
begin
if (ord(s[i])>=32) and (ord(s[i])<=126) then
begin
inc(e);
end
else
if (ord(s[i])>126) then
begin
inc(c);
end;
end;
c2:=c div 2;
w:=e+c2;
if length(s)>255 then
begin
lblWordHint.Caption:='字节过多!字数:汉字:'+intToStr(c2)+',英文字符:'+intToStr(e)+',共:'+intToStr(w)+'字'+intToStr(length(s))+'字节';
lblWordHint.Color:=clRed;
abort;
end
ELSE
BEGIN
lblWordHint.Caption:='字数:汉字:'+intToStr(c2)+',英文字符:'+intToStr(e)+',共:'+intToStr(w)+'字'+intToStr(length(s))+'字节';
lblWordHint.Color:=clBtnFace;
END;
end;
附注:
判断一个字符是否为汉字的最佳方法
//判断字符是否是汉字 - 多字节
function IsMBCSChar(const ch: Char): Boolean;
begin
Result := (ByteType(ch, 1) <> mbSingleByte);
end;
var
i,e,c,c2,w:integer;
s:String;
//s:wideString;
// 注:wideString类型,也可以统计
begin
s:=memoText.Text;
e:=0;
c:=0;
if s='' then
begin
lblWordHint.Caption:='字数:0';
abort;
end;
for I := 0 to length(s) do
begin
if (ord(s[i])>=32) and (ord(s[i])<=126) then
begin
inc(e);
end
else
if (ord(s[i])>126) then
begin
inc(c);
end;
end;
c2:=c div 2;
w:=e+c2;
if length(s)>255 then
begin
lblWordHint.Caption:='字节过多!字数:汉字:'+intToStr(c2)+',英文字符:'+intToStr(e)+',共:'+intToStr(w)+'字'+intToStr(length(s))+'字节';
lblWordHint.Color:=clRed;
abort;
end
ELSE
BEGIN
lblWordHint.Caption:='字数:汉字:'+intToStr(c2)+',英文字符:'+intToStr(e)+',共:'+intToStr(w)+'字'+intToStr(length(s))+'字节';
lblWordHint.Color:=clBtnFace;
END;
end;
附注:
判断一个字符是否为汉字的最佳方法
//判断字符是否是汉字 - 多字节
function IsMBCSChar(const ch: Char): Boolean;
begin
Result := (ByteType(ch, 1) <> mbSingleByte);
end;
相关文章推荐
- 判断一个字符是否为汉字的最佳方法[转]
- delphi判断一个字符是否为汉字的最佳方法
- Delphi判断一个字符是否为汉字的最佳方法[转]
- 判断一个字符是否为汉字的最佳方法[转]
- Delphi判断一个字符是否为汉字的最佳方法
- Delphi判断一个字符是否为汉字的最佳方法
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- c/vc++一个字符是否是汉字的判断方法
- 判断字符是否为汉字的一个方法
- 如何判断一个字符串中是否含有汉字或汉字标点(即双字节字符)
- C语言 判断字符是否是一个数字的两种方法
- C#三种判断字符是否为汉字的方法
- 判断一个字符是否为数字的两种方法(C/C++)
- C# 之 判断一个字符是否是汉字
- 判断一个字符是否为汉字
- js判断字符是否是汉字的几种方法
- 微博中统计文本框里面的字数(两个英文字符占一个汉字位置)
- 如何判断一个字符串是否仅由数字or仅由数字英文字符or仅由汉字组成
- 通过JS,Jquery判断某个字符在一个字符串中是否存在的方法