Comment utiliser des fichiers INI?
Les fichiers INI jouent un rôle important dans la configuration du système et l'enregistrement et le paramètre des paramètres d'application, de sorte que les familles de programmation visuelle, telles que VB, VC, VFP, Delphi, etc., fournissent des méthodes pour la lecture et la rédaction de fichiers INI, où INI est exploité à Delphi. Les fichiers sont les plus simples, car Delphi3 fournit une classe de tinifile, ce qui nous permet de gérer les fichiers INI de manière très flexible.
1. Il est nécessaire de comprendre la structure du fichier INI:
;Commentaire
[Nom de la section]
Mot-clé = valeur
...
Le fichier INI autorise plusieurs sections, et chaque section permet plusieurs mots clés, suivis de la valeur du mot-clé.
Il existe trois types de valeurs: chaîne, valeur entière et valeur booléenne. La chaîne est stockée dans le fichier INI sans devis, la valeur vraie booléenne est représentée par 1 et la valeur fausse booléenne est représentée par 0.
Les commentaires commencent par un point-virgule ";".
2. Définition
1. Ajouter des inifiles à la section Utilisation de l'interface;
2. Ajoutez une ligne à la partie de définition de la variable VAR:
Myinifile: tinifile;
Ensuite, vous pouvez créer, ouvrir, lire, écrire et d'autres opérations sur le Myinifile variable.
3. Ouvrez le fichier INI
myinifile: = tinifile.create ('programme.ini');
L'instruction de ligne ci-dessus établira une connexion entre la variable Myinifile et le File Program.ini spécifique, puis vous pouvez utiliser la variable MyInifile pour lire et écrire les valeurs de mot-clé dans le fichier Program.ini.
Il convient de noter que si le nom de fichier dans les supports ne spécifie pas le chemin d'accès, le fichier programme.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 est de spécifier le chemin d'accès complet et le nom du fichier. Les deux instructions suivantes peuvent remplir cette fonction:
Nom de fichier: = ExtractFilePath (paramstr (0)) + 'programme.ini';
4. Lisez la valeur du mot-clé
Pour trois types de données pris en charge par les fichiers INI: chaîne, valeur entière et valeur booléenne, la classe Tinifiles fournit trois méthodes d'objets différentes pour lire les valeurs des mots clés dans les fichiers INI.
Supposons que les variables définies VS, VI et VB soient respectivement des types de chaînes, entiers et booléens.
vs: = MyInifile.readString ('Section Name', 'Keyword', valeur par défaut);
vi: = myinifile.readInteger («Nom de la sous-section», «mot-clé», valeur par défaut);
VB: = MyInifile.readbool ('Section Name', 'Keyword', valeur par défaut);
La valeur par défaut est la valeur par défaut renvoyée lorsque le mot clé n'existe pas dans le fichier INI.
5. Écrivez dans le fichier ini
De même, la classe Tinifile fournit également trois méthodes d'objets différentes, des chaînes d'écriture, des numéros entiers et des mots clés booléens dans le fichier INI.
MyInifile.WriteString («Nom de la sous-section», «mot-clé», variable ou valeur de chaîne);
myInifile.writeInteger («Nom de la sous-section», «mot-clé», variable ou valeur entière);
myinifile.writebool («Nom de la sous-section», «mot-clé», variable ou vrai ou faux);
Lorsque ce fichier INI n'existe pas, l'instruction ci-dessus créera également automatiquement le fichier INI.
6. Supprimer les mots clés
En plus d'ajouter un mot-clé avec la méthode d'écriture, la classe Tinifile fournit également une méthode d'objet pour supprimer le mot-clé:
myInifile.DeleteKey («Nom de la sous-section», «mot-clé»);
7. Fonctionnement de la section
L'ajout d'une section peut être effectué en écrivant la méthode et la suppression d'une section peut être effectuée par la méthode d'objet suivant:
myinifile.erasesection ('nom de la sous-section');
De plus, la classe Tinifile fournit également trois méthodes d'objet pour fonctionner sur les sous-sections:
MyInifile.ReadSection («Nom de la section» Variable TStrings);
MyInifile.ReadSections (variable TStrings);
MyInifile.readSectionValues («Nom de la section», variable TStrings);
8. Libération
Libérez Myinifile à l'emplacement approprié avec la déclaration suivante:
Myinifile.Distory;
Neuf.
Ce qui suit utilise un exemple simple (comme le montre la figure) pour démontrer la méthode de création, de lecture et de stockage des fichiers INI. Le fichier myini.ini contient la sous-section "Paramètres du programme" et trois mots clés: nom d'utilisateur (chaîne), que ce soit l'utilisateur officiel (valeur booléenne) et l'heure d'exécution (valeur intégrale). Le programme lit ces données dans la création de forme et écrit le fichier myini.ini lorsque le formulaire est publié.
Liste des programmes source
unité unité 1;
interface
usages
Windows, messages, synutils, classes, graphiques, contrôles, formulaires, boîtes de dialogue, inifiles, stdctrls, extctrls;
taper
Tform1 = classe (tform)
Edit1: Tedit;
Checkbox1: tCheckbox;
Edit2: Tedit;
Label1: Tlabel;
Label2: Tlabel;
Timer1: Ttimer;
Label3: Tlabel;
ProcédureFormCreate (expéditeur: tobject);
ProcédureFormDestroy (expéditeur: tobject);
ProcedUrETimer1Timer (expéditeur: tobject);
Privé
{Privedeclarations}
publique
{PublicDarations}
fin;
var
FORM1: TFORM1;
Mise en œuvre
var
Myinifile: tinifile;
{$ R * .dfm}
procéduretform1.formCreate (expéditeur: tobject);
var
nom de fichier: String;
Commencer
Nom de fichier: = ExtractFilePath (paramstr (0)) + 'myini.ini';
myinifile: = tinifile.create (nom de fichier);
edit1.text: = MyInifile.readString («Program Paramètres», «Nom d'utilisateur», «Nom d'utilisateur par défaut»);
edit2.text: = intToStr (myInifile.readInteger ('Program Paramètres', 'Runding Time', 0));
checkbox1.checked: = MyInifile.readbool ('Program Paramètres', 'est son utilisateur officiel', false);
fin;
procéduretform1.formDestroy (expéditeur: tobject);
Commencer
MyInifile.WriteString («Program Paramètres», «Nom d'utilisateur», Edit1.Text);
MyInifile.WriteInteger («Program Paramètres», «Time Runded», strToint (edit2.Text));
myinifile.writebool («paramètres du programme», «est son utilisateur officiel», checkbox1.checked);
Myinifile.destroy;
fin;
procéduretform1.timer1timer (expéditeur: tobject);
Commencer
edit2.text: = intToStr (strToint (edit2.text) +1);
fin;
fin.