1
我正在嘗試編寫一個程序來讀取一長串本書(1000本書),isbn等 但是當程序運行時,它顯示範圍溢出 的格式TXT的是Pascal運行時錯誤(範圍溢出)從文件讀取數組時
1
1234567890
ABC book
peter
20
2
1234567896
...
代碼:
const maxbk=1000;
type bookrecord = record
book_no:string;
isbn:string;
book_name:string;
author:string;
borrowed:string;
end;
var booklist : array[1..maxbk] of bookrecord;totalbook:integer;
procedure readbooklist(var bklist:array of bookrecord;var totalbk:integer);
var f:text;temp:string;code:integer;
begin
totalbk:=0;
assign(f,'bklist.txt');
reset(f);
while not eof(f) do
begin
readln(f,bklist[totalbk+1].book_no);
readln(f,bklist[totalbk+1].isbn);
readln(f,bklist[totalbk+1].book_name);
readln(f,bklist[totalbk+1].author);
readln(f,bklist[totalbk+1].borrowed);
totalbk:=totalbk+1;
end;
close(f);
writeln('read file done');
end;
begin
readbooklist(booklist,totalbook);
end.
誰可以幫助解決這個問題?
到約阿希姆伊薩克森, THX回答,但我分配1000陣列,我認爲我可以假設,我至少可以把那裏 999本書,但我的名單實際上只包含600本書籍 –
信息什麼是**準確**你收到的錯誤信息? 「它顯示範圍溢出」意味着什麼都沒有,因爲我們無法從我們所在的位置看到你的屏幕,並且你有這些信息並能看到它。請[編輯]您的問題以包括它。如果您提供具體的細節,它可以幫助您更快地獲得幫助。 –