Delphi可执行程序参数


本文整理自网络,侵删。

 关于Delphi下可执行程序的参数问题,以前一直也没怎么注意过,实际应用中也没有过这样的需求,今天突然想到这个问题,所以查阅了一下Delphi的帮助。

其实在Delphi中使用执行参数是一件非常方便的事情,Delphi已经自己帮你处理好了,在程序中你可以仅仅调用ParamCount, ParamStr这两个函数就可以方便的获取相关的参数信息,从而根据自己的需要进行流程控制了,而且从一方面来说,使用执行参数通过Delphi来制作 命令行或Form窗体也是一件非常非常方便省事的工作,Delphi会在dpr(实际上这也是一个标准的Object Pascal程序)文件中来控制程序的执行(也即:我们见到的Forms实际上是在dpr中执行的)

因此当我们想要通过参数来控制我们的一个exe是以何种姿态展现在我们面前时,我们仅仅只需要在dpr中做点文章即刻。下面是一个演示程序:

当参数为-c时,以命令行控制台形式执行,当参数为-f出现时将以Forms的形式执行,当没有任何参数时不做任何操作。当然其实还有更复杂的一些情形要 我们去控制,比如当“-c -f”同时做为参数时,我们该怎么处理呢?呵呵,这不是技术问题,而是你的需要兼容性问题了,这里就不做考虑了。OK代码如下:

program T;

uses
Forms, SysUtils,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

var
i : integer;
begin
if ParamCount = 0 then exit;

for i := 1 to ParamCount do
begin
if LowerCase(ParamStr(i)) = '-c' then
begin
{$APPTYPE CONSOLE}
Writeln('Under Console...');
break;
end
else if LowerCase(ParamStr(i)) = '-f' then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end;
end.

把命令行窗口打开(CMD),试试分别执行:"t.exe" ,"t.exe -c", "t.exe -f"看看会怎么样呢?呵呵

相信看过上面的代码,大家对Delphi下使用执行参数会有新的认识。

相关阅读 >>

Delphi 的webbrowser如何全选并复制浏览器上的文字

Delphi7调用Delphi xe2 中间层注意事项

Delphi unigui获取连接的客户端列表

Delphi 只用一条语句就能使tbitmap反色

Delphi保存读取utf-8的文本文件

Delphi webbrowser ie 窗口选择中,选中的文字内容

Delphi的rtti实现数据集的简单对象化

Delphi string内存结构

Delphi 数字转excel字母列序号

Delphi wmi 取硬件信息

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...