我是个Free Pascal新手,我有两个提问,不知高人能否解答

1.一般情况下,使用Free Pascal(以下简称Pascal)编译的程序会自动关闭,但只要在主程序中加上read或readln就行了。但如果主程序中含有变量表(read,readln),那该怎么办?我按照老办法在程序运行时读入变量后,它就啪一下关闭了,这该怎样让它不关闭?
2.如何用Pascal编程编出的程序删除、复制、重命名文件?尤其是中文的!中文文件(文件名)该怎样利用Pascal删除、复制、重命名?
要是OK的话,我再加分
例如:把D\ad.txt和D\文档一.txt复制、删除、重命名。

1.在开头引用crt单元:uses crt;

在结尾加上repeat until keypressed;

运行完后,按任意键退出。

2.用Free Pascal 2.4.0,在属性页中选项-当前代码页选中文

(http://www.freepascal.org/download.var)

1.var str:string;

  begin

    assign(input,'d:\a.txt'); reset(input);

    assign(output,'d:\b.txt'); reset(output);

    while not eof(input) do

     begin

       readln(str);

       writeln(str);

     end;

    close(input);

    close(output);

end.

 

2.var str:string;

  begin

    assign(input,'d:\b.txt'); reset(input);

    close(input);

    erase(input); {删除d:\b.txt}

end. 

3.var str:string;

  begin

    assign(input,'d:\a.txt'); reset(input);

    assign(output,'d:\c.txt'); reset(output);

    while not eof(input) do

     begin

       readln(str);

       writeln(str);

     end;

    close(input);

    erase(input); {删除d:\a.txt}

    close(output);

end.

未编译,应该是对的

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-26
1. 你可以在程序末尾加上readln
或者你也可以在IDE里面跑程序 这样的话结果可以按alt+f5查看

2.FREEPASCAL里不能直接打中文 但是你可以用记事本打开PAS文件然后打中文 之后再FP里中文会显示成乱码 但是编译还是可以通过的 执行也正确
重命名:
var
a:text;
begin
assign(a,"原文件.txt");
rename(a,"目标文件.txt");
end.

删除是 erase(a);
第2个回答  2010-04-26
在输入的程序后面再加上readln
第3个回答  2010-04-27
1. 按ALT+F5 键 可跳转到 程序运行屏幕
再按一下 返回
2.用PASCAL 2.0.4 版本的 中文可以 在属性中 的选项中 选择中文
删除、复制、重命名 可以在FP 程序顶上的蓝杠 按右键 选择编辑
第4个回答  2010-04-28
你这不废话吗?方法还有一个:
在开头引用crt单元:uses crt;
在结尾加上readkey;
运行完后,按任意键退出。
用Free Pascal For Win32,可以输入汉字,只不过有乱码。
删除:
var t:text;
begin
assign(t,'源文件');
reset(t);
erase(t);
end.
重命名:
var t:text;
begin
assign(t,'源文件');
reset(t);
rename(t,'目标文件名');
end.
复制:
var str:string;
t,s:text;
begin
assign(t,源文件); reset(t);
assign(s,目标文件);
rewrite(s);
while not eof(t) do
begin
readln(t,str);
writeln(s,str);
end;
close(t);
close(s);
end.

参考资料:http://zhidao.baidu.com/question/106280512.html

相似回答