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

Contribuez .NET Discussion :

Énumérer les fichiers d'un dossier qui ont le même nom, sauf pour l'extension.


Sujet :

Contribuez .NET

  1. #1
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut Énumérer les fichiers d'un dossier qui ont le même nom, sauf pour l'extension.
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Énumérer les fichiers d'un dossier qui ont le même nom, sauf pour l'extension.

    À la suite d'une question dans le forum VB.net, je me suis souvenu d'avoir vu une manière de récupérer les noms de fichiers, mais sans les attributs qui viennent également avec les méthodes plus traditionnelles. Et comme la question portait juste sur les noms, je me suis mis au travail. Ayant également construit une interface (très) sommaire, j'ai don décidé de l'ajouter aux sources disponibles sur le site. Cela m'a également permis de pratiquer un peu avec Linq, au travers du reste. J'ai utilisé la classe Directory du Framework, mais, en fouillant dans mon aide, j'ai cru comprendre qu'à partir du Framework 4, cela peut (pourrait) également être réalisé avec la classe DirectoryInfo.

    Qu'en pensez-vous ?
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    Bon, premiere question: le but c'est de monter un appli winforms ou de montrer comment lister les fichier ayant le meme nom d'un dossier ?
    Dans le second cas, faire une appli console ou juste poster une classe/methode faisant le taff.

    Pour la suite, j'ai parcouru vite fait le code cote vbnet. Je suis desole, mais pour faire simple, c'est tres tres touffu pour ne pas faire grand chose.
    • Il y a des variables inutilisee
    • nom de variables bof bof
    • incoherence de politique de nommage des variables (camel ou pascal ou convention microsoft) , pas les 3
    • variable privee sans raison d'exister
    • accent dans un nom de variable
    • une methode FaireListe qui est trop 'riche', 3 boucles For pour construire tes objets ?


    Pour info en C# framework 4, cela prends 3 lignes, et en chainnan une seule...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DirectoryInfo repertoire = new DirectoryInfo(@"C:\workspace\WpfClient\Controls\Pages");
    var fichierSansExtentions =  repertoire.GetFiles().Select(c => c.Name.Split('.').First());
    var res = fichierSansExtentions.GroupBy(d => d).Where(grp => grp.Count() > 1);
    Bref, de mon point de vue, je jetterai puremenet et simplement ce code.

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par mermich Voir le message
    Salut,
    [*]incoherence de politique de nommage des variables (camel ou pascal ou convention microsoft) , pas les 3
    Les hospices de conventions, je m'en sacre comme dans l'an 40. Il n'y a aucune loi formelle qui oblige à les utiliser; sauf des politiques d'entreprises.


    [*]accent dans un nom de variable
    Cela fait une mèche que le(s) BASIC de Microsoft (incluant VBA) permettent de mettre des accents dans des noms de variable. Cela fait une mèche que je le fais et que je n'ai jamais eu de problème. Si tu veux t'accrocher aux habitudes antiques qui découlent de l'époque des mainframes et des limitations techniques qui empêchaient d'utiliser des accents dans des variables, je ne peux pas t'en empêcher. J'ai même déjà utilisé des BASIC qui limitaient les variables à deux caractères, qui obligeait que le premier caractère soit alphabétique, et les caractères alphabétiques devait obligatoirement être des majuscules. Cela empêchait donc de construire des classes avec des noms de variable commençant avec un caractère de soulignement, ou comme ils disent si bien en France un underscore. Et puis si Windows, ou le Framework ne pouvait pas vivre avec les accents, il n'y aurait pas de System.Globalization dans le Framework.



    [*]une methode FaireListe qui est trop 'riche', 3 boucles For pour construire tes objets ?
    C'est très possible que tu aies raison, mais je n'ai pas trouvé ou pensé à autre chose. Ceci dit, je préfère faire plus long pour avoir plus de confort en débogant. Il y en a qui préfèrent tout coller et déboguer (sacrer) plus longtemps.



    Pour info en C# framework 4, cela prends 3 lignes, et en chainnan une seule...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DirectoryInfo repertoire = new DirectoryInfo(@"C:\workspace\WpfClient\Controls\Pages");
    var fichierSansExtentions =  repertoire.GetFiles().Select(c => c.Name.Split('.').First());
    var res = fichierSansExtentions.GroupBy(d => d).Where(grp => grp.Count() > 1);
    Cela confirme ce que je dis dans mon introduction et ce dont je n'étais pas certain. Cela peut être fait avec DirectoryInfo et le Framework 4

    Pour les variables inutilisées, je pensais avoir faut tout le ménage, mais, il semble que non.

    Je pourrai dire que l'on apprend à tout âge.

    P.S. En tout cas, il y a matière à bien des débats
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/09/2009, 10h34
  2. [PHP 4] Petit Script Qui Permet De Supprimer Tous Les Fichiers D'un Dossier
    Par The_Haunted dans le forum Langage
    Réponses: 5
    Dernier message: 03/01/2009, 16h15
  3. Réponses: 9
    Dernier message: 17/01/2008, 03h02
  4. Réponses: 3
    Dernier message: 04/03/2007, 20h00
  5. supprimer les fichiers qui ont des mêmes noms
    Par manaboko dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 10h09

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