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
Abbrev: abréviation/symbole de l'unité
Nom: nom de l'unité
Description: description de l'unité
Masse: dimension par rapport à la masse (unité SI = kg)
Kelvin: dimension par rapport à la température (unité SI = K)
Ampere: dimension par rapport à l'intensité électrique (unité SI = A)
Temps: dimension par rapport au temps (unité SI = s)
Candela: dimension par rapport à l'intensité lumineuse (unité SI = cd)
Mole: dimension par rapport à la quantité de matière (unité SI = mol)
Longueur: dimension par rapport à la longueur (unité SI = m)
Monetaire: dimension par rapport à la monnaie (unité réf = €)
ratio: accroissement de l'unité SI correspondant à l'accroissement de 1 unité
Delta: valeur de l'unité correspondant à 0 unité SI
GestionUnit: Cette unité est utilisable pour gérer du stock Qubes ; True/False
prefixable: Cette unité est fractionnable en multiples (micro, milli, kilo, méga, etc.) ; True/False

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

SpawnNewUnit('°C', 'degré Celsius', 'degré Celsius',
             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)
             );

Classification

QuBESStock