nToLen := length(Form1.combobox1.Text);
k :=1;
while k <nToLen do begin
stemp:=copy(Form1.combobox1.Text,k,2);
if (ord(stemp[1])<$a0) then
begin
Form1.label1.Caption :=sTemp;
Form1.label2.Caption :='不是汉字,请输入汉字';
exit;
end;
一个汉字由两个字节组成,要判断连续的两个字节是否汉字,
关键是看其第一个字节是否满足 >=$a0 条件, 这个条件对GBK汉字都适用
方法一:
Procedure determine
var
s:string //变量S是用来存放输入的数据
Begin
if s in ['0'..'9'],['a'..'z','A'..'Z']
then s存放的是字母
else S存放的是其它的,不一定是汉字
End;
方法二:
S:String;
C:Char;
C:=Copy(S,1,1)
if ORD(C)<128 then
'西文'
Else
'双字节文字'