CommandParm
PowerScript function
Description
Retrieves the argument string, if any, that followed the program
name when the application was executed.
Syntax
|
1 |
CommandParm ( ) |
Return value
String.
Returns the application’s argument string if it succeeds and the
empty string (“”) if it fails or if there were no arguments.
Usage
Command arguments can follow the program name in the command line of
a Windows program item or in the Program Manager’s Run response window.
For example, when the user chooses File>Run in the Program Manager and
enters:
|
1 |
MyAppl C:EMPLOYEEEMPLIST.TXT |
CommandParm retrieves the string C:EMPLOYEEEMPLIST.TXT.
If the application’s command line includes several arguments,
CommandParm returns them all as a single string. You can use string
functions, such as Mid and Pos, to parse the string.
You do not need to call CommandParm in the application’s Open event.
Use the commandline argument instead.
(Applicable only to applications deployed via PowerServer or
PowerClient) If you call the CommandParm
function to get the command line arguments, the command line arguments
will be automatically saved (in pbapp.ini) and used by the other
applications (deployed via PowerServer or PowerClient). If you don’t want
the command line arguments to be saved and used by the other apps, you can
follow instructions in this
article to clear the values.
Examples
These statements retrieve the command line arguments and save them
in the variable ls_command_line:
|
1 2 |
string ls_command_line ls_command_line = CommandParm() |
If the command line holds several arguments, you can use string
functions to separate the arguments. This example stores a variable number
of arguments, obtained with CommandParm, in an array. The code assumes
each argument is separated by one space. For each argument, the Pos
function searches for a space; the Left function copies the argument to
the array; and Replace removes the argument from the original string so
the next argument moves to the first position:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
string ls_cmd, ls_arg[] integer i, li_argcnt // Get the arguments and strip blanks // from start and end of string ls_cmd = Trim(CommandParm()) li_argcnt = 1 DO WHILE Len(ls_cmd) > 0 // Find the first blank i = Pos( ls_cmd, " ") // If no blanks (only one argument), // set i to point to the hypothetical character // after the end of the string if i = 0 then i = Len(ls_cmd) + 1 // Assign the arg to the argument array. // Number of chars copied is one less than the // position of the space found with Pos ls_arg[li_argcnt] = Left(ls_cmd, i - 1) // Increment the argument count for the next loop li_argcnt = li_argcnt + 1 // Remove the argument from the string // so the next argument becomes first ls_cmd = Replace(ls_cmd, 1, i, "") LOOP |