Liste fichier wxWindows

Résolu
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006 - 13 juin 2006 à 15:48
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006 - 15 juin 2006 à 10:19
Bonjour,

Je commence à utiliser wxWindows. Le truc que je veux faire c'est sélectionner un répertoire et ensuite lister automatiquement tous les fichiers contenu dans ce répertoire.
Exemple:
C:\repertoire1\
    cam1\
       cam1.txt
    cam2\
       cam2.txt
    etc
Je sélectionne le répertoire C:\repertoire1 et je voudrai récupérer dans wxGrid les chemins de chaque fichier.

7 réponses

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
15 juin 2006 à 07:59
Bonjour,


pour la dernière question comme je l'ai indiqué précédement il faut
utiliser les fonction membre suivantes : wxFileName::GetPath et
wxFileName::GetName.


wxArrayString files;

wxString name, path;


... // remplissage du tableau de chaine


for (size_t i = 0; i < files.GetCount(); i++)

{

    wxFileName fname(files[i]);

    name = fname.GetName();

   path = fname.GetPath();

   ... // traitement du nom et du chemin du fichier

}


Voilà en gros comment faire, le code ci-dessus n'a pas été testé et peu
contenir des erreurs mais l'idée est là même si certaine adaptation
peuvent être nécessaire, pour cela se référer à l'aide en ligne de
wxWidgets

Cordialement

Fred Cailleau-Lepetit
Soft In The Box
Forum wxWidgets en français
3
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
13 juin 2006 à 16:27
Bonjour,


Je vous conseille de lire l'aide sur les sujets suivants: wxDirTraverser e wxDir.

Puis de vous renseigner sur : wxGrid::SetCellValue, wxFileName::GetPath et wxFileName::GetName.


Une fois tous ces renseignements pris, vous devriez pouvoir réaliser ce que vous décrivez dans votre message.

Si ce n'était pas le cas, reposez une question sur la partie qui vous pose problème.

Cordialement

Fred Cailleau-Lepetit
Soft In The Box
Forum wxWidgets en français
0
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006
14 juin 2006 à 10:30
Merci, j'y arrive grace à ton aide ;-)

Cependant j'ai un souçi qui me gène là. Je travaille avec wxDev-Cpp et je veux créer mon IHM avec l'éditeur. Elle est bien définie de façon à ce que je n'y retouche plus car je sais que cet éditeur efface du code si on modifie des trucs. C'est pour celà que je veux faire mon interface au début une fois pour toute. Cependant, lorsque je veux insérer un wxGrid qui contiendra la liste des fichiers d'un dossier, ben je fais glisser le composant et là, impossible de modifier sa taille, il prend toute la fenètre! C'est la même chose pour les panels! Ya t'il une astuce?
0
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006
14 juin 2006 à 11:26
En fait, j'ai créer un wxPanel (il prend donc toute la fenètre) et à l'intérieur je peux placer mes composants que je peux redimenssionner :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006
14 juin 2006 à 15:24
re bonjour,

Bon j'arrive à récupérer les chemins des fichiers. Après celà, je veux afficher le chemin de ce fichier (ex:
c:\rep\fic.txt") dans une case d'un wxGrid et le nom du fichier
(fic.txt) dans une autre case. Les problèmes sont les suivants:
<li>Lorsque le chemin est long, il dépasse la cellule ce qui rend
toutes les cellules d'à coté illisible du fait qu'il y ait le texte par
dessus. Je voudrai que le texte ne dépasse pas.</li><li>De plus, je ne sais pas comment récupérer uniquement le nom du fichier dont le chemin est stocké dans un wxArrayString files</li>
J'espère avoir été clair surtout sur le premier point!
0
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006
15 juin 2006 à 10:03
Merci bien ça marche nickel.

Je récupère bien le nom du fichier dans le wxString mais maintenant je ne voudrai récupérer que la fin.
Mon fichier s'appelle par exemple cam12 et moi je voudrai uniquement récupérer le 12. J'ai essayé avec la fonction strtok mais j'ai un pb de type car elle attend un char* et pas un wxString!
0
cs_probordelais Messages postés 17 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 15 juin 2006
15 juin 2006 à 10:19
J'ai trouvé, j'ai fais un num_cam = name.Right(name.Lenght()-3)
0
Rejoignez-nous