BCB中,怎样作出一个带选择参数的Windows程序?

saucerman 2000-02-14 02:43:00
BCB中,怎样作出一个带选择参数的Windows程序?

比如说吧,我的工程是AAA.bpr, 编译出AAA.EXE,参数是-t
执行AAA.EXE -t,就先弹出一个对话框然后再显现到主窗体;
执行AAA.EXE,不带参数,就直接显现主窗体,不出对话框。
还可以有其它多个参数,-x,-y,-z等等。

好象InstallShield里,就有参数,只是不知如何用。
注意是窗口程序,不是控制台程序。
...全文
252 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
april_d 2001-10-05
  • 打赏
  • 举报
回复
gz
saucerman 2000-02-17
  • 打赏
  • 举报
回复
更正:

不是俺的问题——
这句话怎么一上传就会变成这个样子:

if(AnsiString(CmdLinePointer)=="-x" and and AnsiString(CmdLinePointer)=="-X")

其中的两个“ and and ”本是两条竖杠——C中的逻辑或操作符。
以下也相同,请自行纠正。

另外“在指针移到分号后,您写的是“p+=2;””,本想说的是“引号”,却误写成“分号”。

wxz 2000-02-15
  • 打赏
  • 举报
回复
补充:
char *p=(char *)GetCommandLine();
for(p++;*p!='"';p++);
p++;
// 如果没有参数,p=NULL;
AnsiString CmdLine;
if(*p){p++;CmdLine=p;}
wxz 2000-02-15
  • 打赏
  • 举报
回复
我用以下的方法,问题是没有的
// 用API GetCommandLine,返回整个命令行的字符串指针
char *p=(char *)GetCommandLine();
// 如果程序名为C:\AAA.exe,参数为-x,则p为 "C:\\AAA.exe" -x
for(p++;*p!='"';p++); // p为" -x
p=p+2; // p为-x
AnsiString CmdLine=p; //
// 现在你想做什么
FoolBoy 2000-02-14
  • 打赏
  • 举报
回复
打开AAA.CPP,在WinMain函数的说明中,LPSTR型参数即为命令行参数串,int型参数即为命令行参数个数。要加入命令行参数功能,只需在WinMain中相应说明,再在程序中引用即可!
sky__horse 2000-02-14
  • 打赏
  • 举报
回复
我在delphi中这样用:
当别的程序执行如下语句:
WinExec(PChar(<包括路径的被执行程序名 参数串>),SW_Show);

被执行程序启动时:
procedure TForm1.FormCreate(Sender: TObject);
var para1: string;
begin
... ...
if ParamCount>0 then
begin
Para1:=ParamStr(1);
//有参处理...
end
else
begin
//无参处理;
end;
end;
delphi是bcb的堂兄,希望这个例子能帮你的忙

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