如何判断我在EDIT里面输入的字符串中没有汉字?如有下列几个字符串
1)你好
2)aa12(22)
3)dd你
判断这三个字符串的结果是只有2)是对真,其他都是假。

解决方案 »

  1.   

    var
    i:integer;
    s:String;
    havechinese:boolean;
    begin
    havechinese:=false;
    s:=edit1.text;
    for i:=0 to length(s)-1 do
      begin
      if ord(s[i])>=128 then
      begin 
      havechinese:=true;
      exit  
      end;
      end;
    end;
      

  2.   

    判断字符的ascii码是否大于128就行了,上面代码没测试过啊,现在给你测试。
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    s:String;
    havechinese:boolean;
    begin
    havechinese:=false;
    s:=edit1.text;
    for i:=0 to length(s)-1 do
      begin
      if ord(s[i])>=128 then
      begin
      havechinese:=true;
      break;
      end;
      end;
    if havechinese then showmessage('find chinese!') else
       showmessage('No chinese in this string');
    end;
      

  4.   

    procedure TForm1.Edit1Exit(Sender: TObject);
    var i,j,k,l:integer;
        p:string;
    begin
         p:=edit1.Text;
         i:=length(edit1.Text);
         j:=length(edit1.text);
         for i:=1 to length(edit1.text) do
             if ord(edit1.text[i])<127 then
                begin
                  k:=length(p);
                  l:=(i+k)-j;
                  delete(p,l,1);
                  end;
                  edit2.Text:=getpy(p);  //取汉字拼音的例子
    end;