Diferencia entre revisiones de «Gambas/Scripting con Gambas»
Contenido eliminado Contenido añadido
Sin resumen de edición |
Sin resumen de edición |
||
Línea 10:
== '''Gsb2 - En la consola de Linux''' ==
*'''Hola Mundo con Scripting en Gambas'''
Esta característica es provista por la
Antes que nada debes asegurarte que el scripter ''gbs2'' esta instalado en alguna parte de tu sistema. Teclea en la linea de comandos o consola de tu distribución de Linux:
user@PC:~$ '''which gbs2'''
''/usr/bin/gbs2''
user@PC:~$
Despues abre el Editor de Codigo de Gamabs y tu editor de texto favorito. Crea un archivo llamado ''holamundo.gbs'' en el directior ''home''. Inserta las siguientes lineas a tu archivo:
{{Consejo| En Linux, como tal vez ya sepas, no es necesario agregar una extensión (de 3 o 4 caracteres) al nombre del archivo. Sin embargo, para identificar mas rápidamente tus scripts de Gambas de esta sección te recomiendo agregarle el .gbs}}
#!/usr/bin/env gbs2
DIM text AS String = "Hola Mundo con Scripting en Gambas"
PRINT text
Línea 27 ⟶ 26:
Ahora ejecuta el script en la consola de Linux tecleando el nombre del script.
user@PC:~$ '''holamundo.gbs'''
''Hola Mundo con Scripting en Gambas''
user@PC:~$
{{Consejo| Si el comando no se ejecuta y en cambio recibes un mensaje de error, intenta ejecutarlo asi ''gbs2 holamundo.gbs''}}
*'''Ejecutar comandos y aplicaciones'''
Una de las tareas mas comunes de los scripts es ejecutar otras aplicaciones y comandos del sistema. El siguiente script muestra el contenido del directorio actual pero ignorando los owners y los archivos de respaldo. Llama a este archivo ''ls.gbs''.
#!/usr/bin/env gbs2
command.Add("
▲command.Add("-B")
EXEC command
PRINT "------ USING
SHELL "ls -B -g"▼
De hecho, si teclearas directamente en la consola el comando ''ls -g -B'' obtendrías el mismo resultado que ejecutando tu script. Ejecuta tu script para que lo constates.
▲PRINT "------ USING SHELL ------"
▲SHELL "ls -B -g"
Como de seguro ya notaste, puedes declarar todo tipo de variabes, incluso arrays; pero no esta limitado a esto, tambien puedes hacer uso de procedimientos, funciones y casi todos los recursos disponibles en el lenguaje Gambas.
*'''Leer entradas por el usuario'''
Cuando un script esta siendo ejecutado, frecuentemente es necesario que reciba cierta retroalimentación del usuario para iniciar alguna tarea o para tomar alguna decision o cualquier otra cosa que deba hacer. Escribe el siguiente código en un archivo llamado ''preguntanombre.gbs''.
#!/usr/bin/env gbs2 ▼
▲#!/usr/bin/env gbs2
PRINT "Por favor, introduce tu nombre:"
PRINT "Please enter your name:" ▼
▲INPUT userInput
Ejecuta el script y veras que pregunta por tu nombre y despues que presiones [Enter] aparece un mensaje usando la cadena de caracteres que tecleaste.
▲PRINT "Hey " & userInput &"! This is an user input. Cool!"
▲user@PC:~$ gbs2 askname.gbs
'''Sergio'''▼
''Hey Sergio! This is an user input. Cool!''▼
▲Sergio
user@PC:~$ ▼
▲Hey Sergio! This is an user input. Cool!
▲user@PC:~$
Algunas otras veces, desearas recibir la información del usuario desde un inicio como argumentos del script. Esto lo consigues haciendo uso del array ''Args[]'' de la clase ''Application''. Escribe el siguiente codigo en un archivo llamado ''argumentos.gbs''.
#!/usr/bin/env gbs2
PUBLIC SUB Main()▼
DIM i AS Integer
▲PUBLIC SUB Main()
DIM
'Using a FOR-NEXT loop▼
▲DIM arg AS String
▲ 'Using a FOR-NEXT loop
NEXT▼
▲ NEXT
Print arg
▲ FOR EACH arg IN Application.Args
'Using a FOR-NEXT loop
PRINT “\nThis loop starts from 1 not from 0”▼
▲ 'Using a FOR-NEXT loop
▲ PRINT “\nThis loop starts from 1 not from 0”
NEXT▼
END ▼
▲ NEXT
Hasta el momento, los scripts que habias escrito empezabas sin ninguna declaración del método ''Main()'', pero ahora, para poder acceder a la clase ''Application''
▲END
So far now, all the scripts in this lesson started without any Main() method declaration, but in order to gain access to the Application class, you need to declare a startup method. Actually it is a good practice to always make use of the Main() method even for small scripts.
Run the script.
Línea 114:
DIM sEnv AS String
%>
< !-- Variable declaration must come before any HTML -- >
< html >
< h2 >CGI script environmental variables< /h2 >
< table border="1" cellspacing="0" cellpadding="2" >
< tr >
< th align="left">Name< /th >
< th align="left">Value< /th >
< /tr >
<% FOR EACH sEnv IN Application.Env %>
<tr valign="top">
|