Fichier INI - Programmation
Marsh Posté le 15-10-2001 à 09:49:40
Je ne pense pas. Les API liées aux fichiers INI permettent de mettre à jour, de modifier, pas de supprimer.
Le seul truc faisable (hors lecture ASCII du fichier et gestion "manuelle"(soft) de recopie sans la section à supprimer) est de mettre à blanc les sections.
[sect1]
toto=
bidul=
chose=
Si on ajoute de nouvelles rubriques, celles qui ne servent plus restent !!
Un autre moyen : lire le fichier INI, le "deleter" puis le réécrire avec les nouvelles rubriques.
Marsh Posté le 15-10-2001 à 10:02:12
C'est clair, j'avais pensé à toutes ces solutions "rustines" mais j'me disais que si un truc existais déjà, ça aurait été chouette de l'employé...
Marsh Posté le 15-10-2001 à 10:25:36
J'crois pas que ça existe. Donc; à ton clavier ! y a du boulot un rien emmerdant à faire !
Marsh Posté le 15-10-2001 à 10:40:47
avec Delphi et C++Builder y a la méthode EraseSection du composant TIniFile.
Marsh Posté le 15-10-2001 à 12:38:00
Comme quoi Bendes y a pensé, Borland l'a fait !!
En fouillant dans la doc, j'ai trouvé qu'on pouvait aussi EFFACER en passant un paramètre NULL ! Ze savait pas.. CQFD.
The WriteProfileString function copies a string into the specified section of the WIN.INI file.
This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry.
BOOL WriteProfileString(
LPCTSTR lpAppName, // pointer to section name
LPCTSTR lpKeyName, // pointer to key name
LPCTSTR lpString // pointer to string to write
);
Parameters
lpAppName
Points to a null-terminated string that specifies the section to which the string is to be copied. If the section does not exist, it is created. The name of the section is not case-sensitive; the string can be any combination of uppercase and lowercase letters.
lpKeyName
Points to a null-terminated string containing the key to be associated with the string. If the key does not exist in the specified section, it is created. If this parameter is NULL, the entire section, including all entries in the section, is deleted. <<<===
lpString
Points to a null-terminated string to be written to the file. If this parameter is NULL, the key pointed to by the lpKeyName parameter is deleted. <<====
Windows 95: This platform does not support the use of the TAB (\t) character as part of this parameter.
Marsh Posté le 15-10-2001 à 09:27:45
Existe-t-il un moyen de supprimer un section entière dans un fichier de type INI (via les API's ou autres...) ????
---------------
Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur.