i:=15; case ByteType('a中华人民共和国',i) of mbSingleByte: showmessage(inttostr(i)+':不是汉字'); mbLeadByte: showmessage(inttostr(i)+':是汉字的第一个字符'); mbTrailByte: showmessage(inttostr(i)+':是汉字的第二个字符'); end;
同意楼上兄弟的方法,也可以这样判断;在onkeydown事件中if ord(key)>=$A1 then showmessage('不能输入汉字');
如果是输入以后判断,可以这样判断var i:integer; begin for i:=1 to length(richedit1.lines.text) do begin if ord(richedit1.lines.text[i])>128 then begin ShowMessage('有汉字'); Exit; end; end;
case ByteType('a中华人民共和国',i) of
mbSingleByte: showmessage(inttostr(i)+':不是汉字');
mbLeadByte: showmessage(inttostr(i)+':是汉字的第一个字符');
mbTrailByte: showmessage(inttostr(i)+':是汉字的第二个字符');
end;
showmessage('不能输入汉字');
i:integer;
begin
for i:=1 to length(richedit1.lines.text) do
begin
if ord(richedit1.lines.text[i])>128 then
begin
ShowMessage('有汉字');
Exit;
end;
end;