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 :

Problème de renvoi de valeurs.


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Problème de renvoi de valeurs.
    Bonjour à tous,

    Voila mon problème est le suivant :

    je suis étudiant et doit faire un projet de fin d'année. Ma partie consiste à créer et modifier des fichier d'initialisation (.ini).

    Pour la création il n'y a pas de soucis, mais pour la lecture, je créer une méthode read() dans ma classe CIni, mais le seul hic c'est que la fonction utilisé pour lire mon fichier ne peut lire que une seul ligne. la fonction que j'utilise est la suivante :

    GetPrivateProfileString(section, cle, "", temp_ini, 255, this.chemin);

    Section et cle : deux variable du fichier ini
    tmp : variable temporaire en string qui récupère la donnée.
    255 :taille max de la donnée
    this.chemin : chemin ou se trouve mon fichier ini.

    Or j'ai au maximum 24 lignes à lire.
    Existe t-il une fonction qu lit plusieurs lignes et surtout comment faire si ceci n'est pas possible.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Je suis pas sûr de bien comprendre ton problème... tes 24 lignes, elles ont des clés différentes, non ? Si ce n'est pas le cas je ne pense pas que tu puisses utiliser GetPrivateProfileString...

    Mais de toutes façons cette fonction n'apporte pas grand chose à mon avis... tu pourrais très bien coder ta propre classe pour lire le fichier, c'est assez facile. Tu pourrais par exemple stocker le contenu du fichier dans un Dictionary<string, string>, qui te permettrait d'accéder facilement aux valeurs.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Petit rectification j'ai 20 lignes en fait.

    Et oui mes 20 lignes ont une clef différente.

    Et qu'est-ce qu'un Dictionary, car j'en ai encore jamais entendu parlé.

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par le_joker_fou Voir le message
    -ce qu'un Dictionary, car j'en ai encore jamais entendu parlé.
    C'est une collection basé sur clé/valeur.
    Dictionary<T, K>

    Donc pour un Dictionary<string, string> c'est une collection indexée sur une string et chaque case contient aussi une string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string maValeur = d["toto"];
    Par exemple.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par le_joker_fou Voir le message
    Et oui mes 20 lignes ont une clef différente
    Dans ce cas où est le problème ? Tu appelles GetPrivateProfileString pour chaque clé et le tour est joué.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Tu appelles GetPrivateProfileString pour chaque clé et le tour est joué.
    Mais le hic c'est qu'il faut dans ce cas que j'appelle 20 fois ma méthode read() j'aurais préféré si possible l'appeller qu'une fois. Car l'appeler 20 fois cela ne risque pas de bouffer en ressource?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par le_joker_fou Voir le message
    Car l'appeler 20 fois cela ne risque pas de bouffer en ressource?
    Non.
    La lecture d'un fichier de conf n'est pas précisément une tâche gourmande en ressources système

    EDIT: j'ai retrouvé une classe que j'avais faite pour lire les fichiers INI (voir pièce jointe). Ca lit tout le fichier et place les valeurs lues dans différentes sections sous forme de dictionnaires. Pour charger le fichier et lire la clé "titi" de la section "toto" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IniFile ini = new IniFile("configuration.ini");
    string titi = ini.GetValue("toto", "titi");
    Si le fichier ini n'a pas de sections définies, les clés sont stockées dans la section "" (chaine vide).

    On peut aussi modifier/ajouter des clés avec la méthode SetValue, et enregistrer avec la méthode Save.
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ok merci pour toutes ces réponses, je vais pouvoir me pencher un peut plus sur le problème maintenant.

    Je vous tient au courant de l'avancement.
    Donc au final, je me suis tout simplement servis d'un tableau de string, on je met tout simplement mes lignes dans les cases. Merci de votre aide.

    Merci pour tout.

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

Discussions similaires

  1. [XL-2003] Problème de renvoi de la valeur d'une fonction
    Par hallscar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/12/2011, 19h25
  2. Problème de renvoi de valeur
    Par Waldner11 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/01/2010, 17h13
  3. Boucle while imbriqué, problème de renvoi de valeur
    Par biche1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/09/2008, 17h09
  4. Problème renvoie de valeurs (Fonction Transact SQL)
    Par chicken92000 dans le forum Développement
    Réponses: 1
    Dernier message: 12/09/2008, 15h18
  5. renvoie une valeur erronée
    Par m@thieu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/12/2004, 17h09

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