试图将此国际象棋棋盘保存到文本文件中并遇到此错误。
只是为了清楚一点,董事会变量:
Const BoardDimension = 8;
Type
TBoard = Array[1..BoardDimension, 1..BoardDimension] Of String;
Procedure SaveBoard(Var Board : TBoard);
var
fptr:text;
i,j:integer;
save:char;
begin
Write('Do you want a save a game? (Enter Y for yes)');
Readln(save);
If (Ord(save) >= 97) and (Ord(save) <= 122)
Then save := Chr(Ord(save) - 32);
if save='Y'
then
begin
assign(fptr,'SBoard.txt');
rewrite(fptr);
reset(fptr);
for i := 1 to 8 do
begin
for j := 1 to 8 do
begin
if j=8 then
writeln(fptr,Board[i,j])
else
begin
write(fptr,Board[i,j]);
write(fptr,',')
end
end;
end;
close(fptr);
end;
end;
错误的屏幕抓取。还有一个屏幕抓取错误被触发的行。
答案 0 :(得分:2)
I / O错误105是“文件未打开输出”。那是因为这段代码错了:
rewrite(fptr);
reset(fptr);
对reset
的调用使文件成为只读文件。只需删除它,因为它没有用处。对rewrite
的调用会创建新文件并将其打开以进行编写。