Tabla de Traducción de ordenes de VB6 a Gambas

De Libro Gambas

TABLA DE TRADUCCIÓN DE ORDENES DE VB6 A GAMBAS

Ejecucion 


Visual basic 6 uso Gambas 2
VB6RUN.DLL runtime Gambas2-runtime (son varios archivos)
Extensiones de archivo 


Visual basic 6 uso Gambas 2
.frm Formulario: código e interfaz gráfica .form y .class (con el nombre del formulario)
.bas Extensión de archivo indica que es un archivo de módulo, solo código .module
.class Extensión de archivo indica que es el archivo de clase solo código .class
.vbp Extensión de archivo indica que es el archivo de proyecto no existe, para eso están la carpeta oculta ".gambas"
.frm Extensión de archivo similar a un archivo de recursos
donde se guardan por ejemplo la imágenes de los picture box 
Gambas guarda los archivos con sus nombres originales.jpg , .png, .txt,en la misma carpeta del proyecto o dentro de una subcarpeta,según como lo hayamos definido en el IDE de gambas,árbol de organización de nuestro proyecto
.resx Extensión de archivo de recursos
se pueden guardar imágenes y sonidos 
Gambas guarda los archivos con sus nombres originales.jpg , .png, .txt, en la misma carpeta del proyecto o dentro de una subcarpeta,según como lo hayamos definido en el IDE de gambas,árbol de organización de nuestro proyecto
Carpetas Ocultas .gambas (guarda archivos bytecode)
.lang (guardar archivos .pot, que son traducciones de nuestra aplicación) 
.exe en visual basic 6 es un binario pe puede ser del tipo pcode o nativo
en gambas Extensión Archivo ejecutable (bytecode) 
.gambas
Nota: tiene que tener permisos de ejecución $chmod a+x nombre_archivo.gambas 
Manejo de carpetas y ficheros del sistema 


Visual basic 6 uso Gambas 2
MKDIR Ruta Crear una Carpeta MKDIR Ruta
RMDIR Ruta Borrar una Carpeta RMDIR Ruta
(tiene que estar vacia) 
Copiar un Archivo COPY Ruta_Origen TO Ruta_Destino
' Ejemplo: Guarda el archivo de configuración de Gambas COPY User.Home &/ ".config/gambas/gambas.conf" TO "/mnt/save/gambas.conf.save" 
Mover un Archivo/Carpeta Renombra o mueve un archivo o carpeta.
RENAME Antiguo_Nombre AS Nuevo_nombre 
KILL Ruta Borrar un Archivo KILL Ruta
TRY KILL "/tmp/testfile" 
no existe funcion equivalente en VB& ruta del usuario user.home
Devuelve: /home/usuario 


Para mas detalles vease: Funciones para Archivos y Carpetas 
DIFERENCIAS  


Visual basic 6 uso Gambas 2
end VB final del programa uso opcional
Gambas 2 Se usa para cerrar los procedimientos y funciones 


 ??????????????? no es opcional, hay que ponerlo
Option Explicit obliga a declarar explícitamente todas las variables no existe siempre las tienes que declarar
constantes 


Visual basic 6 uso Gambas 2
(Public|Private) Const nombre as tipo.variable = valor valor constante. Se define solo dentro al inicio de módulos o clases (Public|Private) Const nombre as tipo.variable = valor
OPERADORES 


