Difference between revisions of "Variant/de"

From Lazarus wiki
Jump to navigationJump to search
Line 27: Line 27:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
   //Wertzuweisung:
 
   //Wertzuweisung:
   v:= 1;
+
   v := 1;
  
 
   // Beispiele für zulässige Castings / Typzuweisung / Konvertierungen des Datentyp:  
 
   // Beispiele für zulässige Castings / Typzuweisung / Konvertierungen des Datentyp:  
 
   //Explizite Datentyp Konvertierungen:
 
   //Explizite Datentyp Konvertierungen:
   s:= VarToStr(v);
+
   s := VarToStr(v);
   s:= AnsiString(v);
+
   s := AnsiString(v);
   i:= Integer(v);
+
   i := Integer(v);
 
   //Implizite Datentyp Konvertierung:
 
   //Implizite Datentyp Konvertierung:
   i:= v;
+
   i := v;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
<br>
 
<br>
Line 41: Line 41:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
   //Wertzuweisung:
 
   //Wertzuweisung:
   v:= 'Tomate';
+
   v := 'Tomate';
  
 
   // Beispiele für zulässige Castings / Typzuweisung / Konvertierungen des Datentyp:
 
   // Beispiele für zulässige Castings / Typzuweisung / Konvertierungen des Datentyp:
 
   //Explizite Datentyp Konvertierungen:
 
   //Explizite Datentyp Konvertierungen:
   s:= VarToStr(v);
+
   s := VarToStr(v);
   s:= AnsiString(v);
+
   s := AnsiString(v);
 
</syntaxhighlight>
 
</syntaxhighlight>
 
<br>
 
<br>

Revision as of 19:11, 31 August 2012

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

Speicherbedarf: 16 Byte bzw. 128 Bit
Eigenschaft: Der Datentyps Variant bietet in der Programmierung eine grosse Flexibilität. Dafür braucht der Datentyp Variant mehr Arbeitsspeicher als normale Datenfelder / Variablen. Variablen vom Datentyp Variant können mit Ausnahme von strukturierten Datentypen Werte von beliebigen Datentypen speichern. Operationen mit dem Datentyp Variant sind deutlich langsamer als mit statisch typisierten Datenfeldern / Variablen.

Zwei Beispiele für Funktionen aus der Unit Variants:
Die Funktion VarType() prüft von welchem Datentyp der Inhalt einer Variablen vom Datentyp Variant ist.
Die Funktion VarToStr() wandelt den Inhalt einer Variablen vom Datentyp Variant in den Datentyp String.

Definition eines Datenfeldes vom Datentyp 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 / Typzuweisung / 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 / Typzuweisung / 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 16:43, 31 August 2012 (UTC)