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
Dernière intervention
11 mai 2006
- 1 nov. 2005 à 21:38 - Dernière réponse : cs_gazza
Messages postés
23
Date d'inscription
mardi 1 octobre 2002
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é...
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
crougni
Messages postés
18
Date d'inscription
mardi 20 septembre 2005
Dernière intervention
3 mars 2009
- 2 nov. 2005 à 12:43
3
Merci
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+

Merci crougni 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de crougni
cs_gazza
Messages postés
23
Date d'inscription
mardi 1 octobre 2002
Dernière intervention
11 mai 2006
- 2 nov. 2005 à 23:16
0
Merci
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+
Commenter la réponse de cs_gazza

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.