viernes, 23 de abril de 2010

variables y tipos de datos en vb

Tipo de datos En Visual Basic

Boolean
Contiene valores que pueden ser sólo True o False. Las palabras clave True y False corresponden a los dos estados de las variables Boolean.

Comentarios
Utilice el tipo de datos Boolean para contener valores de dos estados como verdadero/falso, sí/no o activado/desactivado.
El valor predeterminado de Boolean es False.
Conversiones de tipoCuando Visual Basic convierte los valores de tipos de datos numéricos en Boolean, 0 pasa a ser False y todos los otros valores, True. Cuando Visual Basic convierte los valores Boolean en tipos numéricos, False pasa a ser 0 y True, -1.
Al convertir entre valores Boolean y tipos de datos numéricos, recuerde que los métodos de conversión de .NET Framework no siempre producen los mismos resultados que las palabras clave de conversión de Visual Basic. Esto se debe a que la conversión de Visual Basic conserva un comportamiento compatible con versiones anteriores. Para obtener más información, vea Solucionar problemas de tipos de datos.
Sugerencias de programaciónNúmeros negativos.Boolean no es un tipo numérico y no puede representar un valor negativo. En cualquier caso, no debería utilizar Boolean para contener valores numéricos.
Caracteres de tipo.Boolean no tiene ningún carácter de tipo de literal o de tipo de identificador.
Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Boolean.

Ejemplo

En el ejemplo siguiente, runningVB es una variable Boolean que almacena un único parámetro de tipo sí/no.
CopiarDim runningVB As Boolean' Check to see if program is running on Visual Basic engine.If scriptEngine = "VB" Then runningVB = TrueEnd If

Byte

Contiene enteros de 8 bits sin signo (1 bytes) que se sitúan en el intervalo entre 0 y 255.

Comentarios

Utilice el tipo de datos Byte para contener datos binarios.
El valor predeterminado de Byte es 0.
Sugerencias de programaciónNúmeros negativos. Dado que Byte es un tipo sin signo, no puede representar un número negativo. Si utiliza el operador menos (-) unario en una expresión que produce un resultado del tipo Byte, Visual Basic convierte primero la expresión a Short.
Conversiones de formato. Cuando Visual Basic lee o escribe archivos o cuando llama a archivos DLL, métodos y propiedades, puede convertir automáticamente entre los formatos de datos. Los datos binarios almacenados en variables Byte y matrices se conservan durante estas conversiones de formato. No debería utilizar una variable String para datos binarios, ya que su contenido puede dañarse durante la conversión entre los formatos ANSI y Unicode.
Ampliación. El tipo de datos Byte se amplía a Short, UShort, Integer y UInteger, Long, ULong, Decimal, Single y Double. Esto significa que se puede convertir Byte en cualquiera de estos tipos sin encontrar un error System.OverflowException.
Caracteres de tipo.Byte no tiene ningún carácter de tipo de literal o de tipo de identificador.
Tipo en Framework. El tipo correspondiente en .NET Framework es la estructura System.Byte.

Char

Contiene puntos de código de 16 bits (2 bytes) sin signo comprendidos entre 0 y 65535. Cada punto de código o código de carácter representa un único carácter Unicode.

Comentarios
Utilice el tipo de datos Char cuando necesite albergar únicamente un carácter individual y no necesite la sobrecarga de String. En algunos casos, puede utilizar Char(), una matriz de elementos Char, para albergar varios caracteres.
El valor predeterminado de Char es el carácter con el punto de código 0.
Caracteres UnicodeLos primeros 128 puntos de código (0–127) Unicode corresponden a las letras y símbolos de un teclado estándar de EE.UU. Estos primeros 128 puntos de código son los mismos que los definidos por el conjunto de caracteres ASCII. Los siguientes 128 puntos de código (128–255) representan caracteres especiales, como letras de alfabetos latinos, acentos, símbolos de moneda y fracciones. Unicode utiliza los puntos de código restantes (256-65535) para albergar una amplia variedad de símbolos, incluidos caracteres de texto de todo el mundo, signos diacríticos y símbolos técnicos y matemáticos.
Puede utilizar métodos como IsDigit y IsPunctuation en una variable Char para determinar su clasificación Unicode.
Conversiones de tipoVisual Basic no realiza conversiones directas entre el tipo Char y los tipos numéricos. Puede utilizar Asc, AscW (Funciones) para convertir un valor Char a un tipo Integer que represente su punto de código. Puede utilizar Chr, ChrW (Funciones) para convertir un valor Integer a un tipo Char que tenga ese punto de código.
Si el modificador de comprobación de tipos (Option Strict (Instrucción)) está habilitado, debe agregar el carácter de tipo de literal a un literal de cadena de un solo carácter para identificarlo como el tipo de datos Char. Esto se ilustra en el siguiente ejemplo:
CopiarOption Strict OnDim charVar As Char' The following statement attempts to convert a String literal to Char.' Because Option Strict is On, it generates a compiler error.charVar = "Z"' The following statement succeeds because it specifies a Char literal.charVar = "Z"C

