Fichier ini

Résolu
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 16 juil. 2011 à 20:02
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 17 juil. 2011 à 14:06
Bonjour,

Il y a t-il un moyen de récupérer, dans un fichier ini, tous les noms de section en une fois, ou un par un, afin de les afficher dans une ListBox ?

Le nombre de section varie régulièrement et
pour l'instant je splite le fichier sur les crochets.

Merci pour votre aide et bon Dimanche.

Cheyenne

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 juil. 2011 à 20:11
Bonjour,
Est-ce CECI, que u cherches ?


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 juil. 2011 à 11:31
une API du genre DeleteSection
n'existe pas (pas plus, d'ailleurs, qu'existerait un "delete_chaîne_définie" pour le traitement d'un fichier texte plat)
La fonction Replace (que tu pourrais d'ailleurs utiliser après GetPrivateProfileSection ) fait en réalité ce que ferait ce qui est décrit ci-après :

L'effacement se traduit toujours par le mécanisme général :
- lire tout
- effacer tout
- ne réécrire que ce que l'on veut.



____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
3
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
16 juil. 2011 à 20:23
Bonjour ucfoutu,

Merci pour ta réponse rapide.

J'ai juste survolé le code, en effet cela doit correspondre à mes besoins.
Je m'y colle dans la soirée ou demain afin de valider ou non ta réponse. Mais à priori c'est OK.

Je te souhaite une bonne soirée.

Amicalement de Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
16 juil. 2011 à 23:07
Re,

Merci, c'est pile-poil ce que je souhaitais

Plus long que mon code qui sert à ouvrir un fichier et qui ne récupère que les lignes commençant par un crochet et de les supprimer pour l'affichage du nom de la section. Mais tellement plus élégant !!!

Pendant que j'y suis, pour supprimer une section, soit j'édite manuellement le fichier avec le bloc-note soit j'ouvre par code le fichier et je supprime les lignes de la section devenue inutile et je réenregistre.

Je n'ai pas trouvé, ou mal cherché, une API permettant de faire cela...

Merci encore.

Cheyenne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 juil. 2011 à 08:03
Qu'est effacer dans un fichier ?
Cela se traduit généralement par :
- lire
- effacer tpout
- ne réécrire que ce que l'on veut.

Bien.
- Le code de l'exemple montre comment utiliser la fonction GetPrivateProfileSectionNames de la librairie User32 de l'Api de Windows pour lire les noms de section.
- la librairie User contient d'autres fonctions :
---- GetPrivateProfileSection
---- WritePrivateProfileSection
---- WritePrivateProfileString

dont les noms seuls t'en disent beaucoup !
Pour cependant mieux comprendre :
Va dans le site de AllAPI ===>> ouvre n'importe laquelle de ces 4 fonctions ===>> ouvre et lis l'exemple "INI Files" ===>> et adapte (facile)

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
17 juil. 2011 à 11:19
Bonjour ucfoutu,

Je me suis servi du lien Codyx que tu m'as fourni et consulté l'exemple dans AllAPI.
Tu me dis : "adapte (facile)", et c'est bien ce que j'ai fait grâce aux API pré-citées dont les noms, je te l'accorde, sont très explicites !.

Ma question était de savoir si il n'existait pas, au cas ou cela m'aurait échappé où qu'elle ne soit pas répertoriée, une API du genre DeleteSection qui permettrait d'effacer une section d'un seul coup sans avoir à manipuler le fichier.

Je te souhaite un bon Dimanche.

Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
17 juil. 2011 à 14:06
Re,

Merci pour cette dernière réponse.
Sujet clos.

Cheyenne
0
Rejoignez-nous