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++Builder Discussion :

Fichier texte de config


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut Fichier texte de config
    Bonjour, je voudrais qd je lance mon appli, aller lire un fichier config en format texte ou j'aurais de marquer le vitesse du port com, le numero de port com.... et agir en consequence dans mon appli....comment dois je proceder?
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    Utilise un .INI et des GetProfileString, un truc comme ça.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    y'a t'il un exemple quelque part stp?merci

  4. #4
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    Y'a un exemple dans l'aide BCB. Fais une recherche sur le composant TIniFile.

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    Suppose un fichier MON_INI.INI avec cette section
    [section1]
    val1=1000
    str1=toto aime les fraises
    [section2]
    val1=200
    str1=michel aime les cerises
    Pour lire ces valeurs tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    char buffer[100+1];
    unsigned int val;
     
    // on lit l'entier val1, 0 est la valeur renvoyée par défaut
    // attention cet enteir doit être positif, la fonction renvoie un unsigned
    val = GetPrivateProfileInt("section1", "val1", 0, <chemin_d_acces>"MON_INI.INI");
     
    // on lit la chaîne str1,, "C'est raté" est la chaîne renvoyée par défaut
    GetPrivateProfileString("section1", "str1", "C'est raté", buffer, 100, <chemin_d_acces>"MON_INI.INI");
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Comment cree t'on une section dans un fichier ini?

  7. #7
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Soit tu le fais à la main, soit tu le fais par programme avec des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BOOL WritePrivateProfileString(
      LPCTSTR lpAppName,  // section name
      LPCTSTR lpKeyName,  // key name
      LPCTSTR lpString,   // string to add
      LPCTSTR lpFileName  // initialization file
    );
    Remarque : il n'y a pas de WritePrivateProfileInt
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Tu as un petit exemple dans la FAQ C++ Builder:
    http://geronimo.developpez.com/faqbc...p#fichiers_ini

    Nicolas

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    qu'est ce qui ne va pas dans mon code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TIniFile* pif = new TIniFile("CONFIG.ini");
    pif->ReadSectionValues("SECTION1",ListBox1->Items);
    delete pif;
    Mon fichier CONFIG.ini se situe dans le repertoire projet...
    Rien ne s'affiche dans ma listbox...
    Voici mon fichier ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [SECTION1]
    Port1=COM1
    Vitesse Port1=9600

  10. #10
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Indique le chemin complet de ton .INI, le répertoire courant de ton exe n'est pas forcément celui que tu crois !
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    rien ne se passe........

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par Trap D
    Salut

    Suppose un fichier MON_INI.INI avec cette section
    [section1]
    val1=1000
    str1=toto aime les fraises
    [section2]
    val1=200
    str1=michel aime les cerises
    Pour lire ces valeurs tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    char buffer[100+1];
    unsigned int val;
     
    // on lit l'entier val1, 0 est la valeur renvoyée par défaut
    // attention cet enteir doit être positif, la fonction renvoie un unsigned
    val = GetPrivateProfileInt("section1", "val1", 0, <chemin_d_acces>"MON_INI.INI");
     
    // on lit la chaîne str1,, "C'est raté" est la chaîne renvoyée par défaut
    GetPrivateProfileString("section1", "str1", "C'est raté", buffer, 100, <chemin_d_acces>"MON_INI.INI");

    truc tout bete comment mets tu buffer dans un text edit?

  13. #13
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Edit2->Text = "toto" par exemple
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par Trap D
    Edit2->Text = "toto" par exemple
    Edit2->Text = Buffer ne marche pas...

    En fait il trouve pa ma section car il me marque a chaque fois le string par defaut......comment verifier son fichier ini?

  15. #15
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Excuse-moi : Edit2->SetTextBuf(buffer);

    D'autre part, je viens de tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TIniFile* pif = new TIniFile("CONFIG.ini");
     
    ListBox1->Clear(); // j'ai simplement rajouté celà
     
    pif->ReadSectionValues("SECTION1",ListBox1->Items);
    delete pif;
    ça marche très bien avec le chemin d'accès complet
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par Trap D
    Excuse-moi : Edit2->SetTextBuf(buffer);

    D'autre part, je viens de tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TIniFile* pif = new TIniFile("CONFIG.ini");
     
    ListBox1->Clear(); // j'ai simplement rajouté celà
     
    pif->ReadSectionValues("SECTION1",ListBox1->Items);
    delete pif;
    ça marche très bien avec le chemin d'accès complet
    Merci bcp!!!!!!!!!!!

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

Discussions similaires

  1. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57
  2. Réponses: 1
    Dernier message: 12/02/2003, 09h36
  3. [VB6] Ecrire/Modifier/Effacer ds un fichier text-4 Chs/Lg
    Par Jonathan_Korvitch dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 24/12/2002, 18h54
  4. Importer des fichiers textes délimités
    Par Invité dans le forum Outils
    Réponses: 2
    Dernier message: 23/09/2002, 13h56
  5. Instruction pour créer un fichier text ???
    Par Soulsurfer dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2002, 11h17

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