Tipo varianteEn ciencias de la computación variante es un tipo de dato utilizados por ciertos lenguajes de programación, particularmente en Visual Basic, OCaml, y C++ cuando se usa el Component Object Model. InformaciónEn Visual Basic (y Visual Basic para Aplicaciones) el tipo de dato variante es una unión etiquetada que puede ser usada para representar todos los otros tipos de datos (por ejemplo, Entero, Flotante, Doble, Etc.) excepto con tipos cadena de longitud fija y tipos de datos Record. En Visual Basic toda variable no declarada explícitamente o cuyo tipo no es declarado explícitamente, es tomado como una variante. Si bien no se recomienda el uso de variantes no declarados explícitamente, pueden ser de utilidad cuando el tipo de datos necesarios sólo puede ser conocido en tiempo de ejecución, cuando se espera que el tipo de datos puedan variar, o cuando se desean parámetros opcionales y matrices de parámetros. De hecho, los lenguajes con un sistema de tipo dinámico a menudo tienen variante como el único tipo de dato disponible para variables. Aunque notoriamente carente de eficiencia, las variantes se usan comúnmente como parámetros para objetos COM debido a su flexibilidad. Usted puede pensar en una variante como una especie de contenedor, que puede contener una variable de cualquier tipo de datos, numéricos, de cadena, o incluso todo un arsenal. Esto simplifica el proceso de llamar a procedimientos en un COM Object Server, ya que hay poca necesidad de preocuparse por la gran cantidad de tipos de datos posibles para cada parámetro. FormatoUna variable de tipo variante, llamada "Variant" en inglés como se denomina en Visual Basic, necesita 16 bytes de almacenamiento y su distribución es la siguiente.
TiposUnos pocos ejemplos de variantes que uno puede encontrar en el seguimiento de Visual Basic, En otros idiomas otros tipos de variantes se pueden utilizar también.
Tipo variante en distintos lenguajesVisual BasicEn el lenguaje Visual Basic el tipo de dato variante es manejado internamente por el compilador, por lo que no es necesario insertar los datos correspondientes (y requeridos) en el tipo de dato variante, tampoco es necesario declarar explícitamente el tipo de dato en el que se trabajará. Dim Variante as Variant
Dim Variante2
Variante2 = 666
Variante = 999 ' Cualquier valor!
PauscalEn el lenguaje de programación Pauscal el tipo de dato variante solo puede ser utilizado de forma explícita, a diferencia de Visual Basic el compilador de Pauscal no hace "el trabajo sucio" por el programador, por lo que es necesario trabajarlo. ' Declaramos el tipo de dato variant.
Estruc Variant,_ ' Estructura Variant.
iType:Word,_ ' El tipo de dato.
Reserved:Entero,_ ' Reservado, debe ser cero.
iLen:Entero ' Puntero al dato.
' Fin de la declaración.
Var Variante:Variant
Variante.iType = 8 ' Tipo de dato cadena.
Variante.iLen = CadPtr("Hola que tal!") ' Establecemos el puntero a la cadena "Hola que tal!".
DelphiEn Delphi una variable de tipo variante se declara de la siguiente manera: var A:variant;
Referencias |