En la práctica viene a ser equivalente a realizar un script bash (por ejemplo) salvo que tenemos a nuestra disposición casi todas las opciones disponibles en gambas.
Para poder acceder a estas funciones es necesario instalar el paquete gambas2-script. A partir de este momento ya tendremos disponible en nuestro sistema gbs2 que es el intérprete.
Inicio
Como todos los scripts se debe iniciar con el entorno en que se mueve. En nuestro caso
#!/usr/bin/env gbs2
Y a partir de ahí realizar las tareas que queramos con nuestro script.
Podemos declarar variables de todo tipo. arrays, objects, etc. Lo que queramos.
Entrada de datos por teclado
Quizá querramos pedir al usuario algún dato por teclado. En un entorno gráfico usaríamos un textbox. Aquí lo que usamos es un input
Y a veces como todo script que se precie querremos la posibilidad de enviarle parámetros. Para eso utilizaremos la clase Application que tiene una propiedad llamada args[] que almacena los parámetros de entrada.
La clase application
La propiedad Args es un array de parámetros. Args[0] es igual a Application.name y es siempre el nombre del programa.
Como todo array disponemos de Args.count para saber la cantidad de parámetros.
#!/usr/bin/env gbs2
Dim x as integer
Print "Aplicación: " & Application.Args[0]
for x=1 to Application.Args.count-1
Print x & "º parámetro: " & Application.Args[x]
next
Dim x as integer
Print "Aplicación: " & Application.Args[0]
for x=1 to Application.Args.count-1
Print x & "º parámetro: " & Application.Args[x]
next
Y también como todo script que se precie puede requerir consultar alguna variable de entorno. Para ello igualmente acudiremos a la clase Application pero esta vez con la propiedad Env
Funciones
Naturalmente funcionan con funciones y rutinas exactamente igual que el gambas de siempre
#!/usr/bin/env gbs2
public sub Main()
Dim Op1 as integer, Op2 as integer, Resultado as integer
...
MostrarAsteriscos()
print "Introduzca valor 1: "
Input Op1
print "Introduzca valor 2: "
Input Op2
Resultado=CalcularResultado(Op1,Op2)
print "El resultado es: " & Resultado
end
private sub MostrarAsteriscos
Dim A as string
A=string("*",40) 'crear un string de 40 asteriscos
print A
end
private Function CalcularResultado(A as integer, B as integer) as integer
return A+B
End
public sub Main()
Dim Op1 as integer, Op2 as integer, Resultado as integer
...
MostrarAsteriscos()
print "Introduzca valor 1: "
Input Op1
print "Introduzca valor 2: "
Input Op2
Resultado=CalcularResultado(Op1,Op2)
print "El resultado es: " & Resultado
end
private sub MostrarAsteriscos
Dim A as string
A=string("*",40) 'crear un string de 40 asteriscos
print A
end
private Function CalcularResultado(A as integer, B as integer) as integer
return A+B
End
Y naturalmente están disponibles los componentes de gambas para obtener capacidades extra en un script. Para ello usamos "use componente"
Por último decir que yo tengo gambas 2.7 y no puedo hacer algo mas, pero para los que tengais versiones superiores a la 2.9 también se pueden crear con esta misma técnica páginas web sustituyendo gbs2 por gbw2. Os dejo el enlace de la documentación de gambas que habla de esto y que yo aún no puedo probar pero que viene a ser como el ASP en VB o el PHP.
http://gambasdoc.org/help/doc/serverpage?es