UNE CLASS POUR LE REGISTRE

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 20 sept. 2004 à 22:32
 Utilisateur anonyme - 27 sept. 2006 à 17:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26277-une-class-pour-le-registre

Utilisateur anonyme
27 sept. 2006 à 17:36
Vite je rajoute :
Attention: Je ne suis pas responsable des pertes ou endommagements de la base de registre faite avec cette source. Source à manipuler avec attention, vérifiez bien que vous manipuler les bonnes clés et données de la base de registre avant exécution du code.
^^

Sinon, oui, Windows fait une sauvegarde du registre de temps en temps.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 sept. 2006 à 17:06
penser a enregistrer le registre avant ^^

enfin, Windows ne le fait il pas tout seul (derniers parametres fonctionnels..) ?
xineohp37 Messages postés 10 Date d'inscription jeudi 1 décembre 2005 Statut Membre Dernière intervention 5 mars 2007
27 sept. 2006 à 16:54
C'est vrai que si je n'avais pas eu un Option Base 1 dans mon projet ça serait passé tout seul, autant pour moi ! :)
Bon sinon je viens de passer une bonne heure à reformater mon pc pour cause d'utilisation maladroite du DeleteKey récursif sur des Clsid de dll et d'ocx. Du coup, en 10 secondes (le temps que le code tourne, j'ai du paumer la moitier de HKEY_CLASSES_ROOT, et forcément, après, et ben le PC il marche moins bien....
Je l'ai pas vu venir, mais je ne peux m'en prendre qu'à moi, avis aux autres, ceci est une source à manipuler judicieusement, quand on a au moins un café dans le bide....
Utilisateur anonyme
27 sept. 2006 à 16:37
Oui, c'est encore mieux.
Bien vu RenField.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 sept. 2006 à 16:09
ou simplement parcourir le tableau avec LBound et Ubound
Utilisateur anonyme
27 sept. 2006 à 15:53
Oui c'est vrai que ce code n'est pas au top comme tu dis.
Il date un peu et aurait besoins d'une serieuse maj.
Par contre en vb, on à Option Base 0 par défaut et non 1. Donc le premier indice des tableau est bien 0.
La gestion d'erreur est en effet pas assez développé.
xineohp37 Messages postés 10 Date d'inscription jeudi 1 décembre 2005 Statut Membre Dernière intervention 5 mars 2007
27 sept. 2006 à 11:20
Heu....après test approfondis en fait c'est pas le top du top....
Exemple, dans DeleteKey on appel la fonction ReadRegistryKey en y passant la référence d'un tableau de chaine. Jusque là tout va bien sauf que le premier indice du tableau en VB c'est 1 et pas 0 sinon à l'affectation StringTab(0) = "toto" et ben ça plante sévère.La gestion d'erreur n'étant pas au top fo se palucher un débuggage manuel à la con....Bon de tte façon faut bien qualifier son code à un moment ou un autre mais bon.....
xineohp37 Messages postés 10 Date d'inscription jeudi 1 décembre 2005 Statut Membre Dernière intervention 5 mars 2007
27 sept. 2006 à 10:15
25 allez retour sur le site afin de trouver un code de gestion de la Bdr ou la suppression de clé est faite de façon recursive ! Bon Reinfield marque un point, quelque manips mineurs à faire pour réutiliser tranquilement le tout dans un module...En dehors de ça je préfère un code complet et portable sur les différent OS Windaube que des exemples de codes certes parfait mais qui ressemble plus à de la surcharge inutile des fcts des API !
Sur ce merci encore ! Un ptit 8 pour la peine
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2006 à 15:25
et...
et ça veux dire quoi "ca marche pas" ? (chez moi, ca fonctionne parfaitement.)

à noter que le fichier .cls ne peut être intégré tel quel dans un projet, celui ci, qui est une traduction d'un code C++ est finalement assez mal fagoté, et quelques erreurs surviennent, avec les fonctions utilisant le type tValue.
Supprime celles-ci, ou extraies le code de WriteRegistry, et ca ira.
dxh_master Messages postés 97 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 juin 2006
6 mars 2006 à 14:53
MERCI en fet sa marche pas quand je met les Reg.WriteRegistry (HKEY_CURRENT_USER , "bla\ma section\mon setting" , "MaValeur" , REG_SZ, "NewValue")
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2006 à 13:03
Reg.WriteRegistry HKEY_CURRENT_USER , "bla\ma section\mon setting" , "MaValeur" , REG_SZ, "NewValue"
dxh_master Messages postés 97 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 juin 2006
6 mars 2006 à 12:31
en fet jaimerait écrir dans la base de registre !
en fet la lire sa marche mais je voi pas comment on peut ecrir
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2006 à 12:25
l'on oublie bien sur pas d'enregistrer la dll, si on n'intègre pas le cls dans son projet....(et que l'on utilise la dll ^^)
dxh_master Messages postés 97 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 juin 2006
6 mars 2006 à 12:20
Erreur de compilation
Impossible de définir un type publique defini par l'utilisateur à l'interieur d'une classe.

