Работа с ini файлами в Delphi
INI файлы предназначены для хранения настроек приложения и любых других данных.
Для работы с ini файлами
- Пропишем в разделе Uses редактора кода — IniFiles, тем самым подключив модуль для работы с ними;
- Создадим глобальные переменные записав после раздела var a:Tinifile; и b:Real;
- В событии FormCreate прописываем:
1 2 3 |
begin a:=Tinifile.Create('C:/Delphi.ini'); end; |
Здесь С:/ — адрес создания файла ini, а Delphi.ini — имя и расширение файла, который если создан, то будет открыт, а если отсутствует, то будет создан. В любом случае файл будет создан только тогда, когда мы попытаемся в него что нибудь записать, поэтому не пугайтесь если сразу не обнаружите его по указанному адресу.
Как записать данные в ini файл в Delphi
Теперь давайте попробуем записать в Edit1 любое число скажем 5 и по нажатии на Button поместить его в наш Delphi.ini, для этого:
- Поместим их на форму и в событии OnClickButton1 прописываем:
1 2 3 |
begin a.WriteFloat('Секция1', 'переменная1', StrToFloat(Edit1.Text)); end; |
Если мы зайдем на С:/ и откроем с помощью Блокнота созданный нами ini файл, то увидим буквально следующее:
[Секция1]
Переменная1=5
Запишем теперь в ini какой нибудь текст например «ПримерТекста», для этого:
- Поместим на форму Edit2, Button2 и в событии OnClickButton2 пропишем:
1 2 3 |
begin a.WriteString('Секция2', 'переменная2', Edit1.Text); end; |
- Пишем в Edit2 – ПримерТекста, нажимаем на Button2, открываем наш ini снова и видим, что под первой секцией добавилась и вторая.
[Секция1]
Переменная1=5
[Секция2]
Переменная2=ПримерТекста
В таком виде, ини файл распределяет и хранит информацию.
Как прочитать из ini файла в Delphi
Давайте теперь научимся выгружать наши данные из Delphi.ini
- Для этого кидаем на форму Edit3 — в него мы будем выводить данные, и Button3 на котором мы создадим обработчик событий — OnClick.
1 2 3 |
begin Edit3.Text:=(a.ReadString('Секция2','Переменная2','Не обнаружено')); end; |
Обратите внимание на изменения в коде. ‘Не обнаружено’ — это сообщение, которое будет выводится в наш Edit3, если по запрашиваемому адресу не будет данных, (переменной2 ничего не будет присвоено например) таким сообщением может быть в принципе любое слово. Но поскольку данные присутствуют и они не повреждены, то в нашем Edit после нажатия Button3, таки появится — ПримерТекста
Вывод чисел производится аналогично. А вот как производится запись чисел из ini в переменную.
- Кидаем на форму Button4 на которой мы создадим обработчик событий — OnClick. И запишем следующее:
1 2 3 |
begin b:=StrToFloat(a.ReadString('Секция1','Переменная1','Не обнаружено')); end; |
Как освободить оперативную память в Delphi после работу с ini файлом
А теперь после работы с ini, освободим оперативную память, создав обработчик событий OnClose на форме:
1 2 3 |
begin a.Free; end; |