INI-Dateien spielen eine sehr wichtige Rolle bei der Systemkonfiguration und beim Speichern und Festlegen von Anwendungsparametern. Daher bieten die visuellen Programmierfamilien wie VB, VC, VFP, Delphi usw. Methoden zum Lesen und Schreiben von INI-Dateien Dies ist am prägnantesten, da Delphi eine TInifile-Klasse bereitstellt, mit der wir INI- Dateien sehr flexibel verarbeiten können . INI- Dateistruktur [Abschnittsname] Schlüsselwort 1 der INI-Datei = Wert 1 Schlüsselwort 2 = Wert 2 INI-Dateien erlauben mehrere Abschnitte, und auf jeden Abschnitt folgt der Wert des Schlüsselworts. Es gibt drei Arten von Werten: Zeichenfolgen, Ganzzahlen und Boolesche Werte. Die Zeichenfolge wird in der INI-Datei ohne Anführungszeichen gespeichert, der boolesche wahre Wert wird durch 1 dargestellt und der boolesche falsche Wert wird durch 0 dargestellt.
2. Definition
1. Fügen Sie IniFiles im Abschnitt „Uses“ der Schnittstelle hinzu;
2. Fügen Sie im Abschnitt „Var-Variablendefinition“ eine Zeile hinzu: myinifile:Tinifile;
Definiert eine Instanz der Klasse. Anschließend können Sie die Variable myinifile erstellen, öffnen, lesen, schreiben und andere Vorgänge ausführen.
3. Öffnen Sie die INI-Datei
myinifile:=Tinifile.create(PRogram.ini);
Die obige Anweisungszeile stellt eine Verbindung zwischen der Variablen myinifile und der spezifischen Datei program.ini her. Anschließend kann der Wert der Schlüsselwörter in der Datei program.ini über die Variable myinifile gelesen und geschrieben werden. Es ist zu beachten, dass die Datei Program.ini im Windows-Verzeichnis gespeichert wird, wenn der Dateiname in Klammern keinen Pfad angibt. Geben Sie die Methode zum Speichern der Datei Program.ini im aktuellen Verzeichnis der Anwendung an ein vollständiger Pfad und Dateiname. Die folgenden zwei Anweisungen können diese Funktion vervollständigen: Filename:=ExtractFilePath(Paramstr(0))+program.ini;myinifile:=Tinifile.Create(filename);
5. INI-Datei schreiben
Ebenso stellt die TInifile-Klasse drei verschiedene Objektmethoden zum Schreiben von Zeichenfolgen, Ganzzahlen und Schlüsselwörtern vom Typ Boolean in die INI-Datei bereit.
myinifile.writestring(Abschnittsname, Schlüsselwort, Variable oder String-Wert);
myinifile.writeinteger(Abschnittsname, Schlüsselwort, Variable oder Ganzzahlwert);
myinifile.writebool(Abschnittsname, Schlüsselwort, Variable oder True oder False);
Wenn die INI-Datei nicht vorhanden ist, erstellt die obige Anweisung automatisch die INI-Datei.
6. Schlüsselwörter löschen
Zusätzlich zum Hinzufügen eines Schlüsselworts mithilfe der Schreibmethode bietet die Tinifile-Klasse auch eine Objektmethode zum Löschen von Schlüsselwörtern:
myinifile.DeleteKey(Abschnittsname,Schlüsselwort);
7. Abschnittsbetrieb
Das Hinzufügen eines Abschnitts kann mit der Schreibmethode erfolgen, und das Löschen eines Abschnitts kann mit der folgenden Objektmethode erfolgen:
myinifile.EraseSection(Abschnittsname);
Darüber hinaus bietet die Tinifile-Klasse auch drei Objektmethoden zum Bearbeiten von Abschnitten: myinifile.readsection (Abschnittsname, TStrings-Variable); alle Schlüsselnamen im angegebenen Abschnitt können in eine String-Listenvariable eingelesen werden; ; kann alle Abschnittsnamen in der INI-Datei in eine String-Listenvariable einlesen. myinifile.readsectionvalues (Abschnittsname, TStrings-Variable); kann alle Zeilen (einschließlich Schlüsselwörter, =, Werte) des angegebenen Abschnitts in der INI-Datei in eine String-Listenvariable einlesen.
8. Veröffentlichung
Geben Sie myinifile am entsprechenden Speicherort mit der folgenden Anweisung frei:
myinifile.distory;
Hier sind konkrete Beispiele. Der Quellcode lautet wie folgt. Es wurde eine myini.ini-Datei mit einem Abschnitt namens newini und drei Schlüsselwörtern erstellt: „Benutzername“, „verstrichene Laufzeit“ und „ob es sich um einen offiziellen Benutzer handelt“. Für den laufenden Effekt können Sie den „Benutzernamen“ in „Edit1“ eingeben; der Wert kann nicht geändert werden, indem Sie „Benutzername“ in der Datei „myini.ini“ ankreuzen Die Anwendung wird erneut geöffnet. Wenn die gespeicherte Zeit und der ausgefüllte „Benutzername“ in der Datei myini.ini geändert werden, ist der Effekt derselbe wie bei einer Änderung während der Ausführung des Programms.
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, inifiles, StdCtrls, ExtCtrls; TLabel; Edit1: TEdit; Edit2: TEdit; CheckBox1: TCheckBox; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private Deklarationen } end;var Form1: TForm1;implementationvarmyinifile;{ Definieren Sie eine Instanz einer class}{$R *.dfm}Prozedur TForm1.FormCreate(Sender: TObject);varfilename:string;begin{Die folgenden zwei Zeilen werden in Form einer Erstellung einer INI-Datei unter dem Pfad der Anwendung geschrieben}filename:=ExtractFilePath(paramstr(0))+'myini.ini';myinifile:= TNifile.Create( Dateiname);edit1.Text:=myinifile.ReadString(' newini','Benutzername','Hu Changhao');edit2.text:=inttostr(myinifile.readinteger('newini','Verstrichene Laufzeit',0));checkbox1.Checked:=myinifile.readbool('newini ' ,'Ist es ein offizieller Benutzer',False);{newini ist der Abschnittsname, das mittlere Feld ist der Name des Schlüsselworts und das dritte Feld ist der Standardwert. Wenn myini.ini nicht vorhanden ist, erstellt die obige Anweisung automatisch diese Datei. Die Anführungszeichen in den obigen Zeilen sind einfache Anführungszeichen}end;procedure TForm1.FormDestroy(Sender: TObject);begin myinifile.writestring('newini','user name',edit1.Text);myinifile.writeinteger('newini','Verstrichene Laufzeit',strtoint(edit2.text));myinifile.writebool('newini','whether Offizieller Benutzer',checkbox1.Checked);myinifile.Destroy;end;procedure TForm1.Timer1Timer(Sender: TObject);begin edit2.Text:=inttostr(strtoint(edit2.text)+1);end;end.
ini-Datei