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 :

Tableau de string : path files [Débutant]


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut Tableau de string : path files
    Bonjour,

    J'affiche différentes images d'un dossier dans des picturebox de la manière suivante :
    pbxL1C1.ImageLocation = News.strInfo1
    Comme vous voyez la strInfo1 vient d'une classe "News.cs", et elle contient le chemin de l'image que je veux afficher :
    public static string strInfo1 = @"\\mydomain.net\mycompany\myfolder\myimage.JPG";
    J'ai 18 news images que je veux afficher et j'ai tous mes chemins en dur
    J'aimerais pouvoir passer dans les variables strInfo1, strInfo2, ... strInfo18 tous les chemins de fichiers .jpg, .png et .bmp qui sont dans le dossier et sous dossier suivant \\mydomain.net\mycompany\myfolder\
    Le but est que mon programme scanne automatiquement le répertoire et qu'il aliment les variables avec les chemins des fichiers qu'il trouve
    Je ferai ensuite un 2ème thread avec un timer pour qu'il scanne et mette à jour les variable tous les X temps mais ça c'est ensuite, et je pense que je devrais être capable de le faire
    Là où je suis bloqué actuellement c'est pour avoir un tableau contenant tous les chemins des images se trouvant dans mon répertoire et que le contenu du tableau soit redirigé dans chaque variable
    Si il y a plus d'images que de variable : ne pas prendre en compte celles d'après
    Si il y a moins d'images que de variable : on affichera rien ("")
    Je veux aussi avoir la possibilité de faire un count du total du tableau
    Merci

  2. #2
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9
    Par défaut
    Tu peux rajouter un fichier XML
    Avec une liste de fichier comme ca

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <LstFile>
    <File path="c:\test1.png" numero="1" Name="File1">
    <File path="c:\test2.png" numero="2" Name="File2">
    <File path="c:\test3.png" numero="3" Name="File3">
    </LstFile>

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    Salut effectivement oui mais comment remplir le XML et le lire pour mettre les files dans les variables

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    dans System.IO tu trouveras la classe statique Directory qui te permettra de lister tous les fichiers et sous-répertoires qu'il contient. As-toi de filtrer sur les bonnes extensions et de lister les fichiers qui vont bien dans la collection de ton choix. Ensuite il te suffira de parcourir cette liste pour mettre à jour tes contrôles.

    Bon dev.

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    dans System.IO tu trouveras la classe statique Directory qui te permettra de lister tous les fichiers et sous-répertoires qu'il contient. As-toi de filtrer sur les bonnes extensions et de lister les fichiers qui vont bien dans la collection de ton choix. Ensuite il te suffira de parcourir cette liste pour mettre à jour tes contrôles.

    Bon dev.
    Salut

    Comme écrit je suis débutant et je sais malheureusement pas par où m'y prendre, un coup de main serait le bienvenue ...

    Effectivement j'arrive déjà faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach(string file in Directory.EnumerateFiles(@"\\mycompany.net\mycompany\myfolder", "*.JPG*", SearchOption.AllDirectories))
                {
                    MessageBox.Show(file);
                }
    Je vois que ça fonctionne puisqu'il m'affiche bien un fichier JPG par MsgBox différent, mais comment les mettre dans des string différent ? Merci

  6. #6
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9

  7. #7
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    Merci mais je vais pas y arriver sans un coup de main, je suis en train de creuser j'y ai réussi de la sorte :

    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
                string strPath = @"\\myfolder\";
                var vResult = new List<string>();
                string[] strExtensions = { ".JPG", ".BMP", ".PNG" };
     
                foreach(string strfile in Directory.EnumerateFiles(strPath, "*.*", SearchOption.AllDirectories)
                    .Where(s => strExtensions.Any(ext => ext == Path.GetExtension(s))))
                {
                    vResult.Add(strfile);
                }
     
                try
                {
                    MessageBox.Show(vResult[9]);
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
    Ca fonctionne !!! Dans la message box du try catch je vois bien ma valeur 9 du vResult avec le bon chemin
    problème : je ne peux pas passer cette variable dans une autre classe

    est-ce possible d'avoir un peu plus d'aide SVP....

    EDIT : AVEC ce code ça marche pour la première, mais comment faire pour que la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    News.strInfo1 = vResult[1];
    change et incrémente de variable dans ma boucle ? que ça passe de strInfo1 à 2 et ainsi de suite ?

    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
    string strPath = @"\\folder";
                var vResult = new List<string>();
                string[] strExtensions = { ".JPG", ".BMP", ".PNG" };
     
                foreach(string strfile in Directory.EnumerateFiles(strPath, "*.*", SearchOption.AllDirectories)
                    .Where(s => strExtensions.Any(ext => ext == Path.GetExtension(s))))
                {
                    vResult.Add(strfile);
                }
                for (int i = 1; i <= 18; i++)
                {
                    News.strInfo1 = vResult[1];
                }
     
                tmrRefresh.Start();
                if (iNbNews == 18)
                {
                    Form18News f18news = new Form18News();
                    f18news.Visible = true;
                }

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

Discussions similaires

  1. conversion d'un tableau de string en tableau de file
    Par sroux dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 01/12/2006, 11h19
  2. [J2SE] tableau de string
    Par Jules82 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/03/2005, 14h35
  3. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [Collections] Tableau de String
    Par gexti dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/06/2004, 15h42

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