1,0,0,0,5.1025999999999998,12.156499999999999

解决方案 »

  1.   

    在FORM中加一MEMO控件.
      memo1.Text:=stringreplace('1,0,0,0,5.1025999999999998,12.156499999999999',',',#13#10,[rfReplaceAll]);
    第一个实数为:strtofloat(memo1.Lines.Strings[0]),第二个褛为:strtofloat(memo1.Lines.Strings[1]),依此类推.
      

  2.   

    二楼说的是一种方法
    也可以直接读
    str:='1,0,0,0,5.1025999999999998,12.156499999999999';
    for i:=1 to length(str)  do
    begin
      tmpstr:='';
      if str[i]<>',' then
      tmpstr:=tmpstr+str[i];
    ..........................
    end;
      

  3.   

    var 
      SL: TStringlist;
    begin
      SL := TStringlist.Create;
      try
        SL.CommaText := '1,0,0,0,5.1025999999999998,12.156499999999999';
        showmessage(sl[0]);
        showmessage(sl[1]);
        showmessage(sl[4]);
      finally
        SL.free;
      end;
    end;
      

  4.   

    取出控制字符串分割的字符.txtfunction  GetString(const str,ctlstr : string): Tstrings;
    var
    strl : Tstrings;
    i : integer;
    s : string;
    substr : string;
    begin
      s := str;
      if length(trim(s)) = 0 then
      exit;
      strl := Tstringlist.Create;
      i := pos(ctlstr,S);
      while i > 0 do
        begin
        substr := copy(s,1,i-1);
          strl.Add(substr);
          Delete(S,1,i);
          i := pos(ctlstr,s);
        end;
      result := strl;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
    str : string;
    i : integer;
    strl : Tstrings;
    begin
    str := '1234#4567#3456#2345#';
    strl := Tstringlist.Create;
    Strl := Getstring(str,'#');
    for i := 0 to strl.Count - 1 do
      begin
        showmessage(strl.Strings[i]);
      end;end;
      

  5.   

    huojiehai(海天子) 的方法可行!