При закрытии подписчики были переданы в рассылку "Бизнес и карьера в интернете" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Информационный Канал Subscribe.Ru |
Образование - лучшее вложение денег.
- Билл Гейтс (ушедший из Гарварда в 1975, так и незакончив).
Синий, синий INI`й...Практически все современные и не современные приложения позволяют пользователю настраивать свои конфигурации и параметры на свой вкус и цвет. Например, положение и размеры окон, автосохранение и автозапуск и т.д. и т.п. Вся информация о настройках, естественно, должна где-то храниться. Именно для этих целей и были придуманы файлы инициализации .ini и реестр. Хотя сразу хочу оговориться, что реестр, как централизованная система хранения настроек с унифицированным доступом, был задуман с той целью, чтобы раз и навсегда избавиться от файлов инициализации. Но тут возникла одна весьма банальная проблема: если переустановить операционную систему все ранее сохраненные параметры просто будут потеряны. Вот поэтому использование файлов инициализации все еще широко применятся на практике. Файл инициализации представляет собой обычный текстовый файл, который содержит в себе некоторые разделы - секции. Имя каждого раздела заключается в квадратные скобки. В каждом разделе располагаются один или несколько параметров, которым соответствуют некоторое значение. Число таких параметров в файле не ограничено. Работа с файлами инициализации представляет собой работу с обычными текстовыми файлами. То есть в программе объявляется файловая переменная, которая связывается с физическим файлом на диске. Для работы с инициализационными файлами в Delphi служит класс TIniFile. И для того чтобы нам можно было работать с файлами инициализации нужно в раздел Uses модуля подключить модуль IniFiles.
Вот примерно так выглядит ini-файл:
Ну, а теперь приступим к рассмотрению того, как работать с ini-файлами из своей программы.
После того как мы подключили модуль IniFiles в раздел Uses нашего модуля нам
необходимо объявить специальную переменную. Мы так и назовем ее IniFile.
Перед любыми действиями с инициализационным файлом следует создать объект типа TIniFile, для чего используют метод Create. Этот метод создает в приложении экземпляр класса TIniFile, связывая его с файлом инициализации. Если файл инициализации на диске отсутствует, то он создается заново. Сохраняется он автоматически в системный каталог Windows. Чтобы это избежать, нужно применить один хитрый шаг, см. ниже.
А теперь перейдем к практике. Создадим новый проект и положим на форму две кнопки.
В обработчик нажатия первой кнопки btnWriteIniFile мы запишем код для записи информации
в файл инициализации. Мы запишем строку, целое и дробное число, дату, время и логические
значения.
В обработчик нажатия второй кнопки btnReadIniFile мы запишем код для считывания информации
из файла инициализации. Мы попробуем считать все, что только что записали. Обратите внимание
на то, как производиться чтение и преобразование типов.
И так же аналогичным образом можно записывать в ini-файл некоторые параметры в зависимости от внесенных изменений пользователем. Например, при выборе переключателя "Автосохранение положения формы" записать его соответствующий признак и на основании этого признака записывать при выходе из программы координаты формы, ее длину и ширину. А при запуске программы их заново считать и присвоить координатам формы. И как пример, хочу предложить Вашему вниманию сохранение и восстановление положения формы двумя различными способами.
Таким образом, перед тем как задать только что считанные значения, из файла инициализации, координатам формы, делаем проверку, нет ли пустых значений. Если пустые значения существуют, то это означает, что координаты формы не были сохранены ранее, либо удалены умышленно. Тогда "принудительно" заставляем развернуться форму, в первом примере, в полный экран, и центрироваться, во втором примере. Любые комментарии, жалобы, пожелания и сообщения об ошибках настоятельная просьба присылать на e-mail. |
Ведущий рассылки:
Набатников Иван
urisff@inbox.ru
http://newff.narod.ru/
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||