在memo控件中,里面有一行长串字符串,格式如下:
1.顾杰 mick/roop 张三 李四 RXYBY
怎么从这些字符串中把这些名字赋值给一个数组?
注:1。名字个数不定,有可能超过100个 
    2。每个名字后面都至少一个空格
    3。最后面那个字符串(RXYBY)不赋值给数组

解决方案 »

  1.   

    先把memo中字符串取出来按一定规则生成一个新的字符串
      

  2.   

    名字有中文英文,英文名字格式jfjk/jliie
      

  3.   

    用TStrings的话很简单
    var
      List: TStrings;
      i: Integer;
      str: String;
    begin
      List := TStringList.Create;
      List.Delimiter := ' ';
      List.DelimitedText := Memo1.Text;
      List.Delete(List.Count -1);
      

  4.   

    procedure FindNthWord(s:string);
    var i,l,n:integer;
        Arr:tarr1000;
        v,t:string;
    begin
      t:=trim(s);
      v:='';
      n:=0;
      while t<>'' do
      begin     //找出字符中的第N个词,以空格为区分
      for i:=1 to length(t) do
          if t[i]<>' ' then v:=v+t[i]
          else
            begin
              n:=n+1;
              Arr[n]:=v;
              showmessage(v);
              v:='';
              t:=trim(copy(t,pos(' ',t),1000000));
              break;
            end
      end;
    end;
    再找个按钮运行FindNthWord('顾杰 mick/roop 张三 李四 RXYBY');看看效果吧
    我还发现,这段程序连终止字符串都不用去判断,用什么非空字符表示结束都行.
      

  5.   

    对了这是字符数组的定义要加在前面.
    你实际用别的东西来存也可以
    type  TArr1000=array[1..1000] of string;
      

  6.   

    TNND,一年半没写DELPHI程序了.手都生了.