delphi 中的无效数字输入错误
Invalid numeric input error in delphi
我有一个程序可以从文本文件中读取竞争对手的分数列表:
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 等等。问题是我的代码总是给我一个错误 'invalid numeric input'。问题是什么 ??
您在 while
循环后缺少 readln
。
在 while 循环结束时,您已到达行尾,但尚未移至下一行。
此外,您的最终 readln
是从 stdin
而不是文本文件中读取的。
我有一个程序可以从文本文件中读取竞争对手的分数列表:
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 等等。问题是我的代码总是给我一个错误 'invalid numeric input'。问题是什么 ??
您在 while
循环后缺少 readln
。
在 while 循环结束时,您已到达行尾,但尚未移至下一行。
此外,您的最终 readln
是从 stdin
而不是文本文件中读取的。