Recuperer les valeurs d'une cle de la BDR dans un tableau. [Résolu]

Signaler
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009
-
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009
-
Bonjour, je crois que tout est dans le sujet.



J'essaie de recuperer les valeurs d'une cle de la BDR dans un tableau.



Les seules données que j'arrive à obtenir dans mon tableau sont

[System] [string]



c'est pas ça.



merci.

8 réponses

Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Autant pour moi j'ai omis çà :

foreach (string valuename in LaCle.GetValueNames())

::|The S@ib|::
MVP C#.NET
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Tu peux être moins précis encore ???
:>

::|The S@ib|::
MVP C#.NET
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009

Pour plus de precisions, il suffit de demander.



Voici mon code pour lister les dernier classeurs Excel ouverts.

Je voudrais ne pas avoir le "tablo" avec File1, File2 etc mais qu'il se remplisse en lisant les valeurs dans la clé.



Est ce que c'est plus clair maintenant?

merci .



// CLASSEURS EXCEL

// liste des valeurs des recentfiles de la BDR


// HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Recent
Files


string[] tablo = { "File1", "File2", "File3", "File4", "File5",
"File6", "File7", "File8", "File9" };


RegistryKey LaCle =
Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Office\10.0\Excel\Recent
Files", false);



// Initialisation d'un tableau des derniers classeurs ouverts


string[] tabListeClasseurs = new string[LaCle.ValueCount + 1];

int NbValeursCle;

NbValeursCle = LaCle.ValueCount;

for (int i = 0; i < LaCle.ValueCount - 1; i++)

{


string info = LaCle.GetValue(tablo[i]).ToString();

tabListeClasseurs[i] = info;



}

tabListeClasseurs[NbValeursCle - 1] = "Nouveaux classeur";

tabListeClasseurs[NbValeursCle] = "Choisir un classeur...";

LaCle.Close();
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
ArrayList files = new ArrayList();
RegistryKey LaCle = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Office\10.0\Excel\Recent Files", false);
foreach (string valuename in LaCle)
{
files.Add(LaCle.GetValue(valuename).ToString());
}

::|The S@ib|::
MVP C#.NET
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009

Merci, j'essaie et te tiens au courant
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009

Bon j'ai des soucis.

Faut il une directive using particuliere?

merci
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009

l'erreur est la suivante.

foreach (string valuename in LaCle)



Error 1 l'instruction foreach ne
peut pas fonctionner sur des variables de type
'Microsoft.Win32.RegistryKey', car 'Microsoft.Win32.RegistryKey' ne
contient pas de définition public pour 'GetEnumerator'



//////////////////////////////////////////////////////

merci
Messages postés
100
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 février 2009

merci ça marche.