Manual Basic Oga Mbas 2

22
Gambas casi significa BASIC Gambas es un ambiente libre de desarrollo basado en un interpretación básica con extensiones de objetos, un poco como ™ de Visual Basic (pero NO un clon!). Léa la introducción para más información. Con gambas, pude diseñar rápidamente su programa IGU con QT o GTK +, acceder a una bases de datos MySQL, PostgreSQL, Firebird, ODBC y SQLite, piloto de aplicaciones KDE con DCOP, traducir su programa un cualquier lenguaje, crear aplicaciones de red fácilmente, hacer aplicaciones OpenGL 3D, hacer aplicaciones web CGI, y así sucesivamente... Usted puede apoyar gambas haciendo una pequeña donación con PayPal. Últimas Noticias 04 Eno 2010 - versión de gambas 2,19 Feliz año MMX nuevo a todos los usuarios de gambas! ¿Será el año de la versión 3 de gambas? :-) Mientras tanto, aquí es una nueva versión de la versión estable que incluye los siguientes principales cambios y correcciones de errores: Gambas ahora realmente funciona sobre arquitectura ARM! La clase SerialPort no come inútilmente ya tiempo de CPU. Las funciones de Exist() y Dir() ahora funcionan correctamente para archivos ubicados en el ejecutable. Consulte la completa ChangeLog para las otras correcciones de errores. 29 de nov de 2009 - licencia de Wiki de gambas La documentación de Wiki de gambas ahora utiliza el Creative Commons Attribution-ShareAlike (CC-BY-SA) 3.0 licencia. Como utilizando diferentes licencias para diferentes partes de la wiki será una pesadilla para administrar, personas que han escrito algunas piezas de la documentación y que no están de acuerdo con esa licencia sólo deben decirme: quitará su contribución de la wiki. 18 de nov de 2009 - versión de gambas 2,18 Esa versión incluye los siguientes principales cambios y correcciones de errores: El IDE ahora tiene soporte para el idioma ucraniano. El IDE no a veces congelar ya cuando se ejecuta un proyecto. Ventanas nativas ahora están deshabilitadas con GTK + 2,18, para que el componente GTK + funciona correctamente en recientes distribuciones (Ubuntu 9.10, 2010.0 de Mandriva etc.). Consulte la completa ChangeLog para las otras correcciones de errores. Noticas viejas... Nota: Esta página necesita un explorador entienda el estándar CSS. Si usted usa Internet Explorer 7 (es sólo un ejemplo), verá un lo me refiero. Introducción Contenidos Al principio... Características Posibles Acerca de mí Agradecimientos Al principio... Este proyecto tiene como objetivo hacer un entorno de desarrollo gráfico basado en un intérprete de Basic, de modo que tenemos un lenguaje como Visual Basic ™ bajo Linux . La cantidad fenomenal de errores e inconsistencias que hace tan encantadora Visual Basic me para iniciar este proyecto;-) convencieron Parece que Microsoft es consciente de la mala calidad de su lenguaje, como Visual Basic .NET no es compatible con versiones anteriores de Visual Basic. Creo han tirado al intérprete de Visual Basic código fuente, y VB .NET es sólo un compilador de tiempo de ejecución de .NET cuya sintaxis es similar a la antigua Visual Basic uno. Quiero aclarar cualquier malentendido inmediatamente. Gambas no intenta ser compatibles con Visual Basic y nunca será. Estoy convencido de que su sintaxis y elementos internos son mucho mejores que la de uno de su primo propietario;-)

Transcript of Manual Basic Oga Mbas 2

Page 1: Manual Basic Oga Mbas 2

G amb as c as i s i g n i f i ca B AS I C Gambas es un ambiente libre de desarrollo basado en un interpretación básica con extensiones de objetos, un poco como ™ de Visual Basic (pero NO un clon!). Léa la introducción para más información. Con gambas, pude diseñar rápidamente su programa IGU con QT o GTK +, acceder a una bases de datos MySQL, PostgreSQL, Firebird, ODBC y SQLite, piloto de aplicaciones KDE con DCOP, traducir su programa un cualquier lenguaje, crear aplicaciones de red fácilmente, hacer aplicaciones OpenGL 3D, hacer aplicaciones web CGI, y así sucesivamente...

Usted puede apoyar gambas haciendo una pequeña donación con PayPal.

Úl t im as No t i c i a s

04 Eno 2010 - versión de gambas 2,19 Feliz año MMX nuevo a todos los usuarios de gambas! ¿Será el año de la versión 3 de gambas? :-) Mientras tanto, aquí es una nueva versión de la versión estable que incluye los siguientes principales cambios y correcciones de errores:

Gambas ahora realmente funciona sobre arquitectura ARM! La clase SerialPort no come inútilmente ya tiempo de CPU. Las funciones de Exist() y Dir() ahora funcionan correctamente para archivos ubicados en el ejecutable.

Consulte la completa ChangeLog para las otras correcciones de errores.

29 de nov de 2009 - licencia de Wiki de gambas La documentación de Wiki de gambas ahora utiliza el Creative Commons Attribution-ShareAlike (CC-BY-SA) 3.0 licencia. Como utilizando diferentes licencias para diferentes partes de la wiki será una pesadilla para administrar, personas que han escrito algunas piezas de la documentación y que no están de acuerdo con esa licencia sólo deben decirme: quitará su contribución de la wiki.

18 de nov de 2009 - versión de gambas 2,18 Esa versión incluye los siguientes principales cambios y correcciones de errores:

El IDE ahora tiene soporte para el idioma ucraniano. El IDE no a veces congelar ya cuando se ejecuta un proyecto. Ventanas nativas ahora están deshabilitadas con GTK + 2,18, para que el componente GTK + funciona

correctamente en recientes distribuciones (Ubuntu 9.10, 2010.0 de Mandriva etc.). Consulte la completa ChangeLog para las otras correcciones de errores. Noticas viejas... Nota: Esta página necesita un explorador entienda el estándar CSS. Si usted usa Internet Explorer 7 (es sólo un ejemplo), verá un lo me refiero. I n t ro d u cc i ó n

Contenidos Al principio... Características Posibles Acerca de mí Agradecimientos

A l p r i nc i p i o . . . Este proyecto tiene como objetivo hacer un entorno de desarrollo gráfico basado en un intérprete de Basic, de modo que tenemos un lenguaje como Visual Basic ™ bajo Linux ™. La cantidad fenomenal de errores e inconsistencias que hace tan encantadora Visual Basic me para iniciar este proyecto;-) convencieron Parece que Microsoft es consciente de la mala calidad de su lenguaje, como Visual Basic .NET no es compatible con versiones anteriores de Visual Basic. Creo han tirado al intérprete de Visual Basic código fuente, y VB .NET es sólo un compilador de tiempo de ejecución de .NET cuya sintaxis es similar a la antigua Visual Basic uno. Quiero aclarar cualquier malentendido inmediatamente. Gambas no intenta ser compatibles con Visual Basic y nunca será. Estoy convencido de que su sintaxis y elementos internos son mucho mejores que la de uno de su primo propietario;-)

Page 2: Manual Basic Oga Mbas 2

Tomé desde Visual Basic lo que encontré útil: el lenguaje Basic, el entorno de desarrollo y la facilidad para hacer rápidamente programas con interfaces de usuario. Eso es todo. Que podría haber elegido la sintaxis de casi cualquier otro lenguaje, pero yo estaba alimentado con básica desde la infancia, por lo que... Desagrada el mal nivel de común de los programadores de Visual Basic, a menudo debido a la mala pratices impuestas por los errores y la extrañeza de este lenguaje. Así que voy a intentar hacer gambas como coherente, lógica y fiable como sea posible, y espero que los programadores de gambas hará esfuerzos a cambio. :-) El núcleo de gambas está estabilizado, si no completamente bien documentado. Hay un ejemplo de componente para ayudar a las personas aprender a escribir componentes. Espero que otras personas unan a mí para ayudar a aumentar las posibilidades de la lengua. Hay mucho que hacer! Ca r ac t e r í s t i c a s Voy a tratar de describir las características principales de gambas y lo que lo diferencia de los otros idiomas. Gambas es, ante todo, un lenguaje básico con extensiones de objeto. Un programa escrito con gambas es un conjunto de archivos. Cada archivo describe una clase, en términos de programación objetos. Los archivos de la clase se compila y, a continuación, ejecutados por un intérprete. Desde este punto de vista, es muy inspirada por Java ™. Gambas se compone de los siguientes programas:

Un compilador. Un intérprete. Un archivador. Componente de interfaz de una gráfica de usuario. Un entorno de desarrollo.

El entorno de desarrollo está escrito con gambas, de modo que puedo mostrar las habilidades del idioma. Y es muy útil para la depuración!¿Cuáles son las características que gambas de los otros idiomas?

