delphi EXE执行程序DOS参数的运用


本文整理自网络,侵删。

    一、windows操作系统提供的数据原型
    1、function paramstr(i:index):string      // 由命令行返回特殊参数 
     实际使用  ParamStr(n)                    // 参数值   字符串类型
    2、ParamCount                             // 参数总数 整数类型
    二、参数的意义
    1、paramstr(0)                            // 应用程序的绝对路径
    2、paramstr(1) - paramstr(ParamCount-1)   // 返回的序列参数
    三、调用
    1、AAAA.exe 文件执行时, 采取DOS命令行的方式:比如,DOS方式,键入命令行:
     AAAA 111 222 333
      2、在实际运用中,常运用在程序调用子程序是,比如在程序中,调用 个子程序 Memo.exe,通过API函数调用::
    shellexecute(application.Handle,'open','AAAA.exe','111 2222 333', 'e:\',SW_SHOW);那么,相应的参数:
   paramstr(1)  = 111
  paramstr(2)  = 222
  paramstr(3)  = 333
    所以用paramstr可以在应用程序间进行数据传输。
      注意,我们在编程时,可以通过delphi的IDE,直接设置DOS命令行。
      (1)Delphi IDE调试,设置程序DOS参数:Project ->Run -> Parameters,打开“Run parameters”对话框,输入模拟的参数:

    (2)获取全部参数
     程序放一个ListBos,加入以下代码:
procedure TForm1.FormCreate(Sender: TObject); 
var i: Integer; 
begin  
  for i := 1 to ParamCount do 
    ListBox1.Items.Add(ParamStr(i)); 
end; 
    获取的参数值:



    四、常规用法
    1、无参数不执行,可以实现子程序,只能调用,不能被单独执行。只要在子程序的OnShoe事件中,加入代码以下即可:
  if system.ParamCount<1 then exit;
    2、传递参数,(子程序的OnShoe事件中)
  S1:=ParamStr(1); 
  S2:=ParamStr(2); 
    3、获取执行文件的目录路径(子程序的OnShoe事件中)
  ExtractFilePath(ParamStr(0)) // (目录尾部包含\) 
    五、参数运用中注意的事项
    1、参数的带入时刻
    我们实际运用时,执行命令行 A.exe lyhoo 2 True False
    这4个参数,在A.exe运行时就能使用、但是我们在实际使用时不是使用ParamStr,而是要将它们的值,赋值给全局变量。这样,该全局变量,往往在mainForm的OnShow事件中执行。这样,该变量的使用,就有一个时间差的问题。在Form的OnCreate事件中,就不能运行。因为,此时它还没有被赋值。
    2、 ParamStr在程序中,默认全局变量,程序中,可以随时运用。

相关阅读 >>

Delphi 判断端口(port)是否被占用

Delphi 用tidsmip和tidmessage发送邮件

Delphi downloadtomemory

Delphi之tclientsocket和tserversocket使用tcp keepalive心跳机制实现“断网”、"断电"检测

tsqlconnection连接mysql(utf8)的问题

Delphi反调试【初级】检测法

Delphi写的简单的文件的打开和关闭

Delphi 10.3新特性 内联变量

Delphi writeln 写入一行文本

Delphi 的字符及字符串 - char、ansichar、widechar、pchar、pansichar、pwidechar

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



打赏

取消

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

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

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

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

评论

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