一直在writeln这一行,显示I/O error 105,为什么?

时间:2022-11-21 23:44:11
我在一份资料里看到如下代码
i := 0;
repeat
i := i+1;
Writeln(i);
until i=10; 
我放到如下过程中
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
i := 0;
repeat
i := i+1;
Writeln(i);  //一直在writeln这一行,显示I/O error 105,为什么?
until i=10; 

end;

5 个解决方案

#1


writeln()是写文本文件的,但是一定要用与文件关联的变量,对于其它的文件不能用writeln(),而只能用write()函数;刚学delphi时,我也想把结果用writeln()来显示出来,可是失败!!!和C语言的一个写文件的函数差不多

#2


那么是不是说write函数只能用来写文件,而不能用来写变量?

#3


不是的,可以写变量呀,但是是这样的:
var
  f:textfile;
begin
 assignfile(f,文件名);
 append(f);
 writeln(f,变量);
 close;
end;
就可以了,但是,你没有到f这个与文件关联的变量,有一个类型是输出到显示器来着,但没有用过,所以想不起来了,不好意思

#4


i := 0;
repeat
i := i+1;
Writeln(i);
until i=10; 

上面的代码是pascal的


你现在写的是object pascal,两者是不同了

#5


哦,对了,我看的是delphi低版本的教程,是不是就不行了?

#1


writeln()是写文本文件的,但是一定要用与文件关联的变量,对于其它的文件不能用writeln(),而只能用write()函数;刚学delphi时,我也想把结果用writeln()来显示出来,可是失败!!!和C语言的一个写文件的函数差不多

#2


那么是不是说write函数只能用来写文件,而不能用来写变量?

#3


不是的,可以写变量呀,但是是这样的:
var
  f:textfile;
begin
 assignfile(f,文件名);
 append(f);
 writeln(f,变量);
 close;
end;
就可以了,但是,你没有到f这个与文件关联的变量,有一个类型是输出到显示器来着,但没有用过,所以想不起来了,不好意思

#4


i := 0;
repeat
i := i+1;
Writeln(i);
until i=10; 

上面的代码是pascal的


你现在写的是object pascal,两者是不同了

#5


哦,对了,我看的是delphi低版本的教程,是不是就不行了?