用readln 时 I/O error 103 错(100分)

  • 主题发起人 主题发起人 intcom
  • 开始时间 开始时间
I

intcom

Unregistered / Unconfirmed
GUEST, unregistred user!

下面的程序是DELPHI的一个例子但我运行的时候总出错 I/O error 103 是什么原因?

请教各位大侠,并在这里奉上大洋,略表心意。

procedure TForm1.Button1Click(Sender: TObject);
var

s : string;
begin
Write('Enter a line of text: ');
Readln(s);
Writeln('You typed: ',s);
Writeln('Hit <Enter> to exit');
Readln;

end;
 
这是DOS下的写法呀!在Windows下不行的。(input,output文件是不存在的)
 
I/O错误:
100 Disk read error
101 Disk write error
102 File not assigned
103 File not open (知道你的错误了吗?没有任何文件被打开)
104 File not open for input
105 File not open for output
106 Invalid numeric format
 
请问 djdsz 在windows下如何完成上面的功能?
 
在windows下不能直接这样,
你可以在delphi下file->new,然后选console application
然后在加入你自己的代码,例如:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
var

s : string;
begin
Write('Enter a line of text: ');
Readln(s);
Writeln('You typed: ',s);
Writeln('Hit to exit');
Readln;
end.
 
在Windows图形应用中writeln/readln等向控制台输入输出可能不行的。你可以像这样:
var
s:string;
begin
if inputquery('请输入一字符串','请输入一字符串',s) then
showmessage(s);
end;
不过如果将BPW中的Wincrt包含进来,也许可以。

在控制台应用中可以办到的。如你的程序就可以。
 
既然都button1click了, 不如再放2个tlabel,1个tedit和一个tbutton,将代码分别写

form1.oncreate: label1.caption:='Enter a line of text: ';

edit1.onkeypress: if key=#13 then button1.click;

button1.click: label2.caption:=edit1.text;

button2.click: close;
 
谢谢各位!
 
后退
顶部