有一个串,我用COPY('',x,y)截取一段,坐标是不固定的,但如果y点是一个汉字,截出来的是半个汉字(乱码),我如何才能判断出y点的字符,把汉字截取完整了呢?

解决方案 »

  1.   

    简单的办法就是把字符串转为 Unicodes: string;
    s1:widestring;
    i: integer;s:= '12测试3的4';
    s1:= widestring(s);
    for i:=1 to length(s1) do begin
      if ord(si[i]) > 0xff then
        ShowMessage('中文,严格说是非ASC码');
    end
      

  2.   

    用leftstr可以取去整個漢字出來。
      

  3.   

    我測試過了,用leftstr可以。加入此單元StrUtils後就可用那函數了。
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    edit2.Text :=leftstr(edit1.Text ,15);
    end;
      

  4.   

    同意postfxj(探索者)
    leftstr(str, count);//截取左边count个字(包括汉字) 
    RightStr(str, count);//截取右边count个字(包括汉字)
    MidStr(str, Start,count);//截取从Start起count个字(包括汉字)
      

  5.   

    谢谢,用xzc5991(xzc) :MidStr(str, Start,count);//截取从Start起count个字(包括汉字) 解决了。
    给分