⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 o14.htm

📁 C++ Builder学习中文版,让学者对其有一定的理解.
💻 HTM
字号:
 

<html>

<head>

<title>怎样获取程序的命令行参数?</title>

<meta http-equiv="目录类型" content="文本/html; 字符集=gb2312">

</head>

<body bgcolor="#FFFFFF">

<table width="100%" border="0" height="285">

  <tr> 

    <td height="35"> 

      <div align="center" class="p14"><font color="#000000">怎样获取程序的命令行参数?</font></div>

    </td>

  </tr>

  <tr valign="top"> 

    <td>

      <p><font color="#000000">你可以用下面的两种不同的技巧来解决这个问题。</font></p>

      <p><b><font color="#000000">技巧1:首先,也许是最简单的方法是调用VCL ParaStr()函数。你可使用ParamCount()函数来确定到底有多少个命令行参数传递给了应用程序。</font></b></p>   

      <p><font size=4><tt><font color="#000000">ParamStr需要一个整数参数并且返回一个AnsiString对象。若参数为0,</font></tt></font><font color="#000000"><font   

size=4>  <tt>ParamStr</tt> 将返回可执行文件的全称路径。若参数为1,将返回程序名及第一个命令行参数。若参数为2,将返回第二个参数,等等。 </font></font></p>   

      <p><font size=4 color="#000000">作为一个实践,开启一个新的项目,在主窗口上放置5个Label,将下面的代码添加到窗口的构造函数中:</font></p>   

      <pre><font color="#000000"><font size=4>  Label1-&gt;Caption = ParamStr(0);</font>

<font size=4>  Label2-&gt;Caption = ParamStr(1);</font>

<font size=4>  Label3-&gt;Caption = ParamStr(2);</font>

<font size=4>  Label4-&gt;Caption = ParamStr(3);</font>

<font size=4>  Label5-&gt;Caption = ParamStr(4);</font></font></pre>  

      <p><font size=4 color="#000000">再运行程序。一般应能看到类似字符串:</font></p>  

      <pre><font size=4 color="#000000">  E:\CBUILDER\PROJECTS\PROJECT1.EXE</font></pre>  

      <p><font size=4><font color="#000000">如果没传递参数到程序,那么Label2到Label5是空字符串。关闭程序,从C++Builder菜单中选择 Run    

        | Parameters。输入几个参数(</font></font><font color="#000000"><font size=4><tt>-debug -testing -param</tt>)再次运行程序。你将看到:</font></font></p>  

      <pre><font color="#000000"><font size=4>  E:\CBUILDER\PROJECTS\PROJECT1.EXE</font>

<font size=4>  -debug</font>

<font size=4>  -testing</font>

<font size=4>  -param</font></font></pre>  

      <p><font size=4><b><font color="#000000">提示:</font></b></font><font color="#000000"><font size=4>    

      <tt>ParamStr</tt> 对目录中的空格能智能判断。为证实这点,把生成的EXE文件拷贝到Program    

        Files目录下再运行它,你将会看到ParamStr(0)返回全路径,并包含空格。 </font></font></p>   

      <p><font size=4 color="#000000"><b>技巧2:第二个方法就是调用GetCommandLine API函数。GetCommandLine不需要参数,并且返回一个C风格的char    

        *,包含全部的命令行参数。你将不得不分解字符串以取得相关参数。</b></font></p>   

      <pre><font size=4 color="#000000">  Label5-&gt;Caption = AnsiString(GetCommandLine());</font></pre>   

      <p><font size=4 color="#000000">运行后,Label5将为:</font></p>   

      <pre><font size=4 color="#000000">  &quot;E:\CBuilder\Projects\Project1.exe&quot; -debug -testing -param</font></pre>   

     </td>   

  </tr>   

</table>   

<br>   

</body>   

</html>   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -