Который бы разбирал что-то типа
a b "x\"x" 555
Если приходилось то вы знаете, как это "приятно".
Однако, в windows уже есть функция, которое все распарсит сама.
Option Explicit
Private Declare Function CommandLineToArgvW Lib "shell32.dll" (ByVal nInput As Long, ByRef retcount As Long) As Long
Private Declare Function LocalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function SysAllocString Lib "oleaut32" (ByVal nString As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
Public Function CommandLineToArgvVB(ByVal nInput As String) As String()
Dim ret As Long, retcount As Long, rt() As String, I As Integer, lng As Long
ret = CommandLineToArgvW(StrPtr(nInput), retcount)
If retcount > 0 Then
ReDim rt(retcount - 1)
For I = 0 To UBound(rt)
CopyMemory VarPtr(lng), ret + I * 4, 4
CopyMemory VarPtr(rt(I)), VarPtr(SysAllocString(lng)), 4
Next
CommandLineToArgvVB = rt
End If
If ret <> 0 Then LocalFree ret
End Function
Использование:
Private Sub Form_Load()
Dim ret() As String, I As Long
ret = CommandLineToArgvVB("a b ""xx yy"" \""abc")
MsgBox Join(ret, vbCrLf)
End
End Sub
2 комментария:
с празником!
После вселенской катастрофы Америка превратилась в мертвую пустыню. По бескрайним дорогам, кишащим бандами, с враждой поражденной войной за воду и еду, ищет престаниище безстрашный Илай. Однажды он попадает в мрачные земли, где когда-то была цветущая Калифорния, а теперь это сущий ад, где бесчинствует тиран Карнеги.
смотреть бесплатно онлайн книга илая
Отправить комментарий