Exécution des conversions

De RAD Studio
Aller à : navigation, rechercher

Remonter à Conversion de mesures


Vous pouvez utiliser la fonction Convert pour exécuter des conversions simples et complexes. Cette fonction inclut une syntaxe simple, et une seconde syntaxe réservée aux conversions entre des types de mesure complexes.

Exécution des conversions simples

Vous pouvez utiliser la fonction Convert pour convertir une mesure d'une unité vers une autre. La fonction Convert effectue des conversions entre unités mesurant le même type d'objet (distance, surface, temps, température, etc.).

Pour utiliser Convert, vous devez spécifier l'unité à partir de laquelle la conversion s'effectue et l'unité de destination. Vous utilisez le type TConvTypetype pour identifier les unités de mesure.

Par exemple, le code qui suit convertit une température de degrés Fahrenheit en degrés Kelvin :

Delphi :

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

C++ :

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

Exécution des conversions complexes

Vous pouvez aussi utiliser la fonction Convert pour effectuer des conversions plus complexes entre des rapports de deux types de mesure. C'est le cas lorsque vous effectuez des conversions de miles par heure en mètres par minute pour exprimer une vitesse ou de gallons par minute en litres par heure pour exprimer un débit.

Par exemple, l'appel suivant convertit des miles par gallon en kilomètres par litre :

Delphi :

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

C++ :

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

Les unités que vous convertissez doivent appartenir à la même famille de conversion (elles doivent mesurer la même chose). Si les unités ne sont pas compatibles, Convert déclenche une exception EConversionError. Vous pouvez vérifier si deux valeurs TConvType appartiennent à la même famille de conversion en appelant CompatibleConversionTypes.

L'unité System.StdConvs définit plusieurs familles de valeurs TConvType.

Voir aussi