Visual basic 6 gambas 2
^ Aritmetico Exponenciacion ^
- Aritmetico Cambio de signo (operador unario) -
* Aritmetico multiplicacion *
/ Aritmetico division /
\ Aritmetico division entera DIV
mod Aritmetico resto de una division entera MOD
+ Aritmetico suma +
- Aritmetico resta -
& concatenacion & (TEXTO)
+ concatenacion no suma cadena de caracteres,
solo numero
= relacional igual a =
<> relacional distinto <>
< relacional menor que <
> relacional mayor que >
>= relacional moyor o igual que >=
<= relacional menor o igual que <=
like otro compara dos expresiones de caracteres Like
(ademas tambien patrones) http://www.gambasdoc.org/help/lang/like?es 
is comparar referencia a objetos is
Devuelve si un objeto es 
una instancia de una clase,
o uno de sus descendientes.
not logico negacion not
and logico y and
or logico o inclusivo or
xor logico o exclusivo xor
eqv equivalencia opuesto a xor
imp implicacion (False si el primer operando es True y el segundo operando es False
FUNCIONES ESPECIALES 


Visual basic 6 uso Gambas 2
doevents VB6
no existe equivalente exacto en Gambas 
Procesa todos los mensajes de Windows que hay actualmente en la cola de mensajes. lo que permite desbloquear al gui del programa cuando se realizan calculos largos por ejemplo en bucles 

Gambas 

no existe equivalente exacto en VB6 Llama recursivamente al lazo de eventos. dando tiempo para ejecutar otros eventos permitiendo que el programa haga pausas que permitan al usuario interactuar con la gui 

Retardo es un número real. Así pues, para esperar 100ms, puede indicar: WAIT 0.1 
WAIT [ Retardo ]
ejemplos 
' Espera 100ms, dejando que el usuario interactúe con la GUI WAIT 0.1 
' Espera, pero el usuario sólo puede observar lo que ocurre... WAIT 
call
VB6 
Transfiere el control a un Function, a un Sub o a un procedimiento de una biblioteca de vínculos dinámicos (DLL).
Normalmente utiliza la instrucción Call para llamar a una función o procedimiento que no devuelve un valor. 
Si el procedimiento devuelve un valor, la instrucción Call lo descarta. 
el uso de call es opcional sin embargo puede hacer mas legible el código 
ejemplo call function 
GAMBAS no existe equivalente 
no existe
Variables tipos 


Visual basic 6 uso Gambas 2
boolean variante booleana admite true o false boolean
byte entero 1 byte de largo byte
integer entero -32765 a 32765. short (del -32.768 a +32.767)
entero mayor rango Integer -2.147.483.648...+2.147.483.647
Long -9.223.372.036.854.775.808...+9.223.372.036.854.775.807 
double coma flotante single Single (parecido al float en C, 4 bytes)
float (parecido al double en C, 8 bytes) 
string cadena string
date de fecha y/o hora Date
variant variante se adapta automáticamente según como interprete el valor variant
object referencia a objeto Object
no existe dirección de memoria Pointer
Declaración de variables y ambito 


Visual basic 6 uso Gambas 2
dim variable declara variable ámbito restringido si se omite el tipo de dato es variant por defecto dim variable as tipo (tipos de Gambas)
dim variable as New tipo[] (arrays) (ámbito de una subrutina o función) 
dim variable as string declara variable ámbito restringido de tipo string dim variable as string (una cadena)
dim variable as New string[] (un arrays de cadenas) 
public declara variable ámbito publico solo en módulos public nombre as tipo (publica para todo el proyecto (formularios, clases y otros módulos)
global declara variable ámbito global solo en módulos no exiten, pero hay un truco que es crearla en un módulo (por ejemplo un módulo llamado "var") y luego llamarla como var.nombrevariable
private declara variable ámbito privado private (ámbito de la clase, función o subrutina)
Procedimientos y funciones 


Visual basic 6 uso Gambas 2
function nombre_funcion () as tipo
nombre_funcion= valor 
end function 
funcion sin argumentos en vb6 no se usa return
no es válido en gambas, hay que usar return 
function nombre_funcion () as tipo
return= valor 
end function 
function nombre_funcion (argumnto1 as tipo, argumento2 as tipo) as tipo
nombre_funcion= valor 
end function 
funcion con argumentos (Public/Private) Function nombre_funcion (argumnto1 as tipo, {OPTIONAL} argumento2 as tipo) as tipo
Return= valor 
end 
sub nombre_procedimiento()
end sub 
procedimiento sin argumentos (Public/Private) Sub nombre_procedimiento()
end 
sub nombre_procedimiento(argumento1, argumento2 )
end sub 
procedimiento con argumentos (Public/Private) sub nombre_procedimiento(argumento1 as tipo, {OPTIONAL} argumento2 as tipo,.... )
end 
nombre_procedimiento(argumento1 as tipo, argumento2 as tipo,.... ) llamar a un procedimiento nombre_procedimiento(argumento1 as tipo, argumento2 as tipo,.... )
variable=nombre_procedimiento(argumento1 as tipo, argumento2 as tipo,.... ) llamar a una funcion variable=nombre_procedimiento(argumento1 as tipo, argumento2 as tipo,.... )
Cadenas 


Visual basic 6 uso Gambas 2
Replace(expresion, buscar, reemplazarcon[, comienza[, cuenta[, compara]]]) reemplazar una subcadena dentro de una cadena:
VB6 puede omitirse el signo $ replace$ o replace VB6 expresion: Es la cadena original 
buscar: las subcadenas que queremos reemplazar 
reemplazarcon: lo que se pondrá cuando se halle la cadena a reemplazar 
comienza: (opcional), posición dentro de expression a partir de la cual empezaremos a procesar la cadena 
cuenta: (opcional), número de sustituciones que queremos realizar, el valor por defecto es -1, lo que indica que se harán todas las sustituciones posibles. 
compara: (opcional), lo dicho en las otras funciones, el tipo de comparación a realizar: binaria, de cadena o según el Option Compare xxx 
Replace$ ( Cadena , Patrón , CadenaReemplazo )
ejemplo: PRINT Replace$("Gambas is a cool basic", "bas", "BAS") genera la siguiente salida: GamBAS is a cool BASic 


InStr ( Cadena AS String , Subcadena AS String [ , Inicio AS Integer ] ) Buscar una cadena dentro de otra a partir del caracter numero inicio
(devuelve la posicion (un integer) donde esta la subcadena) 
VB6 puede omitirse el signo $ InStr$ o InStr 
InStr ( Cadena AS String , Subcadena AS String [ , Inicio AS Integer ] )


strComp(str1, str2) compara cadenas
VB6 devuelve -1, 0, 1 según str1 sea menor, igual o mayor que str2 
Comp ( String1 AS String , String2 AS String [ , Mode AS Integer ] ) AS Integer
Reemplaza las subcadenas &1, &2, etc. en un patrón con el primer, segundo y siguientes argumentos CadenaReemplazo, y devuelve el resultado. Subst$ ( Patrón , CadenaReemplazo [ , CadenaReemplazo ] )
ejemplo: PRINT Subst("Gambas es un buen &1", "BASIC") genera la siguiente salida: Gambas es un buen BASIC 
Estructuras de control 


Visual basic 6 uso Gambas 2
if comparación then sentencia if en una sola linea if comparación then sentencia
if comparación then
sentencia 
sentencia 
end if 
if para una o mas sentecias if comparación then
sentencia 
sentencia 
endif 
if comparación then
sentecia 
else 
sentencia2 
end if 
if con else if comparación then
sentecia 
else 
sentencia2 
endif 
if comparación then
sentecia 
elseif comparación2 the 
sentencia2 
else 
sentencia3 
end if 
if con elseif y else IF comparación [ { AND IF | OR IF } comparación2... ] THEN
... 
ELSE IF comparación3 [ { AND IF | OR IF } comparación4 ... ] THEN 
... 
ELSE 
... 
ENDIF 
Nota: ELSEIF no existe en gambas 
Select Case expresión
Case valor 
[sentencias1] 
Case valor 
[sentencias2] 
Case Else 
sentencias n 
End Select 
select case Selec Case expresión
Case valor [To expresión2] 
[sentencias1] 
Case valor [To expresión3] 
[sentencias2] 
Case Else 
sentencias n 
End Select 
bucles 


Visual basic 6 uso Gambas 2
Abandona un bucle inmediatamente. BREAK
Salta a la siguiente iteración de un bucle. CONTINUE
goto etiqueta
etiqueta: 
VB6 ir a etiqueta la etiqueta sola siempre termina en : igual
for i=0 to 100
sentencia 
next 
VB6 repetir sentencia 100 veces igual
for i=0 to 100
sentencia 
next i 
VB6 repetir sentencia 100 veces esta vez declarando explicitamente el next con la variable i no es igual, no se puede poner la variable, siempre
next 
for i=0 to 100
sentencia1 
for a=0 to 100 
sentencia2 
next a 
next i 
VB6 bucle for anidado con netx declarados explicitamente for i=0 to 100
sentencia1 
for a=0 to 100 
sentencia2 
next 
next 


for i=0 to 100 step 2
sentencia 
next i 
VB6 opcionalmente se puede especificar el paso con step en este caso contara de 2 en 2 y sentencia se repetiria 50 veces for i=0 to 100 step 2
sentencia 
next 
Bucle infinito, hasta que se cumpla la condicion DO [ UNTIL Expresión ] ... LOOP
Bucle de enumeración. FOR EACH ... NEXT
Do ... Codigo ... Codigo Loop Until Criterio Bucle con una comprobación de salida al final
VB6 no existe REPEAT pero este es el equivalente 
REPEAT ... UNTIL
ejemplo: 
REPEAT
PRINT Timer
UNTIL Timer > 10
Bucle con una comprobación de salida al inicio. WHILE ... WEND
control de errores 


Visual basic 6 uso Gambas 2
on error goto linea
linea: 
en vb6 se coloca antes de donde se pueda producir el error
en caso de producirce el error la ejecucion del programa continua en linea: 
en gambas coloca Ejecuta la sentencia sin lanzar el error aunque se produzca 
TRY sentencia
on error goto next en vb6 se coloca antes de donde se pueda producir el error en caso de error
omite la linea y continua en la sigiente y asi sucesivamente 
IF Error THEN ....


err Se puede saber si hay error consultando...
en vb6 consultando el objeto err err.description o Err.Number debe ser limpiado para conocer futuros errored con err.clear 
en gambas 
IF Error THEN ....
Se coloca al final de un procedimiento, y se ejecutan las sentencias siempre (haya o no error) FINALLY
Se coloca al final de un procedimiento, y se ejecutan las sentencias solo si ha habido error CATCH
Herramientas personales
Patrocinador
Hosting: www.sferahosting.com