首页 > 解决方案 > 将空格分隔的字符串导入整数

问题描述

我有一个 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

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

标签: arraysxmlstringdelphiinteger

解决方案


除了 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;

推荐阅读