如何在程序启动时读取输入?

时间:2015-01-31 09:47:24

标签: input startup pascal

我在程序开始时直接读取输入有问题 - 我想开始一个程序,如:

program.exe file.txt

所以我的program.exe会启动并找到它,它应该加载file.txt并对它做一些事情(代码用于做我已经拥有的事情)..

写作:

read(FileName);
我的主程序的第一行上的

不起作用 - 程序在启动后仍在等待输入。

2 个答案:

答案 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中使用)。

相关问题