Les fichiers INI jouent un rôle très important dans la configuration du système et dans la sauvegarde et le réglage des paramètres d'application. Par conséquent, la famille de programmation visuelle, telle que VB, VC, VFP, Delphi, etc., fournit des méthodes de lecture et d'écriture de fichiers INI. est exploité dans le fichier Delphi, le plus concis, car Delphi fournit une classe TInifile, qui nous permet de traiter les fichiers INI de manière très flexible . Structure du fichier INI [Nom de la section] Mot-clé du fichier ini 1 = valeur 1 Mot-clé 2 = valeur 2 Les fichiers INI autorisent plusieurs sections, et chaque section autorise plusieurs mots-clés "=" est suivi de la valeur du mot-clé. Il existe trois types de valeurs : les chaînes, les entiers et les booléens. La chaîne est stockée dans le fichier INI sans guillemets, la valeur booléenne vraie est représentée par 1 et la valeur booléenne fausse est représentée par 0.
2. Définition
1. Ajoutez IniFiles dans la section Utilisations de l'interface ;
2. Ajoutez une ligne dans la section de définition de variable Var : myinifile:Tinifile;
Définit une instance de la classe. Ensuite, vous pouvez créer, ouvrir, lire, écrire et autres opérations sur la variable myinifile.
3. Ouvrez le fichier INI
monfichier:=Tinifile.create(PRogram.ini);
La ligne d'instruction ci-dessus établira une connexion entre la variable myinifile et le fichier spécifique program.ini. Ensuite, la valeur des mots-clés dans le fichier program.ini peut être lue et écrite via la variable myinifile. Il convient de noter que si le nom du fichier entre parenthèses ne spécifie pas de chemin, alors le fichier Program.ini sera stocké dans le répertoire Windows. La méthode pour stocker le fichier Program.ini dans le répertoire actuel de l'application consiste à spécifier. un chemin complet et un nom de fichier. Les deux instructions suivantes peuvent compléter cette fonction : Filename:=ExtractFilePath(Paramstr(0))+program.ini;myinifile:=Tinifile.Create(filename);
5. Écrivez le fichier INI
De même, la classe TInifile fournit également trois méthodes objet différentes pour écrire des chaînes, des entiers et des mots-clés de type booléen dans le fichier INI.
myinifile.writestring(nom de section, mot-clé, variable ou valeur de chaîne) ;
myinifile.writeinteger (nom de section, mot-clé, variable ou valeur entière) ;
myinifile.writebool (nom de section, mot-clé, variable ou True ou False) ;
Lorsque le fichier INI n'existe pas, l'instruction ci-dessus créera automatiquement le fichier INI.
6. Supprimer des mots-clés
En plus d'ajouter un mot-clé à l'aide de la méthode write, la classe Tinifile fournit également une méthode objet pour supprimer des mots-clés :
myinifile.DeleteKey (nom de la section, mot-clé);
7. Fonctionnement des sections
L'ajout d'une section peut être effectué avec la méthode write, et la suppression d'une section peut être effectuée avec la méthode objet suivante :
monfichier.EraseSection(nom de la section);
De plus, la classe Tinifile fournit également trois méthodes objet pour opérer sur les sections : myinifile.readsection (nom de section, variable TStrings) ; tous les noms de clés de la section spécifiée peuvent être lus dans une variable de liste de chaînes ; ; peut lire tous les noms de sections du fichier INI dans une variable de liste de chaînes. myinifile.readsectionvalues (nom de la section, variable TStrings); peut lire toutes les lignes (y compris les mots-clés, =, valeurs) de la section spécifiée dans le fichier INI dans une variable de liste de chaînes.
8. Libération
Libérez myinifile à l'emplacement approprié en utilisant l'instruction suivante :
monfichierini.distory;
Voici des exemples précis. Le code source est le suivant. Un fichier myini.ini a été créé, avec une section nommée newini et trois mots-clés : « nom d'utilisateur », « temps d'exécution écoulé » et « s'il s'agit d'un utilisateur officiel ». Pour l'effet en cours d'exécution, vous pouvez renseigner le « nom d'utilisateur » dans edit1 ; edit2 affiche l'heure et la valeur ne peut pas être modifiée ; la case à cocher 1 enregistre l'heure et le « nom d'utilisateur » en le cochant dans le fichier myini.ini. l'application est rouverte, Si le temps enregistré et le "nom d'utilisateur" renseigné sont modifiés dans le fichier myini.ini, l'effet sera le même que s'il était modifié pendant l'exécution du programme.
unité Unit1 ; interface utilise Windows, Messages, SysUtils, Variants, Classes, Graphiques, Contrôles, Formulaires, Boîtes de dialogue, fichiers ini, StdCtrls, ExtCtrls ; {classe inifiles d'appel} type TForm1 = classe (TForm) Label1 : TLabel ; TLabel ; TLabel ; Edit1 : TEdit ; Edit2 : TEdit ; CheckBox1 : TCheckBox ; procédure FormCreate(Sender : TObject); procédure FormDestroy(Sender : TObject); procédure Timer1Timer(Sender : TObject); private { Déclarations privées } public { Déclarations publiques } end;var Form1: TForm1;implementationvarmyinifile:TInifile;{ Définir une instance d'une procédure de classe {$R *.dfm} TForm1.FormCreate(Expéditeur : TObject);varfilename:string;begin{Les deux lignes suivantes sont écrites sous la forme d'une création d'un fichier ini sous le chemin de l'application}filename:=ExtractFilePath(paramstr(0))+'myini.ini';myinifile:= TInifile.Create( nom de fichier);edit1.Text:=myinifile.ReadString(' newini','Nom d'utilisateur','Hu Changhao');edit2.text:=inttostr(myinifile.readinteger('newini','Durée d'exécution écoulée',0));checkbox1.Checked:=myinifile.readbool('newini ' ,'Est-ce un utilisateur officiel',False);{newini est le nom de la section, le champ du milieu est le nom du mot-clé et le troisième champ est la valeur par défaut. Lorsque myini.ini n'existe pas, l'instruction ci-dessus crée automatiquement ce fichier. Les guillemets dans les lignes ci-dessus sont des guillemets simples}end;procedure TForm1.FormDestroy(Sender: TObject);begin. myinifile.writestring('newini','nom d'utilisateur',edit1.Text);myinifile.writeinteger('newini','Durée d'exécution écoulée',strtoint(edit2.text));myinifile.writebool('newini','si Utilisateur officiel',checkbox1.Checked);myinifile.Destroy;end;procédure TForm1.Timer1Timer(Sender: TObject);begin edit2.Text:=inttostr(strtoint(edit2.text)+1);end;end.
fichier ini