我在程序开始时直接读取输入有问题 - 我想开始一个程序,如:
program.exe file.txt
所以我的program.exe
会启动并找到它,它应该加载file.txt
并对它做一些事情(代码用于做我已经拥有的事情)..
写作:
read(FileName);
我的主程序的第一行上的不起作用 - 程序在启动后仍在等待输入。
答案 0 :(得分:1)
这就是我真正想做的事:http://wiki.freepascal.org/Command_line_parameters_and_environment_variables
所以输入:
program.exe file.txt
解决我应该打开哪个文件的程序将是:
program FindGivenFileName;
{$mode objfpc}{$H+}
var FileName: string;
begin
FileName := ParamStr(1);
{next parts of code are missing here, but working}
end.
在ParamStr
数组中,0是程序的名称,数字更高的是参数 - 第一个参数是ParamStr(1)
,第二个参数是ParamStr(2)
,依此类推。
答案 1 :(得分:0)
您始终可以通过以下命令将输入从文件重定向到控制台应用程序:
program.exe < file.txt
控制台中的(可在Linux和Windows中使用)。