Delphi是否实现了“getopt”?

前端之家收集整理的这篇文章主要介绍了Delphi是否实现了“getopt”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用getopt()来解析C/C++中的命令行参数并不容易.

Delphi有什么类似的东西吗?或者理想情况下,使用相同的语法?我知道Delphi支持FindCmdLineSwitch和ParamStr(),但是还需要一些额外的解析.

我想要一些类似于getopt()在C中的东西.容易允许基本的切换开关,以及在切换后捕获值.看下面的一些例子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;
                }
        }

解决方法

有一个实现TGetOpt,声称

implement a getopt variant for Delphi. It is nearly POSIX compatible,supporting long options,required,optional and no arguments

你可以找到它here.

猜你在找的Delphi相关文章