delphi中的数字输入错误无效

时间:2015-04-18 14:46:41

标签: arrays delphi text-files pascal

我有一个程序,可以从文本文件中读取竞争对手的分数:

var
  competition : TextFile;
  number : byte;
  name : array of string;
  score : array of array of byte;
  j : byte;
  i : byte;

begin
  AssignFile(competition, 'korcule.txt');
  Reset(competition);
  ReadLn(competition, number);
  SetLength(name, number);
  SetLength(score, number, 4);
  for i := 0 to number - 1 do begin
    ReadLn(competition, name[i]);
    j := 0;
    While not EoLn(competition) do begin
      Read(competition, score[i, j]);
      inc(j);
    end;
  end;
  ReadLn;
  CloseFile(competition);
end.

文本文件的第一行是竞争对手的数量,然后名称和名称后面是实际人的分数。

5
John Smith
1 8 4 6
Marc Zuckerberg
4 6 7 1
Bill Gates
3 8 4 1
Johnny Rapid
9 9 2 7
Phillip Lauren
4 7 3 1

我需要在多维数组中单独读取分数,如myarray [1] = 1,myarray [2] = 8等等。问题是我的代码总是给我一个错误'无效的数字输入'。问题是什么 ??

1 个答案:

答案 0 :(得分:1)

readln循环后你错过了while

在while循环结束时,您已到达该行的末尾,但尚未移至下一行。

此外,您的最终readln正在从stdin而不是文本文件中读取。