Difference between revisions of "Variant/es"

From Free Pascal wiki
Jump to navigationJump to search
Line 7: Line 7:
 
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.
 
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.
 
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 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[[Data field/de|Campos de datos / Variables]].  
+
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]].  
 
<br>
 
<br>
 
Dos ejemplos de las funciones de la unidad '''Variants''':<br>
 
Dos ejemplos de las funciones de la unidad '''Variants''':<br>
Die Funktion VarType() prüft von welchem Datentyp der Inhalt einer Variablen vom Datentyp Variant ist.<br>
+
La función VarType () comprueba el tipo de datos de los contenidos de una variable de tipo de datos Variant.<br>
Die Funktion VarToStr() wandelt den Inhalt einer Variablen vom Datentyp Variant in den Datentyp String.
+
La función VarToStr() convierte el contenido de una variable de tipo de datos Variant en la cadena de tipo de datos.
 
<br><br>
 
<br><br>
Definition eines Datenfeldes vom [[Data type/de|Datentyp]] Variant:<br>
+
Definición de un campo de datos del[[Data type/de| tipo de datos]] Variant:<br>
 
<syntaxhighlight>
 
<syntaxhighlight>
 
var
 
var

Revision as of 18:55, 6 March 2014

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

Volver al Datentypen.

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;


Definition der Datenfelder für die Beispiele:

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


Beispiel 1:

  //Wertzuweisung:
  v := 1;

  // Beispiele für zulässige Castings / Typzuweisungen / Konvertierungen des Datentyp: 
  //Explizite Datentyp Konvertierungen:
  s := VarToStr(v);
  s := AnsiString(v);
  i := Integer(v);
  //Implizite Datentyp Konvertierung:
  i := v;


Beispiel 2:

  //Wertzuweisung:
  v := 'Tomate';

  // Beispiele für zulässige Castings / Typzuweisungen / Konvertierungen des Datentyp:
  //Explizite Datentyp Konvertierungen:
  s := VarToStr(v);
  s := AnsiString(v);


Beispiel 3:

 //Beispiel für die Ermittlung des Datentyps des Inhaltes eines Datenfeldes vom Datentyp Variant:
 Case varType(v) of
    varEmpty:
        ShowMessage('Empty');
    varNull:
        ShowMessage('Null');
    varSingle:
        ShowMessage('Datentyp: Single');
    varDouble:
        ShowMessage('Datentyp: Double');
    varDecimal:
        ShowMessage('Datentyp: Decimal');
    varCurrency:
        ShowMessage('Datentyp: Currency');
    varDate:
        ShowMessage('Datentyp: Date');
    varOleStr:
        ShowMessage('Datentyp: UnicodeString');
    varStrArg:
        ShowMessage('Datentyp: COM-compatible string');
    varString:
        ShowMessage('Datentyp: Zeiger auf einen dynamisch erweiterbaren String');
    varDispatch:
        ShowMessage('Datentyp: Zeiger auf ein Automations Objekt');
    varBoolean:
        ShowMessage('Datentyp: Wordbool');
    varVariant:
        ShowMessage('Datentyp: Variant');
    varUnknown:
        ShowMessage('Datentyp: unbekannt');
    varShortInt:
        ShowMessage('Datentyp: ShortInt');
     varSmallint:
        ShowMessage('Datentyp: Smallint');
    varInteger:
        ShowMessage('Datentyp: Integer');
    varInt64:
        ShowMessage('Datentyp: Int64');
    varByte:
        ShowMessage('Datentyp: Byte');
    varWord:
        ShowMessage('Datentyp: Word');
    varLongWord:
        ShowMessage('Datentyp: LongWord');
    varQWord:
        ShowMessage('Datentyp: QWord');
    varError:
        ShowMessage('Fehlermeldung des Betriebsystems');
 else
   ShowMessage('Sonstiger Datentyp oder Zustand');
 end;



--Olaf 17:03, 4 October 2012 (UTC)