Un fichier INI est un fichier de configuration, permettant de stocker des informations sur l'application en les classant par groupes logiques appelés "sections". Dans chaque section, vous pouvez ajouter, modifier et supprimer des données automatiquement stockées sous la forme (clé = valeur). Concrètement, il s'agit de pouvoir sauvegarder des actions de l'utilisateur d'un logiciel afin de les retenir pour une utilisation ultérieure. On peut par exemple sauvegarder des données
Présentation d'un fichier ini |
; Ceci est un fichier de configuration ; Les commentaires de ce type de fichier commencent par ';' [parametres] url = http://www.conseil-creation.com nom = conseil & création [apparence] couleur = vert
Les fichiers ini avec Delphi |
Tout d'abord, ajouter la classe Inifiles
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Inifiles;
On peut ensuite écrire, modifier, supprimer... des valeurs dans le fichier.
Ne pas oublier de créer une variable (peu importe le nom, ici ini)
de classe TInifile avant begin
procedure TForm1.Button1Click(Sender:TObject); var ini:TInifile; // variable nécessaire nb:Integer; txt:String; // variables pour exemples begin ini := Tinifile.Create('configuration.ini'); // Il est préférable d'indiquer le chemin complet d'un répertoire // Pour obrenir le même chemin que l'exécutable, indiquez simplement : // extractFilePath(application.exename)+'configuration.ini' // ici, vous pouvez lire, créer, supprimer des valeurs : // Pour écrire des valeurs : Write...('section','clé','valeur') ini.WriteString('parametres','nom',Edit1.text); // écrit une chaîne ini.WriteInteger('parametres','largeur',Screen.Width); // écrit un nombre // Pour lire des valeurs : Read...('section','clé','valeur par défaut') txt := ini.ReadString('parametres','nom', ''); // lit une chaîne nb := ini.ReadInteger('parametres',largeur,'800'); // lit un nombre { De la même façon, il est possible de gérer d'autres types de valeurs : booléens (writebool, readbool) ; dates (writedate, readdate) ... } ini.free; // on libère end;
Des questions ? Rejoignez nous sur le forum...