比如,有字串 “欢迎来到中国welcome”,要如何一个汉字,一个字母的分割出来,形如:
a1='欢'
a2='迎'
a3='来'
a4='到'
a5='中'
a6='国'
a7='w'
a8='e'
a9='l'
a10='c'
a11='o'
a12='m'
a13='e'
当然,这个字符串是动态的,我这里只是举一个例子说明白要做到的事情。简单的说,就是字符串中含有汉字,也含有字母。

解决方案 »

  1.   

    Dxe ..  直接就可以分割.
      

  2.   


    procedure TForm1.FormCreate(Sender: TObject);
    var
      s : string;
      i : integer;
    begin
      s := '欢迎来到中国welcome' ;  for i := 1 to Length(s) do
      ShowMessage( s[i]);end;
      

  3.   

    如果楼主在 D7  D2007 下使用的话  要判断一下.  char的值是不是 > 160
    汉字都是 >  160 的如果是 > 160  就取两个  一起输出如果是 < 160 就取1个 输出
    没有 D7 D2007  没法调试..楼主试试吧
      

  4.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      s : string;
      ws: WideString;
      i : integer;
    begin
      s := '欢迎来到中国welcome' ;
      ws := WideString(s);  for i := 1 to Length(ws) do
      ShowMessage( ws[i]);end;
      

  5.   

    用 warrially
    (爱蹄子的羊头) 的方法可以
    procedure TForm1.btn1Click(Sender: TObject);
    var
      str: WideString;
      i: Integer;
    begin
      str := '欢迎来到中国welcome';
      for i := 1 to Length(str) do
      begin
        //方法1
        if ord(str[i]) > 160 then
          ShowMessage('汉字')
        else
          ShowMessage('字符');
        //方法2
        if Length(string(str[i])) <> Length(str[i]) then
        begin
          ShowMessage('汉字');
        end
        else
        begin
          ShowMessage('字母');
        end;
      end;
    end;
      

  6.   

    var
      s: widestring;
      i: Integer;
    begin
      s := '欢迎来到中国welcome';
      for i := 1 to length(s) do
        ShowMessage(s[i])
    end;