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 :

remplir un tableau a partir de valeur dans app.config ?


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut remplir un tableau a partir de valeur dans app.config ?
    Bonjour,
    J'ai des parametres ( nombre indeterminer ) à passer dans un programme par le biai d'un fichier app.config et à stocker dans un tableau.
    Malheuresement le nombre de paramètre peut être 1 comme 10...
    j'utilise arraylist().
    Si quelqu'un à une idée ....
    Cordialement,
    Fas3r

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Pourquoi ne pas utiliser une stringCollection ou une liste generique ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    ha peut etre en faite ca fais pas longtemps que je developpe en C#.
    Si tu preferes j'ai créé une application console qui verifie la date de validité des mots de passe sur Active Directory et envoi un mail automatiquement a l'utilisateur concerné.
    Le probleme est que l'AD comprend differentes OU (en fonction des services) en gros mon chemin LDAP est comme ceci : LDAP://OU=Standard,OU=Utilisateurs,OU=" nom du services ",DC=DOMAIN,DC=LOC .
    J'aimerai pouvoir spécifier les différents services dans le fichier app.config.
    A la base j'ai creer un arraylist() qui contient les different services.
    Merci d'avance,
    FAS3R

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Le problème c'est lorsque l'on me parle de OU je ne comprends plus rien, peut être parce que je n'ai jamais utilisé, installé, et/ou joué avec, Active Directory.

    Bon bref, en dev on peut utiliser des tableaux et des collections.
    Chacun a ses avantages et inconvénients. Mais pour ton cas, la collection à l'aventage de pouvoir être utilisé sans que l'on ai besoin de préciser une taille. Elle focntionne comme une liste chainée. Donc tu crées ta collection et tu ajoute au fur et à mesure ce que tu veux. Après pour la recherche d'un élément dans une collection, c'est plus compliqué, il faut comparé chaque valeur de la liste à la valeur de ce que tu recherches.
    Dans ton cas, tu récupère les données via un fichier. J'ai supposé que c t un fichier de type texte puisque c'est un fichier de configuration.
    Si je ne me suis aps trompé, lorsque tu lis dedans, tu récupère des données sous forme de string. D'où je te proposais l'utilisation de StringCollection qui sont des collections spécialisés dans le type string.
    Hé oui même en informatique on te parles de collection de bas de maillots de bains pour filles .
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    et bien en faite pour récuperer mes parametres dans le fichier app.config j'utilise :

    System.Configuration.ConfigurationSettings.AppSettings["Nom_du_parametre"]

    mais le probleme c'est que je ne sais pas comment faire pour en lire plusieur je pourrai faire un for ()

    for (int i = 0; i < 5; i++)
    {
    string test_" + i + " = System.Configuration.ConfigurationSettings.AppSettings["Nom_du_parametre_" + i + ""]
    }

    mais le probleme c'est que je doit partir du principe que je ne connais pas le nombre de parametres ...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Bon ba j'ai fais un for() et un arraylist()

  7. #7
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Si tu ne connais pas le nombre de paramètre, l'utilisation de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Configuration.ConfigurationSettings.AppSettings["Nom_du_parametre"]
    n'est pas top.
    peux tu ouvrir le fichier en tant que fichier texte à l'aide d'objet comme file et lire les données ? Ou une sorte de protection rends cela impossible ?
    Parce que si tu ne connais pas le nombre de paramètre, va falloir lire le fichier jusqu'à la fin, et selon la façon dont est remplie déterminer quand est ce que c'est un paramètre et quand est ce que c'est autre chose.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Ba en faite le fichier App.Config est lié à l'application... j'ai fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    int nb_société = System.Convert.ToInt16(System.Configuration.ConfigurationSettings.AppSettings["nombre_filiale"]);
    ArrayList tableau_societe = new ArrayList();
                    for (int nb_filiale = 1; nb_filiale < (nb_société + 1); nb_filiale++)
                    {
                     tableau_societe.Add(System.Configuration.ConfigurationSettings.AppSettings["societe_" + nb_filiale + ""]);
                    }
    et en faite ca récupere automatiquement les valeurs du fichier App.config correspond à :

    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
     
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="nombre_filiale" value="8"/>
        <add key="societe_1" value="societe_test1"/>
        <add key="societe_2" value="societe_test2"/>
        <add key="societe_3" value="societe_test3"/>
        <add key="societe_4" value="societe_test4"/>
        <add key ="societe_5" value="societe_test5"/>
        <add key ="societe_6" value ="societe_test6"/>
        <add key ="societe_7" value ="societe_test7"/>
        <add key ="societe_8" value ="societe_test8"/>
      </appSettings>
    </configuration>

  9. #9
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Configuration.ConfigurationSettings.AppSettings
    Cela resemble a un dictionnaire
    lorsque tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Configuration.ConfigurationSettings.AppSettings.
    est ce que visual studio te propose des attributs comme keys, valeurs, ...
    -> je veux juste vérifier que c'est bien un dictionnaire, parce que si le cas avec, la méthode que voici tu pourra récupéré toutes les clé du dictionnaire dans un tableaux de clé, et à partir de celui-ci parcourir tout le dictionnaire et obtenir la valeur associé à chaque clé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string t = "";
    Array KeyConf = Array.CreateInstance(t.GetType(), Configuration.Count);
    Configuration.Keys.CopyTo(KeyConf,0);
    Console.WriteLine("");
    foreach (string key in KeyConf)
    {
          Console.Writeline("La clé " + key + " a pour valeur : " + Configuration[key]);
    }
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

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

Discussions similaires

  1. [E-07] créer un tableau à partir de valeurs dans un fichier texte
    Par edouardg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2008, 07h02
  2. Réponses: 1
    Dernier message: 25/09/2008, 16h07
  3. Réponses: 1
    Dernier message: 28/12/2007, 10h32
  4. Réponses: 2
    Dernier message: 22/09/2006, 09h29

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