DELPHI.Пользователь зол…

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

Речь вот о чем, — о сохранение каких-либо настроек.

Наш пользователь, совсем уже охамевший и требует сохранять все параметры его настроек)), вплоть до сохранения размеров окна и т.д. Что будем делать?

На этот случай (по крайней мере в Delphi6 есть такой стандартный компонент) есть компонент IniFiles (прописывается в Unit … …. .., IniFiles;)

Исходный код примера: http://kklab.ru/practic/delphi/source01.rar

Итак перед открытием формы (при ее создании) мы будем считывать настройки пользователя из ini-файла.

Создайте новое приложение, добавьте на форму кнопку «Сохранить настройки» и стандартный элемент управления «Галочка» (Checkbox), должно получиться вот что:

Форма для сохранения параметров в Ini-файл

Допишите в определения библиотек используемую нами Inifiles, во так:

Определение компонента inifiles

Теперь открываем событие при создании формы и «кодим»

procedure TForm1.FormCreate(Sender: TObject);

 var

 ini:TIniFile;

 Path:String;

begin

 Path:= ExtractFilePath(Paramstr(0));

 ini := TIniFile.Create(Path+’my_options.ini’);

 Checkbox1.Checked:= ini.ReadBool(‘checkbox’,’check1′,false);

 ini.Free;

end;

   Итак получаем путь к нашему текущему файлу (приложению) в переменную Path, для того чтобы иметь возможность сохранять в ту же папку с программой наш ini-файл my_options.ini.

   Теперь считываем параметр check1 из раздела checkbox значение нашего Checkbox. Вы можете придумывать (при сохранении Ini) любые названия разделов и название определений какие вам покажутся удобными, для примера мы выбрали такой состав ini-файла:

Создаваемый компонентом inifiles файл

Создаем  обработчик нажатий на кнопку Button1. Будем сохранять настройки checkbox’а при нажатии на кнопочку Сохранить…,

procedure TForm1.Button1Click(Sender: TObject);

 var

  ini:TIniFile;

  Path:String;

begin

  Path:= ExtractFilepath(paramstr(0));

  ini := TIniFile.Create(Path+’my_options.ini’);

  ini.WriteBool(‘checkbox’,’check1′,checkbox1.Checked);

  ini.Free;

end;

Вот такое получилось чудо, сохраняем значение нашего checkbox’a с помощью строчки

ini.WriteBool(‘checkbox’,’check1′,checkbox1.Checked);

Если вы внимательно посмотрите на подсказку среды после ввода ini и точки, то увидите много интересных свойств, к примеру для сохранения строки. (WriteString)

Свойства TiniFile

Для того, чтобы приложение полноценно сохраняло значение без нажатия на кнопочку можете перенести процедуру в событие при закрытии окна, или для нашего примера просто продублируйте выполнение нажатия на кнопку при выходе.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

 Button1Click(Form1);

end;


 

Добавить комментарий