|
|
|
|
|
- UUID vide
- Conversions possibles
- Opérations disponibles
- Comparaison
- Génération d'un UUID
- Rubriques HFSQL
- Gestion des types UUID dans les champs
- Interface COM
- Sérialisation
UUID (Type de variable) En anglais : UUID
Le type UUID permet de manipuler facilement : - des UUID ou des GUID,
- des identifiants automatiques uniques HFSQL de type UUID,
- les identifiants des objets et des interfaces COM/Automation,
- etc.
Les variables de type UUID sont disponibles : - en 128 bits. Les UUID sur 128 bits vérifient la RFC 4122.
- en 256 bits.
v est un UUID
v1 est un UUID sur 128
v2 est un UUID sur 256
Syntaxe
Déclaration et affectation d'un type UUID Masquer les détails
<Nom de la variable> est un UUID = <Valeur> OU
<Nom de la variable> est un UUID <Nom de la variable> = <Valeur>
<Nom de la variable> : Nom de la variable à déclarer. <Valeur> : Valeur à affecter à la variable. Une variable de type UUID peut être affectée avec : Remarques UUID vide Par défaut, lors de la création d'une variable de type UUID, cette variable est vide. Sa valeur correspond : - à la constante Nil_UUID pour les variables de type UUID sur 128.
- Ã la constante Nil_UUID_256 pour les variables de type UUID sur 256.
Le but principal des conversions est de permettre un débogage facile tout en détectant les opérations n'ayant pas de sens. Les conversions en chaîne ou buffer sont possibles mais il n'est pas possible d'effectuer une conversion vers une variable de type numérique. Un UUID 128 est convertible : - en chaîne au format héxadécimal standard "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".
- en buffer au format "big-endian" (16 octets).
Un UUID 256 est convertible : - en chaîne au format héxadécimal "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".
- en buffer au format "big-endian" (32 octets).
Les autres conversions ne sont pas autorisées. En particulier, un UUID 128 n'est pas convertible en un UUID 256 et réciproquement. Le but principal des opérations est de permettre un débogage facile tout en détectant les opérations n'ayant pas de sens. La concaténation avec une chaîne est donc autorisée mais aucune opération arithmétique n'est autorisée. Un UUID (128 ou 256) peut être concaténé avec une chaîne ou un buffer. Les UUID sont comparables afin de permettre le tri et la recherche dichotomique dans un tableau. - Les UUID 128 peuvent être comparés à des UUID 128, des chaînes et des buffers.
- Les UUID 256 peuvent être comparés à des UUID 256, des chaînes et des buffers.
Génération d'un UUID Un UUID 128 peut être généré : - grâce à la fonction DonneGUID. Exemple :
v est un UUID = DonneGUID()
- grâce à la fonction DonneUUID. Exemple :
v est un UUID = DonneUUID()
Un UUID 256 peut être généré : - grâce à la fonction DonneGUID. Exemple :
v est un UUID sur 256 = DonneGUID(guidBrut256)
- grâce à la fonction DonneUUID256. Exemple :
v est un UUID sur 256 = DonneUUID256()
Rubriques HFSQL - Les rubriques de type UUID 128 et UUID 256 sont disponibles dans l'analyse.
- Les rubriques de type UUID 128 et UUID 256 peuvent être automatiques. Dans ce cas, ce sont des identifiants automatiques de type UUID. Un UUID sera automatiquement généré lors de l'appel de la fonction HAjoute.
Gestion des types UUID dans les champs Des masques de saisie et d'affichage de type "UUID" et "UUID 256" sont disponibles pour les différents champs permettant de manipuler ces types. Le binding est disponible vers les rubriques HFSQL et les variables de type UUID. Interface COM Un UUID 128 peut être utilisé pour stocker les CLSID et les IID des objets et des interfaces COM. Il peut donc être utilisé dans les fonctions COMCréeInstance et COMRécupèreInterface. Sérialisation Les UUID sont sérialisables (fonction Sérialise) : - UUID 128 :
- Sérialisable en XML et en JSON : chaîne au format standard "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
- Sérialisable en binaire : format binaire "big-endian".
- UUID 256 :
- Sérialisable en XML et en JSON : chaîne au format "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- Sérialisable en binaire : format binaire "big-endian".
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|