Duda novato VB6

Iniciado por miomi, 19 Enero 2011, 16:27 PM

0 Miembros y 1 Visitante están viendo este tema.

miomi

Hola, estoy empezando a aprender ellenguaje VB6 pero no entiendo una cosa:

Dim Número As Integer
Número = 5
Print Número
Número = 12
Print Número

Bueno, este es un ejemplo en un curso de VB6. Veran no entiendo para que seusa Dim, en el curso lo explica dice que es para guardar un ''cachillo'' de memoria para nuestro uso. No entiendo en que sediferencia eso de crear dos variable y ya esta. Ejemplo

Show
Numero = 5
Print NUmero
Numero = 6
Print Numero

Al fin y al cabo hacen lo mismo... Gracias

ignorantev1.1

Si es lo mismo, pero lo que un buen programador debe tener es bien documentado y organizado el codigo. Busca sobre "option explicit" y "parametros por referencia"... ;)

79137913

#2
HOLA!!!

Cuando se declara una variable sea Publica (Public) o Privada (Dim o Private) (Tambien existen otros tipos :¬¬) se guarda un espacio especifico de la memoria para usarla luego, en cambio si uno no la declara VB6 generara una instancia de cada variable que se use (no declarada) la misma no se podra usar fuera del procedimiento en el que se creo (si se usa estara vacia). Por ejemplo hace esto:

En el Form_load pone Numero = 3
Y en Command1_click pone print Numero

Veras que no imprime el 3 sino una variable vacia.

Para que imprima el 3 tendras que DECLARAR Numero fuera de los procedimientos. Asi si es Privada quedara declarada para todo el modulo y si es publica para el proyecto.

En fin, conviene que las declares, por que el Motor de VB6 que selecciona las variables automaticamente a veces no anda bien, talves la declara como numero entero y era un numero con coma o doble.

Espero haber sido util, sino responde nuevamente e intento explicarlo de nuevo ;).

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Psyke1

#3
Para la segunda forma (sin Dim) no puedes tener Option Explicit declarado. :silbar:
El Option Explicit, te avisa si utilizas una variable no declarada... :)
Sin él, todas las variables quedarían Variant cosa que no es aconsejable porque ocupa más espacio en la memoria que cualquier otro tipo de varibale, al ser la variable comodín. :xD A parte que los arrays por defecto se crean de 0 to 10...
Además, sería un código mucho más desorganizado. :-\

Más info: http://en.wikipedia.org/wiki/Variant_type




Conclusión:
Usa Option Explicit y declara todas las variables. ;)

Un ejemplo:
Código (vb) [Seleccionar]

'código declarando variable
Option Explicit

Private Sub Form_Load()
Dim Número As Integer
   Me.AutoRedraw = True
   Número = 5
   Me.Print Número
   Número = 12
   Me.Print Número
End Sub


Código (vb,6) [Seleccionar]

'código sin declarar variable
Option Explicit

Private Sub Form_Load()
   Me.AutoRedraw = True
   Número = 5 ' Error - variable no definida
   Me.Print Número
   Número = 12
   Me.Print Número
End Sub


@79137913
No solo hay Private, Public y Dim.
Tambien hay Global, Static (y Const para las constantes... :P)

Más info: http://www.vbforums.com/showthread.php?t=468662

DoEvents! :P

miomi

Muchas gracias a todos los que habeis respondido, me habeis resuelto la duda. Perdonad si era muy tonta pero es mi primer lenguaje jeje...
Muchisimas gracias, gran comunidad! Salu2

79137913

HOLA!!!

@Mr Frog:  :¬¬ Es cierto ya modifique.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

BlackZeroX

Cita de: Mr. Frog © en 19 Enero 2011, 16:46 PM

No solo hay Private, Public y Dim.
Tambien hay Global, Static (y Const para las constantes... :P)


y Friend para los procesos/propiedades/funciones, pero esto ya es irse por las ramas del tema/hilo principal que era solo Dim!¡.

Dulces Lunas!¡.
The Dark Shadow is my passion.