IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Mobile .NET Discussion :

[CF][PPC/C#] Comment lister les fichiers d'un répertoire ?


Sujet :

Windows Mobile .NET

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut [CF][PPC/C#] Comment lister les fichiers d'un répertoire ?
    Bonjour,

    J'aimerais afficher la liste des fichiers contenus dans un répertoire ainsi que la date de création de ces fichiers dans un DataGrid. Le problème, c'est que je ne sais pas comment récupérer le nom des fichiers et les dates pour pouvoir les afficher.

    Est ce que qqun aurait déjà réalisé cette opération ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    tu dois pouvoir utiliser Directory.GetFiles().

    @+

  3. #3
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut
    je connais pas trop la différence entre les PPC et le reste mais bon, je te donne mon code quand même.

    J'avais fait cette fonction pour faire la liste des fichier d'un repertoire et en plus en donnant un filtre sous la forme "*.ico|*.exe".
    (c'est la variable _filter ci dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    private void MakeFileList()
    {
     
       try
       {
     
       if (!_filter.Equals ("*.*"))
       {
          ArrayList files = new ArrayList();
          string[] patterns = _filter.Split(new char[] {'|'});
     
          foreach (string pattern in patterns)
             files.AddRange(System.IO.Directory.GetFiles(_path, pattern));
     
          _fileList = (string[])files.ToArray(string.Empty.GetType());
          files = null;
       }
       else
          _fileList = System.IO.Directory.GetFiles(_path,_filter);
       }
       catch(Exception)
       {
          string messageException = "Bad argument to find a list of file"
          + " verify that the path exists and that it's "
          + "not empty";
          throw new MonException(messageException);
       }
    }
    c'est que je ne sais pas comment récupérer le nom des fichiers et les dates pour pouvoir les afficher.
    regarde sur ce forum, j'ai répondu à un post à ce sujet il me semble et je n'étais d'ailleurs pas le seul..fais une recherche

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 141
    Points : 139
    Points
    139
    Par défaut
    si je me souviens bien tu dois faire attention au path:
    sous pocket je pense que tu dois donner "\rep1\rep2" (sans \) et pas "\rep1\rep2\" (ou alors c'est l'inverse)

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    je ne comprends pas ton code Dynitro !

    D'abord je voudrais seulement lire le nom des fichiers contenu dans un répertoire.

    Quelle fonction renvoie le nom des fichiers sous forme de string ???

  6. #6
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    Citation Envoyé par dady
    je ne comprends pas ton code Dynitro !

    D'abord je voudrais seulement lire le nom des fichiers contenu dans un répertoire.

    Quelle fonction renvoie le nom des fichiers sous forme de string ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string[] Directory.GetFiles()

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DirectoryInfo di = new DirectoryInfo("\\Program Files");
     
    // Get only subdirectories that contain "Fiches REI"
    DirectoryInfo[] dirs = di.GetDirectories("Fiches REI");
     
    string[] str;
     
    // Count all the files in each subdirectory that contain the letter "e."
    foreach (DirectoryInfo diNext in dirs) 
    {
                  str=diNext.GetFiles();
    }
    mon code ne fonctionne pas, il me dit impossible de convertir une variable de type FileInfo[] en string[] !!!

    La fonction GetFiles ne renvoie pas un string ???

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 141
    Points : 139
    Points
    139
    Par défaut
    c fort possible. il arrive parfois qu'on ne verifie pas toute la doc avant de donner une réponse. A ce moment là tu peux prendre l'initiative d'aller voir dans msdn ou dans la doc installé quelle est la signature de cette méthode et corriger par toi meme. Ensuite tu peux revenir sur le forum et dire qu'il y avait une petit erreur, donner ta solution et peut-être aider qqun d'autre ainsi.

    par contre, juste demander si ya pas un problème de type sans avoir chercher

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    le soucis c'est que je suis allée voir l'aide de visual mais je ne trouve pas la bonne méthode !!!

    je cherche aussi par moi même que crois tu ???

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 141
    Points : 139
    Points
    139
    Par défaut
    tu utilises directoryinfo et pas directory:
    http://msdn.microsoft.com/library/de...FilesTopic.asp
    http://msdn.microsoft.com/library/de...ilesTopic2.asp

    freddyboy 10:46 - string[] Directory.GetFiles()
    daddy 10:52 - mon code ne fonctionne pas...

    faut chercher + de 5 minutes parfois

    ps: j'ai mis moins de temps pour trouver les liens ...

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    c'est parce que tu es fort

    C'est bon j'ai résolu mon problème mais je récupère le nom du fichier avec tout le chemin ex : Program Files\Fiches REI\NomFichier.xml

    J'aimerais alors extraire uniquement NomFichier de cette chaine de caractères !

    Vous connaissez les fonctions qui permettent de manipuler des chaîne de caractères ???

  12. #12
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    regarde dans la classe Path il y a les methodes que tu as besoin.

    @+

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 141
    Points : 139
    Points
    139
    Par défaut
    tu utilises des FileInfo ou pas finalement ?
    avec FileInfo tu as:
    http://msdn.microsoft.com/library/de...classtopic.asp

    Citation Envoyé par MSDN
    public property Name Supported by the .NET CF. Gets the name of the file.

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    string[] files;
     
    // pour avoir les noms des fichiers et sous-répertoires
    files = Directory.GetFiles("\\Program Files\\Fiches REI");
     
    int filecount = files.GetUpperBound(0) + 1;
    for (int i = 0; i<filecount;  i++)
    {
        MessageBox.Show(System.IO.Path.GetFileName(files[i]));
     
    }
    Maintenant j'affiche NomFichier.xml, ma dernière opération consiste à supprimer .xml afin d'extraire uniquement NomFichier !

    ...

    qqun sait comment récupérer la date de création d'un fichier ?
    c'est une fonction système non ?

  15. #15
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut
    t'as pas du chercher bien loin ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string stemp = System.IO.Path.GetFileName(files[i]); 
    string[] tableau;
    tableau = stemp.Split(new char[] {'.'});
     
    string nomfichier = stemp[0];
    //fonctionne uniquement si il n'y a qu'un seul '.'dans le nom du fichier.
    //sinon il suffit de concatener toutes les chaines du tableau
    // sauf la dernière et ça doit fonctionner.
    au passage, dans le code que je t'avais donné, il y avait un exemple de split...

  16. #16
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    si tu voulais le nom du fichier sans l'extension il y a aussi la methode GetFileNameWithoutExtension plus tot que le split.

    Pour la date de creation il te faut utilsier la classe File avec la methode GetCreationTime.

    @+

  17. #17
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    Merci bien freddyboy, ta méthode pour retirer l'extension marche très bien !

    Merci
    J'essaie à présent de récupérer la date !

    La méthode File.GetCreationTime renvoie une date (type DateTime). Comment faire pour la transformer en string ?

  18. #18
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Convert.ToString(tondatetime);
    @+

  19. #19
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 54
    Points : 17
    Points
    17
    Par défaut
    c'est bon j'ai trouvé c'est la fonction ToString()

    Encore merci pour tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/12/2007, 18h22
  2. Réponses: 5
    Dernier message: 25/06/2007, 23h25
  3. Réponses: 7
    Dernier message: 08/01/2007, 19h18
  4. Comment lister les fichiers dans un répertoire ?
    Par PatricePatrice dans le forum Framework .NET
    Réponses: 18
    Dernier message: 04/01/2007, 10h15
  5. Réponses: 13
    Dernier message: 24/08/2006, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo