Command Function

   
Command Function

Class

Microsoft.VisualBasic.Interaction

Syntax

 Command(  ) 

Return Value

A String containing the command-line arguments

Description

Returns the arguments used when launching VB or an application created with VB

Rules at a Glance

  • For applications created with VB and compiled into an EXE, Command returns a string containing everything entered after the executable filename.

  • If the executable has been launched with no command-line arguments, Command returns a null string.

Programming Tips and Gotchas

  • Once you've used the Command function to retrieve the command-line arguments, you still have to parse the string it returns. This should be as simple as a call to the Split function, as shown in the following code fragment:

     Dim sCmdLineStr, sCmdLine(  ) As String sCmdLineStr = Command(  ) If Not sCmdLineStr = "" Then    sCmdLine = Split(Command, " ") End If 
  • Instead of calling the Command function, you may find it easier to use the shared GetCommandLineArgs method of the System.Environment class. It returns a string array whose first element is the program name and whose remaining elements are the command-line arguments. The following code fragment determines whether any command-line arguments are present:

     Dim sArgs() As String = System.Environment.GetCommandLineArgs(  ) If sArgs.Length > 1 Then    ' handle the command line arguments End If 

Example

The following example demonstrates how to parse command-line arguments to set up a series of options in your executable. This example (which is bereft of all error handling) looks for a hyphen or a forward slash in the command-line arguments and assumes that the character following it is a command-line switch. Given the command-line arguments:

 -d:50 -f -g -k 

the program displays the following in the Immediate window:

 Got option d Option d Parameter = 50 Got option f Got option g Got option k 

The source code is as follows :

 Private Sub ParseCommandLine(  )     Dim i As Integer     Dim s, sChar, sParam As String     Dim sPattern As String = "[-/]"              For i = 1 To Len(Command)        sChar = mid(Command, i, 1)        If sChar = "-" or sChar = "/" Then           s = Mid(Command, i + 1, 1)           Select Case s             Case "d"                 Console.WriteLine("Got option d")                 sParam = Mid(Command, i + 3, 2)                 Console.WriteLine("Option d Parameter = " & _                              sParam)              Case "f"                 Console.WriteLine("Got option f")              Case "g"                 Console.WriteLine("Got option g")              Case "k"                 Console.WriteLine("Got option k")              Case "l"                 Console.WriteLine("Got option l")           End Select        End If     Next I End Sub 

Programming Tips and Gotchas

  • During the development phase, you can pass arguments to your program using the Command Line Arguments textbox, which can be found on the Property Pages dialog box for the project (right-click the project name in the Solution Explorer window). In particular, the textbox is found under Start Options in the Debugging subnode of the Configuration Properties node.

  • To handle command-line arguments, you must write a routine similar to the one shown earlier to parse the string returned by Command , since the function only returns a single string containing all input after the name of the executable file.

  • Command-line arguments are ideal for specifying various options on unattended applications.

   


VB.Net Language in a Nutshell
VB.NET Language in a Nutshell
ISBN: B00006L54Q
EAN: N/A
Year: 2002
Pages: 503

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net