如果用unicode就不用管了,中英文都是2byte如果是dbcs就麻烦了,就像你所说的
解决方法:每次判断都从字符串的头开始,一个一个的判断,麻烦的很:(

解决方案 »

  1.   

    //定义类型:
    var Str:Widestring;//此类型可以支持汉字
    //再用Copy(Str,?,?);
      

  2.   

    在哪里设置UNICODE? 别笑话这个“菜”问题。呵呵……
      

  3.   

    widestring是最简便的。
    实在不嫌麻烦,可以一个个的字节测试,IsDBCSLeadByte(byte);
      

  4.   

    去asc码判断也可以,在0到128的,你都当作字母什么的
    其他的,你就可以认为是汉字
      

  5.   

    字符串输入时采用unicode码,很简单。例如用memo输入,
    var s:widestring;
    begin 
    s:memo1.text;
    //以下用ord函数,高字节为0x00的是字母。
    end;
      

  6.   

    谢谢各位。我觉得还是使用widestring最简单。
    以后请各位多多关照啦。我每次提问后都一定会送分的。:-))