System.ConvUtils.Convert

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

Object Pascal

function Convert(const AValue: Double; const AFrom, ATo: TConvType): Double;
function Convert(const AValue: Double; const AFrom1, AFrom2, ATo1, ATo2: TConvType): Double;

C++

extern DELPHI_PACKAGE double __fastcall Convert(const double AValue, const TConvType AFrom, const TConvType ATo)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.ConvUtils.pas
System.ConvUtils.hpp
System.ConvUtils System.ConvUtils


Beschreibung

Führt Umrechnungen aus einer Maßeinheit in eine andere durch.

Mit Convert können Sie den Wert in AValue aus einer Maßeinheit in eine andere umrechnen.

Bei Verwendung der ersten Syntax wird mit dem Parameter AFrom die aktuelle Maßeinheit des Wertes in AValue angegeben. Convert gibt den entsprechenden Wert in der Maßeinheit zurück, die in ATo angegeben ist. Mit der folgenden Zeile wird beispielsweise eine Temperaturangabe aus Fahrenheit in Kelvin umgerechnet:

TempInKelvin := Convert(StrToFloat(Edit1.Text), tuFahrenheit, tuKelvin);
TempInKelvin = Convert(StrToFloat(Edit1->Text), tuFahrenheit, tuKelvin);

Bei Verwendung der zweiten Syntax geben die Parameter AFrom1 und AFrom2 die Maßeinheiten von AValue an, wenn es sich um einen Verhältniswert handelt (AFrom1 pro AFrom2). Convert gibt den umgerechneten Wert in ATo1 pro ATo2 zurück. Mit dem folgenden Aufruf wird ein Wert aus Meilen pro Gallone in Kilometer pro Liter umgerechnet:

nKPL := Convert(StrToFloat(Edit1.Text), duMiles, vuGallons, duKilometers, vuLiter);
double nKPL = Convert(StrToFloat(Edit1->Text), duMiles, vuGallons, duKilometers, vuLiter);

Die in AFrom und ATo, AFrom1 und ATo1 und AFrom2 und ATo2 angegebenen Einheiten müssen sich in derselben Konvertierungsfamilie befinden (sie müssen vergleichbares messen). Sie können überprüfen, ob zwei Werte vom Typ TConvType derselben Umrechnungsfamilie angehören, indem Sie CompatibleConversionTypes aufrufen. Sind die Einheiten nicht kompatibel, löst Convert eine EConversionError-Exception aus.

Anmerkung:  Die Unit StdConvs definiert mehrere Familien von TConvType-Werten. Unter Konvertierungsfamilienvariablen finden Sie eine Liste der vordefinierten Familien von Maßeinheiten sowie der Maßeinheiten in den jeweiligen Familien. Zusätzlich können Sie eigene Konvertierungsfamilien und Maßeinheiten mit den Funktionen RegisterConversionType und RegisterConversionFamily registrieren.

Anmerkung:  Convert führt Umrechnungen durch, indem der Wert in AValue aus der Einheit AFrom in die Basiseinheit der Konvertierungsfamilie und anschließend aus der Basiseinheit in die in ATo angegebene Einheit umgerechnet wird. Bei sehr großen Differenzen zwischen den Einheiten in AFrom ATo zur Basiseinheit der Konvertierungsfamilie kann dies zu Problemen wie einem Überlauf führen. Sie können diese Probleme vermeiden, indem Sie eigene Konvertierungsfamilien registrieren, die kleinere Teilmengen einer sehr umfassenden Konvertierungsfamilie darstellen.

Siehe auch