Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Typ eines Variant ermitteln (https://www.delphipraxis.net/3207-typ-eines-variant-ermitteln.html)

eddy 28. Feb 2003 16:21


Typ eines Variant ermitteln
 
Hallo Leute,

ich möchte in einer Prozedur einen Wert value : Variant
übergeben.

Entsprechend dem tatsächlichen Typ soll dann entsprechend reagiert werden. Ich suche eine Möglichkeit, den tatsächlichen Typ zu erkennen, damit ich nicht eine Prozedure für Integer, eine für Float, eine für Boolean usw. schreiben muß.

Sollte in etwa so aussehen:

case Typ(value) of
bool: begin .... end;
int: begin .... end;
date: begin .... end;
float: begin .... end;

end;

Falls jemand ein Tip für mich hat, eine Idee oder Anregung, dann her damit!!


mfg
eddy

jbg 28. Feb 2003 16:49

Delphi-Quellcode:
case VarType(v) of
  varBoolean: ;
  varInteger: ;
  varDate  : ;
  varDouble : ;
  ...
end;

Touchdown 28. Feb 2003 21:08

Variant ist ein eigener Typ und nur schwer anderen Typen zuzuordnen. Eine nicht sehr elegante Art wäre z.B. in Try-Except-Blöcken eine Umwandlung vorzunehmen. Im Fehler-Fall weiss man, der Typ ist es nicht :mrgreen:. Auf diese Art könnte man sich eine funktionierende Funktion machen.

Zu beachten wäre auch, eine 2 kann auch ein String sein '2' :freak:

eddy 1. Mär 2003 22:29

Hallo jbg,

vielen Dank!! Das war genau das, was ich gesucht habe. Funktioniert bestens.

Hi Touchdown,

hab' auch schon an so eine Variante gedacht, aber gehofft - diesmal entsprechend jbg's Antwort erfolgreich - daß es eine bessere Lösung gibt.

mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz