Para ello se usa la clase "Application" con su propiedad "Args" (usando el operador punto ".").
Esta nos va a proporciona los argumentos que se han introducido en la linea del comando.
A continuación os un código para que veais como se hace:
Public
Sub
Main()
Dim
argumento As
String
Dim
lista As
New
String[]
Dim
contador As
Integer
'
Print "Analizo argumentos:"
For
Each
argumento In Application.Args
'añadimos
todos los argumentos a un array de cadenas
lista.add(argumento)
'escribo
los argumentos:
Print
"Nº
";
contador; ":
";
argumento
contador
+=
1
Next
End
Si ejecutamos este programa en consola y escribimos
$ ./ParametroConsola.gambas parametro1 parametro2 parametro3 parametro4
Obtenemos:
Descarga del código fuente: Enlace
Descarga del Ejecutable: Enlace
Una vez obtenido los argumentos, en una lista de array de cadenas, ya es fácil poder realizar las diversas tareas.
Otro ejemplo más elaborado...Esta vez en una aplicación que tanto se puede ejecutar como "visual" (con formularios), como por consola.
Admite 2 parámetros:
"vista" que muestra un formulario
"calculo" realiza una operación matemática
Se puede ejecutar de varias maneras:
$ ./ParametroConsolaVisual.gambas
Te dice que no hay parametros, y que los parametros que reconoce es "vista" y "calculo"
$ ./ParametroConsolaVisual.gambas calculo vista
Muestra un formulario y ademas calcula una operacion
$ ./ParametroConsolaVisual.gambas calculo
Solo calcula una operación
$ ./ParametroConsolaVisual.gambas vista
Solo muestra el formulario
Descarga del cógido fuente: enlace
Descarga del ejecutable: Enlace
Nota:
Es importante, cuando hagamos una aplicación de este tipo, indicar cual es la clase de inicio, para que gambas sepa cual es el módulo o formulario que primero se tenga que ejecutar. Esto se hace en el arbol del proyecto, eligiendo el módulo o formulario y pulsando el botón derecho, para que salga el menu, y elegir allí elegir "Clase de Inicio"
interesante, mucho mejor explicado que en la documentacion gambas http://gambaswiki.org/wiki/comp/gb.args/args
ResponderEliminarThanks! I speak portuguese and could understand it very well!
ResponderEliminarSaludos !!!
Eliminar