Im Forum taucht immer wieder die Frage auf: "Wie werden Parameter an meine Applikation übergeben?" Dabei ist zu beachten, dass der String ggf. in Anführungszeichen kommt. Soweit so gut, doch wie wertet man nun Command$ aus?
Die cmdParser-Funktion erwartet als Übergabeparameter ein Array, in dem die einzelnen Elemente zurückgegeben werden. Als optionaler Parameter wird der Separator erwartet. Default ist ein Blank (Leerzeichen). Als Rückgabewert liefert die Funktion die Anzahl der Elemente. Fügen Sie den nachfolgenden Code in ein Modul ein: Public Function cmdParser(ByRef ParseArray As Variant, _ Optional ByVal cmdSeparator As String = " ") As Long Dim tmpstr As String Dim tmpArray() As String Dim x1 As Long Dim x2 As Long ' Funktion initialisieren cmdParser = 0 If Command$ = "" Then Exit Function ' Command$ ermitteln und über die Split-Funktion ' in das tmpArray übertragen. Dabei wird geprüft, ' ob der Command$ in Anführungszeichen steht. Wenn ' ja, dann Anführungszeichen löschen. tmpstr = Command$ If Left(Command$, 1) = Chr(34) Then If Right$(Command$, 1) = Chr(34) Then tmpstr = Mid$(Command$, 2, Len(Command$) - 2) End If End If tmpArray = Split(tmpstr, cmdSeparator) ' ParseArray initialisieren x1 = 0 ReDim ParseArray(x1) ' Schleife über alle Einträge aus dem tmpArray For x2 = LBound(tmpArray) To UBound(tmpArray) ' ParseArray normalisieren If tmpArray(x2) <> "" Then ParseArray(x1) = Trim(tmpArray(x2)) x1 = x1 + 1 ReDim Preserve ParseArray(x1) End If Next x2 ' Letztes Redim Preserve zurücksetzen If x1 > 0 Then ReDim Preserve ParseArray(x1 - 1) End If ' Rückgabewert setzen cmdParser = x1 End Function Aufrufbeispiel: Geben Sie die Command$-Parameter in den Projekteigenschaften in der Lasche "Erstellen/Befehlszeilenargumente" ein. In diesem Beispiel: "/Param1 /Param2 /Param3". Oder erzeugen Sie eine EXE und geben Sie die Parameter beim Aufruf mit an. Private Sub Form_Load() Dim x As Long Dim cmdParseList() As String If cmdParser(cmdParseList, "/") > 0 Then For x = LBound(cmdParseList) To UBound(cmdParseList) List1.AddItem cmdParseList(x) Next x End If End Sub Dieser Tipp wurde bereits 24.212 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |