Retourné un tableau de ListViewItem d'une méthode qui se trouve dans une classe

Résolu
cs_gazza Messages postés 23 Date d'inscription mardi 1 octobre 2002 Statut Membre Dernière intervention 11 mai 2006 - 1 nov. 2005 à 21:38
cs_gazza Messages postés 23 Date d'inscription mardi 1 octobre 2002 Statut Membre Dernière intervention 11 mai 2006 - 2 nov. 2005 à 23:16
Bonsoir a tous,

j'aimerai savoir comment faire recupéré un tableau de ListViewItem dans une méthode qui se trouve dans une classe, je m'explique.

c'est pour faire une recherche de fichier, j'ai ma classe "fichier" ou il y a une méthode "rechercheFichier" j'aimerai passé les fichiers qu'il trouve???

voici comment se présente ma méthode qui elle se trouve dans le fichier .CS de ma forme:

private void RechercherFichier(DirectoryInfo di, string motRecherche)
{
Regex r = new Regex(motRecherche,RegexOptions.IgnoreCase);
// récupération de la liste des fichiers du dossier
FileInfo[] fis = di.GetFiles();
foreach (FileInfo fi in fis)
{
Match m = r.Match(fi.Name);
if (m.Success)
{
ListViewItem item = new ListViewItem(fi.Name);
item.SubItems.Add(fi.FullName);
item.SubItems.Add(fi.Length.ToString()+" Octets");
listViewRecherche.Items.Add(item);
}
}
// parcours des sous-dossiers du dossier
DirectoryInfo[] dirs = di.GetDirectories();
foreach (DirectoryInfo sousDossier in dirs)
RechercherFichier(sousDossier,motRecherche);
}

mais j'aimerai la mettre dans une classe appart??? mais si je l'a met dans une classe apart, il ne va plus reconnaitre le composant "listViewRecherche".

donc j'aimerai passé par exemple tous les fichiers qu'il me trouve???

si qqun a une idée? sinon la méthode de recherche de fichier fonctionne très bien si jamais qqun veux l'utilisé...

2 réponses

crougni Messages postés 18 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 3 mars 2009
2 nov. 2005 à 12:43
Salut gazza,



je pense que si tu utilise une ArrayList pour stocker tout tes FileInfo, ca devrait bien fonctionner.



sa devrait donner un truc du genre :



private ArrayList RechercherFichier(DirectoryInfo di, string motRecherche)

{

ArrayList SearchResult=new ArrayList();

Regex r = new Regex(motRecherche,RegexOptions.IgnoreCase);

// récupération de la liste des fichiers du dossier

FileInfo[] fis = di.GetFiles();

foreach (FileInfo fi in fis)

{

Match m = r.Match(fi.Name);

if (m.Success)

{

SearchResult.Add(fi);

}

}

// parcours des sous-dossiers du dossier

DirectoryInfo[] dirs = di.GetDirectories();

foreach (DirectoryInfo sousDossier in dirs)

SearchResult.AddRange(RechercherFichier(sousDossier,motRecherche));

}



A+
3
cs_gazza Messages postés 23 Date d'inscription mardi 1 octobre 2002 Statut Membre Dernière intervention 11 mai 2006
2 nov. 2005 à 23:16
Merci pour cette réponse claire et rapide Crougni.

c'est bien pratique d'avoir un tableau dynamique car j'avais trouvé la possibilté de retourné un tableau standard mais il voulait que je l'initialise car si je ne mettais rien, il me faisait une exeption...

enfin bref, je connaissais pas les ArrayList et c'est bien pratique. Alors encore un grand merci.

a+
0
Rejoignez-nous