System.ConvUtils.Convert
Delphi
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.