Mostrando entradas con la etiqueta gambas. Mostrar todas las entradas
Mostrando entradas con la etiqueta gambas. Mostrar todas las entradas

miércoles, 2 de junio de 2010

Gambas el Visual Basic de Linux

Muchos de vosotros habreis programado en Microsoft Visual Basic. Y si nuestros conocimientos de programación son algo limitados como es mi caso, la migración a otro lenguaje de programación se me hacia imposible, yo como mucho, se alguna cosa de php; pero según que tareas es practicamente imposible hacerlo con software diseñado "en la nube". Asi pues me puse hace tiempo a buscar alternativas libres a Visual Basic...

Finalmente me encontré con Gambas. Mis conocimientos que tenia de Visual Basic, junto con unos pequeños retoques en el código me ha permitido volver a programar de forma nativa para Linux.

El lenguaje Basic nos podrá gustar más o menos, pero lo que no podemos negar es la rápida programación que nos permite este lenguaje.

Os adjutno un par de capturas:en las que podais ver como se puede editar formularios tanto a nivel gráfico como en modo texto. Aún no le he sacado todo el partido de Gambas, pero si añadimos lo potente que son los sistemas GNU/Linux podemoss hacer desde interfaces graficas de aplicaciones de comando, hasta programas de los más completos.


Algunos pensareis que tal vez fuera mejor usar Visual Basic .NET y luego realizar la migración usando MONO, pero yo y el .NET no nos llevamos bien, asi que mejjor me quedé en Visual Basic 6


Gambas tiene soporte para MySQL, PostgreSQL, SQLLite y alguno más que no recuerdo. pero sin duda es un programa que os animo a probar.

Para más info: http://gambas.sourceforge.net

viernes, 8 de enero de 2010

Gambas en opensuse 11.2



Para instalar gambas en openSuse 11.2 deberemos de añadir el siguiente repositorio:

http://download.opensuse.org/repositories/Education/openSUSE_11.2/



A continuación os dejo unas capturas de los pasos a seguir:

En mi caso os comento que estoy utilizando el entorno de escritorio KDE 4.

Primero, ejecutaremos YAST.
Dentro de YAST: Software -> Instalar/desintalar software:


Una vez abierto iremos al menú Configuración -> Repositorios


Ahora pulsaremos sobre el botón "Añadir" para añadir el nuevo repositorio.


Ahora seleccionaremos la opción "especificar URL" y pulsaremos en "siguiente"


Despues añadiremos la URL que os facilitado al principio y le pondremos un nombre identificativo a nuestro repositorio. Una vez realizado estos pasos tan solo deberemos de buscar "gambas" dentro del gestor de paquetes e instalar todos los componentes de gambas :D



Y final del minitutorial.

martes, 4 de agosto de 2009

Repositorio de Gambas

Aqui teneis el repositorio para opensuse 11.1

http://download.opensuse.org/repositories/home:/gbvalor/openSUSE_11.1/

Para otras distribuciones mirar con firefox o cualquier otro navegador:
http://download.opensuse.org/repositories/home:/gbvalor/

lunes, 13 de abril de 2009

Capturar una tecla en GamBAS

Al igual que en visual basic usabamos la opcion KeyAscii, en GamBAS se ha de utilizar Key.Code

ejemplo:

if key.code = 13 then
Message.info("has pulsado intro")
end if

martes, 7 de abril de 2009

Msgbox en gambas

en visualbasic podiamos usar msgbox("mesnaje", vbyesno)

vbyesno no se puede usar en gambas por lo que la secuencia correcta seria:

DIM msgBorrar AS Integer

msgBorrar = Message.Question("¿Desea eliminar el registro seleccionado?", "Si", "No")

Asi pues, si el usuario presiona SI, la variable msgBorrar valdrá 1, y al presionar NO, la variable msgBorrar valdrá 2.

domingo, 22 de marzo de 2009

acceso a MySQL desde Gambas

Bueno yo lo que hago es que lea un ficherito XML con la configuración básica (Servidor, base de datos, usuario y contraseña) Pero veamos el ejemplo:

Necesitamos:
Un modulo,(lo llamaremos: mimodulito
Un boton: botoncito1
y un usuario que pulse el botón

Veamos el código para el modulo mimodulito

===============[code="mimodulito"]===============
PUBLIC DBserver AS String
PUBLIC DBuser AS String
PUBLIC DBpassword AS String
PUBLIC DBsql AS String

PUBLIC $Con AS NEW Connection

PUBLIC PROCEDURE Connect()

$Con.Type = "MySQL" ' Type of connection
$Con.Host = mimodulito.DBserver ' Name of the server"
$Con.Login = mimodulito.DBuser ' User's name for the connection
$Con.Name = mimodulito.DBsql ' Name of the data base we want to use
$Con.Password = mimodulito.DBpassword ' User's password
END

===============[/code]===============

Os habreis fijado que previamente he creado unas variables, estas, al estar en un modulo permiten que esten visibles desde todos los formularios, de esa forma cuando cargo la aplicacion lo primero que hago es leer un xml (esto ya lo comentare otro dia) de ahi se obtiene los datos principales y despues se pasan en el codigo PUBLIC PROCEDURE Connect()

Ahora si queremos conectarnos a la base de datos usaremos el siguiente comando: (desde cualquier formulario, en mi caso lo uso al iniciar la aplicación y despues de leer correctamente el archivo xml:

===============[code="en un formulario"]===============

mimodulito.Connect()
TRY mimodulito.$Con.Open()
IF ERROR THEN
Message.Error("No ha sido posible conectar con la base de datos")
Button1.Enabled = FALSE
ENDIF
===============[/code]===============

Fijaros que con TRY lo que hago es controlar el error de conexión a la base de datos, esto lo hago por si no tenemos exito a la hora de conectarnos a la base de datos pero realmente donde activamos la conexión es:

1º Llamamos a nuestro modulo
mimodulito.Connect()

2º Abrimos la conexion con la base de datos (si ponemos TRY podemos controlar si nos da un error)
mimodulito.$Con.Open()

Ahora un ejemplo sencillo de hacer un select y mostrar un resultado en un message box (en VB6 msgbox)

===============[code="en un boton de un formulario"]===============
PUBLIC SUB Button1_Click()

DIM $Query AS String
DIM $Result AS Result



mimodulito.Connect()

$Query = "select * from usuarios where Login = '" & txtlogin.Text & "'"
$Result = mimodulito.$Con.Exec($Query)

IF $Result.Count = 1 THEN

IF UCase($Result!Login) = UCase(txtlogin.Text) THEN

IF ($Result!Password) = txtpassword.Text THEN
AQUI PONEMOS EL CODIGO SI USUARIO Y CONTRASEÑA COINCIDEN
ELSE
Message.Info("contraseña no valida")
END IF
END IF
ELSE
Message("No se ha encontrado el usuario")
END IF

END
===============[/code]===============

txtlogin y txtpassword son dos recuadros de texto :D

Bueno espero que os sirva mi ayuda.

¡Ah! Se me olvidaba, cuando finalicemos nuestra aplicación deberemos de añadir la siguiente linea para desconectarnos de la base de datos:

===============[code="para finalizar"]===============
mimodulito.$Con.CLOSE()
===============[/code]===============