1. Un proyecto de gambas se almacena en un directorio. El archivador transforma la estructura de directorios de proyecto en un único archivo ejecutable.

2. Compilar un proyecto, sólo requiere la compilación de las clases modificadas. Cada referencia externa de una clase se resuelve de forma dinámica en el momento de la ejecución.

3. Gambas tiene una arquitectura de componentes que permite para extender el lenguaje. Cualquiera puede escribir componentes como las bibliotecas compartidas que agregar dinámicamente clases nativas de nuevas al intérprete. Componente puede ser escrita en gambas demasiado. La arquitectura de componente está documentada en la enciclopedia Wiki.

4. De forma predeterminada, el intérprete de gambas es un programa de sólo texto. La arquitectura de componente se utiliza para escribir la parte de interfaz gráfica de usuario de la lengua.

5. Como la interfaz gráfica de usuario se implementa como un componente, gambas va a poder ser independiente de cualquier conjunto de herramientas! Usted podrá escribir un programa, y elegir el Kit de herramientas más tarde: GTK +, Qt, etc..

6. He decidido empezar a aplicar la interfaz gráfica de usuario con la biblioteca Qt, como es más fácil para mí. El componente GTK + no ha terminado aún, pero se tiene casi la misma interfaz que el componente de Qt.

7. Ningún cuadro de diálogo o ventana puede utilizarse como un control. Puede hacer una cosa con Visual Basic sin utilizar ActiveX (te bendiga! Sé, soy un poco alérgica demasiado;-)).

8. Proyectos de gambas son fácilmente traducibles, en cualquier idioma. Para obtener más detalles, consulte Artículo acerca del lanzamiento de gambas 2.0 RC1. P o s i b l es En el futuro muy lejano (hacer escucha el tema de Star Trek?), están previstas muchas mejoras. Algunos son necesarios, los demás depende de mi tiempo y mis muchas ocupaciones! Tarea Detalle

Componente DBUS Permite a un programa de gambas utilizar objetos DBUS externos. Permitir un proyecto de gambas exportar a algunos de sus clases u objetos como objetos DBUS.

Informes Nuevos controles y contenedores que imprimirán a sí mismos como un informe. Permite al usuario diseñar un informe directamente en el IDE.

Web mejorada Nuevos controles y contenedores que generan páginas Web HTML, con quizás algunos JavaScript. Base de datos mejoras de componente Nuevos controles de datos, como por ejemplo un enlazado TreeView.

Mejoras del entorno de desarrollo

Un depurador mejor. Combinar el gestor de bases de datos en el IDE. Soporte para formularios de memoria, formularios Web...

Componente gráfico Haciendo gráficos en gambas.

Page 3: Manual Basic Oga Mbas 2

Componente de POP3 Recuperar correos electrónicos desde un servidor POP3.

Sistema de persistencia de objetos

Hacer objetos de gambas en forma transparente persistentes: usted puede deshacerse de un sistema de administración de bases de datos.

Bien... Creo que lo que tengo que dejar de soñar y vaya volver codificación... A c e r c a d e m í ¡ Bienvenido a usted, curioso! Vas a saber casi todo acerca de mí... Mi nombre es Benoît Minisini. Soy un hombre de francés nacido en 1972, vive en París. La programación es uno mi pasión desde que tenía 12 años y es ahora mi trabajo desde hace muchos años. Esta pasión comenzó con el lenguaje Basic en un Amstrad CPC 464 y más tarde un Atari 520 STE. Ahora, por supuesto, estoy usando muchos otros idiomas, pero nunca se me olvidó que he aprendido y hecho mucho con Basic. Siempre gustaba escribir idiomas, compiladores, montadores y intérpretes. Escribí un ensamblador Z80 en Amstrad y un lenguaje interpretado que consume toda su memoria. Más tarde, durante mis estudios en la E.P.I.T.A., escribí un intérprete de Lisp bajo Windows 3.1. Durante seis meses, descubrí Windows, su modelo de memoria estúpido, el compilador de C de Microsoft y sus numerosos errores. Hoy, constantemente por asola con el lenguaje de gambas, contribuyendo con mi propia experiencia para el mundo del software libre. Gracias a mi jefe, tengo un trabajo de medio tiempo, por lo que he trabajado activamente en gambas durante los últimos años. Pero tengo otras pasiones demasiado, que queman mucho tiempo. Hay música - estoy tocando la flauta para un largo tiempo - y el teatro... Por lo tanto, el desarrollo de gambas no es tan rápido como podría serlo. Espero que su curiousity estaba satisfecho...:-) A g r ad ec i m i en t os Gambas es la generación de muchos softwares libres y no puede existir sin ellos. Por lo tanto, me gustaría dar las gracias a todas las personas involucradas en los siguientes proyectos:

Linux KDE GCC todos del GNU herramientas y, por supuesto. La biblioteca Qt. El GNU Image Manipulation Program y su kit de herramientas GTK +. Oficina abierta. Los sistemas de gestión de base de datos de MySQL y PostgreSQL. Y cualquier otras bibliotecas utilizados por gambas.

Algunas piezas de código de gambas se basan en el software de terceros: Las rutinas de administración de tablas hash fuertemente se basan en la glib los. Las rutinas de administración de fecha fuertemente se basan en la glib que así. El editor de resaltado de sintaxis de gambas se basa en el código de QMultiLineEdit de Qt. La información de imagen componente se basa en el código fuente desde PHP.

Y por último, pero no por ello menos importante, me gustaría dar las gracias a todas personas que me fuera con programas, parches, ejemplos de programa, seguimiento de fallos, escritura de ayuda, apoyo financiero, observaciones juiciosas, ayudar y así sucesivamente... Ar t í cu l o ace rc a d e l l an z ami en t o d e G a mb as 2 . 0 R C1 Después de casi dos años de desarrollo, me siento feliz de anunciar la primera candidata a versión estable de Gambas 2. Hacemos este anuncio ahora con la esperanza de atraer a más testeadores usuarios para que lo utilicen durante el ciclo de pruebas, a fin de ayudarnos a encontrar errores que podrían haber sido pasados por alto. I n t r odu c c i ón

El nuevo logo de Gambas 2

Gambas es un lenguaje orientado a objetos con gran número de capacidades y un entorno de desarrollo basado en un intérprete de BASIC. Se encuentra publicado bajo licencia GNU General Public Licence.

Page 4: Manual Basic Oga Mbas 2

Su arquitectura está ampliamente inspirada por Java: un ejecutable Gambas es un archivo de clases compiladas y archivos con datos que se ejecuta a través de un interprete creado al efecto. Gambas se compone de:

Un compilador. Un intérprete. Un archivador. Un intérprete de scripts. Un entorno de desarrollo. Muchos componentes que extienden su funcionalidad.

El compilador es un programa rápido y pequeño escrito en C: Compila cerca de 128000 líneas de código útil por segundo en mi propio Athlon 2000. Tal velocidad permite un

proceso rápido de desarrollo en el ciclo código/compilación/pruebas. No realiza prácticamente ninguna optimización en este momento, dejando dicho trabajo al intérprete para su

realización durante la ejecución del programa. Gestiona y compila traducciones de cadenas empleando las herramientas de GNU gettext.

El intérprete es también un pequeño ejecutable escrito en C, de menos de 180Kb: Proporciona todas las características nativas del lenguaje, dando acceso indirecto prácticamente a todas las

herramientas del estandar POSIX contenidas en glibc. Carga clases por demanda, optimizando el bytecode la primera vez que es ejecutado. El enlace entre clases se realiza también en tiempo de ejecución, y lo más tarde posible. Así, incluso ejecutables de

gran tamaño se inician rápidamente. Finalmente, el archivador es un programa que crea un ejecutable Gambas a partir de la carpeta de un proyecto Gambas.

Tenga en cuenta que un ejecutable Gambas no es más que un archivo no comprimido creado a partir de un proyecto. Puede incluir cualquier tipo de archivo, no solamente código bytecode compilado, e intérnamente el intérprete accede a dicho archivo como si fuera un sistema de archivos.

E l l engua j e G am ba s Las características principales del lenguaje BASIC de Gambas son:

Cerca de 250 palabras clave y funciones nativas para gestionar prácticamente cualquier cosa: aritmética, cadenas, errores, entrada-salida, archivos, fechas...

Gestión completa de errores. Control total de procesos, con gestión de pseudo-terminal. Soporte completo para recibir eventos de descriptores de archivo de entrada/salida. Soporte de lazo de eventos con temporizadores. Soporte nativo de cadenas en formato UTF-8. Soporte completo de internacionalización y traducciones. Capacidad de hacer llamadas a funciones externas alojadas en librerías de enlace dinámico.

