comment renommer une section dans un fichier ini existant?
Merc
comment renommer une section dans un fichier ini existant?
Merc
Salut ZIED,
J'ai bien peur qu'il n'y ait pas de fonction pour renommer une section, par contre tu as une fonction pour en supprimer une, qui est EraseSection. Voici son utilisation :
Après il te suffit de compléter ton fichier INI en recréant ta nouvelle section et tes valeurs de clés....
Code : Sélectionner tout - Visualiser dans une fenêtre à part IniFile.EraseSection(Section);
Voilà j'espère t'avoir aidé,
Bon dev,
Christopher
si tu ne travailles pas avec un ini en mémoire, tu peux aussi simplement charger ton fichier dans une chaine et effectuer un banal remplacement de texte puis le réenregistrer.
Mais si,
Il faut partir de ces constatations :
- Un fichier INI, c'est un fichier Texte
- L'entête d'une section est de cette forme :
Du coup, à la place de TIniFile, je suggère l'utilisation de TStringList pour faire ça :[Nom_de_Section]
Utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function RenommerSection(NomFichier,AncienNom,NouveauNom:string):boolean; var i:integer; AStringList:TStringList; begin Result:=false; AStringList:=TStringList.Create; try AStringList.LoadFromFile(Fichier); i:=AStringList.IndexOf('['+AncienNom+']'); if i>-1 then begin AStringList.Strings[i]:='['+NouveauNom+']'; AStringList.SaveToFile(NomFichier); Result:=True; end; finally AStringList.Free; end; end;
Bon devif RenommerSection('MonFichier.ini','Section1','SectionA')
then Showmessage('Section renommée avec succès !')
else Showmessage('Ca n''a pas marché...')![]()
Je me suis fait grillé par exoseven pendant que je rédigeais![]()
Re,
Oui c'est sûr en le traitant comme un fichier texte ça aide !!!
Merci pour l'info...
Cette méthode est pas mal non plus...
A plus,
Christopher
Partager