fgsav
Messages postés16Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention22 octobre 2008
-
23 janv. 2006 à 00:08
fgsav
Messages postés16Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention22 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
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 20095 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.