Buenas!.
Probablemente hicimos algo en su día, pero no me acuerdo.
Por eso he preguntado si es posible desde el depurador, (sin ir directamente al terminal),
depurar, paso de argumento, valores, etc.
Es un ejemplo para consola que hace lo siguiente:
-ayuda : Muestra las opciones disponibles
-saludar: Saluda a alguien o a varias personas
-despedir: Se despide de alguien o varias personas
Recordemos que el primer argumento tiene indice 0 y es el nombre de la aplicación.
La idea de que haga lo mismo con distintas personas tiene una motivo.
Repetir la misma tarea tantas como argumentos se le pase
a las opciones del ejemplo:
Código:
' Gambas module file
Private opciones As Collection = [
"-ayuda": "Debe usar las opciones:" & gb.NewLine & "-saludar [nombre...]" & gb.NewLine & "-despedir [nombre...]",
"-saludar": "Hola ",
"-despedir": "Hasta luego "
]
Public Sub Main()
Dim i As Integer = 1 'Comenzamos desde el segundo argumento (Args[1])
Dim j As Integer
Dim comandoActual As String
Dim nombre As String
'Si no hay argumentos o si el primer argumento es "-ayuda", mostramos ayuda
If Args.Count = 1 Or Args[1] = "-ayuda" Then
MostrarAyuda()
Return
Endif
'Procesamos los argumentos
While i < Args.Count
If opciones.Exist(Args[i]) Then
comandoActual = Args[i]
i += 1
'Procesar nombres asociados a esta opción (usando j para los nombres)
j = i 'Usamos j para recorrer los nombres
While j < Args.Count And Left(Args[j], 1) <> "-"
nombre = Args[j]
Print opciones[comandoActual] & nombre & "!"
j += 1
Wend
i = j 'Actualizamos i para continuar después de los nombres
Else
Print "Opción desconocida o parámetro inesperado: " & Args[i]
MostrarAyuda()
Return
Endif
Wend
End
Private Sub MostrarAyuda()
Print opciones["-ayuda"]
End
Naturalmente es algo sencillo, quizás lo más complejo sea el uso de los bucles para repetir la misma tarea.
También es algo que podemos encontrarnos con los comandos del Shell Bash de Linux.
En este código no he añadido la linea shebang.
Saludos