gambas y visual basic
Posiblemente hay más similitudes que diferencias, pero no puedes copiar un proyecto de VB e intentar compilarlo bajo Gambas.
El símbolo aparecerá algunas veces en las páginas de esta documentación, para indicar que haynotas disponibles que enseñan a usar la característica descrita en esa página y que difiere de la forma de ejecutar la misma tarea en VB. La intención es ayudar a aquellos programadores que esten migrando a Gambas desde ese lenguaje.
Diferencias no referentes al lenguaje
En VB el código de cada formulario y el objeto formulario están incluidos en el mismo archivo. Gambas usa dos archivosseparados para ello: archivo .form y un archivo .clase .
Extensiones de los archivos:
Tipo de Archivo Visual Basic Gambas
Archivo de definición del proyecto .vbp .project (uno por directorio)
Módulo .bas .module
Archivo de Class .cls .class
Archivo de definición del Form .frm .form
Archivos de recursos binarios .frx Algún otro archivo almacenado en el directorio del proyecto.
Losproyectos de Gambas se definen con un directorio que tiene un archivo .project dentro, y todos los arhivos en ese directorio. VB permite tener múltiples archivos de proyecto en distintos directorios, o usar el mismo archivo fuente de un directorio en distintos proyectos, lo que tiene sus ventajas y sus inconvenientes.
Las medidas de la pantalla se hacen en VB en "twips", que son un 1/1440 depulgada; en Gambas se hacen en píxeles reales.
Los controles de los Form son privados por defecto en los programas de Gambas. Se puede cambiar este comportamiento en las Propiedades del Proyecto, marcando el recuadro "Los controles del formulario son públicos".
Las funciones de conversión Str$, Val, CStr... se comportan de forma distinta. Por ejemplo, Str$ y Val usan la configuración de idioma puestaen Gambas, mientras que no hacen eso en Visual Basic. Lea la documentación atentamente para más detalle, pero parece que el comportamiento de Gambas es más lógico :-).
Lo que VB tiene y Gambas no
No se puede editar el código en modo de depuración en Gambas; es necesario detener la ejecución del programa.
En Gambas, los tipos de datos simples (Integer, String, etc.) se pasan por valor a losprocedimientos y funciones. No se pueden pasar por referencia como en Visual Basic. Recuerde que VB pasa los parámetros por referencia si no se usa la palabra clave ByVal, así que tenga cuidado cuando intente portar un proyecto VB. También se pasan siempre por referencia el contenido de los tipos de datos objeto (array , collections, objects) en ambos lenguajes.
Pasar argumentos por referencia,ahora es posible en la versión en desarrollo.
No existe nada parecido a una variable global para todo el proyecto en Gambas. Para simularlo se puede hacer una clase llamada Global y declarar las variables globals como variables públicas estáticas de esa clase, entonces se puede referir a ellas como Global.nombre_de_la_variable en todo el proyecto. No es una práctica de programación muyelegante, pero al menos funcionará como una variable global cuando quiera usarla ;)
En un módulo de VB, a no ser que incluya la frase Option Explicit, no necesita declarar las variables antes de usarlas. Gambas se comporta como si Option Explicit estuviera siempre activo, lo que mejora mucho el código a expensas de trabajar un poquito más.
No hay nada en Gambas equivalente a la propiedad Index de loscontroles en los formularios de VB. Es muy fácil crear arrays de controles, pero hay que hacerlo mediante código. No hay en la actualidad ninguna forma de hacerlo gráficamente. Por tanto, cuando copie y pegue un control, en lugar de preguntar si desea hacer un array de controles, lo que hace Gambas automáticamente es renombrar el control copiado con un nombre adecuado.
No se pueden crear labels...
Regístrate para leer el documento completo.