将以空格分隔的字符串导入整数

时间:2019-04-17 14:22:04

标签: arrays xml string delphi integer

我有一个XML文件,可以从中提取字符串到备注中。该字符串由空格分隔,例如“ 1 2 3 4 5 1223 2334 34 2 1”,但可以是成串存储的成千上万个数字。 使用XML数据绑定向导导入XML文件。

我尝试了以下代码...

这部分似乎可以正常工作,将字符串放入备忘录中...

var
    Joint: IXMLJointType;
    Torques: MyArrayType;
begin
    Joint := GetJoint(XMLDocument1);
    Memo1.Lines.DelimitedText := (Joint.Torquearray[0]); //import xml string to memo

这部分我似乎无法使用...将字符串拆分为整数。

    for I := 1 to Memo1.Lines.Count do
    begin
      Torques[I] := (strtoint(Memo1.Lines.Text)); //import strings to array as ints
  end;

编辑:这将引发错误,显示以“不是有效整数”结尾的字符串的垂直列表。

'1
2
3 
4 
5 
1223 
2334 
34 
2 
1' is not a valid integer

这些整数是我想用于作图用途的传感器输出。

1 个答案:

答案 0 :(得分:1)

除了Ken提到的范围问题外,您还尝试转换备忘录中的整个文本而不是每一行。这应该起作用:

for I := 0 to Memo1.Lines.Count - 1 do
begin
  Torques[I+1] := (strtoint(Memo1.Lines[I])); //import strings to array as ints
end;