Fichier INI

Fichier INI - Programmation

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.
Reply

Marsh Posté le 15-10-2001 à 09:27:45   

Reply

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.
 
 :)

Reply

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é...


---------------
Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur.
Reply

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 !:D

Reply

Marsh Posté le 15-10-2001 à 10:40:47    

avec Delphi et C++Builder y a la méthode EraseSection du composant TIniFile.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-10-2001 à 12:38:00    

Comme quoi Bendes y a pensé, Borland l'a fait !!  :D
 
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.  <<<===  :D
 
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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed