Fecha y hora actual: Jueves 17 Ene 2019 04:50
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Curso VB .NET - Tema 1.28 - Datos, VB 2005

Responder al Tema

Índice del Foro > Visual Basic .NET > Curso VB .NET - Tema 1.28 - Datos, VB 2005

Autor Mensaje
Tesis
Administrador


Registrado: 04 Mar 2007
Mensajes: 3200
Ubicación: Valencia - España

Mensaje Publicado: Martes 16 Jun 2009 09:22

Título del mensaje: Curso VB .NET - Tema 1.28 - Datos, VB 2005

Responder citando

Curso de programación en .NET - Tema 1.28 - Datos, Visual Studio 2005.


1. Datos, VB.
1.1 Objetivos del tema.

Veamos los datos ahora desde el punto de vista de VB.
Entrar en los tipos de usuario, ahora estructuras en VB, y sus características.

1.2 Introducción.
Hecha la introducción a nivel general en el tema anterior, ahora tenemos que profundizar sobre los datos en VB, los tipos básicos están ya comentados a principio del curso, toca ahora ampliar el uso de los mismos y de sus estructuras, formas de almacenamiento y su acceso desde VB.

1.3 Tipos de datos.
Ya hemos mencionado en un sin fin de ocasiones que arrancamos de dos tipos básicos, y que estos después se amplían en cada uno de los lenguajes de programación existentes.

En los datos numéricos, en función del lenguaje utilizado, encontraremos una mayor o menor gama de variaciones, pero básicamente serán de dos tipos, los que tienen decimales, -single, double, real -, y los que no admiten decimales, integer.
Código:

                                 Bytes    Máximo                   Mínimo
Byte números                         1    255                       0
Booleano                             2    True                      False
Integer rangos                       2    32,767                    -32,768
Long Entero largo                    4    2,147,483,647             -2,147,483,648
Single precisión números (positivos) 4    3.402823E+38              1.401298E-45
Single precisión números(negativos)  4    -1.401298E-45             -3.402823E+38
Double precisión números(positivos)  8    1.797693134862315D+308    4.940656458412465D-324
Double precisión números (negativos) 8    -4.940656458412465D-324   -1.797693134862315D+308

Pero esto es lo que podríamos llamar tipos de datos estándar o del lenguaje.

1.4 Declaración.
Los datos a lo largo de un programa pueden cambiar o permanecer inalterables.
Si cambian, o puede ser que cambien, la utilización del mismo se hará mediante el uso de variables.

Si el dato va permanecer inalterable a lo largo del programa, podemos utilizar una constante.
Las constantes y las variables han de declararse antes de utilizarse.
La declaración de una constante es como sigue:
Código:
Const PI As Double = 3.1416


Para declarar constantes se utiliza el calificador Const nombre tipo y valor.
Una vez declarada una constante, por definición no se le puede asignar otro valor. Por ello, cuando se declara una constante debe ser iniciada con un valor.

Las variables se pueden declarar en cualquier bloque de código, dentro de procedimientos o funciones.
La declaración es siempre indicando primero el nombre de la variable y después el tipo.
Código:
Dim Ruta As String


Podrá o no inicializarse.
Código:
Dim Ruta As String = “C:\Archivo.Ext”


Delante del tipo de la variable, también se puede indicar el ámbito de disponibilidad de la misma, indicando delante public o private.
Código:
Public Ruta As String = “C:\Archivo.Ext”


Como public tiene sentido a nivel de programa o en un módulo disponible así para toda la aplicación.
Como private tiene sentido solo a nivel de procedimiento o función.
En caso de declarar un objeto en lugar de una variable, podemos hacer
Código:
Dim Objeto as Clase


En cuyo caso el objeto queda con un valor nulo.
O bien podemos declarar e inicializar el objeto directamente.
Hay que tener presente que la inicialización dependerá siempre de cómo esté diseñada la clase.
Código:
Dim Objeto As Clase = New Clase (50,60)


1.5 Conversión de tipos.
En algunos casos, es necesario convertir una variable de un tipo en otro. Por ejemplo, puede que se necesite pasar una variable int a un método que acepte solamente variables single. Este proceso se denomina conversión de tipo.

Para convertir el tipo de una variable, basta utilizar la función adecuada de conversión.
El siguiente ejemplo muestra cómo el valor devuelto por un método, de tipo int, puede convertirse en single:
Código:
Dim A As Single
Dim B As Integer
B = CSng(A)


Debe tenerse cuidado cuando se conviertan tipos, ya que es posible que se produzca una pérdida de información.
Por ejemplo, cuando se convierte una variable long de 64 bits en una variable int de 32 bits, el compilador omite los 32 bits de orden superior de la variable long.

Si, en el momento de realizar la conversión de tipo, el valor de la variable long ocupase más de 32 bits, en el proceso de conversión se asignaría un valor incorrecto a la variable int.
La regla general es que el tipo convertido debe tener como mínimo un tamaño igual al tipo original.

1.6 Nombres, estructuras.
Con la riqueza del castellano, no tiene sentido complicarse la vida a la hora de asignar el nombre a una variable, por lo tanto, no utilicemos las palabras propias del lenguaje, y no se pueden utilizar los símbolos especiales como los operadores, etc.

Palabras cortas y si deseamos dos las unimos con el guión bajo.
Código:
Dim precio_venta_publico As Double = 0


Pero mejor ...
Código:
Dim pre_vta_pub As Double = 0


1.7 Tipos de estructuras.
En un programa los datos pueden tener distintas formas.


  • Constante: Un dato que permanece invariable a lo largo del programa.
  • Variable: Un dato que cambia de valor a lo largo del programa.
  • Array: Es una estructura estática de datos, una agrupación de datos, del mismo tipo, los cuales es posible referenciar con un único nombre y diferenciarlos a través de un índice.
  • Colecciones Es una estructura dinámica de datos, similar a un array. Collections.
  • Listas: Existe una clase especializada en su gestión, List.


1.8 Ambito de las variables.
En términos generales las variables se consideran locales y globales, o públicas y privadas, después aparece las características de cada lenguaje de programación.

En VB las variables se consideran privadas o locales, y se definen dentro de un método, procedimiento o función, por lo que al finalizar el método desaparece la variable, se destruye.
Código:
Dim dato1, dato2, resultado As Double


Se pueden declarar a nivel de la clase, módulo o formulario acompañadas de la palabra public.
Código:
Public Class Clase
Public Dat1 As Integer = 1000


Y entonces podrá ser utilizada por el objeto que se cree de dicha clase.
Código:
.. / ..
Dim Objeto As Clase = New Clase()
Objeto.Dat1 = 23
.. / ..


Se pueden declarar a nivel de la clase, acompañadas de la palabra private.
Código:
Public Objeto As Clase
Private Double dat1 = 1000;


Se pueden declarar dentro de una sentencia If, y al finalizar ésta sentencia finaliza su posibilidad de usarse.
Código:
if (condición) Then
   Dim variable = 5
   instrucción;
   ... / ...
   instrucción;
End if


En general se pueden declarar dentro de un bloque de código, entendiendo por bloque lo comprendido el contenido entre un inicio y final de estructura que lo pueda permitir como es un sentencia If.

1.9 Tipos de usuario, estructuras.
El motivo de llamarlos estructuras actualmente no deja de tener algo de sentido, peo conviene que sepamos también que los dos términos son equivalentes.

La declaración de los mismos en la versión actual de VB es
Código:
Structure Monitor
  Dim Marca As String
  Dim Pulgadas As Integer
  Dim Resolución As String
  Dim Velocidad As String
End Structure


Que significa
Código:
Structure Monitor


El nombre de la estructura.
Código:
Dim Marca As String
Dim Pulgadas As Integer
Dim Resolución As String
Dim Velocidad As String


Cada uno de los datos que la componen.
Código:
End Structure


Y el final de la misma.
Su ubicación aunque puede estar en muchos sitios dentro de un proyecto, conviene que por cuestiones de organización las declaremos en un modulo exclusivo para ello, y estará disponible para toda la aplicación, proyecto.

Después tendremos alguna estructura que será muy personal de un único programa, entonces se declara en el mencionado programa.

1.10 Tipos de usuario anidados.
Pero habitualmente en las estructuras de datos es normal que un tipo de usuario albergue a otros tipos de usuario, o que los tipos se aniden unos a otros.
Código:
Structure Mueble
  Dim Color As String
  Dim Construido as string
  Dim Uso as string
  Dim Fabricante as string
End Structure

Structure Silla
  Dim Caracteristicas As Mueble
  Dim Precio As Double
  Dim Cantidad As Double
End Structure


