delphi 判断字符串有中文

function TForm1.IsHaveChinese(judgeStr: string; var posInt: integer): boolean;
var
  p: PWideChar; // 要判断的字符
  count: integer; // 包含汉字位置
  isHave: boolean; // 是否包含汉字返回值
begin

  isHave := false; // 是否包含汉字返回值默认为false
  count := 1; // 包含汉字位置默认为1

  p := PWideChar(judgeStr); // 把要判断字符串转换

// 循环判断每个字符
  while p^ <> #0 do
  begin
    case p^ of
      #$4E00..#$9FA5:
        begin
          isHave := true; // 设置是否包含汉字返回值为true
          posInt := count; // 设置包含汉字位置
          break; // 退出循环
        end;
    end;

    Inc(p);
    Inc(count); // 包含汉字位置递增
  end;

  result := isHave;
end;

 

posted @ 2018-06-16 12:59  夏天的西瓜君  阅读(475)  评论(0编辑  收藏  举报