呵呵呵呵呵

萝莉有三好,柔体 轻音 易推倒。女神有三宝,干嘛 呵呵 去洗澡。宅男有三好:Dota 基友 破电脑。


bcb 获取程序命令行CmdLine参数

bcb 获取程序命令行CmdLine参数

在windows程序的主函数WinMain()中,有一个参数lpszCmd,这个参数就是命令行参数。

如果你是使用的C++Builder编程,那么我就恭喜你,在C++Builder中用使用命令行参数是非常简单。C++Builder定义了三个全局变量和函数CmdLine、ParamStr()、ParamCount(),有了这三个变量和函数,就可以非常方便地使用命令行参数了,首先我们来看一下这几个函数和变量的定义:

extern PACKAGE char *CmdLine;
extern PACKAGE AnsiString __fastcall ParamStr(int Index);
extern PACKAGE int __fastcall ParamCount(void);

CmdLine和WinMain()的参数lpszCmd是一样的,也就是整个命令行参数;ParamCount()用来取得命令行参数的个数,但不包括可执行文件名,也就是相当于DOS下的argc-1,ParamSter()用来取得每一个命令行参数的值,ParamStr(0)就是可执行文件名,实际的参数就是ParamStr(1)~ParamStr(ParamCount())。下面就以一个例子来说明这三个函数变量的使用。

在窗体上放置一个Label,用来显示总的命令行参数;再加入一个ListBox,用来显示每个参数,然后在窗体的onCreate事件中加入以下代码:

Label1->Caption=CmdLine;
for(int i=0;i<=ParamCount();i++)
ListBox1->Items->Add(ParamStr(i));

然后在菜单Run->Parameters…中修改命令行参数,然后运行程序

 ParamCount()函数来确定到底有多少个命令行参数传递给了应用程序。
另一个方法就是调用GetCommandLine API函数。GetCommandLine不需要参数,并且返回一个C风格的char *,其中包含全部的命令行参数。你将不得不分解字符串以取得相关参数。
    

 在日常开发中,总难免出现开发一些程序需要获取命令行参数;假设我们要写一个文件转换程序abc,我们实际需求需要在cmd中执行:adc file1.C file2.C,那应该如何实现呢?
 
主要方法:利用ParamStr(n)函数获取,n是参数的序号;
 
如 ParamStr(2)=="file2.C"
 
ParamStr需要一个整数参数并且返回一个AnsiString对象。若参数为0, ParamStr
将返回可执行文件的全称路径。

简单示例

void __fastcall TForm2::FormCreate(TObject *Sender)
{
    //ParamCount()
    int i;
    i=ParamCount();
    Memo1->Lines->Add(IntToStr(i)) ;
 
}

更多内容:

Linux内核模块操作相关命令depmod,lsmod,modinfo,insmod,rmmod,mdprobe
php 使用soap方式提供web service
WSDL 文档结构
用ZendStudio生成静态的WSDL文件
RAD Studio XE5官方下载地址,破解方法,破解补丁

本文链接地址:http://www.hehehehehe.cn/i/768.html