En el ejemplo podemos observar como la estructura Mueble se utiliza en la definición de un dato llamado "Caracteristicas" en la estructura "Silla".
Otra forma de utilizarlos es creando estructuras de datos más amplias mediante el uso de arrays, en próximo tema los veremos, pero dejamos aquí un avance.
Código:
Structure Asientos
   Dim Asiento() As String
End Structure

Structure Sesiones
   Dim Filas() As Asientos
End Structure

Structure Cine
   Dim Fecha As String
   Dim Sesion() As Sesiones
End Structure


Esta estructura podría ¿¿¿servir ??? para declarar algo parecido a un cine, teatro, etc., acabando con algo así como
Código:
Dim V() As Cine ' estructura del lugar


Que significa declarar un array, sin tamaño, del tipo, estructura Cine.
Después diremos que V tiene, por ejemplo, treinta elementos, un mes en pocas palabras.

1.11 Ventajas.
No tiene sentido volver a comentar lo mismo, es un tema innegable, y se vienen utilizando desde hace mucho tiempo, y más a medida que los sistemas han ido mejorando en prestaciones y capacidades.

Aunque no sea muy real, solo hay que remitirse al ejemplo del cine, el uso de la estructura anterior queda dentro de un programa en algo parecido a lo siguiente:
Código:
V(Dia).Fecha = FechaReserva
V(Dia).Sesion(Sesion).Filas(Fila).Asiento(Asiento) = Nombre


En la que previamente a las variables

    Día un día dentro del margen de reservas.
    FechaReserva le habremos asignado una fecha
    Sesión una de las posibles sesiones de le fecha anterior.
    Fila una fila del teatro, cine.
    Asiento un asiento disponible
    V(Dia).Sesion(Sesion).Filas(Fila).Asiento(Asiento) el nombre de unapersona.


Por lo que queda claro la facilidad de comprensión del ejemplo y lo práctico que puede ser el uso adecuado de la
estructura.

La alternativa a esto podría ser
Código:
V(Dia,Sesion,Fila,Asiento) = Nombre


que implica una estructura más compleja de utilizar, no imposible, pero si es más sencilla la anterior.

1.12 Ejercicios propuestos.
1. Defina un tipo de usuario que le permita utilizar todos los datos relacionados con las características de un monitor.
2. Defina varios tipos de usuario de tal forma que le permita crear una estructura de datos anidada, es decir que al menos uno de los tipos de usuario esté en el interior de otro tipo o estructura.

Se trata traducir la solución de los ejercicios del tema anterior a VB.

1.13 Solución a los ejercicios propuestos.
1. Defina un tipo de usuario que le permita utilizar todos los datos relacionados con las características de un monitor.
Código:
Structure Monitor
  Dim Marca As String
  Dim Pulgadas As Integer
  Dim Resolución As String
  Dim Velocidad As String
End Structure


2. Defina varios tipos de usuario de tal forma que le permita crear una estructura de datos anidada, es decir que al menos uno de los tipos de usuario esté en el interior de otro tipo o estructura.
Código:
Structure Mueble
  Dim Color As String
  Dim Construido as string
  Dim Uso as string
  Dim Fabricante as string
End Structure

Structure Silla
  Dim Caracteristicas As Mueble
  Dim Precio As Double
  Dim Cantidad As Double
End Structure

Structure Cama
  Dim Caracteristicas As Mueble
  Dim Medidas As String
  Dim Precio As Double
  Dim Cantidad As Double
End Structure
Dim Dato As Silla




Autor del curso: Casiopea


Normas del foro
Aprende a postear correctamente usando las etiquetas
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

AYUDA CON LOGEO Y BASE DE DATOS

gonzaloramirez PHP 1 Domingo 28 Oct 2018 03:29 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Base Datos Access Problemas Conexion/Reporte

ce_1187@hotmail.com Visual Basic .NET 0 Jueves 27 Sep 2018 22:31 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Cursos de programacion y base de datos

Alexweb ASP, ASP.NET 1 Jueves 31 May 2018 16:59 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema para extracción de datos utilizando py...

liz Python 1 Viernes 06 Oct 2017 11:05 Ver último mensaje
El tema está bloqueado: no pueden editarse ni agregar mensajes.

Busco Programador C++ para Base de Datos y/o di...

RmBeer Bolsa de trabajo 0 Martes 13 Jun 2017 00:24 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,