SpawnNewUnit
Création d'une nouvelle unité dans la base Qubes
Syntaxe
function SpawnNewUnit(Abbrev: String; Nom: String; Description: String; Masse: Integer; Kelvin: Integer; Ampere: Integer; Temps: Integer; Candela: Integer; Mole: Integer; Longueur: Integer; Monetaire: Integer; ratio: Float; Delta: Float; GestionUnit: Boolean; prefixable: Boolean): Integer
Remarques
On peut définir des unités sans dimension physique ou monétaire (toutes les dimensions à 0), par exemple PCE = nombre de pièces.
On peut aussi définir des grandeurs physiques ou monétaires, dont on souhaite gérer les conversions :
- Les grandeurs physiques s'expriment en unités dérivées des sept unités de base.
- On a aussi une dimension monétaire, permettant de définir des équivalences par rapport à l'euro.
Les conversions entre unités équivalentes sont basées sur un ratio de conversion et un décalage (notamment utile pour les températures), par rapport à l'unité du Système International (unité SI) suivant l'équation suivante :
[ unité SI ] = RATIO * ( [ unité ] - DELTA )
Le RATIO est l'accroissement de l'unité SI correspondant à l'accroissement de 1 unité.
Le DELTA est la valeur de l'unité correspondant à 0 unité SI.
La fonction retourne l'identifiant numérique de l'unité créée.
Exemples
0,
1, // le degré Celsius est homogène au Kelvin
0,
0,
0,
0,
0,
0,
1, -273.15, // [K] = 1 * ( [°C] - -273.15 )
False, // on ne gère pas de stock en °C
True // le degré Celsius est préfixable : par exemple « millidegré Celsius » (symbole m°C).
);
SpawnNewUnit('W', 'watt', 'watt',
1,
0,
0,
-3,
0,
0,
2,
0,
1, 0, // [kg][m2][s-3] = 1 * ( [W] - 0 )
False, // on ne gère pas de stock en watt
True // le watt est préfixable (ex : mW, MW)
);