Capturer l'arborescence de la base de registre

Soyez le premier à donner votre avis sur cette source.

Vue 9 234 fois - Téléchargée 1 011 fois

Description

C'est un code source qui permet d'enregistrer dans un TXT la structure de l'arborescence du registre, avec une possible réimportation du fichier TXT car il y a des tabulations-espaces qui conservent les profondeurs. Contrairement à la mise en oeuvre peu évidente, le principe est tout simple: y'a de la récurrence et c'est inévitable.

La code principal se trouve dans une unité à part. La variable "TBLS" est un tableau avec une quinzaine de case, chacune contenant un TStringList. Pour moi, la profondeur maximale trouvée est de 14, et en plus en donne le nom.

Chaque case de "TBLS" référence une profondeur du registre à un endroit donné, où la case N dépend des N-1 précédentes. Le programme construit donc toutes les combinaisons possibles à l'aide d'une récurrence, ce qui donne au final l'arborescence tant désirée.

L'arborescence ":A\B\C\" sera mémorisée "TBLS[0]=A; TBLS[1]=B; TBLS[2]=C". Mais il se peut que la clé B\ contienne en plus de C\ une sous-clé D\. Mais à cause de l'unicité des cases de TBLS, on ne peut pas mémoriser C\ et D\ en même temps. C'est en faisant défiler tous les sous-dossiers d'un dossier qu'on arrive à mémoriser l'arborescence, écrite en live dans un fichier. C'est pourquoi, toutes les fonctions trimbalent un "var F:file" dans leur paramètre. Mais çe n'est pas gênant.

Donc, on voit qu'on fait défiler toutes les cases de TBLS. Mais il faut aussi pouvoir se repérer dans le registre. A force d'ouvrir et de fermer les clés, on se perd. Et un TStringList n'informe pas sur l'adresse en cours... C'est là qu'intervient la variable "RegPath". A chaque case de "TBLS" correspond le nom d'une clé. Pour retrouver le chemin pour une case N de "TBLS", il suffit de recombiner les N-1 cases de "RegPath" et d'y concaténer l'item X de "TBLS". Ainsi, on peut ouvrir des clés et en fermer.

Une implémentation gérant une progression du processus est disponible.

Bref, bref... Ca marche vraiment excellent, et tout a été testé avec succès. On pourra bien sûr, si on souhaite, ajouter la fonction qui ajoute les valeurs contenues dans chaque clés. Mais cela n'a pas été le but de ce projet.

Conclusion :


Vous pouvez toujours aller voir http://altert.family.free.fr/

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
95
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
14 décembre 2017

c'est bon jai trouver la réponce a ma quetion ;-)
Messages postés
95
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
14 décembre 2017

bonjour

je trouve le code simpa

mais jai une question si par exemple je voulais simplement récuperer des clé bien présise dans la base de registre et que soit en suite ecrit dans un fichié texte comment ferais tu ?

car cela m'intersserais de comprendre comment on fait ??

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.