Date

Contiene valores IEEE de 64 bits (8 bytes) que representan fechas comprendidas entre el 1 de enero del año 0001 y el 31 de diciembre de 9999, y horas comprendidas entre las 0:00:00 (medianoche) y las 11:59:59. Cada incremento representa 100 nanosegundos de tiempo transcurrido desde el comienzo del 1 de enero del año 1 del calendario gregoriano. El valor máximo representa 100 nanosegundos antes del comienzo del 1 de enero del año 10000.
Comentarios

Utilice el tipo de datos Date para albergar valores de fecha, valores de tiempo o valores de fecha y hora.
El valor predeterminado de Date es 0:00:00 (medianoche) del 1 de enero de 0001.
Requisitos de formatoDebe incluir un literal Date dentro de los signos de número (# #). Debe especificar el valor de fecha en el formato M/d/yyyy, por ejemplo #5/31/1993#. Este requisito es independiente de la configuración regional y de la configuración de formato de fecha y hora del equipo.
El motivo de esta restricción es que el significado del código nunca debe cambiar en función de la configuración regional en que se ejecuta la aplicación. Suponga que asigna un literal Date de #3/4/1998# para representar 4 de marzo de 1998. En una configuración regional que utilice el formato mm/dd/yyyy, 3/4/1998 se compila como desee. Pero suponga que implementa la aplicación en varios países. En una configuración regional que utilice el formato dd/mm/yyyy, el literal incluido en el código se compilará como Abril 3, 1998. En una configuración local que utilice el formato yyyy/mm/dd, el literal podría no ser válido (Abril 1998, 0003) y generar un error de compilación.
SolucionesPara convertir un literal de tipo Date al formato de la configuración regional o a un formato personalizado, proporcione el literal a la función Format (Función) especificando Formatos de fecha y hora predefinidos (Función Format) o Formatos de fecha y hora definidos por el usuario (Función Format). En el siguiente ejemplo se muestra esta operación.
CopiarMsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))Si lo desea, puede utilizar también uno de los constructores sobrecargados de la estructura DateTime para ensamblar un valor de fecha y hora. En el ejemplo siguiente se crea un valor para representar Mayo 31, 1993 a las 12:14 del mediodía.
CopiarDim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0) Formato de horaPuede especificar el valor de hora con un formato de 12 horas o de 24 horas, por ejemplo #1:15:30 PM# o #13:15:30#. Sin embargo, si no especifica los minutos ni los segundos, debe especificar a.m. o p.m.
Valores predeterminados de fecha y horaSi no se incluye una fecha en un literal de fecha/hora, Visual Basic establece la parte de fecha del valor en Enero 1, 0001.Si no se incluye una hora en un literal de fecha y hora, Visual Basic establece la parte de hora del valor en el inicio del día, es decir, medianoche (0:00:00).
Conversiones de tipoSi convierte un valor Date al tipo String, Visual Basic representa la fecha en función del formato corto de fecha especificado por la configuración regional en tiempo de ejecución, y representa la hora de acuerdo con el formato de hora (12 o 24 horas) especificado por la configuración regional en tiempo de ejecución.

Decimal

Contiene valores de 128 bits con signo (16 bytes) que representan números enteros de 96 bits (12 bytes) que se ajustan a una potencia variable de 10. El factor de ajuste especifica el número de dígitos a la derecha del separador decimal; comprendidos entre 0 y 28. Con un ajuste de 0 (sin decimales), el valor más grande posible es +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9228162514264337593543950335E+28). Con 28 posiciones decimales, el valor más grande es +/-7.9228162514264337593543950335 y el valor más pequeño distinto de cero es +/-0.0000000000000000000000000001 (+/-1E-28).
Comentarios