Pero Gambas es también un lenguaje totalmente orientado a objetos, con: Objetos y clases. Propiedades, métodos, constantes y eventos. Símbolos públicos y privados. Gestión de métodos virtuales. Herencia simple. Constructores y destructores. Gestión de matrices, enumeradores, objetos ordenables.

La herencia en Gambas es un mecanismo totalmente dinámico, y permite: Crear versiones más especializadas de cualquier clase existente. Reimplementar clases y extenderlas. Reimplementar algunos métodos o propiedades de una clase.

Cualquier clase puede ser heredada, reimplementada o sobrecargada, incluso aquellas nativas creadas en C/C++. Por último, una clase nativa denominada Observer permite interceptar cualquier evento generado por un objeto. Un l eng ua j e ex t en s i b l e El intérprete básico de Gambas es un programa de consola. El resto de características son provistas mediante componentes, que son grupos de clases escritas en C/C++, o directamente en Gambas. Dichos componentes proporcionan, entre otras cosas:

Acceso a muchos sistemas de bases de datos: MySQL, PostgreSQL, SQLite, Firebird, ODBC. Programación de interfaces gráficas de usuario basadas en QT o GTK+. Programación de red, con gestión de procolos de aplicación: HTTP, FTP, SMTP, DNS. Programación SDL. Programación OpenGL. Programación XML. Programación CGI con gestión de sesiones.

Page 5: Manual Basic Oga Mbas 2

Observe que todas esas características se cubren con sólo 351 clases y 4197 símbolos (a día de hoy). Es una cantidad muy pequeña de conceptos a aprender cuando se compara con otros lenguajes. Aún más, tratamos de hacer los nombres de los símbolos lo más coherentes posibles. Todo ello hace a Gambas relativamente fácil de aprender.

Los componentes escritos en C/C++ se almacenan en librerías dinámicas, y los componentes escritos en Gambas son simplemente proyectos Gambas como cualquier otro. El intérprete los carga al inicio, o cuando se necesitan, durante la ejecución del programa. Desarrollar un componente en C/C++ es similar hasta cierto punto a desarrollar un driver para el kernel Linux:

El código fuente de un componente se encuentra dentro del árbol principal del código fuente de Gambas. Los componentes y el intérprete se comunican a través de una API. Se ejecutan dentro del entorno del intérprete, por lo que no pueden hacer todo lo que quieran.

La documentación acerca de escritura de componentes aún no está finalizada, pero en la lista de desarrollo se puede obtener toda la ayuda que se necesite. Un l eng ua j e p a r a c r ea r sc r i p t s Recientemente, Gambas ha sido ampliado con soporte para ejecutar scripts. Esta característica es posible gracias al scripter, un pequeño ejecutable escrito en Gambas que permite ejecutar código Gambas desde cualquier archivo de texto. He aquí un pequeño ejemplo de script:

#!/usr/bin/env gbs2 ' Este script devuelve la memoria realmente utilizada por el sistema, así como el caché y swap en uso. FUNCTION GetUsedMemory() AS Integer DIM sRes AS String DIM aRes AS String[] DIM cVal AS NEW Collection DIM sVal AS String EXEC ["cat", "/proc/meminfo"] TO sRes FOR EACH sVal IN Split(sRes, "\n", "", TRUE) aRes = Split(sVal, " ", "", TRUE) cVal[Left$(aRes[0], -1)] = CInt(aRes[1]) NEXT RETURN cVal!MemTotal - cVal!MemFree - cVal!Buffers - cVal!Cached + cVal!SwapTotal - cVal!SwapFree - cVal!SwapCached END PRINT Subst("Memoria en uso: &1 bytes", GetUsedMemory())

I ndep en de nc i a en b a se s de d a t o s , i n t e r f az de u su a r i o y e sc r i t o r i o Los componentes de Gambas no son solo bindings. Tratan de abstraer la librerías subyacentes en las que están basados, de forma que se gane en coherencia y simplicidad. En consecuencia, con Gambas, puede escribir programas que sean:

Independientes del sistema de bases de datos empleado: cada base de datos es accedida a través de la misma API. Independientes del toolkit gráfico: los componentes QT y GTK+ tienen la misma interfaz.

Por ejemplo, Gambas dispone de un gestor de bases de datos que: Permite editar y gestionar cualquier base de datos, siempre que exista un componente para ella. Utiliza el toolkit QT cuando se ejecuta en KDE, y el toolkit GTK+ cuando se ejecuta sobre Gnome o XFCE.

Page 6: Manual Basic Oga Mbas 2

El gestor de bases de datos sobre KDE El gestor de bases de datos sobre XFCE

Más aún, hemos intentado proveer también independencia del escritorio: Se usan temas de iconos acordes con el escritorio en ejecución (KDE, Gnome o XFCE). El componente gb.desktop, basado en los scripts de shell del proyecto Portland

E l en t o r no de d e sa r r o l l o Gambas dispone de un IDE rico en gran número de características, que está también escrito en Gambas. Puede con él crear formularios, insertar controles arrastrándolos con el ratón, editar su código, y hacer todas las tareas habituales en en otros entornos para desarrollo rápido de aplicaciones.

El IDE en modo de diseño El IDE en modo de depuración

El entorno de desarrollo de Gambas dispone de estas características: Resaltado de texto de código escrito en Gambas, HTML y CSS. Autocompletado automático. Editor de formularios. Depurador integrado. Editor de iconos. Traductor de cadenas.

Page 7: Manual Basic Oga Mbas 2

El editor de código fuente El editor de iconos El diálogo de traducciones

Soporte de Subversion SVN. Gestor de bases de datos. Documentación on-line proveniente del wiki de documentación. Muchos programas de ejemplo.

Las tres primeras pestañas del diálogo de propiedades de un proyecto

Más aún, permite crear paquetes de instalación para muchas distribuciones, y paquetes tar.gz de instalación basados en las herramientas GNU autotools. El soporte de distribuciones GNU/Linux es el siguiente:

Debian. Fedora. Mandriva. SuSE. Slackware. Ubuntu.

Los paquetes creados por el IDE sólo funcionan si la distribución de destino empaqueta Gambas correctamente, de acuerdo con lo especificado en la página del wiki How To Package Gambas. Por desgracia, no es el caso de todas las distribuciones, en este momento...

Finalmente, incluso aunque el entorno de desarrollo está muy ligado al lenguaje Gambas, puedes usarlo si quieres para otras tareas. A dv e r t enc i a Para que nadie proteste pensando que este documento es sólo publicidad :-), hemos de mencionar que aún existen algunos inconvenientes en Gambas. Los principales son:

Gambas es una aplicación de 32 bits, no se ejecuta de forma nativa en sistemas de 64 bits. Algunas características que aún no existen en el lenguaje: declaración de enumeraciones, soporte de estructuras. El componente GTK+ aún no está finalizado, por lo cual la independencia de toolkit no es total.

Con suerte, el objetivo es resolver estos problemas en la próxima versión. E l f u t u r o ...no se puede predecir, especialmente el de Gambas. Gracias a un script de Perl que emplea los módulos Positronic::Variables y Quantum::Superposition, podemos adivinar que la siguiente versión vendrá acompañada de:

Soporte de 64 bits. Soporte de DBus. La unión del gestor de bases de datos con el entorno de desarrollo. Un editor de reportes en el IDE. Soporte de QT4 y Cairo.

Page 8: Manual Basic Oga Mbas 2

Soporte para KDE4. Un componente gb.desktop mejorado. Generación de documentos OpenOffice.

Gambas es software libre. De forma contraria al software propietario, lo prometido puede que no llegue a tiempo, o que no llegue en absoluto :-)

De sc a r ga de G am ba s y o t r o s en l ac e s Puede descargar Gambas desde http://gambas.sourceforge.net/download.html. Algunos enlaces con información adicional acerca de Gambas:

http://gambas.sourceforge.net - El sitio principal de Gambas. http://gambasdoc.org - El wiki de documentación. https://gambas.svn.sourceforge.net/svnroot/gambas/2.0/trunk/ - El repositorio Subversion de Gambas. http://gambas.sourceforge.net/mailing.html - Las listas de correo. http://gambasrad.org - El próximo sitio principal de Gambas, con Plone.

