При при написании программ оперирующих например какими нибудь рассчетами, иногда требуется сохранять настройки, чтобы после очередного запуска приложения не вводить их вновь. Здесь как раз и приходят на выручку 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 -
Delphiport.ucoz.com, нажимаем на Button2, открываем наш ini снова и видим, что под первой секцией добавилась и вторая.
[Секция1] Переменная1=5
[Секция2] Переменная2=Delphiport.ucoz.com
В таком виде, инифайл распределяет и хранит информацию. Давайте теперь научимся выгружать наши данные из Delphi.ini 6) Для этого кидаем на форму Edit3 - в него мы будем выводить данные, и Button3 на котором мы создадим обработчик событий - OnClick. begin
Edit3.Text:=(a.ReadString('Секция2','Переменная2','Не обнаружено')); end;
Обратите внимание на изменения в коде. 'Не обнаружено' - это сообщение, которое будет выводится в наш Edit3, если по запрашиваемому адресу не будет данных, (переменной2 ничего не будет присвоено например) таким сообщением может быть в принципе любое слово. Но поскольку данные присутствуют и они не повреждены, то в нашем Edit после нажатия Button3, таки появится -
Delphiport.ucoz.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 - файлы хоть и не панацея, но вещь определенно нужная и полезная. Успехов!!!
|