if char=['a'..'z','A'..'Z'] then
english
else
chinese;
english
else
chinese;
解决方案 »
- XE3的帮助文件是怎么回事?不提供帮助文档?
- 数据连接的绝对菜鸟问题,望指点!
- DELPHI如何利用BHO更改网页内容?
- 请教 如何让dbgrid 的某一字段以 下拉形式 选择
- reset()函数的作用?
- 各位大哥,如何判断一个edit输入的内容是否为合法的数字类型,有类似函数么?
- 一个很菜的问题,拜托看一看。
- 请教高手:如何判断防火墙添加了某程序的例外?
- 请各位高手指点如何学习ASP!
- 寻求TNMUDP中的SendBuffer(buff,sendsize)之用法问题
- 请教SPCOMM控件接收数据时,如何控制输入缓冲区中的数据个数达到N个(例如12个)之后,再一次读出收到的数据。
- 怎样在另一FORM里调用UNIT的一个函数,并给他这样的输入参数:已打开的的ADO数据库表、已初始化的树视图控件,还有数据库的字段
english
else
chinese;
同意楼上说法。
i: Integer;
strChar: String;
wstrTemp: WideString;
begin
wstrTemp := Edit1.Text; // ... ...
strChar := wstrTemp[i];
if Length(strChar) > 1 then
// 双字节字符
else
// 单字节字符 // ... ...
end;
BOOL IsDBCSLeadByte(
BYTE TestChar // character to test
);
具体用法:
function IsDBCSCharIncluded: Boolean;
var
i: Integer;
strEdit: WideString;
strTmp: string;
begin
Result := false;
strEdit := Edit1.Text;
for i := 1 to length(strEdit) do
begin
strTmp := strEdit[i];
if length(strTmp)>0 then
if IsDBCSLeadByte(Byte(strTmp[1])) then
begin
Result := true;
break;
end;
end;
end;只要edit框里有汉字或是全角的字符,该函数就会返回true.
ShowMessage('有汉字');Caption := IntToStr(Length(Edit1.Text) - Length(WideString(Edit1.Text)));