et il me dit que c'est sa qui bug:
Public Type tValue
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2006 à 12:00
tu as juste a faire, des petits :

Dim Reg As New clsRegistry
a = Reg.ReadRegistry ( HKEY_CURRENT_USER , "bla\ma section\mon setting" , "MaValeur" )
MsgBox a
dxh_master Messages postés 97 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 25 juin 2006
6 mars 2006 à 11:29
bonjour je sais pas comment utiliser ces fonction pouvez vous maider?? (mexplique)
mat_inter Messages postés 7 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 26 janvier 2006
26 janv. 2006 à 12:12
Merci, excellent.
Utilisateur anonyme
5 févr. 2005 à 21:46
Pour l'utiliser en VB il faut la définir :
- Dans Référence (mnu Projet) il faut ajouter la dll. (Parcourir et entrer le chemin d'accés de la dll)
- Ensuite dans le code, il aut la délcarer:
Dim %VarName% As New Registry.clsRegistry
- Pour l'utiliser: %VarName%.%Function%([%Arg%])

Voilà, en avec ça tu devrais y arriver.
cs_laulaut Messages postés 27 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 3 février 2005
3 févr. 2005 à 09:18
slt il ma l’aire super ton dll je mais comment je peut le utilise je suis un peut novice de ce coté la j'ai déclare la dll dans windows comme ça regsvr32 /v Registry.dll mes après je veux la utilise dans mes applis mais je arrive pas si tu peut m'aide merci
nah666 Messages postés 75 Date d'inscription samedi 30 août 2003 Statut Membre Dernière intervention 7 janvier 2008 1
21 janv. 2005 à 09:24
Beau travail bravo
Utilisateur anonyme
5 déc. 2004 à 19:23
Cette source est là pour aider

@+
bmouget Messages postés 43 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 4 mars 2011
4 déc. 2004 à 13:33
nickel, exactement ce que je cherchais !

Merci
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
22 sept. 2004 à 06:10
Remarque :
utiliser un do ... loop (sans conditions pour sortir) à la place d'un do ... loop (while/until) ...
réduit les performances de la boucle

Je crois qu'utiliser Call ralentit l'appel de la fonction.

C'est très interressant. Je verrais bien une tlb pour les APIs et les énumérations car cela aiderait à avoir un appel aux APIs encore plus rapide. Peut-être aussi une Dll ActiveX.

En parlant, je déteste quand un code est "trop" documenté car c'est fatigant de voir plein de vert partout dans le code ;-). C'est par contre bien d'avoir certaines lignes commentées.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
21 sept. 2004 à 09:27
Propre et bien commenté également. Ca fait plaisir :o)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 sept. 2004 à 22:32
Complet, et avec gestion d'erreurs.....

bien joué
Rejoignez-nous