TUTORIAL VB NET 2: TIPOS DE VARIABLES

jueves, 17 de abril de 2014

Una lección mas en nuestro tutorial de Visual Basic Net, De las lecciones que debemos aprender al usar Visual Basic Net  una de las mas importantes es como usar variables así como conocer otras características de ellas como ambito, tipo y demas . En este tutorial aprenderás todo sobre variables tema primordial a la hora de crear nuestras aplicaciones.

Empezaremos definiendo algunos conceptos:

¿Qué es una variable?
 Una variable es un espacio donde guardamos nuestra información temporalmente (mientras se ejecuta el programa) con el propósito de procesarla, analizarla o ejecutar operaciones como suma, resta y demás en el caso de variables numéricas. Una variable posee un nombre y un valor.

Definiendo una variable:
Para definir una variable existen reglas y tipos específicos, una variable se define como:

Dim minumero as integer
Dim nombre as string

Para definir el nombre es necesario respetar algunas convenciones como:

- Una variable debe comenzar con una letra o un signo de "_" seguido por letras o dígitos.
- No puede contener acentos u otros símbolos de puntuación
- No deben exceder los 1024 caracteres
- Debe ser único en su ámbito, no pueden haber 2 variables con el mismo nombre en una misma subrutina.

Inicializar una variable
Es cuando asignamos un valor en la misma línea que se declara.

Dim miedad as Integer=21

Que es igual a:

Dim miedad as Integer
miedad=21

También es posible inicializar varias variables al mismo tiempo.

Dim edad as Integer=31, mascotas as Integer=1

Tipos y categorías de Variables
Visual Basic Net posee 5 diferentes categorías de tipos:

- String (solo texto)
- Numeric (solo números)
- Boolean (valores verdadero o falso)
- Date (solo fechas)
- Object (puede almacenar cualquier tipo de dato)

Si bien es cierto el tipo Object puede almacenar cualquier dato, lo recomendable es usar cada dato con su tipo especifico ya que cada uno esta creado especialmente para su uso, usar el tipo equivocado puede ocasionar errores, un error muy común al usar datos numéricos es el famoso error de propagación que veremos más adelante, asimismo cada vez que Visual Basic utiliza una variable Object primero determina su tipo de dato y ejecuta su conversión si las variables son declaradas con su tipo de dato estas conversiones no seran necesarias.
Los números se almacenan de acuerdo a su longitud y su precisión en enteros, decimales, cientificos.

String
Este tipo de dato almacena caracteres, se definen así:

Dim minombre as string
minombre="alex"

Puedes almacenar 2 gigas de texto en una variable string.

Numeric
Este tipo de dato es exclusivo para números diferenciándose de acuerdo a su uso en:

- Integer (Enteros)
- Decimal
- Single (números de punto flotante con limitada precisión)
- Double (números de punto flotante con extrema  precisión usada más que nada para operaciones científicas)

Números de punto flotante son aquellos que se expresan como una fracción.

Error de Propagación
Este es un error común en cálculos numéricos que sucede cuando utilizamos tipos de datos no adecuados.
Ejemplo:

Caso 1:
Dim a As Single, b As Double

a=1/3
Debug.WriteLine(a)

Dara como resultado

0.3333333

El resultado es un valor aproximado ya que la división da como resultado un número infinito, Visual Basic y todos los programas de cálculo truncan el resultado.

a = a * 100000
Debug.WriteLine(a)

El resultado sera 33333.34

Si dividimos este valor entre 100000 el resultado no será el original sino uno diferente ese es el famoso error de propagación en una serie larga de cálculos científicos este error sería importante.

Si usáramos la variable b de tipo double y aplicáramos el mismo procedimiento

b=1/3

Saldrá como resultado un valor aproximado más grande y exacto.

0.333333333333333

Caso 2:
Dim a As Single, b As Double

 a = 0.03007
 b = 0.03007
 Debug.Write(a - b)

Como vemos son el mismo valor una resta de ellos no dará resultado cero, saldrá:

–6.03199004634014E–10

Que es un número muy chico que puede ser expresado así 0.000000000603199004634014.

Esto demuestra que todas las variables al ejecutar operaciones deben ser del mismo tipo.

Caso 3:
Dim a,b as Decimal

a=3
b=1/a
Debug.Write(a * b)

El resultado no será 1 sino 0.999999999999999, una buena idea cuando trabajas en aplicaciones de negocios es redondear el resultado, ya sea a 2 decimales que es lo mas común en este caso será 1.

Boolean
Este tipo de variable almacena dos tipos de valores True/False o 1/0, se declaran así

Dim flag as Boolean

Siendo inicializadas por defecto a False. Este tipo de variables son usadas más que nada para comparaciones, por ejemplo:

Dim flag as Boolean=True
If flag Then 
MsgBox("El flag tiene el valor verdadero")
Else
MsgBox("El flag tiene el valor false")
End If

Date 
En este tipo de variables se almacenan fechas, horas o ambas. Se definen así:

Dim mifecnac as date
mifecnac = #1/5/1978#
mifecnac = #1/5/1978 6:29:11 PM#
mifecnac = Today()

Existen funciones que nos servirán de mucha ayuda al trabajar con fechas como:

Today()
Retorna solo la fecha.

Now()
Retorna la fecha y hora actual.

Aplicación 1:
Crearemos una aplicación que nos mostrara el uso de Today()  y de Now(), para ello crearemos un formulario con 2 botones con el nombre de Today y Now.


Para asignarle el texto a cada botón debemos modificar la propiedad Text y asignarle el valor de Today o Now.


Haremos doble clic en el botón 1 (Today) y agregaremos:

MsgBox(Today())

Para el botón 2 (Now):

MsgBox(Now())

MsgBox es una función que mostrara una ventana de alerta con un mensaje.

Nuestra aplicación debe quedar así:



Ejecutaremos nuestra aplicación con F5, el programa desplegara un mensaje al hacer clic en cada botón  mostrando el resultado de cada función.



Estas funciones retornan la fecha de acuerdo al formato establecido en el Panel de Control en la opción de Configuración regional.

Errores en fechas
Uno de los errores más comunes en fechas es cuando usamos el formato incorrecto ya que algunos países utilizan el formato "dd/mm/yyyy" mientras que otros como en los Estados Unidos  usan el "mm/dd/yyyy", hay que tener eso en cuenta antes de comparar dos fechas.

Por ejemplo esta asignación daría error ya que Visual Net no maneja este formato de fecha.

Dim myfecha as date
Myfecha=#25/12/2014# 

no así esta

Dim myfecha as date
Myfecha=#12/25/2014#


¿Qué pasa si tenemos fechas en un formato diferente al nuestro?

Si tenemos fechas en un formato diferente y queremos compararlas lo que tenemos que hacer es que ambas tengan el mismo formato para ello utilizaremos una función llamada Cultureinfo que toma como argumento un valor que indica el tipo de configuración con que se desea trabajar por ejemplo :

Indica que vamos a usar el formato de fecha de Inglaterra (GB)dd/mm/yyyy
Dim uk as New CultureInfo("en-GB")

Configuraremos la variable myCI para que use el formato de los Estados Unidos mm/dd/yyyy
Dim myCI As New CultureInfo("en-US")

Cada país tiene su formato por ejemplo Francia FR, Bélgica BE y más. Para usar Cultureinfo necesitaremos importa la libreria System.Globalization al comienzo de nuestro programa.

Ahora algunos ejemplos, Para ello asumiremos que el formato de fecha de nuestra pc es el ‘dd/mm/yyyy”.

Aplicación 2 :
Crearemos una aplicación que convertirá la fecha "25/12/2014" al formato "en-GB" (dd-mm-yyyy) y mostrara el resultado utilizando el formato de fecha larga al hacer clic en el botón "En-gb".



Ingresaremos el sgte. código haciendo doble clic en el botón "En-gb".

‘Asignaremos una fecha con formato “mm/dd/yyyy”  
‘Asignaremos a la variable D1 una fecha 
Dim us New CultureInfo("en-GB")
Dim D1 as Date
D1=DateTime.Parse("25/12/2014",us)
MsgBox(D1.ToLongDateString)

El código de la aplicación debe quedar así, recuerda colocar "Imports System.Globalization" al comienzo.


Ejecutamos el programa con F5, El resultado sera:



Aplicación 3:
Crearemos una aplicación que compara dos formatos de fecha diferentes.


Ingresaremos el sgte. código en nuestro botón "Comparar Fechas".

Dim D1, D2 As Date
Dim UK As New CultureInfo("en-GB")
Dim US As New CultureInfo("en-US")
D1 = DateTime.Parse("25/05/1978", UK)
D2 = DateTime.Parse("05/25/1978", US)

 If D1 = D2 Then
     MsgBox("La misma fecha")
 Else
      MsgBox("Diferente fecha")
 End If

El código debe quedar así :


El comando "If" sirve para efectos de comparación, aprenderemos mas de este comando mas adelante.

Ejecutamos nuestro programa con F5 y debe dar este resultado al hacer clic .



Object 
Las variables Object son capaces de almacenar cualquier tipo de dato, el compilador de Visual Basic se encarga de convertir al tipo de dato especifico sin embargo recuerda que cada dato tiene su tipo especifico.

Ejemplo:

Dim miedad as object
miedad=23
miedad="Hola Mundo"

Este es nuestro primer tutorial sobre variables profundizaremos mas sobre ellas en los siguientes tutoriales.

Facebook Comments


0 comentarios:

Publicar un comentario