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 Forms Discussion :

Lire des fichiers et effacer les doublons


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de Saten
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Points : 133
    Points
    133
    Par défaut Lire des fichiers et effacer les doublons
    Re-bonjour à tous,

    voilà je suis sur une partie de mon programme où un bouton devrait permettre d'afficher tous les fichiers d'un dossier, et un bouton optionnel permettrait d'effacer tous les fichiers en double (enfin l'un des deux...on se comprend hein).

    Pour ce faire voilà ce que j'ai fait, mais je doute ma conception et demande un peu d'aide et vos avis s'il vous plait!

    Méthode Générale:
    le bouton de lecture lis tous les fichiers, et les affiche dans un datagridview.
    le bouton d'action prend la première ligne, puis lis toutes les autres, et s'il rencontre la meme il la supprime, puis prend la 2nde, etc...

    Le bouton d'affichage des fichiers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int i = 0;
                DirectoryInfo theFolder = new DirectoryInfo(path);
                if (theFolder.Exists)
                {
                    //Diplay the files in a sub directory
                    foreach (FileInfo nextFile in theFolder.GetFiles())
                    {
                        textBox1.Text += nextFile.Name + "\n";
                        dataGridView1.Rows.Add();
                        dataGridView1.Rows[i].Cells[0].Value = nextFile.Name;
                        i++;
                    }
                }
                textBox1.Text += "Nombre de fichiers trouvés " + " " + i + "\n";
    Le bouton de suppression des doublons:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for (int i = 0 -1 ; i < dataGridView1.Rows.Count; i++)
                {
                    string gnome = dataGridView1.CurrentCell.Value.ToString().ToLower();
                    if (dataGridView1.Rows[i+1].Cells[0].Value.ToString().ToLower() == gnome)
                    {
                        File.Delete(path); 
     
                    }
                }
     
    //je voudrais savoir si ma méthode est bonne, et comment faire, enfin un petit coup de pouce s'il vous plait :D.
    Merci d'avance!

    EDIT: j'ai une erreur là : l'accès au chemin est refusé...

  2. #2
    Membre actif Avatar de Gulix
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 273
    Points
    273
    Par défaut
    Quand tu parles de supprimer les fichiers s'ils sont identiques, l'identité vient d'où ? Du nom ou du contenu ?

    En tout cas, quand tu fais ton delete, ce n'est pas path qui devrait être passé en paramètres (c'est le chemin de ton dossier visiblement).

    Comment je ferais (en supposant que c'est le nom de fichier identique que tu souhaites supprimer :

    Je considère une classe Fichier qui gère tes fichiers (avec la comparaison adéquate et la suppression).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    List<Fichier> tMesFichiers = ListerFichiers();
     
    for(int iFichierBase=0; iFichierBase < tMesFichiers.Count; iFichierBase++)
    {
       for(int iFichierCompare=tMesFichiers.Count-1; iFichierCompare > iFichierBase; iFichierCompare--)
       {
          if (tMesFichiers[iFichierCompare].Equals(tMesFichiers[iFichierBase]))
          {
             tMesFichiers[iFichierCompare].Delete();
             tMesFichiers.RemoveAt(iFichierCompare);
          }
       }
    }

Discussions similaires

  1. Lire un fichier CSV dont les données contiennent des points
    Par black cat747 dans le forum MATLAB
    Réponses: 16
    Dernier message: 23/02/2011, 11h51
  2. effacer les doublons tout en copiant des cellules
    Par dalo02 dans le forum Excel
    Réponses: 3
    Dernier message: 28/02/2010, 20h56
  3. Trouver-Effacer les doublons de fichiers
    Par rambc dans le forum Apple
    Réponses: 7
    Dernier message: 08/12/2009, 10h01
  4. Renommer des fichiers en supprimant les doublons
    Par Serge63 dans le forum VBScript
    Réponses: 5
    Dernier message: 07/03/2008, 10h36
  5. Réponses: 5
    Dernier message: 21/02/2007, 16h12

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