- Регистрация
- 9 Май 2015
- Сообщения
- 1,551
- Баллы
- 155
При при написании программ оперирующих например какими нибудь рассчетами, иногда требуется сохранять настройки, чтобы после очередного
запуска приложения не вводить их вновь. Здесь как раз и приходят на выручку ini файлы.
Для того чтобы понять как с ними работать, проделаем следующее...
1) Пропишем в разделе Uses редактора кода - IniFiles, тем самым подключив модуль для работы с ними;
2) Создадим глобальные переменные записав после раздела var a:Tinifile; и b:Real;
3) В событии FormCreate прописываем:
Здесь С:/ - адрес создания файла ini, а Delphi.ini - имя и расширение файла, который если создан, то будет открыт, а если отсутствует, то будет
создан. В любом случае файл будет создан только тогда, когда мы попытаемся в него что нибудь записать, поэтому не пугайтесь если сразу не
обнаружите его по указанному адресу.
Теперь давайте попробуем записать в Edit1 любое число скажем 5 и по нажатии на Button поместить его в наш Delphi.ini, для этого:
4) Поместим их на форму и в событии OnClick Button1 прописываем:
Если мы зайдем на С:/ и откроем с помощью Блокнота созданный нами ini файл, то увидим буквально следующее:
[Секция1]
Переменная1=5
Запишем теперь в ini какой нибудь текст например Delphiport.ucoz.com, для этого:
5) Поместим на форму Edit2, Button2 и в событии OnClick Button2 пропишем:
Пишем в Edit2 - Delphiport.ucoz.com, нажимаем на Button2, открываем наш ini снова и видим, что под первой секцией добавилась и вторая.
[Секция1]
Переменная1=5
[Секция2]
Переменная2=Delphiport.ucoz.com
В таком виде, инифайл распределяет и хранит информацию.
Давайте теперь научимся выгружать наши данные из Delphi.ini
6) Для этого кидаем на форму Edit3 - в него мы будем выводить данные, и Button3 на котором мы создадим обработчик событий - OnClick.
Обратите внимание на изменения в коде. 'Не обнаружено' - это сообщение, которое будет выводится в наш Edit3, если по запрашиваемому адресу
не будет данных, (переменной2 ничего не будет присвоено например) таким сообщением может быть в принципе любое слово. Но поскольку данные
присутствуют и они не повреждены, то в нашем Edit после нажатия Button3, таки появится - Delphiport.ucoz.com
Вывод чисел производится аналогично. А вот как производится запись чисел из ini в переменную.
7) Кидаем на форму Button4 на которой мы создадим обработчик событий - OnClick. И запишем следующее:
Проверку кода, сделайте самостоятельно, прибавив например что-нибудь к переменной b и поместите куда-нибудь результат. B label например.
А теперь после работы с ini, освободим оперативную память, создав обработчик событий OnClose на форме:
В дополнение хочу сказать следующее: Имена Секций и переменных можно назначать любые, но если они должны состоять из двух и более слов,
вместо пробела используйте знак"_". Например
day_Now. После названия инифайла не забывайте ставить расширение ".ini"
Ну вот, пожалуй все. Советую теперь по практиковаться самостоятельно. Ini - файлы хоть и не панацея, но вещь определенно нужная и полезная.
Успехов!!!
запуска приложения не вводить их вновь. Здесь как раз и приходят на выручку 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;
вместо пробела используйте знак"_". Например
day_Now. После названия инифайла не забывайте ставить расширение ".ini"Ну вот, пожалуй все. Советую теперь по практиковаться самостоятельно. Ini - файлы хоть и не панацея, но вещь определенно нужная и полезная.
Успехов!!!