首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

-关于程序传入参数运行的有关问题

2013-01-07 
求助--------关于程序传入参数运行的问题路过的请帮看下,谢了.当前的程序是,执行一个主窗口MainForm,还有2

求助--------关于程序传入参数运行的问题
路过的请帮看下,谢了.

当前的程序是,执行一个主窗口MainForm,
还有2个手动生成的窗体:FORM1,FORM2,是主窗体手动单击后才显示的.

现在,我想传入2个参数,一个是执行类别LType,文件长路径LPath.

1.那下面的代码,我应该如何改?
2.或是放在MainForm里的哪个位置才好?  ****
3.为什么把过程GetRunType放在MainForm的create还是一样没效果?
4.delphi如何带参数调试?

谢谢.


//取得传入的参数
procedure GetRunType;
var
  i: Integer;
  LType,LPath:string;
begin
    LType:=LowerCase(ParamStr(1));
    LPath:=LowerCase(ParamStr(2));

    if (LType='') or (LPath='') then exit;

    MainForm.Hide;//主窗体隐藏

    RunType:=1;//参数模式
    
    if LType = '1' then  
    begin        
        Form1:=TForm1.Create(Application);
        Form1.Show; 
              
    end; 

    if LType = '2' then
    begin        

        Form2:=TForm2.Create(Application);
        Form2.Show; 
      
    end;
end; 



[解决办法]
放在onshow,在CMD可以命令行调试
[解决办法]
//debug参数设置
1  Project -> Options -> Debugger -> Parameters
2 run -> Debugger -> Parameters

多个参数用分隔符分开写
你的例子可以这么写: 1 c:\aa.txt

//可执行文件参数设置
1 为可执行文件生成快捷方式
2 打开快捷方式属性设置 快捷方式->目标  设置格式 : "可执行文件路径" 参数1 参数2
如: "C:\Documents and Settings\Administrator\My Documents\RAD Studio\Projects\Debug\Win32\Project5.exe"  1 c:\ddd.txt

程序示例代码

//取得传入的参数
procedure GetRunType;
var
  LType,LPath:string;
begin
    LType:=LowerCase(ParamStr(1));
    LPath:=LowerCase(ParamStr(2));

    if (LType='') or (LPath='') then exit;

    ShowMessage(LType);
    ShowMessage(LPath);
end;

procedure TForm5.btn1Click(Sender: TObject);
begin
  GetRunType
end;

procedure TForm5.FormCreate(Sender: TObject);
var
  I: Integer;
begin
  //下标=0的是程序默认的自身路径
//  ShowMessage(ParamStr(0));

  //自定义运行参数
//  for I := 1 to ParamCount do
//    ShowMessage(ParamStr(i));
end;


[解决办法]
GetRunType放的位置你自己定
onCreate   onShow都可

热点排行