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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és10Date d'inscriptionjeudi 1 décembre 2005StatutMembreDerniè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....
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és10Date d'inscriptionjeudi 1 décembre 2005StatutMembreDerniè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és10Date d'inscriptionjeudi 1 décembre 2005StatutMembreDerniè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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és97Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention25 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 6 mars 2006 à 13:03
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és27Date d'inscriptionmercredi 23 janvier 2002StatutMembreDerniè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és75Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 7 janvier 20081 21 janv. 2005 à 09:24
bmouget
Messages postés43Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention 4 mars 2011 4 déc. 2004 à 13:33
nickel, exactement ce que je cherchais !
Merci
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 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és4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200825 21 sept. 2004 à 09:27
Propre et bien commenté également. Ca fait plaisir :o)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 sept. 2004 à 22:32
27 sept. 2006 à 17:36
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.
27 sept. 2006 à 17:06
enfin, Windows ne le fait il pas tout seul (derniers parametres fonctionnels..) ?
27 sept. 2006 à 16:54
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....
27 sept. 2006 à 16:37
Bien vu RenField.
27 sept. 2006 à 16:09
27 sept. 2006 à 15:53
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é.
27 sept. 2006 à 11:20
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.....
27 sept. 2006 à 10:15
Sur ce merci encore ! Un ptit 8 pour la peine
6 mars 2006 à 15:25
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.
6 mars 2006 à 14:53
6 mars 2006 à 13:03
6 mars 2006 à 12:31
en fet la lire sa marche mais je voi pas comment on peut ecrir
6 mars 2006 à 12:25
6 mars 2006 à 12:20
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
6 mars 2006 à 12:00
Dim Reg As New clsRegistry
a = Reg.ReadRegistry ( HKEY_CURRENT_USER , "bla\ma section\mon setting" , "MaValeur" )
MsgBox a
6 mars 2006 à 11:29
26 janv. 2006 à 12:12
5 févr. 2005 à 21:46
- 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.
3 févr. 2005 à 09:18
21 janv. 2005 à 09:24
5 déc. 2004 à 19:23
@+
4 déc. 2004 à 13:33
Merci
22 sept. 2004 à 06:10
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.
21 sept. 2004 à 09:27
20 sept. 2004 à 22:32
bien joué