Die Community zu .NET und Classic VB.
Menü

FAQ 0012: Wie lese ich die Kommandozeile meiner Anwendung aus?

 von 

Frage 

Wie lese ich die Kommandozeile meiner Anwendung aus?

Beispiel  

VB stellt dafür die Funktion Command$() zur Verfügung.
Diese Funktion liefert alle Kommandozeilenparameter, welche beim Programmstart angegeben wurden.

' Beispiel von pks
Dim CmdString As String
Dim workTb() As String
Dim Ele() As String
Dim myVariabs() As String
Dim i As Integer


   ' Simulation einer Command$ Auslesung
   ' CmdString = Command$
   CmdString = "/myVar1=1  /myvar2=2   /myvar3=xyz doPrint"
   
   ' Beim Testen kann der Command$ recht einfach gesetzt werden
   ' Projekt
   '..... Eigenschaften
   '........... erstellen
   '.................. Befehlszeilenargumente
   
   ' nicht benötigte Spaces entfernen, Schreibweisen der Anwender *g*
   Do While InStr(1, CmdString, Space$(2)) > 0
      CmdString = Replace$(CmdString, Space$(2), Space$(1))
   Loop
   
   ' generell Gross- oder Kleinschreibung
   CmdString = UCase$(CmdString)
   
   ' aufteilen in WorkArray temporär
   workTb = Split(CmdString, Space$(1))
   
   ' einlesen in Public Variablenliste
   ReDim myVariabs(LBound(workTb) To UBound(workTb), 0 To 1)
   For i = LBound(workTb) To UBound(workTb)
      ' aufteilen in Variablenname (+ Wert, falls angegeben)
      Ele = Split(workTb(i), "=")
      myVariabs(i, 0) = Ele(0)
      If UBound(Ele) = 1 Then
         myVariabs(i, 1) = Ele(1)
      End If
   Next
   
   ' zum Test drucken
   For i = LBound(myVariabs) To UBound(myVariabs)
      Print myVariabs(i, 0) & Space$(3) & myVariabs(i, 1)
   Next

Listing 1: Einfache Auswertung der Aufrufparameter

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.