Использовать или установить это ... |
Чтобы сделать это ... |
Наследование |
Create |
Сконструировать экземпляр TIniFile. |
TObject |
DeleteKey |
Удалить идентификатор INI-файла и его значение. |
Нет |
EraseSection |
Убрать из INI-файла целый раздел. |
Нет |
FileName |
Получить инкапсулированное имя INI-файла. |
Нет |
ReadBool |
Извлечь из INI-файла логическое значение. |
Нет |
Readinteger |
Извлечь из INI-файла целое значение. |
Нет |
ReadSection |
Извлечь из раздела INI-файла имена идентификаторов. |
Нет |
ReadSections |
Извлечь из INI-файла список имен разделов. |
Нет |
ReadSectionValues |
Извлечь из INI-файла все содержимое раздела. |
Нет |
ReadString |
Извлечь из INI-файла строковое значение. |
Нет |
WriteBool |
Записать в INI-файл логическое значение. |
Нет |
Writeinteger |
Записать в INI-файл целое значение |
Нет |
WriteString |
Записать в INI-файл строковое значение |
Нет |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод Create создает экземпляр TIniFile, который позволяет
манипулировать INI-файлом. |
Объявление |
constructor Create (const FileName: string); |
Параметры |
|
FileName |
Имя INI-файла, с которым ассоциируется объект TIniFile. |
Пример синтаксиса |
procedure TForm1.FormCreate (Sender: TObject);
var MyIni: TIniFile;
begin
//создание экземпляра Myini и присвоение ему //INI-файла
MyIni : = TIniFile;
Create('TEST.INI');
// *** Здесь выполнить обработку INI-файла ***
MyIni.Free;
end;
|
Описание; |
Create конструирует объект TIniFile, распределяя для
него достаточный объем памяти. Единственный параметр, fileName,
содержит Windows имя файла действительного INI-файла. Если к имени файла
не добавлен путь, программа будет искать файл в каталоге Windows (обычно
c:\WINDOWS или c:\WINNT). |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод DeleteKey удаляет ключ из INI-файла. |
Объявление |
procedure DeleteKey(const Section, Ident: String); |
Параметры |
|
Section |
Раздел INI-файла, который содержит ключ. |
Ident |
Имя удаляемого идентификатора. |
Пример синтаксиса |
procedure TForm1.Button1Click(Sender: TObject);
var Myini : TIniFile;
begin
MyIni : = TIniFile.Create('DELETE.INI');
// Удалить ключ, содержащий идентификатор Option1 из раздела
// Main INI-файла
MyIni.DeleteKey('Main','Option1');
MyIni.Free;
end;
|
Описание |
DeleteKey очищает целый ключ, идентификатор и его значение. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод EraseSection удаляет указанный раздел INI-файла. |
Объявление |
procedure ErageSection(const Section: string); |
Параметры |
|
Section |
Имя раздела, подлежащего удалению. |
Пример синтаксиса |
// данная процедура откроет INI-файл с именем " TEST.INI", найденный в
// каталоге Windows, и удалит раздел под названием Configuration
procedure TForm1.Button1Click(Sender: TObject);
// объявление переменной типа TIniFile под названием MyIni
var MyIni: TIniFile;
begin
// создание экземпляра MyIni и присвоение ему INI-файла
MyIni := TIniFile.Create('TEST.INI');
// Удалить раздел в TEST.INI под названием Configuration
MyIni.EraseSection('Configuration');
MyIni.Free;
end;
|
Описание |
EraseSection удаляет весь раздел INI-файла. Имена разделов отмечаются
квадратными скобками, поэтому раздел Configuration, использованный
выше, должен выглядеть в файле TEST.INI следующим образом:
[Configuration]
Keyl
Кеу2
и т.д.
Раздел продолжается до имени следующего раздела или до конца файла в зависимости
от того, что будет достигнуто раньше. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Свойство ReadBool получает двоичное значение из INI-файла. |
Объявление |
function ReadBool (const Section, Ident: stringn; Default: Boloean)
: Boolean; |
Параметры |
|
Section |
Имя раздела, в котором расположен идентификатор. |
Ident |
Идентификатор, подлежащий считыванию. |
Default |
Значение идентификатора по умолчанию. |
Пример Синтаксиса |
// Данная процедура проверяет идентификатор TileWallpaper раздела Desktop
// в файле WIN.INI. Затем устанавливается заголовок формы, указывающий
// на то, включена (on) или выключена (off) опция TileWallpaper.
procedure TForm1.FormCreate(Sender: TObject);
var MyIni: TIniFile;
begin
MyIni : = TIniFile.Create('Win.ini');
if MyIni.ReadBool('Desktop','TileWallpaper', True) = True then
Form1.Caption := 'Your desktop wallpaper is tiled';
else
Form1.Caption : = 'Your desktop wallpaper is not tiled';
MyIni.Free;
end;
|
Описание |
ReadBool извлекает из идентификатора в INI-файле логическое
значение.
В приведенном примере анализируется идентификатор TileWallpaper раздела
[Desktop] в WIN.INI и возвращается содержащееся в нем значение.
Значение 1 указывает на True, 0 ≈ на False. ReadBool
похожа на Readinteger и ReadString в том, что все они возвращают
значение, содержащееся в указанном идентификаторе в INI-файле. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод Readinteger возвращает целое значение из INI-файла. |
Объявление |
function Readlnteger(const Section, Ident: string; Default: Longint):
liongint; |
Параметры |
|
Section |
Имя раздела, в котором расположен идентификатор. |
Ident |
Идентификатор, подлежащий считыванию. |
Default |
Значение идентификатора по умолчанию. |
Пример синтаксиса |
// Данная процедура проверяет идентификатор iCountry раздела Inti
// в файле WIN.INI. Затем устанавливается заголовок формы,
// указывакщий на то, находитесь ли вы в Соединенных Штатах или нет.
procedure TForm1.FormCreate(Sender: TObject);
var MyIni: TIniFile;
begin MyIni := TIniFile.Create('win.ini');
if MyIni.ReadInteger('Intl', 'iCountry', 1) = I then
Form1.Caption := 'Your are in the Onited States';
else
Form1.Caption : = 'Your are not in the United States';
MyIni.Free;
end;
|
Описание |
ReadInteger извлекает из идентификатора в INI-файле целочисленное
значение. В приведенном примере анализируется идентификатор iCountry
раздела [Inti] в WIN.INI. Если идентификатор iCountry
установлен в 1, это означает, что Control Panel Regional Settings
установлены в конфигурацию Соединенных Штатов. ReadInteger похожа
на ReadBool и ReadString в том, что все они возвращают значение,
содержащееся в указанном идентификаторе в INI-файле. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод ReadSection извлекает имена всех идентификаторов заданного раздела
в INI-файле и запоминает их в строковом объекте. |
Объявление |
procedure ReadSection (const Section: string; Strings: Tstrfngs) ; |
Параметры |
|
Section |
Имя читаемого раздела. |
Strings |
Список строк, где будут запомнены значения. |
Пример синтаксиса |
// Прежде всего добавим в форму ListBox. Данная процедура будет
// печатать список идентификаторов в разделе Desktop файла
// WIN.INI при создании формы
procedure TForm1.FormCreate(Sender: TObject);
var MyIni: TIniFile;
begin
MyIni : = TIniFile.Create('WIN.INI');
MyIni.ReadSection('Desktop', ListBox1.Items);
MyIni.Free;
end;
|
Описание |
ReadSection извлекает имена идентификаторов в указанном разделе INI-файла
и помещает их в строковый объект. Список можно поместить непосредственно
в список строковых компонентов (как в свойство Items окна списка) или в
независимый список строк. ReadSection не извлекает значения идентификаторов,
но извлекает имена идентификаторов. Для извлечения идентификаторов и их
текущих значений можно использовать ReadSectionValues. На рисунке 4-2 при
помощи ReadSection отображен типичный раздел INI-файла. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод ReadSectionValues извлекает из заданного раздела INI-файла
все ключи. |
Объявление |
procedure ReadSectionValues (const Section: string; Strings; TStrings); |
Параметры |
|
Section |
Имя читаемого раздела. |
Strings |
Список строк, в котором запоминаются идентификаторы и их значения. |
Пример синтаксиса |
// Прежде всего добавим к форме ListBox. Данная процедура будет
// печатать список идентификаторов и их значений из раздела
// Desktop файла WIN.INI при создании формы
procedure TForm1.FormCreate (Sender: TObject);
var
MyIni: TIniFile;
begin
MyIni := TIniFile.Create('WIN.INI').
MyIni.ReadSectionValues('Desktop', ListBox1.Items);
MyIni.Free;
end;
|
Описание |
ReadSectionValues извлекает из раздела INI-файла все ключи и
запоминает их в строковом объекте точно так же, как они появляются в INI-файле:
identifier=value
В приведенном выше примере в окне списка отображается весь список (см.
рис. 4-3). Используя свойство Values из
TString можно отобразить
отдельные значения. Или же можно скопировать весь раздел в список строк
и получить доступ к каждой строке по индексу:
// В данном примере раздел Desktop файла WIN.INI считывается в
// список строк и затем в заголовке формы печатается первая
// строка. При этом используется ее индекс.
procedure TForm1.FormCreate (Sender: TObject);
var
MyIni: TIniFile;
MyStringList: TStringList;
begin
MyIni := TIniFile.Create('WIN.INI');
// получение экземпляра списка строк
MyStringList := TStringList.Create;
// копировать раздел в список строк
MyIni.ReadSectionValues('Desktop', MyStringList);
// печатать первую строку списка в заголовке формы
Form1.Caption := MyStringList.Strings[0];
MyIni.Free;
MyStringList.Free;
end;
Результат показан на рисунке 4-4. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод ReadString считывает строковое значение из идентификатора
в указанном разделе INI-файла. |
Объявление |
function ReadString(const Section, Jdent, Default: string): string; |
Параметры |
|
Section |
Имя раздела, в котором расположен идентификатор |
Ident |
Идентификатор, подлежащий считыванию. |
Default |
Значение идентификатора по умолчанию (возвращается, если идентификатор
не найден). |
Пример синтаксиса |
// Данная процедура проверяет идентификатор sCountry раздела Intl
// в файле WIN.INI. Затем устанавливается заголовок формы в значении
// идентификатора sCountry.
procedure TForm1.FormCreate(Sender: TObject);
var MyIni; TIniFile;
begin
MyIni := TIniFile.Create('Win.ini');
Form1.Caption := MyIni.ReadString('Intl', 'sCountry', 'no country listed');
// не забудьте пo завершении работи разрушить MyIni
MyIni.Free;
end;
|
Описание |
ReadString извлекает строковое значение из идентификатора в
INI-файле. В приведенном выше примере программа получает идентификатор
с именем sCountry в разделе файла WIN.INI и печатает его значение
в заголовке формы. ReadString похожа на ReadBool и Readinteger
в том, что все они возвращают значения, содержащиеся в указанных идентификаторах
INI-файла. |
РИСУНОК 4-3 Окно списка отображает идентификаторы и их значения в разделе
[Desktop] файла WIN.INI.
РИСУНОК 4-4 Получение отдельных идентификаторов вместе со значениями
и печать в заголовке формы.
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод WriteBool записывает логическое значение в идентификатор
в указанном разделе INI-файла. |
Объявление |
procedure WriteBool (const Section, Ident: string; Value: Boolean); |
Параметры |
|
Section |
Имя раздела, в котором расположен идентификатор. |
Ident |
Идентификатор, подлежащий записи. |
Value |
Значение, записываемое в идентификатор. |
Пример синтаксиса |
// Данная процедура создает новый INI-файл с именем TEST.INI
// (если он еще не существует) и добавляет двоичный идентификатор
// SampleBooleanEntry со значением True. Если идентификатора нет,
// он также будет создан.
procedure TForm1.FormCreate (Sender: TObject);
var
Writeini: TIniFile;
begin
Writeini : = TIniFile.Create('TEST.INI');
Writeini.WriteBool('Sample Section', 'SampleBooleanEntry', True);
Writeini.Free;
end;
|
Описание |
WriteBool записывает в INI-файл логическое значение, заданное
параметром Value. Раздел и идентификатор, куда будет записываться
значение, определяются параметрами
Section и Ident. Если
раздел или идентификатор не существуют, они создаются. После запуска приведенного
примера в каталоге Windows можно будет открыть вновь созданный TEST.INI,
в котором будут представлены такие строки:
[Sample Section]
SampleBooleanEntry=1
WriteBool используется так же, как Writeinteger и
WriteString, ≈ с единственным различием в типе записываемого значения. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод Writeinteger записывает целое значение в идентификатор
в указанном разделе INI-файла. |
Объявление |
procedure Writeinteger (const Section, Ident: string; Value: Longint); |
Параметры |
|
Section |
Имя раздела, в котором расположен идентификатор. |
Ident |
Идентификатор, подлежащий записи. |
Value |
Значение, записываемое в идентификатор. |
Пример синтаксиса |
// Данная процедура создает новый INI-файл с именем TEST.INI
// (если он еще не существует) и добавляет целый идентификатор
// SampleIntegerEntry со значением 12024. Если идентификатора
// нет, он также будет создан.
procedure TForm1.FormCreate(Sender: TObject);
var
Writeini: TIniFile;
begin
Writeini := TIniFile.Create(TEST.INI');
Writeini.Writelnteger( 'Sample Section', 'SampleIntegerEntry', 12024);
Writeini.Free;
end;
|
Описание |
Writeinteger записывает в INI-файл целое значение, заданное
параметром Value. Раздел и идентификатор, куда будет записываться
значение, определяются параметрами
Section и Ident. Если
раздел или идентификатор не существуют, они создаются. Если выполнить приведенный
пример, в каталоге Windows можно будет открыть вновь созданный TEST.INI,
в котором находятся такие строки:
[Sample Section]
SampleIntegerEntry=12024
Writeinteger используется так же, как WriteBool и WriteString, ≈ с единственным
отличием в типе записываемого значения. |
Затрагиваемые объекты |
TIniFile |
Назначение |
Метод WriteString записывает строковое значение в идентификатор
в указанном разделе INI-файла. |
Объявление |
procedure WriteString(const Section, Ident, Value-, string); |
Параметры |
|
Section |
Имя раздела, в котором расположен идентификатор. |
Ident |
Идентификатор, подлежащий записи. |
Value |
Значение, записываемое в идентификатор. |
Пример синтаксиса |
// Данная процедура создает новый INI-файл с именем TEST. INI
// (если он еще не существует) и добавляет строковый
// идентификатор SampleStringEntry со значением строки. Если
// идентификатора нет, он также будет создан.
procedure TFonnI.FormCreate (Sender: TObeject);
var
Writeini: TIniFile;
begin
Writeini := TIniFile. Create ('TEST. INI'),∙
Writeini.WriteString('Sample Section', 'SampleStringEntry', 'this
is example of writing a string to an INI file');
Writeini. Free;
end;
|
Описание |
WriteString записывает в INI-файл строковое значение, заданное параметром
Value. Раздел и идентификатор, куда будет записываться значение, указываются
параметрами Section и Ident. Если раздел или идентификатор не существуют,
они создаются.
После выполнения приведенного примера в каталоге Windows можно будет
открыть вновь созданный TEST.INI, в котором представлены такие строки:
[Sample Section]
SamplectringEntry=this is example of writing a string to an INI file
WriteString используется так же, как WriteBool и Writeinteger, - с единственной
разницей в типе записываемого значения.
|