Connaissez-vous ce genre de clé ? GUID UUID

Résolu
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 27 sept. 2010 à 20:30
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 28 sept. 2010 à 14:40
Salut a tou(te)s

Je suis à la recherche d'un renseignement concernant les 'clés' de ce type :
{472C317F-3BBE-4C80-8DF3-D9A4ACC4AB89}
J'ai un logiciel professionnel qui, lors d'un export, qualifie chaque zone de texte avec ce genre de référence.
J'ai fait l'essai de générer deux champs textes à quelques secondes d'intervalle, mais les clés générées ne se ressemblent pas, donc ils ne sont pas basés sur un TimeStamp quelconque :
      TEXT_GRAPHIC
      {
        NAME="{472C317F-3BBE-4C80-8DF3-D9A4ACC4AB89}"
        ORIGIN= { X=582 Y=101 }
        END= { X=612 Y=131 }
        TEXT="Un"
      }
      TEXT_GRAPHIC
      {
        NAME="{98CEC042-B138-4565-B502-6D02F14BC598}"
        ORIGIN= { X=579 Y=143 }
        END= { X=609 Y=173 }
        TEXT="Deux"
      }

Question : Est-ce que ce genre de champ/clé vous dis quelque chose ?
Si oui :
- Est-ce que ça a un nom particulier, afin que je puisse approfondir ma recherche
- Connaissez-vous les règles de génération de ce genre de clés ?

Je dois essayer de les générer de mon côté, en VBA.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 sept. 2010 à 20:59
Ça ressemble à des clé type GUID (ce que Microsoft appelle aussi CLSID lorsque il s'agit d'identifier des classes ou des activeX), la base de registre en est remplie.

Quant à la façon de la générée, je sais que dotNet comporte des classes pour cela, mais en dehors de dotNet ???

La page wikipédia, si ça peut t'aider --> ici


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 sept. 2010 à 21:22
Si ça peut t'aider, une pagemontrant comment les générer en VBS et en PHP.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 sept. 2010 à 09:15
qu'un même objet puisse être identifié avec une même clé, d'un système à un autre.


Parce que la clé est générée au moment du développement du projet et non pas à l'installation sur le système cible.

Qui a développer des activeX avec VB6 en sais quelque chose. Quand un projet était refermé, puis réouvert pour modification, la compilation, par défaut, générait une nouvelle clé, au lieu de conserver l'actuelle.
Ce qui fait qu'à chaque fois, on créait en réalité un nouvel objet au lieu d'en faire une mise à jour.
Il fallait penser à aller cocher une option dans le projet pour éviter cela, option qui aurait dû être cochée par défaut selon moi.


Ce système de clé existe aussi dans SQLServer sur les colonnes d'identités que l'on peut choisir sous forme de compteur ou de GUID


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 sept. 2010 à 23:35
Vous êtes des anges.
Il me semblait bien avoir vu ça, mais je n'ai jamais compris comment ces clés pouvaient être générées (par quelles lois) et, difficulté suprême, qu'un même objet puisse être identifié avec une même clé, d'un système à un autre.
Bref, je suis surpris de voir qu'elles soient composées de chiffres aléatoires.
Je m'en vais étudier ça de plus prêt.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 sept. 2010 à 10:07
Oui, voilà, c'est dans SQL Server.
Je me bagarrais avec Access.
Alzheimer me guette !

En fait, ce n'est pas un GUID dont j'ai besoin, mais d'un UUID qui lui, est basé sur certains éléments comme l'adresse MAC de la (d'une) carte réseau et l'heure.
Et, ô chance, il existe une DLL toute faite, rpcrt4.dll, qui génère ce UUID en quelques lignes (API UuidCreate et UuidToStringA)
Voir API-Guide pour les exemples VB6

Elle est pas belle, la vie ?

Merci encore pour vos lumières
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 sept. 2010 à 14:40
Codyx, Jack, Codyx :

www.codyx.org/snippet_generer-guid-identifiant-unique_224.aspx

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Rejoignez-nous