关于命令行的问题,快帮忙!(100分)

  • 主题发起人 主题发起人 wishme2
  • 开始时间 开始时间
W

wishme2

Unregistered / Unconfirmed
GUEST, unregistred user!
下面这个函数delphi的例子,是处理命令行的,但是这个命令行是怎么产生<br>的(是本应用程序产生的吗?)?格式是怎样的?也就是下面的ParamCount值<br>会是什么?ParamStr()会得到什么?如果我想取应用程序句柄呢?<br>procedure TForm1.FormCreate(Sender: TObject);<br><br>var<br>&nbsp; i: Integer;<br>&nbsp; for i := 0 to ParamCount – 1 do<br>&nbsp; begin<br>&nbsp; &nbsp; if LowerCase(ParamStr(i)) = 'beep' then<br>&nbsp; &nbsp; &nbsp; Beep(10000,1000)<br>&nbsp; &nbsp; else if (LowerCase(ParamStr(i)) = 'exit' then<br>&nbsp; &nbsp; &nbsp; Application.Terminate;<br>&nbsp; end;<br>end;
 
1.ParamStr就是 运行程序的参数 手工输入的<br>如: Project1.exe Beep <br>ParamCount=1<br>ParamStr(0)=Beep<br>2.空格分割的字符串<br>如: a b c<br>ParamCount=3<br>ParamStr(0)=a<br>ParamStr(1)=b<br>ParamStr(2)=c<br>应用程序序句柄是 Application.Handle.<br><br>
 
修正上面那一位所說<br><br>ParamStr(0)會傳回本程式的檔名及路徑<br>ParamStr(1)以後, 才會是命令行參數, 在拆參數時以雙引號括起來的, 會被梘為同一參數值<br>如<br>C:/Test.exe a "aaa bbb"<br><br>ParamCount = 2<br>ParamStr(0) = C:/Test.exe<br>ParamStr(1) = a<br>ParamStr(2) = aaa bbb<br>
 
楼上的都讲了,我来晚了[8D]
 
二楼的。
 
后退
顶部