Variant/es: Difference between revisions

From Lazarus wiki
Jump to navigationJump to search
 
m (Fixed syntax highlighting; deleted category included in page template)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Variant}}
{{Variant}}
<br>
 
Zurück zu den [[Data type/de|Datentypen]].<br>
 
<br>
Volver a [[Data type/de| tipos de datos]].
En español
 
Speicherbedarf bei 32 Bit Kompilierung: 16 Byte bzw. 128 Bit<br>
 
Speicherbedarf bei 64 Bit Kompilierung: 24 Byte bzw. 192 Bit<br>
Requisitos de memoria para compilación de 32 bits: 16 Bytes o 128 Bits
Eigenschaft: Der [[Data type/de|Datentyps]] Variant bietet in der Programmierung eine grosse Flexibilität. Dafür braucht der [[Data type/de|Datentyp]] Variant mehr Arbeitsspeicher als normale Datenfelder / Variablen.
 
Variablen vom Datentyp Variant können mit Ausnahme von strukturierten Datentypen Werte von beliebigen Datentypen speichern.
Requisitos de memoria para compilación en 64 Bits: 24 Bytes o 192 Bits
Operationen mit dem Datentyp Variant sind deutlich langsamer als mit statisch typisierten [[Data field/de|Datenfeldern / Variablen]].  
 
<br>
Propiedad: el [[Data type/de|tipo e datos]] Variant ofrece una gran flexibilidad en programación, pero la variable [[Data type/de|tipo de datos]] Variant necesita más memoria que los campos de datos / variables normales.
Zwei Beispiele für Funktionen aus der Unit '''Variants''':<br>
Las variables con el tipo de datos variant, con la excepción de los valores de los tipos de datos del almacén estructuras de tipo de datos arbitrarios.
Die Funktion VarType() prüft von welchem Datentyp der Inhalt einer Variablen vom Datentyp Variant ist.<br>
Las operaciones con el tipo de datos Variant son considerablemente más lentos que con los tipos estáticos[[Data field/de| campos de datos / variables]].  
Die Funktion VarToStr() wandelt den Inhalt einer Variablen vom Datentyp Variant in den Datentyp String.
 
<br><br>
Dos ejemplos de las funciones de la unidad '''Variants''':
Definition eines Datenfeldes vom [[Data type/de|Datentyp]] Variant:<br>
 
<syntaxhighlight>
La función VarType () comprueba el tipo de datos de los contenidos de una variable de tipo de datos Variant.
 
La función VarToStr() convierte el contenido de una variable de tipo de datos Variant en la cadena de tipo de datos.
 
Definición de un campo de datos del[[Data type/de| tipo de datos]] Variant:
 
<syntaxhighlight lang=pascal>
var
var
   v: Variant;
   v: Variant;
</syntaxhighlight>
</syntaxhighlight>
<br>
 
Definition der Datenfelder für die Beispiele:<br>
Definición de los tipos de datos para los ejemplos:
<syntaxhighlight>
 
<syntaxhighlight lang=pascal>
var
var
   v: Variant;
   v: Variant;
Line 27: Line 34:
   i: Integer;
   i: Integer;
</syntaxhighlight>
</syntaxhighlight>
<br>
 
Beispiel 1:<br>
Ejemplo 1:
<syntaxhighlight>
 
   //Wertzuweisung:
<syntaxhighlight lang=pascal>
   // Asignación de valor:
   v := 1;
   v := 1;
 
   // Ejemplos válidos de Castings / asignaciones tipo / conversiones del tipo de datos
   // Beispiele für zulässige Castings / Typzuweisungen / Konvertierungen des Datentyp:
   // Conversiones explícitas de tipos de datos
   //Explizite Datentyp Konvertierungen:
   s := VarToStr(v);
   s := VarToStr(v);
   s := AnsiString(v);
   s := AnsiString(v);
   i := Integer(v);
   i := Integer(v);
   //Implizite Datentyp Konvertierung:
   // Conversión implícita del tipo de datos
   i := v;
   i := v;
</syntaxhighlight>
</syntaxhighlight>
<br>
 
Beispiel 2:<br>
Ejemplo 2:
<syntaxhighlight>
 
   //Wertzuweisung:
<syntaxhighlight lang=pascal>
   // Asignación de valor:
   v := 'Tomate';
   v := 'Tomate';


   // Beispiele für zulässige Castings / Typzuweisungen / Konvertierungen des Datentyp:
   // Ejemplos de válidos Castings / asignaciones tipo / conversiones del tipo de datos:
   //Explizite Datentyp Konvertierungen:
   // Conversión explícita del tipo de datos.
   s := VarToStr(v);
   s := VarToStr(v);
   s := AnsiString(v);
   s := AnsiString(v);
</syntaxhighlight>
</syntaxhighlight>
<br>
 
Beispiel 3:<br>
Ejemplo 3:
<syntaxhighlight>
 
  //Beispiel für die Ermittlung des Datentyps des Inhaltes eines Datenfeldes vom Datentyp Variant:
<syntaxhighlight lang=pascal>
  //Ejemplo para la determinación del tipo de datos de los contenidos de un campo de datos del tipo de datos Variant :
  Case varType(v) of
  Case varType(v) of
     varEmpty:
     varEmpty:
         ShowMessage('Empty');
         ShowMessage('Vacio');
     varNull:
     varNull:
         ShowMessage('Null');
         ShowMessage('Null');
     varSingle:
     varSingle:
         ShowMessage('Datentyp: Single');
         ShowMessage('Tipo de dato: Single');
     varDouble:
     varDouble:
         ShowMessage('Datentyp: Double');
         ShowMessage('Tipo de dato: Double');
     varDecimal:
     varDecimal:
         ShowMessage('Datentyp: Decimal');
         ShowMessage('Tipo de dato: Decimal');
     varCurrency:
     varCurrency:
         ShowMessage('Datentyp: Currency');
         ShowMessage('Tipo de dato: Currency');
     varDate:
     varDate:
         ShowMessage('Datentyp: Date');
         ShowMessage('Tipo de dato: Date');
     varOleStr:
     varOleStr:
         ShowMessage('Datentyp: UnicodeString');
         ShowMessage('Tipo de dato: UnicodeString');
     varStrArg:
     varStrArg:
         ShowMessage('Datentyp: COM-compatible string');
         ShowMessage('Tipo de dato: COM-compatible string');
     varString:
     varString:
         ShowMessage('Datentyp: Zeiger auf einen dynamisch erweiterbaren String');
         ShowMessage('Tipo de dato: puntero a una cadena de expansión dinámica');
     varDispatch:
     varDispatch:
         ShowMessage('Datentyp: Zeiger auf ein Automations Objekt');
         ShowMessage('Tipo de dato: puntero a un objeto de automatización');
     varBoolean:
     varBoolean:
         ShowMessage('Datentyp: Wordbool');
         ShowMessage('Tipo de dato: Wordbool');
     varVariant:
     varVariant:
         ShowMessage('Datentyp: Variant');
         ShowMessage('Tipo de dato: Variant');
     varUnknown:
     varUnknown:
         ShowMessage('Datentyp: unbekannt');
         ShowMessage('Tipo de dato: desconocido');
     varShortInt:
     varShortInt:
         ShowMessage('Datentyp: ShortInt');
         ShowMessage('Tipo de dato: ShortInt');
     varSmallint:
     varSmallint:
         ShowMessage('Datentyp: Smallint');
         ShowMessage('Tipo de dato: Smallint');
     varInteger:
     varInteger:
         ShowMessage('Datentyp: Integer');
         ShowMessage('Tipo de dato: Integer');
     varInt64:
     varInt64:
         ShowMessage('Datentyp: Int64');
         ShowMessage('Tipo de dato: Int64');
     varByte:
     varByte:
         ShowMessage('Datentyp: Byte');
         ShowMessage('Tipo de dato: Byte');
     varWord:
     varWord:
         ShowMessage('Datentyp: Word');
         ShowMessage('Tipo de dato: Word');
     varLongWord:
     varLongWord:
         ShowMessage('Datentyp: LongWord');
         ShowMessage('Tipo de dato: LongWord');
     varQWord:
     varQWord:
         ShowMessage('Datentyp: QWord');
         ShowMessage('Tipo de dato: QWord');
     varError:
     varError:
         ShowMessage('Fehlermeldung des Betriebsystems');
         ShowMessage('mensaje de error del sistema operativo');
  else
  else
   ShowMessage('Sonstiger Datentyp oder Zustand');
   ShowMessage('Otros tipos o condiciones de los datos');
  end;
  end;
