Sign in Join
Wiki copytemporary

Using INI Files/fr: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Using INI Files/fr

OldNewLine
1+## INI Files
2+
3+### Information basique
4+
5+Les fichiers INI peuvent être utilisés pour enregistrer facilement des réglages utilisateur simples. Avec l'unité **INIFiles** et la classe **TINIFile** vous pouvez simplement travailler avec les fichiers INI. Cette unité se trouve dans la FCL. Actuellement, seuls les fichiers INI compatibles avec la norme Microsoft sont supportés, l'emploi des sections est donc obligatoire.
6+
7+### Fichiers INI
8+
9+Les fichiers INI utilise des crochets pour créer et marquer des **sections**, qui contiennent des **clés** et des **valeurs** de clé. Une clé et sa valeur correspondante sont séparées par le signe égal (Clé=Valeur).
10+
11+Les noms de sections sont mis dans des crochets (\[Section\]).
12+
13+Les commentaires sont généralement permis et sont marqués avec des points virgules en début de ligne. Comme les fichiers INI ne sont pas totalement normalisés, d'autres caractères sont aussi utilisés tels que \#.
14+
15+De nos jours, les fichiers XML sont souvent utilisés pour le stockage des chaînes au lieu des fichiers INI, parce que les fichiers INI ne manipulent pas bien les grandes chaînes. Pourtant, les fichiers (comme-)ini reste une manière dominante pour la configuration des réglage de Linux/Unix.
16+
17+Un exemple de fichier ini:
18+
19+``` ini
20+; Commentaire. Début du fichier INI
21+
22+; les lignes vides sont ignorées
23+
24+; notez qu'aucune sectio n'a été définie.
25+Compiler=Delphi
26+; Key: Compiler
27+; Value: Delphi
28+
29+[General]
30+; Ici commence la section General
31+Compiler=FreePascal
32+; Key Compiler and value FreePascal
33+```
34+
35+### Exemple de lecture de fichier Ini
36+
37+L'application console du dessous montre comment lire des fichiers ini. Pour le tester, il faut créer le fichier suivant et le nommer "c:\DB.ini". Editez-le pour qu'il contienne une section nommée INIDB et les clés et valeurs suivantes:
38+
39+``` ini
40+[INIDB]
41+; Sauver sous C:\DB.ini
42+Author=Adam
43+Pass=
44+DBFile=C:\Money.dat
45+```
46+
47+Maintenant, allons au code...
48+
49+``` pascal
50+Program IniSample;
51+
52+{$mode objfpc}{$H+}
53+
54+Uses
55+ Classes,SysUtils,INIFiles;
56+
57+Var
58+ INI:TINIFile;
59+ Author,Pass,DBFile:String;
60+ PassEnter:String;
61+
62+begin
63+ // Créer l'objet en spécifiant son emplacement:
64+ INI := TINIFile.Create('C:\DB.ini');
65+ // Démontre la lecture de chaînes depuis le fichier INI.
66+ // You can also read booleans etc.
67+ Author := INI.ReadString('INIDB','Author','');
68+ Pass := INI.ReadString('INIDB','Pass','');
69+ DBFile := INI.ReadString('INIDB','DBFile','');
70+ if Pass <> '' then
71+ begin
72+ Writeln('Mot de passe requis');
73+ Repeat
74+ Readln(PassEnter);
75+ if not (PassEnter = Pass) then Writeln('Mauvais mot de passe');
76+ until(PassEnter = Pass);
77+ Writeln('Mot de passe correct');
78+ end;
79+ Writeln('Author : '+Author);
80+ Writeln('File : '+DBFile);
81+ Writeln('Password : '+Pass);
82+ Readln;
83+ // Après l'emploi du fichier ini, nous devons appeler la méthode Free de l'objet
84+ // ...bien que cela devrait être vraiment enveloppé dans un bloc try .. finally
85+ // de sorte que l'objet est libéré quelles que soient les erreurs ci-dessus.
86+ Ini.Free;
87+end.
88+```
89+
90+### Objects to know
91+
92+Dans la classe TINIFile, se trouve différentes propriétés, procédures et fonctions qui peuvent être utilisées.
93+
94+**CaseSensitive** - Cette propriété vous permet de dire si les clés et sections sont sensibles à la casse ou non. Par défaut, elles ne le sont pas.
95+
96+**ReadString** - A 3 arguments. Le premier est la section dans laquelle il faut chercher. Le second est la clé à chercher. Le troisième est une valeur par défaut retournée en cas d'échec de la recherche section/clé.
97+
98+**WriteString** - A 3 arguments, aussi. Le premier est la section. Le deuxième est la clé et le troisième est la valeur que vous voulez écrire. Si la clé et la section existe déjà, la valeur existante est écrasée par la nouvelle.
99+
100+**ReadSections** - Vous permet de récupérer tous les noms de section dans un objet TString.
101+
102+**DeleteKey** - Supprime une clé existante d'une sectio spécifique.
103+
104+**EraseSection** - Supprime une section et toutes ses données.
105+
106+Il y a d'autres procédures et fonctions mais cela suffit pour commencer.
107+
108+### Reference Documentation
109+
110+Here: [Free Pascal documentation on INI files](http://lazarus-ccr.sourceforge.net/docs/fcl/inifiles/index.html)
111+
112+## Voir aussi
113+
114+- [[HistoryFiles]]
115+- [[XML Tutorial/fr|Tutoriel XML]]
116+
117+---
118+*From the Free Pascal wiki, page "Using INI Files/fr", as it stood on 2020-03-04 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history