Puede enviar problemas y errores tanto a las listas de correo como a la herramienta de seguimiento de errores en http://gambasrad.org. ¡Esperamos que disfruten de Gambas tanto como nosotros! :-) Benoît Minisini "Cuando te encuentras haciendo algo, tienes en contra de tí a todo el que está haciendo lo mismo, a todos los que están haciendo lo contrario, y a la mayoría de la gente que no hace nada." - Confucio. Versión en Castellano: Daniel Campos Fernández. Documento original en Inglés: http://gambasdoc.org/help/doc/release?en P reg u n t as F re cu en t e s ¿ P or que e s t e p r oy ec t o s e l l am a " G am bas" ? Parece que todos los proyectos de Software libre, tienen nombre de animales, especialmente los lenguajes de programación como: Python, Camel, Bonobo, etc. Y yo buscaba un acronimo recursivo con la palabra "Basic" en ella. Así que Gambas Almost Means BASic! (Gambas Casi Significa Basic). ¿ G am bas e s c om pa t i b l e c on V i su a l B a s i c ™ ? ¡No, y nunca lo sera!. Afortunadament, hay muchas similitudes, pero no esperes tomar tu codigo viejo de Visual Basic y correrlo en Gambas sin ningún cambio. Tu puedes localizar y resolver muchos problemas relacionados con las diferencias entre los dos lenguajes leyendo la siguiente página: Diferencias con Visual Basic. ¿ G am bas se r a c om pa t i b l e c on J av a o r . Ne t ? Nunca, me temo. Hay muchas razones, buenas y malas: Yo no soy Sun o Microsoft, yo no quiero imponer un solo lenguaje para todo en todas partes. Una cosa estupida, ¿o no lo es? :-) Yo quiero un simple y poderoso lenguaje, no necesariamente para profesionales o nerds. Yo hago esto por diversión también!. Me gusta escribir compiladores, interpretes, máquinas virtual... Entonces yo no use el spec de Java o .Net. El IDE de Gambas esta escrito en Gambas. ¿ G am bas e s M u l t i p l a t a f o r m a? En un futuro, yo espero que la respuesta sera un simple: "¡Si!". :) Pero ahora, hay reportes de personas compilando Gambas bajo BSD y Win32/Cygwin. ¿ P o r que no m ez c l a r e l p r oy e c t o c on HB a s i c , M on oB a s i c , P a r r o t . . . ? Existen muchas diferencias técnicas entre esos proyectos y el mio como para pensar en mezclarlos. Otro problema es que el interprete de Gambas esta limitado a las necesidades del lenguaje que yo necesito. .Net/Parrot tienen necesidades muy diferentes a las de Gambas. No solo es cuestión de interpretar el bytecode. Por ejemplo, esta el problema del conteo de referencia sobre el recolector de basura. ¿Que le pasara al administrador de los componentes del sistema? ¿Al administrador de clases inherentes? Y también a... ¿ Com o pued o c om p i l a r e i ns t a l a r G am ba s ? Por favor leea el LÉEME ¿ Com o pued o de s i n s t a l a r G am ba s? Si instalaste Gambas usando el sistema de paquetes de tu sistema operativo, entonces es fácil, solo utiliza la forma habitual de desinstalar paquetes. Si tu instalaste el codigo fuente como root, entonces solo borra el directorio donde esta instalado. Por ejemplo, si tu instalaste Gambas bajo /opt/gambas2, como root teclea:

$ rm -rf /opt/gambas2

Si el prefijo de la instalación es /usr o /usr/local (Que es la configuración por defecto) entonces tu tienes que borrar cada directorio uno por uno.

$ rm -f /usr/local/bin/gbx2 /usr/local/bin/gbc2 /usr/local/bin/gba2 /usr/local/bin/gbi2 $ rm -rf /usr/local/lib/gambas2 $ rm -rf /usr/local/share/gambas2

¿ P uedo ac c e de r a l a s b a se s de d a t o s c o m o P ost g r eS Q L , M y S Q L , e t c . en G am ba s

Page 9: Manual Basic Oga Mbas 2

Actualmente puedes acceder a las bases de datos de PostgreSQL, MySQL y SQLite en la versión estable, y algunas otras en la versión en desarrollo. Si tu quieres desarrollar un driver para otro sistema de base de datos, dímelo. Serás bienvenido! Y o s oy u n p r o g r am ado r de C / C+ + . ¿ P uedo A y ud a r ? Por supuesto, tu ayuda es bienvenida! Primero, puedes suscribirte a la lista de correo para desarrolladores y presentarte tu mismo. Entonces, puedes intentar entender la arquitectura de Gambas, el compilador, el interprete, el ambiente de desarrollo, los componentes, y como todo este interactua entre si. Entonces, puedes leer la documentación en el Wiki: donde explica como puedes programar tu propio componente. Puedes tambien encontrar en los ejemplos un ejemplo completo de un componente llamado componente.example, leyendo el codigo fuente de este componente, puedes entender como escribir tu propio componente. Si deseas escribir un driver para la base de datos, el driver de PostgreSQL esta comentado, entonces es más fácil entender que es lo que hace. Por supuesto, yo te ayudare con cualquier pregunta que puedas tener, solo espero que tú desees invertir más que solo un año de escuela para aprender C/C++ :-) S i no s oy p r o g r am ad or de C / C+ + . Com o pued o ay u da r ? Ayuda en las siguientes tareas es muy bienvenida. Y no necesitas programar en C/C++ para hacerlas!.

Jugar con Gambas y reportar cualquier bug. Hacer ejemplos de programación para principiantes, y mandarmelos para que yo los incluya en la distribución. Hacer un tutorial para mostrar a los principiantes como escribir su primer programa en Gambas. Esta es una gran

idea! :-) Traducir Gambas en tu propio idioma, si es que aun no se ha hecho. Por favor consulte How To Translate The

Gambas IDE para mas información. Ayudar a traducir este Wiki al español, para ello debe Registrarse.

¿ P uedo de s a r r o l l a r un s o f t wa r e c om er c i a l c on G am ba s? Si, tu puedes hacerlo. Pero si usas el componente de QT, por ejemplo si tu programa tiene una interfaz grafica usando QT, entonces tu tendrás que comprar la licencia de QT antes de empezar ese desarrollo. De lo contrario, tu software tendrá que ser software libre :-) ¿ P o r t a r a s G am ba s a W i ndo ws™ ? Yo no, pero ayudare a otras personas a intentarlo. Yo anteriormente he compilado el código fuente de Gambas en Cywin, pero eso realmente no funciono. Note que existen muchas cosas por portar, administrador de procesos, componente de Qt, y otras cosas... Es un trabajo enorme. Des carg ar

LEA ESTAS NOTAS IMPORTANTES Y ESTA PÁGINA PRIMERO. Instantáneas Actuales de desarrollo Los obtiene del repositorio de Subversion. Para obtener una instantánea de la futura versión 3.0, haga: $ mkdir trunk $ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/trunk/ $ cd trunk $ ./reconf-all Para obtener una instantánea de la versión de desarrollo 2.x, haga: $ mkdir 2.0 $ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/branches/2.0 $ cd 2.0 $ ./reconf-all No olvide instalar automake y autoconf, de lo contrario el script ./reconf-all no funcionará. Paquetes fuente de la versión estable (ChangeLog) Paquete VersiónFormato gambas2-2.19.0.tar.bz2 2.19.0 tar.bz2 gambas2-2.18.0.tar.bz2 2.18.0 tar.bz2 gambas2-2.17.0.tar.bz2 2.17.0 tar.bz2 gambas2-2.16.0.tar.bz2 2.16.0 tar.bz2 Cómo compilar e instalar Gambas Valla a esta página si quiere instrucciones específicas para su distribución. Presentación Gambas Aquí está la última presentación que hice en Palermo. Puede abrirla con OpenOffice, o usar la versión PDF con el ejemplo PdfPresentation OpenGL incluído en los fuentes de Gambas. Presentación Tipo presentation-palermo-2007.pdf PDF presentation-palermo-2007.odpOpenOfficePaquetes Binarios Valla a esta página para una lista de los paquetes binarios para cada distribución. L É E M E ¡ B i env en i do a G am bas!

Page 10: Manual Basic Oga Mbas 2

Gambas es una implementación libre de un entorno de desarrollo basado en un intérprete de BASIC. Está muy inspirado en Visual Basic y Java. Mas información en http://gambas.sourceforge.net No t a s i m po r t an t e s Antes de descargar Gambas, compilarlo y luego quejarte, por favor, lee las siguientes indicaciones CUIDADOSAMENTE! Para compilar Gambas (la versión estable o de desarrollo), debes instalar las siguientes librerías en tu sistema:

Componentes Librerías y requerimientos

Intérprete libffi.so

gb.compress.bzlib2 libbz2.so

gb.compress.zlib libz.so

gb.corba libACE.so, libomniORB4.so, libomniDynamic4.so

gb.crypt libcrypt.so

gb.db.firebird libfbclient.so

gb.db.mysql libmysqlclient.so, libz.so

gb.db.odbc libodbc.so

gb.db.postgresql libpq.so

gb.db.sqlite2 libsqlite.so

gb.db.sqlite3 libsqlite3.so

gb.desktop libXtst.so

gb.gtk Todas las librerías GTK+ >= 2.10

gb.gtk.svg librsvg2.so

gb.net.curl libcurl.so

gb.opengl libGL.so, libGLU.so

gb.pcre libpcre.so

gb.pdf libpoppler.so

gb.qt libqt-mt.so.3 >= 3.3

