如何让程序可以带参数运行(200分)(200分)

  • 主题发起人 主题发起人 yafei
  • 开始时间 开始时间
Y

yafei

Unregistered / Unconfirmed
GUEST, unregistred user!
比如一个程序有两个Button,button1和button2,运行程序时如果加参数‘/a’就点击button1,
如果加参数‘/b’就点击button2。
 
你的意思是自动执行按钮代码?
 
嘻嘻,新年来拿分了,D7+WinXP下测试通过
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
parampath : String;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin
//ParamStr()就是取得参数。
//像这个例子:i:/a/Project1.exe /a /b /c
// ParamStr(1)得到的就是 /a
// ParamStr(2)得到的就是 /b
// ParamStr(3)得到的就是 /c
ParamPath:=LowerCase(ParamStr(1));
if Parampath ='/a' then
Button1Click(nil)
else if Parampath='/b' then
Button2Click(nil);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('传入的参数是'+parampath);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage('传入的参数是'+parampath);
end;

end.
 
唉,这么简单的问题真不忍心看lfpsoft一个人拿[:D][:D][:D],补充一句:
用 ParamCount 函数取参数个数,
procedure TFrm_DataUpdate.Button2Click(Sender: TObject);
var
i:integer;
begin
for i := 0 to ParamCount-1 do
begin
ShowMessage(ParamStr(i));
end;
end
 
多人接受答案了。
 
后退
顶部