Вы не авторизированы! Логин:  Пароль:  Запомнить:    Зарегистрироваться
Забыл пароль
 
 
 

Работа с INI файлами в Delphi

SVD programming - Программирование Delphi, HTML, PHP, CGI. Обзоры софта, ReactOS и многое другое...
 
Главная - Новости - Публикации - Файлы - Ссылки - Форум Обратная связь
 


Друзья сайта ::

Сайтом управляют ::

Друзья сайта ::
Delphi » Работа с INI файлами в Delphi
Автор: Admin / Дата: 13:31 21.02.2006
Комментарии: Комментарии (0)
Рейтинг статьи: 8.00
На разных этапах создания проекта у вас может возникнуть потребность сохранить пользовательские настройки на диск. Лучше всего для этого подойдут INI файлы. Работать с ними намного удобнее, нежели с обычными текстовыми файлами. Представьте ситуацию, вы написали крупный проект, который имеет огромное число настроек, например 100 штук (причем это не простые чекбоксы). Теперь представьте, что пользователь изменит один из параметров. Вам придется заново переписывать все 100 настроек в файл. Это очень утомительно. Благо есть способ более элегантный. Для хранения настроек и прочих подобных данных лучше всего подходят INI файлы или реестр. С реестром мы разберемся в следующий раз. Изучим работу с INI файлами.

Одно из главных преимуществ INI файлов заключается в том, что эти файлы поддерживают переменные разных типов (String, Integer, Boolean). Также несравненным плюсом является возможность доступа к определенной записи, без изменения остальных.

Думаю, что пора закончить введение и перейти к практике. Прежде всего нам надо создать новое приложение. Добавьте в секцию uses модуль inifiles. Давайте сохраним какие-нибудь настройки в INI файле. Сохраним, к примеру, координаты положения формы при ее закрытии. Первым делом нужно создать сам INI файл с помощью метода Create(Filename:string) переменная Filename содержит полный путь к INI файлу, если этот параметр явно не задан, то INI файл будет создан в папке Windows. Мы будем хранить INI файл в той же папке, что и запущенное приложение. Давайте напишем обработчик события OnClose для нашей формы:

Код:
procedure TForm1.FormDestroy(Sender: TObject);
var
Ini: Tinifile; // создаем переменную типа Tinifile
begin
//создали INI файл в директории программы
Ini:=TiniFile.Create(extractfilepath(Application.ExeName)+'Ini.ini');
Ini.WriteInteger('Position','X',form1.left);
Ini.WriteInteger('Position','Y',form1.top);
Ini.Free;
end;


Откройте созданный INI файл в текстовом редакторе и убедитесь, что настройки успешно сохранились, напомню, что мы создали INI файл в том же каталоге, что и приложение.

Код:
[Position]
X=14
Y=427


Давайте подробно разберем строку Ini.WriteInteger('Position','Y',form1.top). Этот оператор делает запись типа Integer (кроме нее существует еще два оператора WriteString и WriteBool, которые записывают данные типа String и Boolean соответственно). Всем трем типам операторов передается три параметра: название секции, название поля и его значение, причем тип значения должен соответствовать типу оператора.

Общий вид процедуры таков:

Код:
Ini.WriteInteger(const Section: string, const Ident:string, Value: Integer); 


В INI файлах все поля расположены в секциях, это очень удобно и позволяет сохранять разные значения, разделяя их по категориям. Названия секций заключены в квадратных скобках. Если вы смотрели INI файл, то наверное уже все поняли.

Оператор Ini.Free необходим для завершения работы с INI файлом и для освобождения памяти, не забывайте его.

Теперь давайте научимся читать данные из INI файла. Для этого напишем обработчик события OnCreate для нашей формы.

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
Ini: Tinifile;
begin
//открываем файл
Ini:=TiniFile.Create(extractfilepath(Application.ExeName)+'Ini.ini');
Form1.Left:=Ini.ReadInteger('Position','X',10);
Form1.Top:=Ini.ReadInteger('Position','Y',10);
Ini.Free;
end;


Здесь все очень просто. Для чтения данных мы воспользовались оператором INI.ReadInteger. Этот оператор как две капли воды похож на оператор записи. Как вы уже наверное догадались, операторов чтения тоже три и зависят они также от типа значений. Параметры оператора точно такие же как и параметры оператора записи. Отличается лишь третий параметр, он необходим только в том случае, если произошла какая-либо ошибка или нужной строки не удалось найти. Как видите хранить настройки в INI файлах очень удобно и очень просто.
Источник: http://excode.ru
Автор : Admin
Комментарии: Комментарии (0)

Внимание!

Друзья сайта
Голосование ::
Случайные статьи ::
Добавления в форуме ::
Новые комментарии ::
Пользователи on-line ::
0 пользователь, 40 гостей
 
Страница создана за 0.112 секунд

SQL общее время: 0.007 секунд
SQL запросов всего: 14
Администрация сайта не несет ответственности за содержание рекламных материалов, а так же за информацию размещаемой посетителями. При использовании материалов сайта ссылка на svdpro.info обязательна.

Powered by LDU 802

Рейтинг@Mail.ru
Copyright © 2005 - 2011 «SVD Programming»
Версия сайта для коммуникаторов
Обратная связь - Карта сайта