gb.qt.kde Todas las librerías KDE 3 >= 3.5

gb.sdl libSDL.so, libSDL_image.so, libGL.so, libGLU.so

gb.sdl.sound libSDL.so, libSDL_mixer.so

gb.v4l libjpeg.so, libpng.so,Video4Linux >= 2.0

gb.xml libxml-2.0

gb.xml.xslt libxslt

Y no olvides instalar todos los paquetes de desarrollo relacionados!

Intenta siempre usar la versión más reciente de esas librerías. Debes compilar los componentes gb.qt y gb.qt.ext para obtener un entorno de desarrollo completamente operativo. Debes tener privilegios de escritura sobre /tmp, de otro modo Gambas no funcionará. Este paquete se ha hecho con las siguientes versiones de las herramientas GNU:

automake 1.9.4 autoconf 2.59 libtool 1.5.12

Page 11: Manual Basic Oga Mbas 2

Aparentemente, Gambas no compila con libtool >= 2.0.

Cada subdirectorio del paquete de fuentes es realmente independiente. Puedes instalarlos por separado mediante configure, make, install. ¿ Cóm o c om p i l a r e i ns t a l a r G am bas ? Comprueba la instalación Primero, comprueba que hayas instalado todas las librerías necesarias, especialmente todos los paquetes de desarrollo.

No olvides ojear la página Compilación e instalación. puede que encuentres información importante relativa a tu distribución.

Configuración del paquete de fuentes Cuando estés seguro de que todo está instalado, introduce los siguientes comandos mágicos en la consola: '$' representa el símbolo de sistema, y '...' son los mensajes devueltos durante la configuración y compilación. Este comando crea el script de configuración. Sólo es necesario si has obtenido el código fuente desde el repositorio SVN. Este paso no es necesario si descargaste un archivo tar.bz2 del código fuente.

$ ./reconf-all

Este comando analiza el sistema y configura el paquete:

$ ./configure -C ...

Si alguna librería o paquete no está presente, serás notificado de que algunos componentes se han deshabilitado. Debes leer la salida completa del comando configure y encontrar las líneas que comiencen con warning para saber qué es lo que falta.

Dentro del fichero INSTALL hay información más precisa sobre 'configure'. Te recomiendo su lectura.

Compilación Si la configuración ha finalizado sin errores, ahora ejecuta este comando para compilar el programa:

$ make ...

Instalación Si la compilación ha tenido éxito, es el momento de introducir este comando para completar la instalación:

Debes ser root para instalar Gambas en tu sistema. N. del T.: Utiliza su -c ó sudo (según tu distribución)

$ su -c "make install" Password: <introduce la contraseña de root aquí> ... Resolución de problemas Si has realizado varias compilaciones sucesivas, después de haber actualizado las fuentes del repositorio SVN, por ejemplo, y algo falló durante todo este proceso, puedes intentar 'reconfigurar' los scripts de configuración usando el siguiente comando:

$ ./reconf

Luego puedes hacer ./configure de nuevo. Si esto no funciona, necesito saber qué ha sucedido exactamente. Para hacerlo, teclea el siguiente comando:

$ ( ./configure; make; make install ) > output.txt 2>&1

Y me envías el fichero "output.txt" por e-mail, con cualquier otro detalle sobre tu computadora y tu distribución que consideres oportuno. Corriendo Gambas Si todo ha resultado bien, introduce "gambas2" en tu consola para arrancar el entorno de desarrollo. O bien "gambas3" para la versión de desarrollo. ¡Disfrútalo! Cóm o c om p i l a r e i ns t a l a r G am bas pa r a e m paque t a r l o ? Debes jugar con la variable make prefix cuando realices la instalación. Haz la compilación normalmente:

$ cd gambas2-X.YY $ ./configure $ ./make

Luego haz la instalación en un lugar diferente del root de ésta manera:

Page 12: Manual Basic Oga Mbas 2

$ make prefix=~/myroot

Obtendrás todos los ficheros de Gambas, pero dentro de tu directorio de usuario en el subdirectorio myroot. Véase también Compilación e instalación Co mp i l ac i ó n e i n s t a l ac i ó n Cóm o c om p i l a r e i ns t a l a r G am bas en u na d i s t r i buc i ó n e sp ec i f i c a .

D Debian O OpenSUSE 10.2 U Ubuntu

M Mandriva 2007 / 2008 / 2009 P Pardus Deb i an Para obtener toda la información para compilar e instalar sobre Debian, puede leer el documento http://packages.debian.org/unstable/source/gambas2. M an d r i va 2 007 / 2 00 8 / 200 9 1 . I ns t a l a l os paq u t e s d e d e sa r r o l l o c om o r oo t Para Mandriva 2007

$ su Password: *** # urpmi firebird-devel gettext-devel libbzip2_1-devel libcurl4-devel libgtk+2.0_0-devel libkdecore4-devel libldap2.3_0-devel libmesagl1-devel libmesaglu1-devel libmysql15-devel libomniorb4-devel libORBit2_0-devel libpcre0-devel libpoppler1-devel libpq5-devel libqt3-devel librsvg2_2-devel libSDL1.2-devel libSDL_gfx0-devel libSDL_image1.2-devel libSDL_mixer1.2-devel libSDL_ttf2.0-devel libsqlite0-devel libsqlite3_0-devel libunixODBC1-devel libxml2-devel libxslt-devel postgresql-devel task-c-devel task-c++-devel zlib1-devel libffi-devel # exit

Para Mandriva 2008

$ su Password: *** # urpmi firebird-devel gettext-devel libbzip2_1-devel libcurl-devel libgtk+2.0_0-devel libkdecore4-devel libldap2.3_0-devel libmesagl1-devel libmesaglu1-devel libmysql-devel libomniorb-devel libORBit2-devel libpcre-devel libpoppler-devel libpq-devel libqt3-devel librsvg2-devel libSDL1.2-devel libSDL_gfx0-devel libSDL_image1.2-devel libSDL_mixer1.2-devel libSDL_ttf-devel libsqlite0-devel libsqlite3-devel libunixODBC1-devel libxml2-devel libxslt-devel postgresql-devel task-c-devel task-c++-devel zlib1-devel libffi-devel # exit

Para Mandriva 2008 Spring

$ su Password: *** # urpmi firebird-devel gettext-devel libbzip2_1-devel libcurl-devel libgtk+2.0_0-devel libkdecore4-devel libmesagl1-devel libmesaglu1-devel libmysql-devel libomniorb-devel libORBit2-devel libpcre-devel libpoppler-devel libpq-devel libqt3-devel librsvg2-devel libSDL-devel libSDL_gfx-devel libSDL_image-devel libSDL_mixer-devel libSDL_ttf-devel libsqlite0-devel libsqlite3-devel libunixODBC1-devel libxml2-devel libxslt-devel postgresql-devel task-c-devel task-c++-devel zlib1-devel libffi-devel # exit

Para Mandriva 2008 Spring 64 Bits y Mandriva 2009.0 64 Bits

$ su Password: *** # urpmi firebird-devel gettext-devel lib64bzip2_1-devel lib64curl-devel lib64kdecore4-devel lib64mesagl1-devel lib64mesaglu1-devel lib64mysql-devel lib64omniorb-devel lib64ORBit2-devel lib64pcre-devel lib64poppler-devel lib64pq-devel lib64qt3-devel lib64rsvg2-devel lib64SDL-devel lib64SDL_gfx-devel lib64SDL_image-devel lib64SDL_mixer-devel lib64SDL_ttf-devel lib64sqlite0-devel lib64sqlite3-devel lib64unixODBC1-devel lib64xml2-devel lib64xslt-devel postgresql-devel task-c-devel task-c++-devel zlib1-devel libffi-devel lib64gtk+-devel lib64gtk+2.0_0-devel # exit

No existen paquetes para QT/Embedded, así que este componente será deshabilitado durante la configuración.

Page 13: Manual Basic Oga Mbas 2

Todos los paquetes necesarios deberían ser proporcionados por el comando urpmi anterior, pero podría haber olvidado alguno de ellos. Si la configuración deshabilita algún paquete aparte de QT/Embedded, por favor, házmelo saber para encontrarlo y actualizar la lista.

2 . De sc a r ga r un p aq ue t e de c ó d i go f uen t e En http://prdownloads.sourceforge.net/gambas/gambas2-2.0.0.tar.bz2?download por ejemplo.

$ tar xfj gambas2-2.0.0.tar.bz2 $ cd gambas2-2.0.0

...o la última versión actual de desarrollo Necesitas el cliente svn.

$ mkdir trunk $ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/trunk $ cd trunk

3 . Com p i l a r e i ns t a l a r :

$ ./reconf-all $ ./configure -C $ make $ su -c "make install" Password: ***

