使用函数ParamStr和ParamCount,或者cmdline变量获得命令行参数

解决方案 »

  1.   

    使用 ParamCount 取回命令行参数总数
    ParamStr(0), 传回执行档的档名(含路径)
    ParamStr(n), 传回第n个参数的内容
    if ParamCount >0 then (* 有执行参数传入 *)
      

  2.   

    以上两位兄弟已经回答了你的问题.再看看我的程序;procedure TResExplrForm.FormCreate(Sender: TObject);
    var
      ABaseNodeID: Integer;
    begin
      if ParamCount < 1 then
      begin
        ShowMessage('请从主控台启动该程序!');
        Application.Terminate;
      end;
      if ParamStr(2) = 'R' then DisEnableMenu;
      ABaseNodeID := -1;
      try
        ABaseNodeID := StrToInt(ParamStr(1));
      except
        ShowMessage('根节点ID不是合法整数值,程序将被终止!');
        Application.Terminate;
      end; 
      with FResHandle do
      begin
        try
          AddFirstNode(tvMain, ABaseNodeID);
          RefreshChildClsNode(tvMain, tvMain.Items[0]);
          DrawLVData(tvMain.Items[0], lvMain);
        except
          ShowMessage('传入根节点ID非法,程序将被终止!');
          Application.Terminate;        
        end;   
      end; 
    end;