Pascal:Delphi 长度字符串命令错误
我正在编写一段代码来读取 CSV 文件并从中解析信息(目前我只有代码的开始部分,它将读取文件开头的标题。当我尝试编译此代码时我在获取文件行长度的行上收到错误
:[Error] MCLRandomizer.pas(*):缺少运算符或分号。
while not EOF(csvFile) do begin
i :=0;
ReadLn(csvFile, line);
if lineOne = true then begin
length := Length(line); //error here
while length > 0 do begin
dx := Pos(',', line);
buffer := Copy(line, 0, dx-1);
headers[i] := buffer;
line := Copy(line, dx+1, length);
length := Length(line); //error here
end;
lineOne := false;
end;
end;
I'm writing a section of code to read in CSV files and parse information out of them (currently I just have the beginning part of the code which will read in the headers at the beginning of the file. When I try to compile this code I'm receiving an error on the line which takes the length of the line from file.
The error I'm recieving is: [Error] MCLRandomizer.pas(*): Missing operator or semicolon
while not EOF(csvFile) do begin
i :=0;
ReadLn(csvFile, line);
if lineOne = true then begin
length := Length(line); //error here
while length > 0 do begin
dx := Pos(',', line);
buffer := Copy(line, 0, dx-1);
headers[i] := buffer;
line := Copy(line, dx+1, length);
length := Length(line); //error here
end;
lineOne := false;
end;
end;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Pascal 对 length 和 Length 没有区别...它们都是 LENGTH
重命名变量,它会弄乱函数。
Pascal makes no difference between length and Length ... they both are LENGTH
Rename the variable, it messes up the function.
FTR:如果你真的、真的想要你可以写
(假设
length
是一个整数)。我同意其他海报的观点,这将是一个坏主意。FTR: If you really, really want you can write
(assuming
length
is an Integer). I agree with the other posters that that would be a bad idea.我开发的将 csv 文件读入记录结构(实际上是记录结构数组)的解决方案是
Scores.csv 的内容:
A solution I developed to read a csv file into a record structure (actually an array of records structures) is
the contents of scores.csv:
此外,Pascal 字符串位于 1,而不是 0。(copy() 语句)
Moreover, Pascal strings at 1, not 0. (copy() statement)