Vérifier le type d'une valeur du registre

Résolu
fgsav Messages postés 16 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 22 octobre 2008 - 23 janv. 2006 à 00:08
fgsav Messages postés 16 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 22 octobre 2008 - 23 janv. 2006 à 13:27
Bonsoir à tous et merci de vous intéresser à mon problème.
Voilà mon programme a besoin d'aller lire certaines valeurs dans le registre, mais je rencontre des erreurs lors de l'exécution de mon programme lorsqu'il ne rencontre pas le type de valeur prévu...
Je m'explique, si je demande un Registre.ReadString(valeur) et que le programme rencontre une valeur de type MULTI_SZ, DWORD ou autre, une erreur intervient.
Je souhaiterais donc savoir quel moyen existe pour tester le type de donnée d'une valeur du registre (REG_SZ, REG_MULTI_SZ, REG_DWORD, REG_BINARY...) afin de m'assurer de ne pas déclencher une lecture de valeur si le type de données ne convient pas.
Merci d'avance

2 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
23 janv. 2006 à 08:41
Salut,

Tu dois utiliser la métode GetDataType de l'objet TRegistry
Elle te renvoie le type de la valeur

rdUnknown La valeur de donnée est de type inconnu.
rdString La valeur de donnée est une chaîne à zéro terminal. Il s'agit d'une chaîne Unicode ou ANSI selon que l'application appelle les fonctions de manipulation de chaînes Unicode ou ANSI.
rdExpandString La valeur de donnée est une chaîne à zéro terminal contenant des références non développées à des variables d'environnement (par exemple, "%PATH%"). Il s'agit d'une chaîne Unicode ou ANSI selon que l'application appelle les fonctions de manipulation de chaînes Unicode ou ANSI.
rdInteger La valeur de donnée est un nombre sur 32 bits.
rdBinary La valeur de donnée est de type binaire, sous n'importe quelle forme.

Ken@vo

<hr size="2" width="100%">Code, Code, Codec !

[%3C/body ]
3
fgsav Messages postés 16 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 22 octobre 2008
23 janv. 2006 à 13:27
Exactement ce que je cherchais...
Merci pour la réponse réapide et claire
0
Rejoignez-nous