Программирование на Delphi - обмен опытом / Класс INIFILES - работа с INI файлами

© Зайцев Олег 1998-2004
Лучшая портативная техника. Плееры Камеры Телефоны Компьютеры
Покупателям, пришедшим на www.porta.ru по этой ссылке - дополнительная скидка 1%
Железо | Система | WEB | Компоненты | Графика | Ссылки | Мультимедиа | Сети | Прочее | Реестр | Литература

Статистика

Класс INIFILES - работа с INI файлами

Рекомендую:
Главная страница \ Работа с реестром и INI файлами \ Класс INIFILES - работа с INI файлами

  • Класс INIFILES - работа с INI файлами

    Класс INIFILES - работа с INI файлами

    Теория * * Задать вопрос Наверх

    Почему иногда лучше использовать INI-файлы, а не реестр?
    1. INI-файлы можно просмотреть и отредактировать в обычном блокноте.
    2. Если INI-файл хранить в папке с программой, то при переносе папки на другой компьютер настройки сохраняются.
    3. Новичку в реестре можно запросто запутаться или (Боже упаси), чего-нибудь не то изменить.
    Поэтому для хранения параметров настройки программы удобно использовать стандартные INI файлы Windows. Работа с INI файлами ведется при помощи объекта TIniFiles модуля IniFiles. Краткое описание методов объекта TIniFiles дано ниже.
    Constructor Create('d:\test.INI');
    Создать экземпляр объекта и связать его с файлом. Если такого файла нет, то он создается, но только тогда, когда произведете в него запись информации.
    WriteBool(const Section, Ident: string; Value: Boolean);
    Присвоить элементу с именем Ident раздела Section значение типа boolean
    WriteInteger(const Section, Ident: string; Value: Longint);
    Присвоить элементу с именем Ident раздела Section значение типа Longint
    WriteString(const Section, Ident, Value: string);
    Присвоить элементу с именем Ident раздела Section значение типа String
    ReadSection (const Section: string; Strings: TStrings);
    Прочитать имена всех корректно описанных переменных раздела Section (некорректно описанные опускаются)
    ReadSectionValues(const Section: string; Strings: TStrings);
    Прочитать имена и значения всех корректно описанных переменных раздела Section. Формат :
    имя_переменной = значение
    EraseSection(const Section: string);
    Удалить раздел Section со всем содержимым
    ReadBool(const Section, Ident: string; Default: Boolean): Boolean;
    Прочитать значение переменной типа Boolean раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default.
    ReadInteger(const Section, Ident: string; Default: Longint): Longint;
    Прочитать значение переменной типа Longint раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default.
    ReadString(const Section, Ident, Default: string): string;
    Прочитать значение переменной типа String раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default.
    Free;
    Закрыть и освободить ресурс. Необходимо вызвать при завершении работы с INI файлом
    Property Values[const Name: string]: string;
    Доступ к существующему параметру по имени Name

    Пример * * Задать вопрос Наверх

    Procedure TForm1.FormClose(Sender: TObject);
    var
     IniFile:TIniFile;
    begin
      IniFile := TIniFile.Create('d:\test.INI'); { Создали экземпляр объекта }
      IniFile.WriteBool('Options', 'Sound', True); { Секция Options: Sound:=true }
      IniFile.WriteInteger('Options', 'Level', 3); { Секция Options: Level:=3 }
      IniFile.WriteString('Options' , 'Secret password', Pass); 
       { Секция Options: в Secret password записать значение переменной Pass }
      IniFile.ReadSection('Options ', memo1.lines); { Читаем имена переменных}
      IniFile.ReadSectionValues('Options ', memo2.lines); { Читаем имена и значения }
      IniFile.Free; { Закрыли файл, уничтожили объект и освободили память }
    end;
    


    © Зайцев Олег, "Программирование на Delphi - обмен опытом" 1999-2004. При использовании любых материалов данного сайта необходимо указывать источник информации. Дата обновления: 22.11.2004. Сайт размещен на хостинге AGAVA - Хостинг от AGAVA.ru