O p en S US E 10 . 2 Gambas works well on openSUSE. You can have both Gambas 1 and 2 installed and they will happily work side by side. The best método is to compile Gambas from source. But first you need to make sure all the required dependencies (with their devel packages) are installed. For this it is best to use the openSUSE Administrator Settings tool YaST. Installing dependencies using YaST means you will not have version conflicts in any of your other applications.

The instruction here apply to the 32 bit version of openSUSE.

If you really do not like idea of compiling from source then the Gambas source forge site lists

ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/

as a source for openSUSE binary packages. Though I did not find the install help very useful there. So press on - this install help is more detailed. S t ep 0 : De l e t i ng t h e o penS US E v e r s i on o f G am bas The openSUSE Linux distribution has got a lot of things right. Alas Gambas is not one of them. The Gambas source forge site suggests you do not use the version that comes with openSUSE. This is because they do not follow the Gambas specification. It is best to make sure the openSUSE version of Gambas is not installed before you try installing any other version. I have known the openSUSE version of Gambas to cause conflicts with the compiled version. Also you will not be able to use the Gambas stable version at all if the openSUSE version is installed. So it is best first to check Gambas is not installed. Open the Administrator Settings tool YaST. You will find this in the SUSE menu under System. When this tool starts you will be asked to enter the root password for your workstation. When YaST opens on the right panel are the available YaST administration modules. These are arranged by type and the different types of modules are listed in the left panel. We will be using the Software Management module that is in the Software type tab. So click on the the Software Management icon (you only need to single click). You will then need to wait while this module initializes its sources. The YaST Software Management module should open on the Search filter. If it does not show Search then click on the Filter drop down box and select Search. Then in search text box enter gambas and click on the Search button. This will list all of the openSUSE packages for Gambas. Make sure none of the packages are checked. If no Gambas items are installed then you can proceed to Step 1. If some Gambas items are installed then click on each item and select Delete from the list. When all installed Gambas items show a little dustbin icon on the entry then click on the Accept button in the bottom right of the screen and follow the dialogue. When it comes to asking if you want to install more packages you can answer yes if you are proceeding on to Step 1. Or answer no if you want a cup of tea. But then you will have to start YaST again. S t ep 1 : A dd i n g G am ba s de pen de nc i e s Of all the steps in installing any application on Linux, this is the one that causes the most problems. On openSUSE it is best to make sure that all dependencies are installed through YaST Software Management tool. You will then ensure that there are no conflicts with other application you might wish to run on your openSUSE system. The first step is to make sure we have required repositories set up in YaST. Under the filter drop down list select "Installation Sources". Then check you have

http://download.opensuse.org/distribution/10.2/repo/oss

Page 14: Manual Basic Oga Mbas 2

as a URL. You need to adjust this URL to fit the version of openSUSE you are using. Here we assume version openSUSE 10.2. There are packages in this repositories that are required for some of the Gambas components and they are not on the install CD's. If you do not see this repositories then you will need to add or enable it in the main Administrator Settings tool YaST panel option "Installation Source". On my system openSUSE had added the URL but it had not enabled it. Now back in the Software Management module of the YaST Administrator Settings tool we need to check the the following dependencies. Many of which are optional. Install Tools From the filter drop down list select Patterns then find the "Development" section in the list. Now under "Basic Development" make sure at least

autoconf automake gcc gcc-c++ make

are selected then install these. Graphical User Interface For the gb.qt and gb.qt.ext components search from the filter drop down list select Search then do a search for qt3. Make sure at least the following packages are installed:

qt3 qt3-devel qt3-static

You will need these components if you want to use the Gambas IDE on your workstation. Graphical User Interface (optional) For the gb.gtk component search for the following packages and install them:

gtk2 gtk2-devel atk atk-devel pango pango-devel cairo cairo-devel glib2 glib-devel freetype2 freetype2-devel fontconfig fontconfig-devel

For the gb.gtk.svg component search for the following packages and install them: librsvg librsvg-devel

For the gb.pdf component search for the following packages and install them: poppler poppler-devel

For the gb.pcre component for the following packages and install them: pcre pcre-devel

Desktop (optional) For the gb.qt.kde and gb.qt.kde.html components search for the following packages and install them:

kdelibs3 kdelibs3-devel

Communication & Network (optional) TODO gb.corba For the ../../comp/gb.ldap component search for the following packages and install them:

openldap2-client openldap2-devel

For the gb.net.curl component search for the following packages and install them: curl curl-devel

Database (optional)

Page 15: Manual Basic Oga Mbas 2

To use the SQLite database in the gb.db - Componente para Acceso a Bases de Datos component search for the following packages and install them:

sqlite2 sqlite2-devel sqlite sqlite-devel

To use the MySQL database in the gb.db - Componente para Acceso a Bases de Datos component search for the following packages and install them:

mysql-client mysql-devel mysql-shared

To use the PostgreSQL database in the gb.db - Componente para Acceso a Bases de Datos component search for the following packages and install them:

libpqxx postgresql postresql-devel postgresql-server postresql-libs

To use the ODBC database in the gb.db - Componente para Acceso a Bases de Datos component search for the following packages and install them:

unixODBC unixODBC-devel

Firebird is not provided in the standard openSUSE package repositories. You will need to download the rpm from the Firebird web site and follow the instructions there to install it. XML programming (optional) For the gb.xml, gb.xml.xslt and gb.xml.rpc components search for the following packages and install them:

libxml2 libxml2-devel libxslt libxslt-devel

Compression & Crypting (optional) For the gb.compress - Librería de compresión and gb.crypt components search for the following packages and install them:

zlib zlib-devel glibc glibc-devel

SDL, 2D & 3D Graphics (optional) For the gb.sdl, gb.opengl and gb.qt.opengl components search for the following packages and install them:

SDL SDL-devel SDL_image SDL_image-devel Mesa Mesa-devel

For the gb.sdl.sound component search for the following packages and install them: SDL_mixer SDL_mixer-devel

For the gb.v4l component search for the following packages and install them: libpng libpng-devel libjpeg libjpeg-devel

Extras If during the install process there are components where you have installed library but are not sure which is the development package then select the Extras option from the Yast Software Management menu and then the option Install All Matching devel Packages and install the packages it selects. This will properly install more devel packages than you need. It is best only to perform this step if you have problems later compiling gambas. But why not take the easy option. You should now have the basic requirements for Gambas or at least the most popular options. Now we need to compile Gambas. S t ep 2 : Com p i l i ng G am bas

Page 16: Manual Basic Oga Mbas 2

Download the required version of Gambas from http://gambas.sourceforge.net/download.html and then open a Linux terminal and unpack it: shell> tar xvfj gambas2-1.9.48.tar.bz2 ... list of unpacked files ... shell> cd gambas-1.9.48 Of course you need to substitute the version of Gambas you are installing in these commands. Or you can get the latest svn version: shell> svn checkout https://svn.sourceforge.net/svnroot/gambas/2.0/trunk ... list of downloaded files ... shell> cd trunk Run through the usual install process to compile Gambas. This process is the same as in any other Linux distribution. shell> ./reconf-all ... view progress of reconfigure ... shell> ./configure -C ... view progress of configure ... shell> make ... view progress of make ... shell> su -c "make install" Password: enter root password ... view progress of install ... You should now have a working version of Gambas installed. You can check this by starting the Gambas IDE. If you have installed stable version 1 of Gambas enter the following in a Linux terminal: shell> gambas And for the development version of Gambas: shell> gambas2 Of course you can add your desktop or menu links to make opening the Gambas IDE easier. T rad u cc i ó n O p en S US E 10 . 2 Gambas funciona bien en openSUSE. Puede tener tanto gambas 1 y 2 instalado y felizmente funcionarán al lado de la otra. Es el mejor método compilar gambas de fuente. Pero primero debe asegurarse de que todas las dependencias necesarias (con sus paquetes devel) están instaladas. Para ello es mejor usar la herramienta de configuración de administrador de openSUSE YaST. Dependencias usando YaST significa que no tendrá versión conflictos en cualquiera de las demás aplicaciones.

La instrucción aquí se aplican a la versión de 32 bits de openSUSE.

Si usted realmente no le gusta la idea de compilar desde el origen, a continuación, el sitio de forja de origen de gambas enumera

FTP://FTP.gwdg.de/pub/Linux/Misc/suser-GBV/RPMs/

