¿ Alguien ha creado algún ejemplo o sabéis algo de esta clase ?. No encontré nada.
Estoy haciendo un ejemplo sin esta clase, usando application.args y me temo que me quedo corto.
Lo malo de hacer un componente, clase, es que aunque muestre opciones, si no se crea un ejemplo,
nos quedamos a medias.
Os explico "brevemente".
Quiero crear una aplicación para linea de comando. En esta aplicación habrá una serie de argumentos u opciones
por ejemplo:
-year
-language
En principio he creado esta clase: Los nombres no son acertados.
ClaseOpcion. Tiene tres propiedades. El nombre del argumento, si está activa y el valor
Private hopcion As String
Property opcion As String
Private hactiva As Boolean
Property activa As Boolean
Private hvalor As String
Property valor As String
Private Function opcion_Read() As String
Return hopcion
End
Private Sub opcion_Write(Value As String)
hopcion = Value
End
Private Function activa_Read() As Boolean
Return hactiva
End
Private Sub activa_Write(Value As Boolean)
hactiva = Value
End
Private Function valor_Read() As String
Return hvalor
End
Private Sub valor_Write(Value As String)
hvalor = Value
End
Property opcion As String
Private hactiva As Boolean
Property activa As Boolean
Private hvalor As String
Property valor As String
Private Function opcion_Read() As String
Return hopcion
End
Private Sub opcion_Write(Value As String)
hopcion = Value
End
Private Function activa_Read() As Boolean
Return hactiva
End
Private Sub activa_Write(Value As Boolean)
hactiva = Value
End
Private Function valor_Read() As String
Return hvalor
End
Private Sub valor_Write(Value As String)
hvalor = Value
End
Luego en el modulo principal hasta ahora solo muestro las opciones activas:
Así que si escribo en la consola:
Aplicación -year
Me mostraría: -year
Si hago:
Aplicacion -year -language
Me mostraría:
-year -language
Muestra primero -year por que es el primer elemento de la colección,
lo hago con un bucle.
Private op As ClaseOpcion
Private colopciones As New Collection
Public Sub Main()
Dim parametro As String
op = New ClaseOpcion
With op
.opcion = "-year"
.activa = False
.valor = Null
End With
colopciones.Add(op, op.opcion)
op = New ClaseOpcion
With op
.opcion = "-language"
.activa = False
.valor = Null
End With
colopciones.Add(op, op.opcion)
op = New ClaseOpcion
'Analizamos los parametros
For Each parametro In Application.Args
'Buscar un nombre de opcion
If InStr(parametro, "-") And If colopciones.Exist(parametro) Then
op = colopciones[parametro]
'Por ahora solo cambio si la opcion esta activa o no.
op.activa = True
Endif
Next
'Mostrar opciones activas
For Each op In colopciones
'Si esta activa la opcion, muestrala
If op.activa Then Print op.opcion
Next
End
Private colopciones As New Collection
Public Sub Main()
Dim parametro As String
op = New ClaseOpcion
With op
.opcion = "-year"
.activa = False
.valor = Null
End With
colopciones.Add(op, op.opcion)
op = New ClaseOpcion
With op
.opcion = "-language"
.activa = False
.valor = Null
End With
colopciones.Add(op, op.opcion)
op = New ClaseOpcion
'Analizamos los parametros
For Each parametro In Application.Args
'Buscar un nombre de opcion
If InStr(parametro, "-") And If colopciones.Exist(parametro) Then
op = colopciones[parametro]
'Por ahora solo cambio si la opcion esta activa o no.
op.activa = True
Endif
Next
'Mostrar opciones activas
For Each op In colopciones
'Si esta activa la opcion, muestrala
If op.activa Then Print op.opcion
Next
End
Saludos