El tipo de datos Decimal proporciona el número máximo de dígitos significativos para un número. Admite hasta 29 dígitos significativos y puede representar valores que superan 7.9228 x 10^28. Es especialmente cómodo para cálculos, por ejemplo, financieros, que requieren un gran número de dígitos pero no puede tolerar errores del redondeo.
El valor predeterminado de Decimal es 0.
Sugerencias de programaciónPrecisión.Decimal no es un tipo de datos de punto flotante. La estructura Decimal contiene un valor entero binario, junto con un bit de signo y un factor de ajuste de entero que especifica qué parte del valor es una fracción decimal. Debido a esto, los números Decimal tienen una representación más precisa en la memoria que los tipos de punto flotante (Single y Double).
Rendimiento. El tipo de datos Decimal es el más lento de todos los tipos numéricos. Debe considerar la importancia de la precisión frente al rendimiento antes de elegir un tipo de datos.
Ampliación. El tipo de datos Decimal se amplía a Single o Double. Esto significa que se puede convertir Decimal a cualquiera de estos tipos sin encontrar un error System.OverflowException.
Ceros finales. Visual Basic no almacena los ceros finales en un literal Decimal. Sin embargo, una variable Decimal conserva cualquier cero final adquirido de forma computacional. Esto se ilustra en el siguiente ejemplo:

CopiarDim d1, d2, d3, d4 As Decimald1 = 2.375Dd2 = 1.625Dd3 = d1 + d2d4 = 4.000DMsgBox("d1 = " & CStr(d1) & ", d2 = " & CStr(d2) _ & ", d3 = " & CStr(d3) & ", d4 = " & CStr(d4))El resultado de MsgBox en el ejemplo anterior es el siguiente:
d1 = 2.375, d2 = 1.625, d3 = 4.000, d4 = 4
Caracteres de tipo. Al agregar el carácter de tipo de literal D a un literal, el tipo de datos se convierte en un tipo de datos Decimal. Si se agrega el carácter de tipo de identificador @ a cualquier identificador, se convierte su tipo de datos al tipo Decimal.
Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Decimal.
IntervaloPodría necesitar utilizar el carácter de tipo D para asignar un valor grande a una variable o constante Decimal. Esto se ilustra en el siguiente ejemplo:
CopiarDim bigDec1 As Decimal = 9223372036854775807 ' No overflow.Dim bigDec2 As Decimal = 9223372036854775808 ' Overflow.Dim bigDec3 As Decimal = 9223372036854775808D ' No overflow.El compilador interpreta un literal como Long a menos que le siga un carácter de tipo de literal. La declaración para bigDec1 no genera un desbordamiento porque su valor está dentro del intervalo para Long. Sin embargo, el valor para bigDec2 es demasiado grande para Long, por lo que el compilador genera un error. El carácter de tipo de literal D resuelve el problema para bigDec3 obligando al compilador a que interprete el literal como Decimal.

Double

Contiene números IEEE de punto flotante de doble precisión de 64 bits (8 bytes) con valores de –1,79769313486231570E+308 a –4,94065645841246544E-324 para números negativos y de 4,94065645841246544E-324 a 1,79769313486231570E+308 para números positivos. Los números de doble precisión almacenan aproximaciones de números reales.
Comentarios

El tipo de datos Double proporciona las magnitudes más grandes y más pequeñas posibles para un número.
El valor predeterminado de Double es 0.
Sugerencias de programaciónPrecisión. Cuando trabaje con números de punto flotante, tenga presente que no siempre tienen una representación precisa en memoria. Esto podría provocar unos resultados inesperados en ciertas operaciones, como comparación de valor y el operador Mod. Para obtener más información, vea Solucionar problemas de tipos de datos.
Ceros finales. Los tipos de datos de punto flotante no tienen ninguna representación interna de caracteres 0 finales. Por ejemplo, no distinguen entre 4,2000 y 4,2. Por consiguiente, los caracteres 0 finales no aparecen al mostrar o imprimir valores de punto flotante.
Caracteres de tipo. Al agregar el carácter de tipo de literal R a un literal, el tipo de datos se convierte en un tipo de datos Double. Si se agrega el carácter de tipo de identificador # a cualquier identificador, se convierte su tipo de datos al tipo Double.
Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Double.

Integer

Contiene enteros de 32 bits con signo (4 bytes) que se sitúan en el intervalo entre -2.147.483.648 y 2.147.483.647.
Comentarios

El tipo de datos Integer proporciona rendimiento óptimo en un procesador de 32 bits. Los demás tipos integrales son más lentos para cargarse y almacenarse de y a la memoria.
El valor predeterminado de Integer es 0.
Sugerencias de programaciónConsideraciones sobre la interoperabilidad. Si interactúa con componentes no escritos para .NET Framework, por ejemplo, objetos de automatización o COM, recuerde que Integer tiene un ancho de datos diferente (16 bits) en otros entornos. Al pasar un argumento de 16 bits a esos componentes, declárelo en el código de Visual Basic como Short en lugar de Integer.
Ampliación. El tipo de datos Integer se amplía a Long, Decimal, Single o Double. Esto significa que se puede convertir Integer en cualquiera de estos tipos sin encontrar un error System.OverflowException.
Caracteres de tipo Al agregar el carácter de tipo de literal I a un literal, el tipo de datos se convierte al tipo de datos Integer. Si se agrega el carácter de tipo de identificador % a cualquier identificador, se convierte su tipo de datos al tipo Integer.
Tipo en Framework. El tipo correspondiente en .NET Framework es la estructura System.Int32.

