Lire dans la base de registre sans l'unit registry

Résolu
cs_cyprine Messages postés 10 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 7 septembre 2006 - 8 juil. 2006 à 00:59
cs_cyprine Messages postés 10 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 7 septembre 2006 - 8 juil. 2006 à 21:10
Voila j'ai pas mal cherché des information sur RegQueryValueEx  et la je ne sais plus quoi faire , voila mon code :

function ReadRegString(Root :HKey; Chemin, NomClee:string) :string;
 var HK :HKEY;
     str:string;
     value:dword;
  begin
    RegOpenKey(Root,PChar(Chemin),HK); // on ouvre la clée

    if HK = 0 then // si la clée n'existe pas on la crée
         RegCreateKeyEx(Root,PChar(chemin),0,nil,REG_OPTION_NON_VOLATILE
           ,KEY_ALL_ACCESS,nil,HK,nil);

     // on lit la valeur
     RegQueryValueex(HK,pchar(nomclee),nil,nil,@str,@value) ;//
     result:= str; // la forcement sa va pas mais je sais pas quoi mettre
     RegCloseKey(HK); // on referme la clée
  end;

Si je n'utilise pas l'unit Registry c'est pour une question de challange

Merci d'avance !

6 réponses

Utilisateur anonyme
8 juil. 2006 à 01:06
Salut,

Si c'est pour un challenge : tu dois donc te débrouiller seul sinon autant utiliser Registry ;).

@+

PS : la prochaine si tu as probleme dis nous lequel : tu n'as posé aucune question lol.
0
cs_cyprine Messages postés 10 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 7 septembre 2006
8 juil. 2006 à 12:04
Désolé il etait tard quand j'ai rédigé se post.

Donc ma question est la suivante : où est-ce que sa merdoi ?
Je comprend bien qu'un dword na rien a voir avec un string mais dans tous les exemple que j'ai trouvé ils n'utilise que des dword et c'est la seule facon que j'ai trouvé pour recupéré des donnée diferente de ' ' .

Dans la clé que je veux lire il y a un string et j'aimerais bien le recupérer ...

Voila a +
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
8 juil. 2006 à 14:39
Salut,

"if HK = 0 then // si la clée n'existe pas on la crée
         RegCreateKeyEx(Root,PChar(chemin),0,nil,REG_OPTION_NON_VOLATILE
           ,KEY_ALL_ACCESS,nil,HK,nil);"

Pourquoi veux-tu créer la clé si elle n'existe pas ?

Si c'est pour un challenge, je te laisse encore un peu chercher...

Bonne prog'
0
cs_cyprine Messages postés 10 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 7 septembre 2006
8 juil. 2006 à 19:39
Tu as raison j'ai oublier de citer mes sources , je m'en excuse au près de delphicool.

Si je créais la clé c'est pasque j'avais peur que sa fasse une erreur ...

bon apres de nombreuses modification la valeur de retour est toujours '' .

Sois je suis un kéké sois ...     ... je suis un kéké ...
0

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

Posez votre question
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
8 juil. 2006 à 20:20
Nombreuses modifications ???

Tu as juste à enlever ce qui est en rouge, et à rajouter ce qui est en vert.
Et c'est tout.
J'ai bien évidemment testé la fonction avant de la poster, ça me retourne bien la valeur de la clé  si elle existe (il s'agit ici d'un string, on est bien d'accord).

Peut-être que tu ne passes pas les bons paramètres ?
0
cs_cyprine Messages postés 10 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 7 septembre 2006
8 juil. 2006 à 21:10
AAAAA chui C*N ><

C'etait bien les paramètres dans le chemin je mettais '\' au debut et c'etait en trop .

Voila merci beaucoups je vais publier mes sources quand j'aurais fini et je n'oublirais pas de vous citer toi et delphicool ;)

Encor merci et bonne continuation
0