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 :

Récupérer les données dans un ArrayList


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 60
    Points : 50
    Points
    50
    Par défaut Récupérer les données dans un ArrayList
    Bonjour à tous,

    Je récupère via la dll Tamir la liste des fichiers qui se trouvent dans un directory bien précis sur un serveur donné de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ArrayList lst_fich;
     
    lst_fich = new ArrayList();
    lst_fich.Clear();
     
    Sftp client_sftp;
     
    client_sftp = new Sftp(((param_server)pr.Current).server_ip, ((param_server)pr.Current).user_server_ip, ((param_server)pr.Current).password_server_ip);
    client_sftp.Connect();
    lst_fich.Add(client_sftp.GetFileList(((param_server)pr.Current).log_files_server_ip));
    client_sftp.Close();
    Je vois bien les fichiers dans l'ArrayList mais je n'arrive pas a aller chercher les données qui se trouvent dans celle-ci.
    Je regarde sur le net depuis hier pour trouver une solution, mais je n'ai encore rien trouvé.

    Quelqu'un sait-il m'aiguiller svp.

    D'avance merci.

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Bonjour,

    une ArrayList peut s'itérer comme n'importe quelle collection , pourquoi ne pas faire tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                foreach (string nomFichier in lst_fich)
                {
                    // ce qu'il y a a faire avec chaque nom de fichiers avec "nomFichier"
                }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 60
    Points : 50
    Points
    50
    Par défaut Récupérer les données dans un ArrayList
    Bonjour,

    Ca je l'ai fait et cela engendre l'exception suivante :

    System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List`1[Tamir.SharpSsh.jsch.ChannelSftp+LsEntry]' to type 'System.String'.

  4. #4
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Montre comment tu utilises ta boucle ? J'ai l'impression que tu utilises la list elle même et non ses éléments.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    foreach (string item in lst_fich)
                    {
     
     
                    }
    Si je débug, l'exception est générée sur "string item".

  6. #6
    Membre actif
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Septembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 176
    Points : 297
    Points
    297
    Par défaut
    Bonjour,

    En me basant sur ce qu'il y a au dessus, je dirais que ton 'ArrayList' contient des 'List' d'où ton erreur de cast.
    Donc, pour boucler tu devrais plutôt avoir quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        foreach (List<T> maListe in lst_fich)
        {
                foreach (T item in maListe)
                {
                    // faire quelque chose.
                }
        }
    Il te reste a définir ce que doit être T.
    Regarde dans la doc (le code, ...) ce que retourne la méthode 'GetFileList', c'est elle qui te diras ce que contient exactement ton ArrayList().

    Bonne continuation.
    L’aléatoire n’existe pas en informatique, c’est juste un moyen de dire que l’on a pas encore compris.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    Bonjour Kyroon,

    Je viens de tester ce que tu m'a conseillé et j'arrive enfin à un résultat.
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     foreach (List<Tamir.SharpSsh.jsch.ChannelSftp.LsEntry> maListe in lst_fich)
     {
          foreach (Tamir.SharpSsh.jsch.ChannelSftp.LsEntry item in maListe)
          {
                 // faire quelque chose.
                 string s;
                 s = item.getFilename();
          } 
    }
    Un grand merci pour ton aide, je vais pouvoir avancer grâce à toi.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/05/2008, 12h37
  2. Réponses: 24
    Dernier message: 25/09/2007, 11h53
  3. [VBA-E]Formulaire word, récupérer les données dans excel
    Par sablier dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 30/05/2006, 07h38
  4. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39

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