Fichier ini

[Résolu]
Signaler
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
-
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
Re,

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

Cheyenne