Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Scripting Con Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Scripting Con Gambas 
 
Con gambas además de aplicaciones se pueden realizar scripts. Estos scripts se diferencian poco de las anteriores en cuanto a potencia y capacidades, pero hay una diferencia fundamental. Es código interpretado.

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.
#!/usr/bin/env gbs2
'ejecutar un proceso y mostrar el resultado
print "Ejecución en progreso"
print "Mostrando las veinte últimas líneas de log"
shell "tail -20 /var/log/archivo.log"
print "proceso ejecutado correctamente


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
#!/usr/bin/env gbs2
Dim Nombre AS String , Apellido as string
Print "Nombre:"
Input Nombre
Print "Apellido:"
Input Apellido
print "El nombre es: '" & Nombre & " " & Apellido & "'"
 


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
 


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
#!/usr/bin/env gbs2

if application.env["Variable"]="1" then
   print "valor inadecuado"
endif
 


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
 


Y naturalmente están disponibles los componentes de gambas para obtener capacidades extra en un script. Para ello usamos "use componente"

#!/usr/bin/env gbs2
use "gb.net"

public sub Main()
Dim S as new socket
...
... 'aquí hacemos lo que nos de la santa gana con nuestro socket
...

end
 


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

 
 



 
última edición por soplo el Miercoles, 27 Enero 2010, 04:36; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Tutorialazo, si señor. Cada día nos sorprendes con algo nuevo. Tomo buena nota, puede ser una herramienta super interesante!

Salu2, crack.  
 



 
Ender - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
No es que yo sorprenda Ender je je je. Es que gambas sorprende a cualquiera.

Es un lenguaje con esa capacidad en entornos de consola que puede hacer poderosos scripts y que permite hacer páginas web al estilo ASP o PHP.

Para flipar a colores

A ver cuando me subo de versión y pruebo a hacer páginas web con gambas ¡Estoy impaciente!

Tengo alguna aplicación de monitorizar aplicaciones que eso le viene que ni pintado y también la de ticketing.

 
 



 
última edición por soplo el Miercoles, 27 Enero 2010, 19:49; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Gracias Soplos por tus enseñanzas.

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Genial Soplo.


Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
buenísimo!!!!!
gracias por el gran aporte!!!
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Hola. Antes de nada, gracias por este pequeño tutorial. Con gbs3 podemos escribir nuestros programas en gambas-basic como si fuese un lenguaje de scritp!
Hoy he intentado hacer un pequeño programa que calcule el factorial de un número. Para ello programo dos ficheros: uno es el programa principal y el otro es un archivo llamado "factorial"" que contiene la función para calcular el factorial. El programa principal sólamente lee el número, lo envía a la funcion escrita en el módulo para ejecutarla, luego vuelve al programa principal y muestra el resultado. El problema es que el programa principal no reconoce el módulo. El error que devuelve gbs3 es ""Unknown identifier: factorial"" ¿Sabes si esto que quiero hacer es posible?

El código del programa principal es:


public sub main()

    dim numero as byte

    print "Teclea un número entero"

    input numero

    print factorial.fact (numero)

end



donde factorial es el módulo que tengo en el mismo directorio que el programa principal y cuyo código es:



public function fact (num as byte) as integer

    dim bucle as byte
    dim factor as integer

    factor = 1

    for bucle = 1 to num
        factor = factor * bucle
    next

    return factor

end
 



 
eucaliptus - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Esto que comentas no lo he probado, pero guarda los scripts en el mismo directorio y prueba a usar use para añadir el archivo secundario.

Ya te digo que no se sin funciona, pero puedes empezar probando por ahí
 




===================
Proyecto Open Media Manager -> http://www.OpenMediaManager.com
 
netking86 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Gracias netking86 por responder. Ya están los dos ficheros en el mismo directorio, y ya he utilizado USE y no funciona.
 



 
última edición por eucaliptus el Domingo, 16 Septiembre 2012, 14:28; editado 1 vez 
eucaliptus - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Scripting Con Gambas 
 
Al trabajar con scripts, todo debe estar en un mismo fichero. El codigo quedaria asi:

Código: [Descargar] [Ocultar]
  1. public sub main()  
  2.  
  3.     dim numero as byte  
  4.  
  5.     print "Teclea un número entero"  
  6.  
  7.     input numero  
  8.  
  9.     print factorial.fact (numero)  
  10.  
  11. end  
  12.  
  13.  
  14. class factorial  
  15.  
  16.     public function fact (num as byte) as integer  
  17.  
  18.         dim bucle as byte  
  19.         dim factor as integer  
  20.  
  21.         factor = 1  
  22.  
  23.         for bucle = 1 to num  
  24.             factor = factor * bucle  
  25.         next  
  26.  
  27.         return factor  
  28.  
  29.     end  
  30.  
  31. end  
  32.  


Saludos!
 



 
sebikul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Enlaces De Interes Sobre Bash Scripting Shell Shell Scripting 4 Domingo, 22 Julio 2012, 23:11 Ver último mensaje
codificador
No hay nuevos mensajes Scripting En Gambas. ¿ Limites ? Shell General 3 Jueves, 11 Junio 2015, 13:46 Ver último mensaje
Shell
No hay nuevos mensajes Gambas 3 Scripting ahtonio General 3 Viernes, 04 Diciembre 2015, 13:36 Ver último mensaje
Shell
No hay nuevos mensajes Gambas Scripting. Usar Clases Shell General 0 Jueves, 17 Enero 2019, 15:00 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron