Как управлять файлами INI?
Файлы INI играют важную роль в конфигурации системы и сохранении и настройке параметров приложения, поэтому визуальные семейства программирования, такие как VB, VC, VFP, Delphi и т. Д., Предоставляют методы чтения и написания файлов INI, где INI работает в Delphi. Файлы являются самыми простыми, потому что Delphi3 предоставляет класс Tinifile, который позволяет нам очень гибко обрабатывать файлы INI.
1. Необходимо понять структуру файла INI:
;Комментарий
[Имя раздела]
Ключевое слово = значение
...
INI -файл позволяет несколько разделов, и каждый раздел позволяет несколько ключевых слов, за которым следует значение ключевого слова.
Существует три типа значений: строка, целочисленное значение и логическое значение. Строка хранится в файле INI без кавычек, значение True Boolean представлено 1, а ложно -логическое значение представлено 0.
Комментарии начинаются с полуколона ";".
2. Определение
1. Добавить inifiles в раздел использования интерфейса;
2. Добавьте строку в часть определения переменной var:
MyInifile: tinifile;
Затем вы можете создавать, открыть, читать, написать и другие операции на переменной MyIinifile.
3. Откройте файл INI
myinifile: = tinifile.create ('Program.ini');
Вышеупомянутая строка будет установить соединение между переменной myIinifile и конкретной программой файла.
Стоит отметить, что если имя файла в скобках не указывает путь, то файл Program.ini будет сохранен в каталоге Windows.
Метод хранения файла Program.ini в текущем каталоге приложения заключается в том, чтобы указать полный путь и имя файла для него. Следующие два оператора могут завершить эту функцию:
Имя файла: = ExtractFilePath (Paramstr (0))+'Program.ini';
4. Прочитайте значение ключевого слова
Для трех типов данных, поддерживаемых файлами INI: строка, целочисленное значение и логическое значение, класс Tinifiles предоставляет три различных метода объекта для чтения значений ключевых слов в файлах INI.
Предположим, что определенные переменные VS, VI и VB являются строковыми, целочисленными и логическими типами соответственно.
VS: = myIinifile.readString ('name раздел', 'ключевое слово', значение по умолчанию);
vi: = myIinifile.readInteger ('name' подраздела, «ключевое слово», значение по умолчанию);
vb: = myIinifile.readbool ('name' Section ',' Keyword ', значение по умолчанию);
Значение по умолчанию - это значение по умолчанию, возвращаемое, когда ключевое слово не существует в файле INI.
5. Напишите в INI -файл
Точно так же класс Tinifile также предоставляет три различных метода объектов, написание строк, целочисленные номера и булевые ключевые слова для файла INI.
myinifile.writestring («Имя подраздела», «Ключевое слово», переменная или строковое значение);
myinifile.writeInteger («Имя подраздела», «Ключевое слово», переменная или целочисленное значение);
myinifile.writebool («Имя подраздела», «Ключевое слово», переменная или true или false);
Когда этого файла INI не существует, приведенный выше оператор также автоматически создаст файл INI.
6. Удалить ключевые слова
В дополнение к добавлению ключевого слова с методом записи, класс Tinifile также предоставляет метод объекта для удаления ключевого слова:
myinifile.deletekey ('name' подраздела ',' ключевое слово ');
7. Операция секции
Добавление раздела может быть сделано путем написания метода, и удаление раздела может быть сделано следующим методом объекта:
myinifile.erasesection ('имя подраздела');
Кроме того, класс Tinifile также предоставляет три метода объекта для работы на подразделах:
myInifile.readsection ('Имя разделения' переменная TStrings);
myInifile.readsections (переменная tstrings);
myinifile.readsectionValues ('name' Section ', переменная TStrings);
8. Выпуск
Выпустите MyIinifile в соответствующем месте со следующим утверждением:
myinifile.distory;
Девять
В следующем используется простой пример (как показано на рисунке), чтобы продемонстрировать метод создания, чтения и хранения файлов INI. Файл myini.ini содержит подраздел «Параметры программы» и три ключевых слова: имя пользователя (строка), будь то официальный пользователь (логическое значение) и время выполнения (интегральное значение). Программа считывает эти данные в создании формы и записывает файл myini.ini при выпуске формы.
Список исходных программ
единица единицы 1;
интерфейс
Использование
Windows, сообщения, Sysutils, классы, графика, управления, формы, диалоги, inifiles, stdctrls, extctrls;
тип
Tform1 = class (tform)
РЕДАКТИРОВАТЬ1: ТЕДИТ;
Флагический ящик1: Tcheckbox;
РЕДАКТИРОВАТЬ2: ТЕДИТ;
Label1: Tlabel;
Label2: Tlabel;
Таймер1: Ттимер;
Label3: Tlabel;
ProcecureFormCreate (отправитель: tobject);
ProcecureFormDestroy (отправитель: tobject);
ProcecureTimer1timer (отправитель: tobject);
Частный
{Privatedeclarations}
публичный
{PublicDeclarations}
конец;
вар
Форма1: tform1;
Выполнение
вар
MyInifile: tinifile;
{$ R*.dfm}
ProcecuuretForm1.formCreate (отправитель: tobject);
вар
Имя файла: String;
Начинать
Имя файла: = ExtractFilePath (paramstr (0))+'myini.ini';
myInifile: = tinifile.create (имя файла);
edit1.text: = myinifile.readstring ('Program Parameters', «Имя пользователя», «Имя пользователя по умолчанию»);
edit2.text: = inttoStr (myinifile.readinteger ('Program Parameters', 'Time Time', 0));
Facebox1.Checked: = myIinifile.readbool («Параметры программы», «это официальный пользователь», false);
конец;
ProcecuuretForm1.formDestroy (отправитель: tobject);
Начинать
myinifile.writestring ('Program Parameters', «Имя пользователя», EDIT1.Text);
myinifile.writeInteger («Параметры программы», «время забега», strtoint (edit2.text));
myinifile.writebool («Параметры программы», «это официальный пользователь», Checkbox1.cecked);
myinifile.destroy;
конец;
ProcecuuretForm1.timer1timer (отправитель: tobject);
Начинать
edit2.text: = inttoStr (strtoint (edit2.text) +1);
конец;
конец.