是这样的,以前学C的时候,main()函数可以接收用户输入的参数,不知道在delphi中,可不可以,我想做一个小程序,当用户在运行框中输入小程序的名称+参数时,根据参数的不同来执行不同的功能,请问可以实现吗?最好讲一下原理及实现的过程,
谢谢各位大虾,先给20分,问题解决了另开贴再加100分!!

解决方案 »

  1.   

    执行EXE的时间加上参数,
    在程序中取参数用下面的方法
    ParamStr(1),ParamStr(2)
    根据不同的参数做不同的处理
      

  2.   

    1.ParamCount: 得到输入的参数数;
    2.ParamStr(Index): 得到第Index个参数;
      Index = 0    --> Exe 文件名(含目录)
      Index = 1    --> 第1个参数,依此类推  另:API GetCommandLine 可以直接得到整个命令行,你也可以自己解析它。3. 关于命令行:
      blabla.exe Param1    Param2
                  ^^ 参数1 ^^^ 参数2
      参数以空格作为分割符,所以:
      如果某参数中含有空格,则该参数必须用双引号括起来;
      若没有空格,就无所谓了,引号可有可无。
      

  3.   

    写就写,又不死人。var
      str: string;
    begin
      // ParamStr = Applicaiton.ExeName
      // 不过,在控制台程序里Delphi未自动创建TApplication对象,
      // 这时,可用ParamStr(0)来得到exe的路径等信息
      ShowMessage(ParamStr(0));    
      
      ShowMessage('一共输入了如下个参数' + IntToStr(ParamCount));
      for i := 1 to ParamCount do
      begine
        str := Format('第 %d 个参数是 %s', [i, ParamStr(i)]);
        ShowMessage(str);
      end;
    end;楼主满意了吧?
      

  4.   

    抱歉,改错:
      // ParamStr(0) = Applicaiton.ExeName
      // 不过,在控制台程序里Delphi未自动创建TApplication对象,
      // 这时,可用ParamStr(0)来得到exe的路径等信息
      ShowMessage(ParamStr(0));
      

  5.   

    建议楼主做一个logoForm,里面放几个Edit控件,根据Edit。Text内容不用去执行不用的功能不就行了嘛。