关闭

EXE执行程序DOS参数的运用

标签: Delphiexe
847人阅读 评论(0) 收藏 举报
分类:

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在程序中,默认全局变量,程序中,可以随时运用。
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30977次
    • 积分:582
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:0篇
    • 译文:0篇
    • 评论:9条
    最新评论