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
Si l'utilisateur redimentionne une fenêtre ou clique sur un élément,
ou s'il entre une valeur dans un champ
ou encore s'il choisit une opition dans une liste
...
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
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;