como una fuente de paquetes binarios de openSUSE. Aunque no he encontrado la ayuda de instalación muy útil allí. Entonces pulse - esta ayuda de instalación es más detallada. P a so 0 : E l i m i na r l a v e r s i ón o penS US E d e gam ba s El openSUSE distribución Linux tiene muchas cosas derecho. Por desgracia gambas no es uno de ellos. El sitio de origen de gambas forjar sugiere que no utiliza la versión que viene con openSUSE. Esto es debido a que no siguen la especificación de gambas. Es mejor para asegurarse de que no está instalada la versión de openSUSE de gambas antes de intentar instalar cualquier otra versión. He conocido la versión openSUSE de gambas a entrar en conflicto con la versión compilada. También no podrá utilizar la versión estable de gambas en absoluto si está instalada la versión openSUSE. Así que lo mejor es en primer lugar comprobar gambas no está instalado. Abra la herramienta de Configuración de administrador YaST. Usted lo encontrará en el menú SUSE bajo sistema. Cuando se inicia esta herramienta se le pedirá que introduzca la contraseña de raíz para su estación de trabajo. Cuando YaST se abre en el panel de la derecha son los

Page 17: Manual Basic Oga Mbas 2

módulos de administración de YaST disponibles. Estos están organizados por tipo y los diferentes tipos de módulos se muestran en el panel de la izquierda. Nosotros estaremos usando el módulo de Administración de software que se encuentra en la ficha del tipo de software. Así que haga clic en el el icono de Gestión de software (solamente necesita a solo clic). Luego deberás esperar mientras este módulo inicializa sus fuentes. El módulo de Administración de software de YaST debe abrir en el filtro de búsqueda. Si no muestra búsqueda, a continuación, haga clic en el cuadro desplegable de filtro y seleccione Buscar. En el cuadro de texto de búsqueda escriba gambas y haga clic en el botón Buscar. Esto mostrará todos los paquetes de openSUSE para gambas. Asegurarse de que ninguno de los paquetes de se comprueban. Si no hay elementos de gambas están instalados, a continuación, puede continuar al paso 1. Si algunos elementos de gambas están instalados, a continuación, haga clic en cada elemento y seleccione Eliminar de la lista. Cuando todos instalados gambas elementos muestran un icono de dustbin poco en la entrada y luego haga clic en el Aceptar botón en la parte inferior derecha de la pantalla y siga el diálogo. Cuando se trata de que se le pregunta si desea instalar más paquetes puede responder sí si estás continuar al paso 1. O respuesta no si desea que una taza de té. Pero entonces tendrá que empezar de nuevo YaST. P a so 1 : A g r eg a r l a s de pe nde nc i a s d e ga m bas De todos los pasos para instalar cualquier aplicación en Linux, esto es lo que causa la mayoría de los problemas. En openSUSE es mejor para asegurarse de que todas las dependencias están instaladas a través de la herramienta de administración de software de YaST. A continuación, se asegurará que no hay ningún conflicto con otra aplicación que desee ejecutar en su sistema de openSUSE. El primer paso es asegurarse de que tenemos repositorios necesarios en YaST. En la lista desplegable de filtro seleccione "Instalación de origen". Compruebe que tiene

http://download.openSUSE.org/Distribution/10.2/Repo/OSS

como una URL. Necesita ajustar esta URL para ajustarse a la versión de openSUSE que va a utilizar. Aquí asumimos versión openSUSE 10.2. Existen paquetes en este repositorios que se requieren para algunos de los componentes de gambas y no están en el CD de instalación Si no puede ver este repositorios, a continuación, necesitará agregar o habilitarla en la principal herramienta de Configuración de administrador YaST panel opción "Origen de instalación". En mi sistema openSUSE añadió la URL, pero no había activado. Ahora en el módulo de Administración de software de la herramienta de YaST Opciones de administración debemos comprobar la las siguientes dependencias. Muchos de los cuales son opcionales. Instalar herramientas En la lista desplegable de filtro seleccione motivos a continuación, busque la sección de "Desarrollo" en la lista. Ahora bajo "Desarrollo básico" asegurarse al menos

autoconf automake gcc gcc-c ++ hacer

se seleccionan a continuación, instale estos. Interfaz gráfica de usuario Para la búsqueda de componentes de gb.qt y gb.qt.ext en la lista desplegable de filtro seleccione Buscar entonces hacer una búsqueda de qt3. Hacer en seguro de por lo menos que se instalan los siguientes paquetes:

qt3 qt3-devel qt3 estático

Necesitará estos componentes si desea utilizar el IDE de gambas en su estación de trabajo. Interfaz gráfica de usuario (opcional) Para el componente de gb.gtk buscar los siguientes paquetes e instalarlas:

GTK2 GTK2-devel ATK ATK-devel Pango Pango-devel El Cairo El Cairo-devel glib2 conciso-devel freetype2 freetype2-devel Fontconfig

Page 18: Manual Basic Oga Mbas 2

Fontconfig-devel Para el componente de gb.gtk.svg buscar los siguientes paquetes e instalarlas:

librsvg librsvg-devel

Para el componente de gb.pdf buscar los siguientes paquetes e instalarlas: Poppler Poppler-devel

Para la gb.pcre componente para los siguientes paquetes e instalarlas: PCRE PCRE-devel

Escritorio (opcional) Para la gb.qt.kde y la gb.qt.kde.html componentes buscar los siguientes paquetes e instalan:

kdelibs3 kdelibs3-devel

Comunicación y redes (opcional) TODO gb.corba Para la , /../Comp/GB.LDAP , , componente buscar los siguientes paquetes e instalarlas:

openldap2-cliente openldap2-devel

Para el componente de gb.net.curl buscar los siguientes paquetes e instalarlas: CURL CURL-devel

Base de datos (opcional) Para utilizar la base de datos SQLite en la búsqueda de componente de gb.db - Componente para Acceso una bases de Datos de los siguientes paquetes e instalarlas:

sqlite2 sqlite2-devel SQLite SQLite-devel

Para utilizar la base de datos MySQL en la búsqueda de componente de gb.db - Componente para Acceso una bases de Datos de los siguientes paquetes e instalarlas:

cliente de MySQL MySQL-devel MySQL-shared

Para utilizar la base de datos PostgreSQL en la búsqueda de componente de gb.db - Componente para Acceso una bases de Datos de los siguientes paquetes e instalarlas:

libpqxx PostgreSQL PostreSQL-devel PostgreSQL-servidor PostreSQL-libs

Para utilizar la base de datos ODBC en la búsqueda de componente de gb.db - Componente para Acceso una bases de Datos de los siguientes paquetes e instalarlas:

unixODBC unixODBC-devel

Firebird no se proporciona en los repositorios de paquete de openSUSE estándar. Deberás descargar el rpm desde el sitio web de Firebird y siga las instrucciones allí para instalarlo. Programación de XML (opcional) Para la gb.xml, gb.xml.xslt y gb.xml.rpc componentes buscar los siguientes paquetes e instalan:

libxml2 libxml2-devel libxslt libxslt-devel

Compresión & crypting (opcional) Para la gb.compress - Librería de compresión y gb.crypt componentes buscar los siguientes paquetes e instalan:

zlib zlib-devel glibc glibc-devel

SDL, gráficos 2D y 3D (opcional) Para la gb.sdl, gb.opengl y gb.qt.opengl componentes buscar los siguientes paquetes e instalan:

Page 19: Manual Basic Oga Mbas 2

SDL SDL-devel SDL_image SDL_image-devel Mesa Mesa-devel

Para el componente de gb.sdl.sound buscar los siguientes paquetes e instalarlas: SDL_mixer SDL_mixer-devel

Para el componente de gb.v4l buscar los siguientes paquetes e instalarlas: libpng libpng-devel libjpeg libjpeg-devel

Extras Si durante el proceso de instalación hay componentes donde se ha instalado la biblioteca pero no está seguro de que es el paquete de desarrollo a continuación, seleccione la opción adicionales en el menú de YaST Administración de software y, a continuación, la opción de instalar la coincidencia de todos los paquetes de devel y instalar los paquetes que selecciona. Esto instalará debidamente más paquetes devel que usted necesita. Es mejor sólo realizar este paso si tiene problemas al compilar más tarde gambas. Pero por qué no tomar la opción fácil. Ahora debería tener los requisitos básicos de gambas o al menos la más populares opciones. Ahora necesitamos compilar gambas. P a so 2 : C om p i l ac i ón de gam ba s Descargar la versión requerida de gambas de http://gambas.sourceforge.net/download.html y, a continuación, abra un Linux terminal y descomprimirlo: shell > tar xvfj gambas2-1.9.48.tar.bz2 ... lista de archivos sin empaquetar ... shell > cd gambas-1.9.48 Por supuesto que necesita sustituir la versión de gambas va a instalar en estos comandos. O bien, usted puede obtener la última versión de svn: shell > svn retirada https://svn.sourceforge.net/svnroot/gambas/2.0/trunk ... lista de los archivos descargados ... shell > cd tronco Recorrer el proceso de instalación habitual para compilar gambas. Este proceso es el mismo que en cualquier otra distribución de Linux. shell > . / reconf-all ... Ver progreso de reconfigure ... shell > . / configure - C ... Ver progreso de configuración ... shell > hacer ... Ver progreso de make ... shell > su - c "make install" Contraseña: Introduzca la contraseña de root ... Ver progreso de la instalación ... Ahora debería tener una versión de trabajo de gambas instalado. Esto se puede comprobar iniciando el IDE de gambas. Si ha instalado la versión estable 1 de gambas introduzca lo siguiente en un terminal de Linux: shell > gambas Y para la versión de desarrollo de gambas: shell > gambas2 Por supuesto puede agregar sus enlaces de escritorio o el menú para abrir el IDE de gambas más fácil de hacer.

