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

C# Discussion :

Lister une architecture et afficher selon une metadonnée


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut Lister une architecture et afficher selon une metadonnée
    Bonjour à tous,

    Je dois coder un petit logiciel qui permet d'afficher tous les répertoires et fichiers des lecteurs et afficher dans mon treeview WPF que ceux dont la dernière ouverture remonte à "aujourd'hui - Temps t"

    Pour le moment j'arrive à afficher la première hierarchie des dossiers, mais sans pouvoir aller plus loins ni dans le détails dossiers et/ou fichier, ni dans le filtre du temps grace au Directory.GetDirectories selon mon code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public List<string> Scan()
    {
        return Directory.GetDirectories(selectedDrive).ToList();
    }
    J'ai ici besoin de vous pour creuser approfondir l'affichage et appliquer le filtre.

    Dans l'espoir que vous pourrez m'aider
    Cordialement,

    yagaam

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Petit up,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public List<DirectoryInfo> Scan()
    {
        DirectoryInfo diTop = new DirectoryInfo(selectedDrive);
        var allDirsmodified = diTop.EnumerateDirectories("*", SearchOption.AllDirectories).Where(d => d.LastWriteTime > System.DateTime.Now.AddDays(-60));
        return allDirsmodified.ToList();
    }

    Malheureusement cette fonction plante lorsque elle tente d'accéder à un répertoire dont les droits d'accès sont absents:

    System.UnauthorizedAccessException*: 'L'accès au chemin d'accès ' ...
    L'idée serait qu'il l'évite et m'inscrive les répertoires dans un Log.

    Sauriez-vous m'aider ?

    Cordialement,

    Yannick
    Cordialement,

    yagaam

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    la version moche mais qui marche c'est un try catch (de toute facon des try catch c'est obligatoire quasi partout)
    sinon il y a fileiopermission qui doit être mieux
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    la version moche mais qui marche c'est un try catch (de toute facon des try catch c'est obligatoire quasi partout)
    sinon il y a fileiopermission qui doit être mieux


    Bonjour,

    Mmmm, merci pour ton aide ! Je ne suis pas sûr de comprendre comment ça marche. Je dois obtenir un IEnumerable de cette fonction pour l'afficher dans mon TreeView WPF via la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void ScanBtn_Click(object sender, RoutedEventArgs e)
            {
                trvStructure.ItemsSource = fileManager.Scan();
            }
    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
    /// <summary>
            /// Scan SelectedDrive
            /// </summary>
            /// <returns>List of directories and files the current user has access and older than 60 days</returns>
            public List<DirectoryInfo> Scan()
            {
                FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Read, selectedDrive);
                try
                {
                    f2.Demand(); // À ce stade je voulais comprendre comment fonctionne Demand()
                }
                catch (SecurityException s)
                {
                    Console.WriteLine(s.Message);
                }
                //DirectoryInfo diTop = new DirectoryInfo(selectedDrive);
                //var allDirsmodified = diTop.EnumerateDirectories("*", SearchOption.AllDirectories).Where(d => d.LastWriteTime > System.DateTime.Now.AddDays(-60));
                //return allDirsmodified.ToList();
            }
    Peux-tu m'aider à concevoir la fonction ?

    Je te remercie par avance.
    Cordialement,

    yagaam

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/09/2012, 07h53
  2. macro pour lister le nom des étudiants selon une catégorie
    Par stefany83 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/07/2010, 12h18
  3. probleme pour lister une table acces base
    Par bigbathie dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/12/2007, 14h50
  4. [C#] Lister une Arraylist
    Par costaupo dans le forum C#
    Réponses: 5
    Dernier message: 24/11/2006, 14h51
  5. [SQL] Lister une colonne en ligne
    Par spg40 dans le forum Oracle
    Réponses: 3
    Dernier message: 28/07/2006, 15h55

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