Curso de ASP.NET

Cursos Relacionados:

2.6 Declarar variables

Ya estamos preparados entonces para declarar variables, éstas se pueden declarar de dos formas, aunque básicamente es lo mismo:

  1. Declarar la variable y dejar que VB asigne el valor por defecto
  2. Declarar la variable y asignarle el valor inicial que queramos que tenga.

Por defecto, cuando no se asigna un valor a una variable, éstas contendrán los siguientes valores, dependiendo del tipo de datos que sea:

  • Las variables numéricas tendrán un valor CERO.
  • Las cadenas de caracteres una cadena vacía: ""
  • Las variables Boolean un valor False (recuerda que False y CERO es lo mismo)
  • Las variable de tipo Objeto tendrán un valor Nothing, es decir nada, un valor nulo.

Por ejemplo:

Dim i As Integer

Tendrá un valor inicial de 0

Pero si queremos que inicialmente valga 15, podemos hacerlo de cualquiera de estas dos formas:

1.
    Dim i As Integer
    i = 15

2.
    Dim i As Integer = 15

Esta segunda forma es exclusiva de la versión .NET de Visual Basic, (también de otros lenguajes, pero es algo nuevo para los programadores de VB), que la forma mostrada en el punto 1. es la forma clásica, (la única que se puede usar en las versiones anteriores de VB). Y es la que mas veremos en los ejemplos de código realizado por nosotros y por terceros.

Las constantes se declaran de la misma forma que la indicada en el punto 2., ya que no se podrían declarar como lo mostrado en el punto 1., por la sencilla razón de que a una constante no se le puede volver a asignar ningún otro valor, ya que si no, no serían constantes, sino variables. Por ejemplo:

Const n As Integer = 15


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP.NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


¿Qué ventajas tiene usar constantes en lugar de usar el valor directamente?

Pues que, hay ocasiones en las que dicho valor se repite en un montón de sitios, y si por una casualidad decidimos que en lugar de tener el valor 15, queremos que tenga el 22, por ejemplo, siempre será más fácil cambiar el valor que se le asigna a la constante en la declaración, que tener que buscar los sitios en los que usamos dicho valor y cambiarlos, con la posibilidad de que se nos olvide o pasemos por alto alguno.

Para declarar una constante de tipo String, lo haremos de esta forma:

    Const s As String = "Hola"
    Const euro As Single = 166,386
   
Const pi As Single = 3,1416
 

De igual manera, para declarar una variable de tipo String y que contenga un valor, lo haremos de esta forma:

    Dim Nombre As String = "Guillermo"

Es decir, en las variables usaremos la palabra DIM, mientras que en las constantes usaremos CONST. Después veremos algunas variantes de esto, aunque para declarar constantes, siempre hay que usar Const.

Otra definición puede ser por ejemplo definir una constante que se llame "pi" y asignarle el valor "3.1416", de esta forma en el código haré referencia siempre al valor "pi" y el programa lo entenderá bien y además será mas legible.

Podemos usar cualquier constante o variable en las expresiones, e incluso, podemos usar el resultado de esa expresión para asignar un valor a una variable.

Por ejemplo:

Dim x As Integer = 25
Dim
i As Integer

i = x * 2

En este caso, se evalúa el resultado de la expresión, (lo que hay a la derecha del signo igual), y el resultado de la misma, se asigna a la variable que estará a la izquierda del signo igual.

Incluso podemos hacer cosas como esta:

    i = i + 15

Con esto, estamos indicándoles a VB que: calcula lo que actualmente vale la variable i, súmale el valor 15 y el resultado de esa suma, lo guardas en la variable i. Es decir lo leemos de derecha a izquierda: calcula i + 15 y el resultado se lo asignas a la variable "i". Por tanto, suponiendo que i valiese 50, después de esta asignación, su valor será 65, (es decir 50 que valía antes más 15 que le sumamos).

Esto último se llama incrementar una variable, y el VB.NET tiene su propio operador para estos casos, es decir cuando lo que asignamos a una variable es lo que ya había antes más el resultado de una expresión:

i += 15

Aunque también se pueden usar: *=, /=, -=, etcétera, dependiendo de la operación que queramos hacer con el valor que ya tuviera la variable.

Por tanto i = i * 2, es lo mismo que i *= 2

Por supuesto, podemos usar cualquier tipo de expresión, siempre y cuando el resultado esté dentro de los soportados por esa variable:

i += 25 + (n * 2)

Es decir, no podemos asignar a una variable de tipo numérico el resultado de una expresión alfanumérica:

i += "10 * 25"

Ya que "10 * 25" es una constante de tipo cadena, no una expresión que multiplica 10 por 25. Al estar entre comillas dobles se convierte automáticamente en una constante de cadena y deja de ser una expresión numérica.

Aunque parezca que esta sintaxis no simplifica la escritura de código (i+=15) por mi parte prefiero la tradicional y mas directa de i=i+15 por razones de claridad en nuestros ejemplos. De todas formas los que vengáis del lenguaje C que ya admitía esta sintaxis os vendrá bien para no cambiar de estilo.

Sigamos... no vamos a profundizar en lo anterior pero para que sepas que haciendo las cosas como se deben hacer... casi todo es posible, aunque lo que esté escrito dentro de comillas dobles o esté contenido en una variable de cadena no se evalúa... lo más que podemos hacer es convertir esa cadena en un valor numérico, en el caso de "10 * 25", el resultado de convertirlo en valor numérico será 10, ya que todo lo que hay después del 10, no se evalúa... simplemente ¡porque no es un número! son letras, que tienen el "aspecto" de operadores, pero que no es el operador de multiplicar, sino el símbolo *.

Por tanto, esto: i = Val("10 * 25")
es lo mismo que esto otro: i = Val("10")

Es decir la función VAL nos asigna a una variable numérica el resultado de convertir una cadena de caracteres. Por ejemplo, cuando trabajemos con nuestra interfaz crearemos muchos cuadros de texto donde escribiremos los datos para interactuar con el programa. Bueno, pues los datos que recogen estos cuadros de texto se comportan como cadenas de texto, así que si un campo es por ejemplo, la edad, luego tendremos que convertir ese valor a numérico:

    edad=VAL(cuadro_de_texto.texto)

Así en la variable "edad" que declaramos como de tipo entero tendrá el valor adecuado... ¿se entiende mejor? Así que en general procuraremos asignar a las variables los valores con el formato adecuado. Vemos unos ejemplos de la función VAL:

    edad=VAL ("23")        --> Devuelve el valor numérico 23
    edad=VAL ("hola")      --> Devuelve el valor numérico 0
    edad=VAL ("23jose")   --> Devuelve el valor numérico 23

Es decir convierte las letras en números hasta que se encuentra algo que no es numérico. En el ejemplo que teníamos un poco mas arriba ("10 * 25") al estar entre comillas entiende que es una cadena de caracteres y comienza a convertirlo... cuando llega al "*" ve que no es un número y detiene la conversión, de ahí que nos devuelva sólo el valor numérico 10.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP.NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Detalles de las asignaciones y tipos de datos

Recuerda que hay que tener cuidado con definir el tipo de datos de las variables, aunque con el tiempo esto se convertirá en una tarea mecánica, verás... Pero pueden parte cosas como esta.

Sin querer definimos dos variables como string:

dim valor1 as string
dim valor2 as string

Durante el programa le asignamos unos valores:

dato1="20"
dato2="40"

Y realizamos una sencilla operación con ellos:

resultado=dato1+dato2

El resultado no es el valor 60 si no que es la concatenación de las dos variables "20" + "40" = "2040". Las variables de tipo string siempre son entre comillas.

Para los tipos fecha recuerda que si utilizamos la asignación con los caracteres # el formato interno es #mes-dia-año# que es el americano, sino utilizará el que tengamos en nuestra configuración regional. Por lo tanto:

#10/01/2005# Es el 1 de Octubre de 2005 y no el 10 de enero.

Las variables de tipo boolean (true-false) se utilizan mas de lo que supones así que tenlas presentes porque facilitan la lectura del código siempre que se puedan utilizar...


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP.NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


2.7 Convenciones de nombre

La guía de buen estilo de los programadores intenta marcar unas pautas en cuanto a los nombres que se deben poner a las variables y otras partes de los programas. Esto que aparece a continuación es una recomendación que intentaremos seguir a lo largo del curso. La ventaja es que el tipo de datos se lo decimos en el nombre de la variable, así cuando leamos el código podemos saber de que tipo son cada una de ellas sin tener que acudir a la parte donde se declararon.

Tipo de datos Prefijo Ejemplo
Boolean bln blnestado
Date dat dathoy
Double dbl dblnomina
Integer int intedad
Long lng lnglargo
String str strnombre

Como normalmente tenemos poco tiempo para escribir código no solemos detenernos para seguir una guía de estilo pero te aconsejo que lo intentes. Imagina que un día te toca retocar el código de otra persona y ha seguido un mínimo las normas de estilo... seguramente inviertas la mitad del tiempo en resolver el problema...


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP.NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de ASP.NET y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.