суббота, 6 июня 2015 г.

ini файлы в Delphi

    При при написании программ оперирующих например какими нибудь расчетами, иногда требуется сохранять настройки, чтобы после очередного запуска приложения не вводить их вновь. Здесь как раз и приходят на выручку ini файлы.                                                                          
                         
   Для того чтобы понять как с ними работать, проделаем следующее...

 1) Пропишем в разделе Uses редактора кода - IniFiles, тем самым подключив модуль для работы с ними;

 2) Создадим глобальные переменные записав после раздела var   a:Tinifile; и b:Real;

 3) В событии FormCreate прописываем:

begin

a:=Tinifile.Create('C:/Delphi.ini');

end;

  Здесь С:/ - адрес создания файла ini, а Delphi.ini - имя и расширение файла, который если создан, то будет открыт, а если отсутствует, то будет создан. В любом случае файл будет создан только тогда, когда мы попытаемся в него что нибудь записать, поэтому не пугайтесь если сразу не обнаружите его по указанному адресу.

  Теперь давайте попробуем записать в Edit1 любое число скажем 5 и по нажатии на Button поместить его в наш Delphi.ini, для этого:

 4) Поместим их на форму и в событии OnClick Button1 прописываем:

begin

a.WriteFloat('Секция1', 'переменная1', StrToFloat(Edit1.Text)); 

end;

 Если мы зайдем на С:/ и откроем с помощью Блокнота созданный нами ini файл, то увидим буквально следующее:

[Секция1]

Переменная1=5 

  Запишем теперь в ini какой нибудь текст например Delphiport.ucoz.com, для этого:

  5) Поместим на форму Edit2, Button2  и в событии OnClick Button2 пропишем:

begin

a.WriteString('Секция2', 'переменная2', Edit1.Text);

end;

  Пишем в Edit2 - delartidea.blogspot.com, нажимаем на Button2, открываем наш ini снова и видим, что под первой секцией добавилась и вторая.

[Секция1]

Переменная1=5

[Секция2]

Переменная2=delartidea.blogspot.com

В таком виде, ини-файл распределяет и хранит информацию.

Давайте теперь научимся выгружать наши данные из Delphi.ini

  6) Для этого кидаем на форму Edit3 - в него мы будем выводить данные, и Button3 на котором мы создадим обработчик событий  - OnClick.

begin

Edit3.Text:=(a.ReadString('Секция2','Переменная2','Не обнаружено'));

end;

  Обратите внимание на изменения в коде. 'Не обнаружено' - это сообщение, которое будет выводится в наш Edit3, если по запрашиваемому адресу не будет данных, (переменной2 ничего не будет присвоено например) таким сообщением может быть в принципе любое слово. Но поскольку данные присутствуют и они не повреждены, то в нашем Edit после нажатия Button3, таки появится -  delartidea.blogspot.com 

  Вывод чисел производится аналогично. А вот как производится запись чисел из ini в переменную.

  7)   Кидаем на форму Button4 на которой мы создадим обработчик событий  - OnClick. И запишем следующее:

begin

b:=StrToFloat(a.ReadString('Секция1','Переменная1','Не обнаружено'));

end;

Проверку кода, сделайте самостоятельно, прибавив например что-нибудь к переменной b и поместите куда-нибудь результат. B label например.

А теперь после работы с ini, освободим оперативную память, создав обработчик событий OnClose на форме:

begin

a.Free;

end;

  В дополнение хочу сказать следующее: Имена Секций и переменных можно назначать любые, но они должны состоять из двух и более слов, вместо пробела используйте знак"_". Например Good_day_Now. После названия инифайла не забывайте ставить расширение ".ini"

  Ну вот, пожалуй все. Советую теперь по практиковаться самостоятельно. Ini - файлы хоть и не панацея, но вещь определенно нужная и полезная.

Успехов!!!

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.