jueves, 21 de diciembre de 2006

Capitulo 3 (Dimensionar variables, Option explicit)

En este capitulo aprenderemos como dimensionar una variable.
Ustedes se preguntaran, ¿Que es dimensionar?, se puede definir como reservar un espacio en la memoria poniéndole un nombre pero todavía no un valor. Así es como se DIMensiona una variable:

Dim [identificador] as [tipo]

Veamos un ejemplo usando uno del capitulo anterior:


Private Sub Form_Load()
Show
dim bienvenida as String

bienvenida = "Hola mundo"
Print bienvenida
End Sub


Apretamos F5 para ejecutar el programa y:

Imagen hospedada por Subir-Imagenes.com

Y ahora usted se preguntara, para que yo voy a escribir una linea mas si el resultado es exactamente lo mismo. La diferencia ocurre a nivel físico. Nosotros sabemos que dentro de la variable bienvenida va a haber solo 2 palabras. Si nosotros no dimensionamos la variable esta se auto pondrá de tipo Variant, este tipo de variable esta preparado para recibir tanto números enteros o decimales como también letras. Pero recervar un espacio en la memoria preparado para guardar tanta variedad de cosas ocupa mas espacio en ella que una variable solo hecha para almacenar letras, exactamente como nuestra variable bienvenida. Por lo tanto, si sabemos que nuestra variable solo contendrá letras, palabras o caracteres no numéricos seria mejor dimensionar esa variable como String, esta clase de variables solo aceptan letras, palabras o caracteres no numéricos. Aunque también se pueden almacenar números, pero la computadora los tratara como palabras, como resultado no se podrán sumar ni restar al igual que dividir o multiplicar.

Tambien existe el tipo de variable Boolean, son llamadas variables booleanas. Estas variables solo pueden contener un valor 0 o -1. El Visual Basic te permite escribir a = True o a = False siendo a una variable booleana. Estas variables son muy usadas en condicionales o bucles, ya veremos que son.

Los distintos tipos de variables son los siguientes:

Integer: ocupa 2 bytes en la memoria. Soporta números desde -32.767 hasta 32.767 (enteros)
Long: ocupa 4 bytes en la memoria. Soporta números desde -999.999.999 hasta 999.999.999(enteros)
Single: ocupa 4 bytes en la memoria. Soporta números desde -999.999.999 hasta 999.999.999(enteros y decimales)
Double: ocupa 8 bytes en la memoria. Soporta números desde -1E+308 hasta 1E+308(enteros y decimales).
String: el tamaño que ocupe en la memoria se puede cambiar a gusto con un método que enseñare mas adelante.
Boolean: ocupa solo un bite en memoria ya que tiene un valor positivo o negativo. Soporta solo True o False que seria 0 o -1.

Para aquellos que no hayan entendido este numero 1E+308 les explico que el VB (Visual Basic) suplanta un numero cuando ya sobrepasa las 15 por eso. El numero antes de la E es el primer numero de la cifra, y el segundo numero seguido del + quiere decir cuando ceros hay detrás de ese uno. Comprenderán que una variable de tipo Double puede tener como valor un numero tremendamente descomunal.

Tambien es posible declarar una variable escribiendo menos codigo. Cambiando por ejemplo As Integer por %. Aqui les dare todos los simbolos para abreviar:

Dim num as Integer Abreviatura: Dim num%
Dim num as Long Abreviatura: Dim num&
Dim num as Single Abreviatura: Dim num!
Dim num as Double Abreviatura: Dim num#
Dim num as String Abreviatura: Dim num$
Dim num as Variant Abreviatura: Dim num

Para darle el tamaño deseado a una variable del tipo String se hace del siguiente modo.

Dim [identificador] as String * [numero de caracteres deseados]

Osea, el ejemplo anterior para mejorarlo en cuanto a consumo de memoria quedaría así:


Private Sub Form_Load()
Show
dim bienvenida as String *10

bienvenida = "Hola mundo"
Print bienvenida
End Sub


Pero, que pasaria si por equivocacion envez se reservar 10 caracteres en memoria reservariamos 8, este seria el resultado:

Imagen hospedada por Subir-Imagenes.com

Como ven, ya que no estaban reservados los caracteres necesarios la palabra quedo cortada.

Y por ultimo para ya terminar con este capitulo les explicare lo que me quedo pendiente: Option explicit.
Esto, les recomiendo desde ya, que lo escriban en el primer renglon de todo codigo, fuera del Private Sub. O tambien pueden hacer que esto sea automatico y que siempre al empezar un proyecto este escrito. Para hacer esto tienen que entrar a herramientas (o tools) - Opciones... (o options...). Se abrira una ventana, dentro de la pestaña editor deben marcar el segundo cuadrito, en el que al lado derecho dice requerir declaracion de variables.
Lo que Option Explicit hace es avisarte cuando una variable no ha sido dimensionada.

Antes de terminar el capitulo quiero recomendarles dimensionar todas las variables al principio del Private Sub que estén usando. Esto hará que su programa sea mas entendible a la hora de queres agregar algo o solucionar algún desperfecto (Bug). Mejor ganar esta costumbre ahora que ir lamentando en un futuro cuando uno de tus programas ocupen 15 o mas hojas de código y al querer cambiar algo no sabes donde esta, o peor, esta trozado en todo el código. Por lo tanto recuerda ser ordenado, te ayudara en un futuro.

3 comentarios:

Anónimo dijo...

Buen blog me a servido weno dentro de lo q llevas por ahora

Elliot Martínez dijo...

Excelente material, muy comprensilble. Gracias por el aporte.

JYAVARA dijo...

bien, revisar la ortografía.