Long

Contiene enteros de 64 bits (8 bytes) con signo cuyo valor se sitúa entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807 (9,2... E+18).
Comentarios

Utilice el tipo de datos Long para incluir números enteros demasiado grandes para ajustarse en el tipo de datos Integer.
El valor predeterminado de Long es 0.
Sugerencias de programaciónConsideraciones sobre la interoperabilidad. Si interactúa con componentes no escritos para .NET Framework, por ejemplo, objetos de automatización o COM, recuerde que Long tiene un ancho de datos diferente (32 bits) en otros entornos. Al pasar un argumento de 32 bits a esos componentes, declárelo en el código de Visual Basic como Integer en lugar de Long.
Además, la automatización no admite enteros de 64 bits en Windows 95, Windows 98, Windows ME o Windows 2000. No se puede pasar ningún argumento Long de Visual Basic a un componente de automatización en estas plataformas.
Ampliación. El tipo de datos Long se amplía a Decimal, Single o Double. Esto significa que se puede convertir Byte en cualquiera de estos tipos sin encontrar un error System.OverflowException.
Caracteres de tipo Al agregar el carácter de tipo de literal L a un literal, el tipo de datos se convierte al tipo de datos Long. Si se agrega el carácter de tipo de identificador & a cualquier identificador, se convierte su tipo de datos al tipo Long.
Tipo en Framework. El tipo correspondiente en .NET Framework es la estructura System.Int64.

Object

Contiene direcciones de 32 bits (4 bytes) que hacen referencia s objetos. Se puede asignar cualquier tipo de referencia (cadena, matriz, clase o interfaz) a una variable Object. Una variable Object también puede hacer referencia a datos de cualquier tipo de valor (numérico, Boolean, Char, Date, estructura o enumeración).
Comentarios

El tipo de datos Object puede señalar a datos de cualquier tipo de datos, incluso cualquier instancia de objeto que su aplicación reconozca. Utilice Object cuando en tiempo de compilación no conoce a qué tipo de datos puede señalar la variable.
El valor predeterminado de Object es Nothing (una referencia nula).
Tipos de datosPuede asignar una variable, constante o expresión de cualquier tipo de datos a una variable Object. Para determinar el tipo de datos a los que hace referencia actualmente una variable Object, puede utilizar el método GetTypeCode de la clase System.Type. Esto se ilustra en el siguiente ejemplo:
CopiarDim myObject As Object' Suppose myObject has now had something assigned to it.Dim datTyp As IntegerdatTyp = Type.GetTypeCode(myObject.GetType())El tipo de datos Object es un tipo de referencia. Sin embargo, Visual Basic trata una variable Object como un tipo de valor cuando hace referencia a datos de un tipo de valor.
AlmacenamientoIndependientemente del tipo de datos al que haga referencia, una variable Object no contiene el valor de datos en sí, sino un puntero al valor. Siempre utiliza cuatro bytes en la memoria del sistema, pero sin incluir el almacenamiento para los datos que representan el valor de la variable. Debido al código que el puntero utiliza para buscar los datos, las variables Object que contienen tipos de valor son de acceso un poco más lento que las variables que tienen un tipo explícito

SByte

Contiene enteros de 8 bits con signo (1 bytes) que se sitúan en el intervalo entre -128 y 127.
Comentarios

Utilice el tipo de datos SByte para incluir valores enteros que no precisen el ancho total de datos de Integer ni la mitad del ancho de datos de Short. En algunos casos, Common Language Runtime puede empaquetar las variables SByte de forma que se ahorre consumo de memoria.
El valor predeterminado de SByte es 0.
Sugerencias de programaciónCompatibilidad con CLS. El tipo de datos SByte no forma parte de Common Language Specification (CLS), por lo que el código compatible con CLS no puede utilizar un componente que lo utiliza.
Ampliación. El tipo de datos SByte se amplía a Short, Integer, Long, Decimal, Single y Double. Esto significa que se puede convertir SByte en cualquiera de estos tipos sin encontrar un error System.OverflowException.
Caracteres de tipo.SByte no tiene ningún carácter de tipo de literal o de tipo de identificador.
Tipo en Framework. El tipo correspondiente en .NET Framework es la estructura System.SByte.

No hay comentarios:

Publicar un comentario