Difference between revisions of "Using INI Files/de"
m |
|||
Line 34: | Line 34: | ||
Var | Var | ||
− | INI:TINIFile; | + | INI: TINIFile; |
− | Author,Pass,DBFile:String; | + | Author, Pass, DBFile: String; |
− | PassEnter:String; | + | PassEnter: String; |
begin | begin | ||
− | INI := TINIFile.Create('C:\DB.ini'); | + | INI := TINIFile.Create('C:\DB.ini'); |
− | Author := INI.ReadString('INIDB','Author',''); | + | Author := INI.ReadString('INIDB', 'Author', ''); |
− | Pass := INI.ReadString('INIDB','Pass',''); | + | Pass := INI.ReadString('INIDB', 'Pass', ''); |
− | DBFile := INI.ReadString('INIDB','DBFile',''); | + | DBFile := INI.ReadString('INIDB', 'DBFile', ''); |
− | if Pass <> '' then | + | if Pass <> '' then begin |
− | |||
Writeln('Password Required'); | Writeln('Password Required'); | ||
Repeat | Repeat | ||
Readln(PassEnter); | Readln(PassEnter); | ||
− | if | + | if PassEnter <> Pass then Writeln('Wrong Password !'); |
− | until | + | until PassEnter = Pass; |
Writeln('Correct Password'); | Writeln('Correct Password'); | ||
end; | end; | ||
− | Writeln('Author : '+Author); | + | Writeln('Author: ' + Author); |
− | Writeln('File : '+DBFile); | + | Writeln('File: ' + DBFile); |
− | Writeln('Password : '+Pass); | + | Writeln('Password: ' + Pass); |
Readln; | Readln; | ||
end. | end. |
Revision as of 15:41, 17 June 2018
│
العربية (ar) │
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
polski (pl) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Zurück zu den Zusätzlichen Informationen.
INI-Dateien
Basisinformation
INI-Dateien können benutzt werden, um grundlegende Benutzereinstellungen einfach zu speichern. Mit der Unit INIfiles und der Klasse TINIFile können Sie ganz einfach mit existierenden INI-Dateien umgehen. Sie finden diese Unit in der FCL.
INI-Dateien
INI-Dateien verwenden eckige Klammern um Sektionen zu erzeugen und zu kennzeichnen. Diese Sektionen enthalten Schlüsselworte und Werte. Ein Schlüsselwort und sein zugehöriger Wert werden durch ein Gleichheitszeichen (=) voneinander getrennt (Schlüssel=Wert). Die Namen der Sektionen stehen in eckigen Klammern ([Section]). INI-Dateien werden seltener zum Speichern von Zeichenketten verwendet als XML-Dateien, weil die INI-Dateien nicht so gut mit umfangreichen Zeichenketten zurechtkommen.
Beispiel für das Lesen einer INI-Datei
Die nachfolgende Konsolenanwendung zeigt Ihnen, wie Sie INI-Dateien lesen können. Um dies auszutesten, sollten Sie zuerst eine INI-Datei namens "C:\DB.ini" erzeugen. Diese enthält eine Sektion names [INIDB] und die folgenden Schlüsselworte und Werte:
Author=Adam Pass= DBFile=C:\Money.dat
Nun kommen wir zum Code..
Program Project1;
{$mode objfpc}{$H+}
Uses
Classes,SysUtils,INIFiles;
Var
INI: TINIFile;
Author, Pass, DBFile: String;
PassEnter: String;
begin
INI := TINIFile.Create('C:\DB.ini');
Author := INI.ReadString('INIDB', 'Author', '');
Pass := INI.ReadString('INIDB', 'Pass', '');
DBFile := INI.ReadString('INIDB', 'DBFile', '');
if Pass <> '' then begin
Writeln('Password Required');
Repeat
Readln(PassEnter);
if PassEnter <> Pass then Writeln('Wrong Password !');
until PassEnter = Pass;
Writeln('Correct Password');
end;
Writeln('Author: ' + Author);
Writeln('File: ' + DBFile);
Writeln('Password: ' + Pass);
Readln;
end.
Wichtige Objekte
In der Klasse TINIFile gibt es viele verschiedene Eigenschaften, Prozeduren und Funktionen.
CaseSensitive - diese Eigenschaft legt fest, ob Schlüssel und Sektionen die Groß-/Kleinschreibung berücksichtigen, laut Vorgabe nicht.
ReadString - erwartet 3 konstante Parameter. Erstens die zu durchsuchende Sektion. Zweitens das gesuchte Schlüsselwort. Drittens: ein String als Vorgabewert, falls der Schlüssel und/oder die gesuchte Sektion nicht gefunden wird.
WriteString - erwartet ebenfalls 3 konstante Parameter. Erstens die Sektion. Zweitens der Schlüssel und zuletzt der Wert. Falls Schlüssel und Sektion bereits existieren, wird der Schüssel mit dem neuen Wert überschrieben.
ReadSections - erlaubt Ihnen, die Sektionen aus einer INI-Datei auszulesen und in ein TStrings-Objekt zu kopieren (oder in eine TStringList mit dem AS Operator)
DeleteKey - entfernt einen existierenden Schlüssel aus einer angegebenen Sektion.
EraseSection - entfernt eine Sektion und alle ihre Daten.
Es gibt noch weitere Prozeduren und Funktionen, aber diese reichen für den Anfang aus.
Referenzdokumentation
Hier: Free Pascal Dokumentation über INI-Dateien