s := '123,456';Memo.Lines.CommaText := s;
//Memo.Lines[0] = '123'
//Memo.Lines[1] = '456'

解决方案 »

  1.   

    uses StrUtils;procedure StrToStrings(S: AnsiString; Sep: AnsiString; const List: TStrings);
    var
      I, L: Integer;
      Left: AnsiString;
    begin
      Assert(List <> nil);
      List.Clear;
      L := Length(Sep);
      I := Pos(Sep, S);
      while (I > 0) do
      begin
        Left := LeftStr(S, I - 1);
        List.Add(Left);
        Delete(S, 1, I + L - 1);
        I := Pos(Sep, S);
      end;
      if S <> '' then
        List.Add(S);
    end;
      

  2.   

    while Pos(',',Str)>0 do
    begin
      Site:=Pos(',',);
      SubStr := Copy(Str,1,Site-1);
      Delete(Str,1,Site);
    end;
      

  3.   

    var i, site: integer;
        SubStr: array of string;
    begin
    i:=0;
    while Pos(',',Str)>0 do
    begin
      Site:=Pos(',',Str);
      SubStr[i] := Copy(Str,1,Site-1);
      Delete(Str,1,Site);
      inc(i);
    end;
      

  4.   

    可以这样使用
    var
      s:string;
      i,k:integer;
      ss:array of string;
    begin
      s:='dsga;dsg;sdfew;swer;sfds;wer;';
      for i:=1 to length(s) do begin
         if s[i]=';' then 
            count:=count+1;
       end;
      setlength(ss,count);
      for i:=1 to length(s) do begin
         if s[i]<>';' then
            ss[k]:=ss[k]+s[i]
          else k:=k+1;
      end;
    这样应该可以解决你的问题了!!!
    谢谢了,给分吧!!!
      

  5.   

    windindance(风舞轻扬)那样做就可以,干吗要自己去写?