Page 20: Manual Basic Oga Mbas 2

P ard u s First you need to install system.devel package to build Gambas2 or Gambas3 from sources:

sudo pisi install -c system.devel

t rad u cc i ó n P ard u s Primero debe instalar el paquete de system.devel para construir Gambas2 o Gambas3 de fuentes:

sudo pisi instalar system.devel - c

Ub u n t u

The following instructions to install Gambas on Ubuntu is also applicable for Kubuntu and Xubuntu. Gambas is installed with success from version 7.04.

Before going any further, consider using the .deb packages at: http://encryptec.net/software/gambas-packages (This site requires user name and password) http://gambas.gnulinex.org/ubuntu (Completely free) These instructions may well work with previous versions of Ubuntu, but I would strongly recommend upgrading to 7.04 before going any further. If you want to find the exact package versions supported on a given release of Ubuntu, it will take time. If you can upgrade first the procedure below should get you going 'first time'.

First you'll need to get the latest release of the source code. Next you need to make sure you have the right development packages installed. To do this, start a terminal session

(Applications->Accessories->Terminal) and copy the contents of the box below into the terminal. The password it will prompt for will be YOUR password. (note that your userid will need super-user access to your system ..)

For Feisty and Gutsy: -- Deprecated --

$ sudo apt-get install build-essential g++ automake autoconf libbz2-dev libgnorba-dev libfbclient1 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl3-dev libgtkglext1-dev libqt3-mt-dev kdebase-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev build-essential libbonobo2-dev libcos4-dev libomniorb4-dev firebird2-dev librsvg2-dev libpoppler-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libarts1-dev kdelibs4-dev libffi4-dev libxtst-dev gettext

For Hardy:

$ sudo apt-get install build-essential g++ automake autoconf libbz2-dev libgnorba-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl3-dev libgtkglext1-dev libqt3-mt-dev kdebase-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev build-essential libbonobo2-dev libcos4-dev libomniorb4-dev firebird2.0-dev librsvg2-dev libpoppler-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libarts1-dev kdelibs4-dev libffi4-dev libxtst-dev gettext

For Intrepid:

$ sudo apt-get install build-essential autoconf libbz2-dev libgnorba-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev libbonobo2-dev libcos4-dev libomniorb4-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libarts1-dev libxtst-dev libffi-dev kdelibs4-dev firebird2.1-dev libqt4-dev

For Jaunty:

sudo apt-get install build-essential autoconf libbz2-dev libgnorba-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev libbonobo2-dev libcos4-dev libomniorb4-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libxtst-dev libffi-dev kdelibs4-dev firebird2.1-dev libqt4-dev

For Karmic:

sudo apt-get install build-essential autoconf libbz2-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev libbonobo2-dev libcos4-dev libomniorb4-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libxtst-dev libffi-dev kdelibs4-dev firebird2.1-dev libqt4-dev libglew1.5-dev

Page 21: Manual Basic Oga Mbas 2

if you want pilot KDE application (example Kate) you must install: kdebase-dev (kdelibs4-dev will be removed and replaced with kdelibs5-dev and other package)

Unpack the source into /usr/src.

$ cd /usr/src $ sudo tar xvfj /home//Desktop/gambas2-1.48.tar.bz2

Or get a subversion snapshot as explained on the website. Move to the Gambas source folder and follow the build procedure. (check out the README file)

$ cd /usr/src/gambas2-1.9.48 $ sudo ./configure -C $ sudo make $ sudo make install

This should leave you with a working version of Gambas in /usr/local/bin .. so if you now type in "gambas2" from the terminal session, it should start your nice new IDE. Gareth Bult Note KUbuntu (wig) Link on desktop or in menu: the executable is in

/usr/local/bin/gambas2

You can replace the icon by

/usr/src/gambas2-1.9.91/app/src/gambas2/img/logo/new-logo.png

t rad u cc i o n Ub u n t u

Las instrucciones siguientes para instalar gambas en Ubuntu también es aplicable para Kubuntu y Xubuntu.Gambas está instalado con éxito desde la versión 7.04.

Antes de seguir adelante, considere la posibilidad de utilizar los paquetes .deb en: http://encryptec.NET/software/gambas-Packages (Este sitio requiere el nombre de usuario y contraseña) http://gambas.gnuLinEx.org/Ubuntu (Completamente libre) Estas instrucciones pueden trabajar bien con las versiones anteriores de Ubuntu, pero recomiendo encarecidamente actualizar a 7.04 antes de seguir adelante. Si desea encontrar las versiones de paquete exacta compatibles con una versión determinada de Ubuntu, llevará tiempo. Si puede actualizar primero el procedimiento que se indica a continuación debería conseguir te vas 'primera vez'.

En primer lugar necesitará obtener la última versión del código fuente. A continuación debe asegurarse de que tiene los paquetes de desarrollo correcto instalados. Para ello, inicie una

sesión de terminal (aplicaciones-> accesorios-> terminal) y copie el contenido de la caja a continuación en el terminal. La contraseña que solicitará será su contraseña. (tenga en cuenta que su ID de usuario será necesario acceso de superusuario a su sistema)...

Para Feisty y Gutsy: --desaprobadas--

$ sudo apt-get install generación esenciales g ++ automake autoconf libbz2-dev libgnorba-dev libfbclient1 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl3-dev libgtkglext1-dev libqt3-mt-dev kdebase-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev generación esenciales libbonobo2-dev libcos4-dev libomniorb4-dev firebird2-dev librsvg2-dev libpoppler-dev libpoppler-dev libpoppler-conciso-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libarts1-dev kdelibs4-dev libffi4-dev libxtst-dev gettext

Para Hardy:

$ sudo apt-get install generación esenciales g ++ automake autoconf libbz2-dev libgnorba-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl3-dev libgtkglext1-dev libqt3-mt-dev kdebase-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev generación esenciales libbonobo2-dev libcos4-dev libomniorb4-dev firebird2.0-dev librsvg2-dev libpoppler-dev libpoppler-dev libpoppler-conciso-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libarts1-dev kdelibs4-dev libffi4-dev libxtst-dev gettext

Para Intrepid:

$ sudo apt-get install autoconf de generación esenciales libbz2-dev libgnorba-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev libbonobo2-dev libcos4-dev

Page 22: Manual Basic Oga Mbas 2

libomniorb4-dev librsvg2-dev libpoppler-dev libpoppler-conciso-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libarts1-dev libxtst-dev libffi-dev kdelibs4-dev firebird2.1-dev libqt4-dev

Para Jaunty:

sudo apt-get install autoconf de generación esenciales libbz2-dev libgnorba-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev libbonobo2-dev libcos4-dev libomniorb4-dev librsvg2-dev libpoppler-dev libpoppler-conciso-dev libasound2-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libxtst-dev libffi-dev kdelibs4-dev firebird2.1-dev libqt4-dev

Para kármica:

sudo apt-get install autoconf de generación esenciales libbz2-dev libfbclient2 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev libbonobo2-dev libcos4-dev libomniorb4-dev librsvg2-dev libpoppler-dev libpoppler-conciso-dev libasound2-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev libxtst-dev libffi-dev kdelibs4-dev firebird2.1-dev libqt4-dev libglew1.5-dev

Si desea que la aplicación piloto de KDE (ejemplo Kate) debe instalar: kdebase-dev (kdelibs4-dev será eliminado y reemplazado por kdelibs5-dev y otro paquete)

Descomprimir la fuente en / usr/src.

$ cd/usr/src $ sudo tar xvfj /home//Desktop/gambas2-1.48.tar.bz2

U obtener una instantánea de subversión como se explica en el sitio Web. Vaya a la carpeta de origen de gambas y siga el procedimiento de generación. (consulte el archivo README)

$ cd /usr/src/gambas2-1.9.48 $ sudo. / configure-$ C sudo hacer $ sudo make install

Esto debería dejar con una versión de trabajo de gambas en / usr/local/bin .. así que si ahora escribe en "gambas2" de la sesión de terminal, debería comenzar su agradable IDE nuevo. Gareth Bult Nota KUbuntu (peluca) Enlace en escritorio o en el menú: el archivo ejecutable es en

/usr/local/bin/gambas2

Se puede reemplazar el icono por

/usr/src/gambas2-1.9.91/APP/src/gambas2/img/logo/New-logo.PNG