yarglub
Messages postés4Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention18 septembre 2004
-
18 sept. 2004 à 05:52
yarglub
Messages postés4Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention18 septembre 2004
-
18 sept. 2004 à 19:07
Bonjour,
Je travaille sur un prog qui stock les données de clients par années.
Les données sont stockées dans des fichiers ini qui contienent autant de sections que d'années.
exple:
[2001]
...
[2002]
...
[2003]
...
J'aurai besoin de lister les sections dans une ComboBox afin de pouvoir choisir une année à modifier.
J'ai essayé d'utiliser la fonction "GetPrivateProfileSectionNames", mais je n'arrive pas à exploiter son résultat.
De plus je dois récuperer la dernière section pour pouvoir insérer automatiquement l'année suivant.
J'ai retourné le problème dans tous les sens, je ne vois pas comment faire.
Chaque fichier ini à une nombre de sections différent et chaque section à un nombre de clé différent.
Un vrai casse-tête.
Remarques :
- Je ne peux pas utiliser le registre.
- Je suis sous Dev-Cpp.
yarglub
Messages postés4Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention18 septembre 2004 18 sept. 2004 à 13:49
1. GetPrivateProfileSectionNames me renvoi une chaîne ou chaque section est séparée par un caractère de fin de chaîne. Quand je fait ne boucle pour les supprimer, je pars dans une boucle infinie (je ne sais pas pourquoi).
Et quand je cherche à l'utiliser tel quel, seul le nom de la première section est pris en compte (puisque le caractère suivant est un NULL).
2. GetPrivateProfileSection renvoi toutes les clés d'une section; mais moi ce que je veux c'est le nom de la dernière section pour en ajoutée une (ajouter 2004 après 2003 p.e.).
1 -> Plutôt que de chercher à supprimer les caractères fin de chaîne, je vais partir dans la logique inverse et chercher à stocker les années dans un tableau de char (je vais chercher le 1er '2' puis le 1er caractère NULL-1...).
2 -> Dès que je pourais ranger les années dans une ComboBox ce pb sera résolu (je prendrais le dernier index de la combo).
Je vous tiens au courant.
-yarglub-
PS : si je m'en sors je fairais peut-être un tuto sur toutes les fonctions d'un fichier INI, car tous les tutos que j'ai vus ne traitent que de la lecture/écriture d'une seule section/clé.
Et puis comme il n'y a pas 50 fonctions ça devrais pas être trop dûr.
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 18 sept. 2004 à 14:03
utilise GetPrivateProfileSectionNames et parse le tableau de caractere pour extraire chaque chaine dans un tableau de chaine, ca pose vraiment un probleme ?
tout ce qu'il faut savoir
:
Pointer to a buffer that receives the section names associated with the named file. The buffer is filled with one or more null-terminated strings; the last string is followed by a second null character.
Vous n’avez pas trouvé la réponse que vous recherchez ?
yarglub
Messages postés4Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention18 septembre 2004 18 sept. 2004 à 19:07
Merci. Ça marche. :)
J'ai encore un peut de mal à manipuler les pointeurs.
Je me doutais bien que je j'étais à côté de la plaque.
Et encore vous n'avez pas vu tout ce que j'ai essayé avant de me décider à demander un coup de main. :blush)