请问如何判断字符串里是不是含有除汉字、可显示以及空格等可输入字符以外的字符。
解决方案 »
- 请教一个与三菱PLC通讯的问题
- delph能实现垂直显示的pagecontrol吗?
- 分析一下下面的代码!!在delphi 中如何实现OSWritePrivateProfileString()????
- 惊人大秘密: 中国人必看
- 求救,简单的问题
- 请高手支招!
- 我该用什么数据集控件?
- 喜爱编程优化的人帮我看看这个多重纤套的循环语句,看是否能有别的方法优化呢?
- 窗体1和窗体2的单元相互引用,我想在窗体1里打开窗体2同时关闭窗体1,该怎么写?
- 我想用UDP来发送一条纪录,请问NMUDP控件能实现吗?
- delphi6.0中的Tedit能在最右边加一个钮吗?
- 请教用什么函数将一文体文件(txt)里的全部文字读到Tmemo中?
大于128的话,取到的是半个中文,加1继续取
小于128,这里面有些是可见字符,有些是不可见得
你自己找找,他们的ascII码
如回车换行是10,13,小写a。。z是65-97,0。。9是38-47,你自己找找,比较一下就是什么字符了
strNumberSign:string = '0123456789';
strCharSign:string= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';procedure TMDIChild.CheckFileInfo;
var
BlankNumber,ChineseCharNumber,EnglishCharNumber,
EnglishSignNumber,NumberCharNumber,OtherCharNumber:integer;
s :string;
i:integer;
begin
BlankNumber := 0;
ChineseCharNumber := 0;
EnglishCharNumber := 0;
EnglishSignNumber := 0;
NumberCharNumber := 0;
OtherCharNumber := 0;
s := Editor.Text;//Editor是TRichEdit for i := 1 to Length(s) do
begin
if(s[i] = ' ') then Inc(BlankNumber)
else if(integer(s[i]) > $80) then Inc(ChineseCharNumber)
else if(Pos(s[i],strEnglishSign) <> 0) then Inc(EnglishSignNumber)
else if(Pos(s[i],strCharSign) <> 0) then Inc(EnglishCharNumber)
else if(Pos(s[i],strNumberSign) <> 0) then Inc(NumberCharNumber)
else Inc(OtherCharNumber);
end; ShowMessage('中文(连中文标点符号):'+ IntToStr(ChineseCharNumber div 2)+#13#10
+ '数字字符:'+IntToStr(NumberCharNumber)+#13#10
+ '空格:'+IntToStr(BlankNumber)+#13#10
+ '英文字符:'+IntToStr(EnglishCharNumber)+#13#10
+ '英文标点:'+IntToStr(EnglishSignNumber)+#13#10
+ '不可见字符(回车、换行等):'+IntToStr(OtherCharNumber));
end;