Variables
Variable: Definición
En informática Variable se define como un nombre o una letra que sirve para almacenar datos; Los cuales pueden ser valores numéricos o palabras, como por ejemplo los nombres y apellidos de una persona.
Como su nombre lo indica, las Variables pueden contener datos que cambian o varían con el tiempo.
Por ejemplo, una Variable llamada Nombre puede contener en un momento el nombre Brenda, en otro momento Marlen, Digna, Marcela y así sucesivamente. Es decir el dato en la variable Nombre varía con el tiempo.
Otro ejemplo puede ser una Variable llamada Tiempo en la cual cada día se almacena la temperatura de ese día, obviamente el dato almacenado será diferente cada día, es decir serán variables.
Creando Variables.
Para que una variable cumpla sus funciones, es necesario, que se sigan los siguientes pasos:
- Declarar la variable: En este paso se le da un nombre a la variable y se dice que tipo de variable es (Integer, String, Boolean, Date, etc.)
- Asignar la variable: Significa darle un valor a la variable (El dato que almacenará)
- Utilizar la variable: Las variables para que sean útiles deben utilizarse en el programa, sino, no tiene objetivo su creación.
Declarando una Variable:
En este paso se le da un nombre a la variable y se dice que tipo de variable será.
Recuerde que en una sección anterior de este libro se le explicó como configurar el IDE de Visual Basic para que en la configuración del programa, quedara Option Éxplicit en On, para que al momento de desarrollar un proyecto, el programa no lo deje continuar si no ha declarado la variable. Esto tiene importancia al momento de trabajar con variables porque si intentamos utilizar una variable sin declararla entonces nos generará error.
Para declarar una variable se usan las palabras clave Dim y As
La palabra Dim se origina de la abreviatura de Dimensión y es una palabra reservada de Visual Basic para declarar variables.
La palabra As es reservada de Visual Basic y sirve para decir que típo de variable será.
El nombre de una variable debería dar una idea del para que sirve, por ejemplo, si en una variable vamos a guardar modelos de carros entonces el nombre de la variable podría ser ModelCar.
Tipos De Variables:
El tipo de variable que se declara depende de que datos se almacenen en esa variable. Por ejemplo si en la variable vamos a almacenar números enteros entonces el tipo será Integer, si se almacenarán palabras (texto) entonces el tipo será String, si se almacenarán fechas u horas entonces el tipo será Date.
Si en la variable se almacenarán valores True o False (verdadero o falso) entonces el tipo será Boolean.
Si se almacenarán imágenes entonces se puede usar el tipo Object
A continuación se muestra una tabla con la relación entre el tipo de datos que almacena una variable, según el tipo y el tamaño de la variable. Esto último tiene importancia por que hay tipos de variables que ocupan mas espacio en la memoria.
Cuadro: Tipos de Variables
Tipo | Datos que almacena | Tamaño | Ejemplo | Rango |
String | Texto, palabras | variable | Dim Nombre As String=”Brenda” | 0 a 2,000 millones de caracteres Unicode. |
Integer | Números enteros | 4 bytes | Dim TotalCar As Integer=3 | -2,147,483,648 a 2,147,483,647 (con signo) |
UInteger |
| 4 bytes |
| 0 a 4.294.967.295 (Sin signo) |
Single | Números decimales | 4 bytes | Dim Talla As Single=1.62 | -3,4028235E+38 a -1,401298E-45 † para los valores negativos; 1,401298E-45 a 3,4028235E+38 † para los valores positivos
|
Boolean | True o False | Variable en función de la plataforma | Dim Existencia As Boolean | True o False |
Date | Fechas, horas | 8 bytes | Dim FechNac=21/10/2012 | 0:00:00 (medianoche) del 1 de Enero de 0001 a 11:59:59 p.m. del 31 de Diciembre de 9999. |
Decimal | Número decimales | 16 bytes |
Dim Pi As Decimal Decimal=3.1416 | 0 a +/-79.228.162.514.264.337.593.543.950.335 (+/-7,9... E+28) † sin separador decimal; 0 a +/-7,9228162514264337593543950335 con 28 posiciones a la derecha del decimal; el número distinto de cero más pequeño es +/-0,0000000000000000000000000001 (+/-1E-28) †
|
Byte | Byte | 1 byte |
| 0 a 255 sin signo |
Char | Letras, Símbolo | 2 bytes |
| 0 a 65535 (sin signo) |
Double |
| 8 bytes |
| -1.79769313486231570E+308 hasta -4.94065645841246544E-324 para valores negativos y 4.94065645841246544E-324 hasta 1.79769313486231570E+308 para valores positivos. |
Long |
| 8 bytes |
| -9,223,372,036,854,775,808 hasta 9,223,372,036,854,775,807 (9.2…E+18 (con signo) |
ULong |
| 8 bytes |
| 0 a 18.446.744.073.709.551.615(1,8…E+19) sin signo |
Short |
| 2 bytes |
| -32,768 hasta 32,767 |
Ushort |
| 2 bytes |
| 0 a 65,535 (Sin Signo) |
Sbyte |
| 1 byte |
| -128 a 127 (con signo) |
Objeto |
| 4 bytes en plataforma de 32 bites y 8 bytes en plataforma de 64 bits |
|
Cualquier objeto puede almacenarse en una variable de tipo Object. |
Como puede ver en el cuadro anterior se presentan 16 tipos de variables las cuales se usarán de acuerdo al tipo de programa que se está desarrollando.
Asignando la Variable.
En este paso de la creación de una variable se le asigna el dato o valor que almacenará.
Para asignarle un valor, se utiliza el signo igual “= “y se puede hacer en la misma línea de la declaración del nombre y el tipo, o en una línea diferente.
Ejemplo: Asignar Valor a la variable PrimerHija.
Dim PrimerHija As String
PrimerHija = “ Yessenia Nohemy Ayala ”
En este ejemplo se hizo la asignación de la variable en una línea diferente, pero puede hacerse en una misma línea.
Dim PrimerHija As String =”Yessenia Nohemy Ayala”
Y los resultados serán los mismos.
Ejercicio: Declarando y Asignando valor a una Variable en una y dos líneas.
- Cree un nuevo proyecto y en el formulario agregue tres button y un Label.
- A los botones uno y dos (Button1 y Button2) cámbieles la propiedad Text a “Primer Hija”.
- Al botón tres (Button3) cámbiele la propiedad Text a Borrar Texto.
- El Label1 déjelo en su propiedad Text como está, pero cámbiele la fuente (letra) a un tamaño más grande y la propiedad ForeColor déjela en rojo.
El formulario quedaría así:
- Ahora abra el editor de código del button1 y escriba lo siguiente:
Dim PrimerHija As String
PrimerHija = "Yessenia Nohemy Ayala"
Label1.Text = PrimerHija
Observe que en este caso se Declaró la variable en una línea y se Asignó el valor en otra.
- En el editor de código del Button2 escriba lo siguiente:
Dim PrimerHija As String = "Yessenia Nohemy Ayala"
Observe que en el segundo caso se Declara y Asigna la Variable en la misma línea.
- En botón tres (Button3) escriba el siguiente código:
Label1.Text = ""
Con este código le está diciendo al programa que al dar clic en el botón 3 se borre el texto que está en el Label1.
- El código completo queda como se ve en la siguiente imagen.
- Ejecute el programa.
- Al dar clic en cualquiera de los dos botones superiores, el resultado es el mismo, no obstante que se escribió el código en una y dos líneas.
- De paso en este ejercicio, observe el código del botón Borrar Texto por que es una manera fácil de borrar el contenido de un control,
Utilizando la Variable.
Una vez se ha declarado una variable asignándole un nombre y definiendo el tipo, debe utilizarse para que tenga sentido su declaración.
Ámbito de las Variables:
El ámbito de las variables es el que define el nivel de acceso a las variables.
El ámbito puede ser:
- En el Procedimiento o de alcance Local: la variable tendrá acceso solo desde el procedimiento.
- En el Módulo: La variable tendrá acceso desde todos los procedimientos del módulo.
- Publico:(Global) Cuando el acceso a la variable puede hacerse desde cualquier procedimiento y cualquier módulo.
Para entender mejor el ámbito de las variables se presenta el siguiente ejemplo:
Imagínese que se jugará la final del Mundial 2014, usted no puede ir al estadio y quiere ver el partido; pero no quiere verlo solo;porque quiere gente llena de emoción que lo acompañen a ver el partido de football.
Usted adquirió un televisor pantalla grande para tal fin… ¡Ver la final del mundial 2014!
Si coloca ese televisor en su habitación personal solo usted podrá ver el partido por que es un lugar solo para usted.
Si coloca el televisor en la sala de la casa todos los que viven o están en la casa podrán ver el partido; Porque la sala de la casa es un lugar de acceso y reunión para todos los que llegan, viven o están en la casa.
Pero usted quiere que todas las personas que deseenpuedan ver la final del mundial 2014 en su televisor, entonces decide colocar el televisor en un lugar público y elige el parque más cercano a su casa.
Haciendo una analogía con el ámbito de las variables entonces su habitación seria el Procedimiento, la sala de la casa sería el Módulo y el parque sería el ámbito Público.
En el primero se tiene acceso limitado por que solo se accede al televisor o a la variable dentro de la habitación que sería como él (procedimiento); En el segundo, que es la sala (módulo) se tiene acceso desde todos los procedimientos (todas las habitaciones y la cocina de la casa) y en el tercero que es un ámbito Público o global (El parque) todos tienen acceso, es decir, desde todos los módulos y procedimientos.
Lugar de Declaración de las Variables según Ámbito.
Las variables con ámbito en el procedimiento son declaradas al principio del procedimiento, Las variables con el ámbito en el módulo son declaradas en la cabecera del módulo y las del ámbito público al principio de un módulo estándar.
Ejercicio con variables.
Abra Visual Basic 2010 para iniciar un proyecto nuevo y asígnele el nombre Variables Ejemplo 2010 y luego en el formulario agregue 4 controles Botón y 4 labels, como se ve a continuación:
Control | Name | Text |
botón1 | Déjelo como esta | Variable String |
botón 2 | Déjelo como esta | Variable integer |
botón 3 | Déjelo como esta | Variable Single |
botón 4 | Déjelo como esta | Variable Boolean |
Label1 | LblString | Variable String |
Label2 | LblInteger | Variable Integer |
Label3 | LblSingle | Variable Single |
Label4 | LblBoolean | Variable Boolean |
Como usted ve; son ocho controles que después de configurar sus propiedades como se le indican en el cuadro anterior, el formulario quedará así…
Ahora tiene que escribir código para cada botón, para esto, dé doble clic en el botón Variable String y verá que el programa ya le ha ayudado a escribir código para ahorrarle tiempo y horas de trabajo, haciendo que usted sea más productivo en menos tiempo.
Ahora escriba debajo de la línea que empieza con Private Sub…
Lo siguiente:
Dim Nombre As String
Nombre = "Brenda"
LblString.Text = Nombre
Vamos a explicar lo anterior para que el ejemplo quede claro.
- En la línea Dim Nombre As String se esta declarando la variable Nombre, que se convierte en la identidad de la variable; como cuando a una persona al nacer le van a registrar el nombre para que exista legalmente. Se declara que será del tipo String usando la palabra reservada de Visual Basic AS y si es tipo String, significa que en esa variable solo se almacenarán palabras, letras o valores de texto, obviamente no se almacenaran números por que estos se almacenan en variables tipo Integer; Pero si puede almacenar números, si estos no van a usarse para operaciones matemáticas. ¿va entendiendo? ¿verdad que si? Bueno entonces vamos bien.
El Label o etiqueta de este ejemplo se llama LblString, pero pudo haberse llamado de otra manera, Por que eso depende del programador o programadora. El nombre debe empezar con letra mayúscula y si está formada por dos palabras la primera letra de cada palabra, debe ir en mayúscula. Lo ideal es que el nombre esté relacionado con su uso. En este caso se llama LblString, por que convencionalmente, en programación, el Label se abrevia Lbly la palabra String, es por que se usará para almacenar una variable de tipo texto; pero pudo llamado LblTexto, LabelString, LabelTexto, etc.
- En la línea Nombre=”Brenda” le estamos asignando un valor a la variable y el valor que le asignamos es “Brenda”
Observe que la palabra Brenda aparece entre comillas para que Visual Basic la intérprete literalmente, es decir tal y como está escrito. Si no pone el texto entre comillas le aparecerá subrayado como error.
- En la línea LblString.Text = Nombre, se le está diciendo a Visual Basic que en el Label o Etiqueta llamada LblString, muestre el dato almacenado en la variable llamada Nombre;
Sea acucioso y observe que en las tres líneas de código anteriores se siguieron todos los pasos para las variables, se declaró el nombre y tipo de variable, se le asignó un valor y luego se utilizó mostrando el valor almacenado en la variable, en un control label.
Dim Nombre As String (declarando la variable)
Nombre=”Brenda” (Asignando un valor)
LblString.Text=Nombre (Utilizando la variable)
Los principios del código para los botones 2,3 y 4 son los mismos que el botón uno. En todos se declara, asigna valor y se utiliza la variable que en cada caso es diferente.
Para continuar con el ejercicio, dé doble clic en el botón 2 y escriba lo siguiente:
Dim Edad As Integer
Edad = 90
LblInteger.Text = Edad
Luego dé doble clic en Botón 3 y escriba lo siguiente:
Dim Estatura As Single
Estatura = 1.6225
LblSingle.Text = Estatura
Por último escriba el código para el botón 4…
Dim Resultado As Boolean
Resultado = True
LblBoolean.Text = Resultado
El editor de código debe quedar así:
Ahora presione F5 para probar o ejecutar el programa y verá lo siguiente:
Al dar clic en cada uno de los botones se mostrará, en los labels, el valor almacenado en las variables según el botón en que se dio clic.
Analice la imagen anterior y observe como una variable Integer almacena un número, una String almacena texto, una boolean almacena un valor True o False (Verdadero o Falso) y una variable Single almacena un valor no entero o con punto decimal.
Inhabilitando código.
Aprovechando este proyecto vamos a poner en práctica la inhabilitación de código que como ya se explicó, se hace insertando una comilla simple (‘) al principio de la línea de código que deseamos que el programa no ejecute o no reconozca.
Inhabilite las líneas de códigos que dice LblString, LblInteger, LblSingle y LblBoolean; escribiendo una comilla simple al principio de las líneas mencionadas y observe como cambia a color verde. Esto significa que este código no se ejecutará; Es igual que si no existiera.
Abajo de cada línea en verde escriba: MsgBox (Nombre), MsgBox (Edad), MsgBox (Estatura) y MsgBox (Resultado) respectivamente.
Con el código anterior, estaremos diciéndole al programa que el resultado lo queremos en un mensaje y no en un Label.
El código deberá quedar así:
Todas las líneas verdes están deshabilitadas, por lo que el programa no las toma en cuenta y no las ejecuta.
Ahora presione F5 para ver el resultado del programa, y vea que sucede, al dar clic en cada uno de los botones.
Es el mismo resultado que el producido antes de incrustar la comilla simple para inhabilitar código; lo único que esta vez es desplegado en un cuadro de mensaje llamado MsgBox.
Una cosa interesante en este ejercicio es que si usted no inhabilita con la comilla simple la línea del Lbl.Text y escribió la línea de MsgBox ( ) el programa le mostrará las dos opciones; es decir, le mostrará el resultado en el Label y a continuación en el MsgBox
Pruebe esto quitando la comilla simple de la línea que dice Lbl.text =Nombre y de Lbl.Text=Edad
El código queda así:
Ninguna línea esta en color verde por lo tanto todas las instrucciones están habilitadas.
Ejecute el programa desde el menú Depurar------ >Iniciar Depuración y observe el resultado…
Al dar clic en el botón Variable String el programa le muestra el nombre Brenda en el Label de Variable String y también en un MsgBox.
Dé clic en el botón siguiente y verá que sucede lo mismo, pero en los últimos dos botones no se muestra el dato en el label por que los dejamos inhabilitados con comilla simples.
A propósito de la comilla simple para inhabilitar código, también de esta misma manera se pueden escribir instrucciones o comentarios en el editor de códigos sin que tenga influencia en la ejecución del programa.
Para concluir este ejercicio, si no había guardado el proyecto, hágalo ahora desde el menú Archivo-------- >Guardar todo y luego puede cerrar el programa desde el botón cancelar.
Variables constantes:
Muchas veces hay datos en una variable que son los mismos todo el tiempo. Por ejemplo, si en un programa usamos la constante Pi (π) el valor siempre será 3.141592 por lo que se denominan Variables constantes.
Cadenas:
Cadena se define como una serie de caracteres de texto como letras, números, espacios y caracteres especiales por ejemplo símbolos de música, Pi, etc.
Los textos se almacenan en variables tipo String.
Ejemplo de una cadena es el siguiente:
Dim Nombre As String
Nombre= “Luis”
Otro ejemplo puede ser:
Dim Apellido As String
Apellido =”Ayala”
Las comillas “” deben encerrar las cadenas o textos para que se vean literalmente o sea tal y como están escritas.
Concatenación:
Concatenación es la unión de dos o más cadenas y se usa el signo Ampersand “& “para representarlo.
Por ejemplo, si queremos unir las cadenas Nombre y Apellido debemos usar el signo de concatenación ó ampersand.
Ejercicio: Concatenación.
Cree un nuevo proyecto con el nombre ConcatenacionEjemplo2010
En un formulario inserte 3 controles labels, 2 Textbox y un Button.
Al label1 cámbiele la propiedad Text a Nombre, al Label 2 cámbiela a Apellido y al Label 3 a Nombre Completo.
Al control Button o botón cámbiele la propiedad Text a Ver Nombre y Apellido.
A los dos TextBox no les haga cambios.
Si hizo todo bien el diseño le quedará así:
Es importante que el label 1 sea el Nombre, label 2 el Apellido y el label 3 sea Nombre Completo, por que si no es así, el código no funcionará.
Ahora dé doble clic en el button y escriba el siguiente código…
Dim Nombre As String
Nombre = TextBox1.Text
Dim Apellido As String
Apellido = TextBox2.Text
Dim NombreCompleto As String
NombreCompleto = TextBox1.Text + TextBox2.Text
Label3.Text = NombreCompleto
El código total quedará así:
Ahora ejecute el programa usando F5
Escriba su nombre (yo escribiré el mío) en la casilla o TextBox1 o casilla de arriba y su apellido en el TextBox2 o casilla de abajo.
Ahora de clic en el botón y mire el resultado…
Observe que la cadena del primer Textbox se unió a la cadena del segundo Texbox para presentarnos el nombre y apellidos juntos…Pero hay un error que el autor de este libro (yo por supuesto ¡ja, ja, ja!) dejó intencionalmente, para explicarle lo del uso del signo de concatenación (&)
Observe que el nombre y apellido aparecen sin espacio por lo que se lee LuisAyala; Esto es por que en la línea de código para unir las dos cadenas se usó el signo de suma (+) en vez de (&) por lo que el programa se limita a unir los dos textos o cadenas, sin dejar espacio.
NombreCompleto = TextBox1.Text + TextBox2.Text
Con solo cambiar el signo + por & verá que al ejecutar el programa nuevamente, se verá el nombre y apellido con el espacio correspondiente.
NombreCompleto = TextBox1.Text & TextBox2.Text
El código total quedará así:
Y al ejecutar el programa se verá el siguiente resultado:
Creo que con esto ya ha comprendido bien el concepto de Variables, Concatenación y el uso del signo Ampersand “& “para unir cadenas.
Ahora cierre el proyecto guardando todo y si quiere salgase del programa y descanse un rato. Eso haré yo por que tengo más de cuatro horas continuas de estar frente a mi pc y un relax me viene bien.
Variables y código en una sola línea.
Se pueden declarar varias variables en una sola línea, si son del mismo tipo; solo se escribe el nombre de cada variable separado por comas, antes de decir que tipo es.
En el siguiente ejemplo el nombre de las variables N y A son del tipo String pueden ser declaradas en la misma línea.
Dim N, A As String
La asignación de valor de las variables se puede hacer también en la misma línea.
N = "Luis" : A = "Ayala"
Y las instrucciones o líneas de códigos pueden hacerse también en la misma línea pero separadas por dos puntos “ : ”
MsgBox(N): MsgBox(A)
Si quiere ver si funciona, debe crear un nuevo proyecto con el nombre que usted quiera y agregue un botón al formulario
Inserte en el código del botón, la siguiente instrucción entre Private Sub Button1….y End Sub.
El editor de código le quedará más o menos así:
Se declararon las dos variables, en una sola línea, separándolas por comas, se les asignó valor en otra línea, separándolas por dos puntos y posteriormente se instruye, para que se muestre en un mensaje, la variable N y luego en otro mensaje la variable A; Observe que esta parte del código también va separada por dos puntos.
Ejecute el programa y vea el resultado.
Si bien es cierto, que esta forma de escribir código funciona bien, Le recomiendo que no la use pues le quita claridad al código y puede facilitar la confusión.