请问组件edit1中输入的一串数字,例如(1,2,3,4,5,6,7,8,9,10,11,23,-1.)用逗号分开结束用点,如何将其输入到预先定义的数组中x:arrary[1..13] of double. 
x[i]:=strtoint(edit1.text)? 

解决方案 »

  1.   

    一个一个取呀,
    用POS定位,
    用COPY来得到
      

  2.   

    用法如下:
    copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回.假设str为'abcdef',copy(str,3,2)='cd',copy(str,4,10)='def'
    concat(str1,str2{,strn}) 把各自变量连接起来,返回连接后的字符串(长度不能超过255)length(str)       返回str的字符个数,即其长度.pos(obj,target)   在target字符串中找出第一个出现obj的第一个字符位置,如果找不到,返回0.
      

  3.   

    // dyf 2002-12-31
    // 将Sourece按Separator分隔成TStrings
    function StringToStrings(Source : string; Separator : string) : TStrings;
    var
      temp : TStringList;
    begin
      temp:=TStringList.Create;
      while Pos(Separator, Source)>0 do begin
        temp.Add(Copy(Source, 1, Pos(Separator, Source)-1));
        Delete(Source, 1, Pos(Separator, Source));
      end;
      // Add last item
      temp.Add(Source);
      Result:=temp;
    end;
      

  4.   

    var
      x: arrary[1..13] of double;
      str: TStringList;
      i: Integer;
    begin
      str := TStringList.Create;
      Edit1.Text := StringReplace(Edit1.Text, '.', '', []);  // 去掉句号
      str.CommaText := Edit1.Text;
      for i := 1 to 13 do
        if i <= str.Count then
          x[i] := IntToStr(str[i]);
      str.Free;
    end;
      

  5.   

    修改sysu(死树)兄的代码如下,绝对通过!procedure TForm1.Button1Click(Sender: TObject);
    var
      x: array[0..12] of string;
      str: TStringList;
      i: Integer;
    begin
      str := TStringList.Create;
      Edit1.Text := StringReplace(Edit1.Text, '.', '', []);  // 去掉句号
      str.CommaText := Edit1.Text;
      for i := 0 to 12 do
        if i <= str.Count then
          x[i] := str[i];
      for i:=0 to 12 do
        Edit2.Text:=Edit2.Text+' '+str[i];
      str.Free;
    end;