Tuesday, March 1, 2011

How to look for and handle command line parameters

Most command line programs and some Windows programs has the ability to look for and handle parameters passed to it such as "/? /HELP /Q". If you want to add similar functionality to your Delphi programs, you can start with a function like this:

 
program myprog;

uses
  SysUtils;

function CmdLineParamFound(
  sParamName : String ) : Boolean;

const
  { assume that command line parameters
    start with the "/" character }
  c_token = '/';

var
  i     : integer;
  sTemp : string;

begin
  result := False;

  for i := 1 to ParamCount do
  begin
    sTemp := ParamStr( i );
    if( c_token = sTemp[ 1 ] )then
    begin
      if( ( c_token +
            UpperCase( sParamName ) ) =
              UpperCase( sTemp ) )then
      begin
        result := True;
        exit;
      end;
    end;
  end;
end;

begin

  {
  following "if" statement will be triggered
  if called with the /HELP parameter:
 
  myprog.exe /HELP
  }

  if( CmdLineParamFound( 'HELP' ) )then
  begin

    {
    display help here...
    }

  end;

  {
  myprog.exe /FULLSCREEN
  }
  if( CmdLineParamFound( 'FULLSCREEN' ) )then
  begin

    {
    run program in full screen mode
    }

  end;

end.
Listing #1 : Delphi code. Download cmdline (0.58 KB).

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Kang Iwan K-sev | Thank's for your visit To My Site - Ridwan Mulyana | Cibeureum