</syntaxhighlight>
</syntaxhighlight>
<br>
<br>
--[[User:Olaf|Olaf]] 17:03, 4 October 2012 (UTC)
{{AutoCategory}}[[Category:Data types/de]]

Latest revision as of 07:56, 3 March 2020

Deutsch (de) English (en) español (es) français (fr) polski (pl)


Volver a tipos de datos.


Requisitos de memoria para compilación de 32 bits: 16 Bytes o 128 Bits

Requisitos de memoria para compilación en 64 Bits: 24 Bytes o 192 Bits

Propiedad: el tipo e datos Variant ofrece una gran flexibilidad en programación, pero la variable tipo de datos Variant necesita más memoria que los campos de datos / variables normales. Las variables con el tipo de datos variant, con la excepción de los valores de los tipos de datos del almacén estructuras de tipo de datos arbitrarios. Las operaciones con el tipo de datos Variant son considerablemente más lentos que con los tipos estáticos campos de datos / variables.

Dos ejemplos de las funciones de la unidad Variants:

La función VarType () comprueba el tipo de datos de los contenidos de una variable de tipo de datos Variant.

La función VarToStr() convierte el contenido de una variable de tipo de datos Variant en la cadena de tipo de datos.

Definición de un campo de datos del tipo de datos Variant:

var
  v: Variant;

Definición de los tipos de datos para los ejemplos:

var
  v: Variant;
  s: String;
  i: Integer;

Ejemplo 1:

  // Asignación de valor:
  v := 1;
  // Ejemplos válidos de Castings / asignaciones tipo / conversiones del tipo de datos
  // Conversiones explícitas de tipos de datos
  s := VarToStr(v);
  s := AnsiString(v);
  i := Integer(v);
  // Conversión implícita del tipo de datos 
  i := v;

Ejemplo 2:

  // Asignación de valor:
  v := 'Tomate';

  // Ejemplos de válidos Castings / asignaciones tipo / conversiones del tipo de datos:
  // Conversión explícita del tipo de datos.
  s := VarToStr(v);
  s := AnsiString(v);

Ejemplo 3:

 //Ejemplo para la determinación del tipo de datos de los contenidos de un campo de datos del tipo de datos Variant :
 Case varType(v) of
    varEmpty:
        ShowMessage('Vacio');
    varNull:
        ShowMessage('Null');
    varSingle:
        ShowMessage('Tipo de dato: Single');
    varDouble:
        ShowMessage('Tipo de dato: Double');
    varDecimal:
        ShowMessage('Tipo de dato: Decimal');
    varCurrency:
        ShowMessage('Tipo de dato: Currency');
    varDate:
        ShowMessage('Tipo de dato: Date');
    varOleStr:
        ShowMessage('Tipo de dato: UnicodeString');
    varStrArg:
        ShowMessage('Tipo de dato: COM-compatible string');
    varString:
        ShowMessage('Tipo de dato: puntero a una cadena de expansión dinámica');
    varDispatch:
        ShowMessage('Tipo de dato: puntero a un objeto de automatización');
    varBoolean:
        ShowMessage('Tipo de dato: Wordbool');
    varVariant:
        ShowMessage('Tipo de dato: Variant');
    varUnknown:
        ShowMessage('Tipo de dato: desconocido');
    varShortInt:
        ShowMessage('Tipo de dato: ShortInt');
     varSmallint:
        ShowMessage('Tipo de dato: Smallint');
    varInteger:
        ShowMessage('Tipo de dato: Integer');
    varInt64:
        ShowMessage('Tipo de dato: Int64');
    varByte:
        ShowMessage('Tipo de dato: Byte');
    varWord:
        ShowMessage('Tipo de dato: Word');
    varLongWord:
        ShowMessage('Tipo de dato: LongWord');
    varQWord:
        ShowMessage('Tipo de dato: QWord');
    varError:
        ShowMessage('mensaje de error del sistema operativo');
 else
   ShowMessage('Otros tipos o condiciones de los datos');
 end;