CLASSE .NET DE LECTURE/ÉCRITURE DANS LA BASE DE REGISTRE
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 2012
-
20 mars 2010 à 20:21
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011
-
1 sept. 2011 à 13:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 1 sept. 2011 à 13:27
Mais encore ...
C'est légé "bof" comme critique quand la note est si sévère. Un petit dévellopement s'impose.
Merci d'avance.
HACKANDROID
Messages postés103Date d'inscriptionmardi 12 juillet 2011StatutMembreDernière intervention 3 janvier 2013 30 août 2011 à 23:49
Bof!
mafieulemouton
Messages postés24Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention26 janvier 2010 17 août 2010 à 23:16
"Chaque sous-répertoires doit être séparés par un double anti-slash - "\" - surtout pas un anti-slash seul - """
rq: Pour éviter les erreur, pourquoi ne pas systématiquement remplacer "" dans ta chaine d'appel par "\" (genre avec un regex)
Sinon ca m'a l'air bien intéressant, je testerais ça!
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 22:38
Voilà qui est fait.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 19:12
J'y pense sérieusement bidouille007 mais j'aime bien avoir la main sur le résultat de l'erreur. Je vais donc devoir faire un pointeur sur fonction.
cs_PaulVanWalleghem
Messages postés2Date d'inscriptionmardi 15 mai 2007StatutMembreDernière intervention22 mars 2010 22 mars 2010 à 18:24
merci de la réponse
Paul
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 18:11
PaulVanWalleghem l'avantage de cette classe est qu'elle améliore l'utilisation et la lisibilité. En gros tu fais en une seul ligne ce qu'il faut faire en cinq grâce à l'objet Registry.
Pour connaitre le type d'un fichier, voici un bout de code avec ma classe. Il regarde les fichiers AVI.
Dim Reg As Registre
Dim MonExtention As String = ".avi"
Dim ContentType As String = Reg.ReadValue(Registre.RegisterKeys.HKCR, MonExtention , "Content Type", "")
Dim PerceivedType As String = Reg.ReadValue(Registre.RegisterKeys.HKCR, MonExtention , "PerceivedType", "")
MsgBox(ContentType & " - " & PerceivedType)
IMPORTANT: Si tu es sous XP, pas de souci. Sous 7/Vista, il y a une étape de plus.
Il faut écrire ceci dans le manifeste (fichier app.manifest pour VB 2008) :
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
Les deux lignes importantes sont :
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
et
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 22 mars 2010 à 13:04
en mettant le try dans la classe ca evitait d'avoir a le faire dans le code du programme et puis comme c'est à chaque fois, y a pas moyen d'ajouter cela à ta classe ?
cs_PaulVanWalleghem
Messages postés2Date d'inscriptionmardi 15 mai 2007StatutMembreDernière intervention22 mars 2010 22 mars 2010 à 11:10
Bien le bonjour!
Je ne suis pas un expert en VB.NET. Mais quel est l'avantage de cette classe par rapport à l'objet "My.Computer.Registry" ?
Enfin, si je peux me permettre une autre question. Je cherche à lire la base de registre pour connaître le type d'un fichier sur la base de son extension. Quelle clef de registre dois-je utiliser ?
D'avance, merci beaucoup!
Avec mes sincères salutations,
PoloAroulettes
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 21 mars 2010 à 12:24
C'est vrai, ça me paraissait tellement évidement que je n'y ai pas pensé. Je vais le préciser.
Merci.
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 21 mars 2010 à 00:01
la raison et qu'il faut pour ce genre d'opération mettre un try systématiquement au risque d'avoir une exception non gérée et donc planté le code.
Que ce soit la lecture et/ou l'écriture
pour dire ton exemple met un try d'office.
Enfin je dis ca mais c'est du très bon code.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 20 mars 2010 à 20:50
C'est un choix de ma part.
Comme vous pouvez le voir toutes les fonctions retournent déjà quelques choses. Il faudra donc ajouter un argument "ByRef" pour avoir un retour supplémentaire.
Ensuite il faudra tester chaque appel à la base de registre. Si il y a un seul appel ça vaut le coup, mais au delà, ce n'est plus intéressant. C'est ce que j'ai pensé.
Après s'il y a des raisons que je vois pas, je veux bien être éclairé.
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 20 mars 2010 à 20:21
bonjour
intéressant mais pourquoi ne pas avoir inclus le try dans la classe ? cela aurait alléger le code proprement dit.
Les fonctions auraient renvoyer un code pour dire OK ou pas
1 sept. 2011 à 13:27
C'est légé "bof" comme critique quand la note est si sévère. Un petit dévellopement s'impose.
Merci d'avance.
30 août 2011 à 23:49
17 août 2010 à 23:16
rq: Pour éviter les erreur, pourquoi ne pas systématiquement remplacer "" dans ta chaine d'appel par "\" (genre avec un regex)
Sinon ca m'a l'air bien intéressant, je testerais ça!
22 mars 2010 à 22:38
22 mars 2010 à 19:12
22 mars 2010 à 18:24
Paul
22 mars 2010 à 18:11
Pour connaitre le type d'un fichier, voici un bout de code avec ma classe. Il regarde les fichiers AVI.
Dim Reg As Registre
Dim MonExtention As String = ".avi"
Dim ContentType As String = Reg.ReadValue(Registre.RegisterKeys.HKCR, MonExtention , "Content Type", "")
Dim PerceivedType As String = Reg.ReadValue(Registre.RegisterKeys.HKCR, MonExtention , "PerceivedType", "")
MsgBox(ContentType & " - " & PerceivedType)
IMPORTANT: Si tu es sous XP, pas de souci. Sous 7/Vista, il y a une étape de plus.
Il faut écrire ceci dans le manifeste (fichier app.manifest pour VB 2008) :
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<defaultAssemblyRequest permissionSetReference="Custom" />
</security>
Les deux lignes importantes sont :
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
et
22 mars 2010 à 13:04
22 mars 2010 à 11:10
Je ne suis pas un expert en VB.NET. Mais quel est l'avantage de cette classe par rapport à l'objet "My.Computer.Registry" ?
Enfin, si je peux me permettre une autre question. Je cherche à lire la base de registre pour connaître le type d'un fichier sur la base de son extension. Quelle clef de registre dois-je utiliser ?
D'avance, merci beaucoup!
Avec mes sincères salutations,
PoloAroulettes
21 mars 2010 à 12:24
Merci.
21 mars 2010 à 00:01
Que ce soit la lecture et/ou l'écriture
pour dire ton exemple met un try d'office.
Enfin je dis ca mais c'est du très bon code.
20 mars 2010 à 20:50
Comme vous pouvez le voir toutes les fonctions retournent déjà quelques choses. Il faudra donc ajouter un argument "ByRef" pour avoir un retour supplémentaire.
Ensuite il faudra tester chaque appel à la base de registre. Si il y a un seul appel ça vaut le coup, mais au delà, ce n'est plus intéressant. C'est ce que j'ai pensé.
Après s'il y a des raisons que je vois pas, je veux bien être éclairé.
20 mars 2010 à 20:21
intéressant mais pourquoi ne pas avoir inclus le try dans la classe ? cela aurait alléger le code proprement dit.
Les fonctions auraient renvoyer un code pour dire OK ou pas