Mic*_*ick 13 delphi com parsing
它比使用getopt()解析C/C++中的命令行参数要容易得多.
Delphi有类似的东西吗?或者理想情况下,使用相同的语法?我知道Delphi支持FindCmdLineSwitch和ParamStr(),但那些仍然需要一些额外的解析.
我想要一些像C语言中的getopt()一样的东西.它可以轻松地允许基本的切换开关,以及在切换后捕获值.请参阅下面的一些示例C代码,看看我在说什么:
void print_help()
{
printf("usage:\n") ;
printf("\t\t-i set input file\n") ;
printf("\t\t-o set output file\n") ;
printf("\t\t-c set config file\n") ;
printf("\t\t-h print this help information\n") ;
printf("\t\t-v print version\n") ;
}
char* input_file = NULL ;
char *query=NULL;
char opt_char=0;
while ((opt_char = getopt(argc, argv, "i:q:vh")) != -1)
{
switch(opt_char)
{
case 'h':
print_help();
exit(-1);
break;
case 'v':
print_version() ;
exit(-1) ;
break ;
case 'i':
input_file= optarg ;
break ;
case 'q':
query= optarg ;
break ;
default:
print_help();
exit(-1);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 11
FPC RTL 的getopts.pp文件是自包含的Delphi(包含Delphi2009)兼容单元,它实现了getopt:
Free Pascal的Getopt实现,以GNU getopt为模型
该单元 可在FPC SVN存储库中找到.
请参阅本EDN文章http://edn.embarcadero.com/print/40404中描述的TCommandParser,可从CodeCentral http://cc.embarcadero.com/item/27574下载.TCommandParser现在也应该包含在Delphi演示中.在我离开之前,我已经将代码免费提供给Embarcadero,所以希望它们会在框架中包含它或者在某些时候将它包含在内.
归档时间: |
|
查看次数: |
3507 次 |
最近记录: |