Пятница, 15.11.2024, 20:47
Приветствую Вас Гость | RSS

DELPHI Report

Каталог статей Delphi Report

Главная » Статьи » Внешний вид программы

Сохранение и загрузка параметров формы через IniFile
Не секрет, что у рядового пользователя, привыкшего к комфорту и разным фентифлюшкам,  в процессе работы может возникнуть желание изменить внешний вид программы и какие-то параметры интерфейса. Возможно даже, что данная потребность может возникнуть и  в результате каких-то других причин. 
Например, в  программе предусмотрена настройка цвета (TColorDialog1) и размера главной формы, тогда вопрос: как сохранить новые параметры и загрузить их снова?
Для этого воспользуемся IniFile.

Запись параметров осуществляется с помощью процедур:

            WriteBool
            WriteDate
            WriteDateTime
            WriteFloat
            WriteInteger
            WriteTime

Выбор процедуры соответсвенно зависит от типа записываемого значения.

Как правило указываются следующие параметры:

(const Section, Ident, Value: String);


Section - раздел, например форма или база данных, если хотите сохранить и ее параметры.

Ident - идентификатор, например размеры формы (Width, Height), название (Title)  и т.д.

Value - само значение.


Для записи цвета воспользуемся

WriteInteger('Form', 'Color', Form1.Color);

Например, можно организовать сохранение параметров форм при закрытии программы:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Ini.WriteInteger('Form', 'Color', Form1.Color);
    ini.WriteInteger('Form','Top',Top);
    ini.WriteInteger('Form','left',left);
    ini.WriteInteger('Form','Width',Width);
    ini.WriteInteger('Form','Height',Height);
    Ini.WriteBool( 'Form', 'InitMax', WindowState = wsMaximized );
  finally
    Ini.Free;
  end;
end;


При открытии загружаем параметры. Обратите внимание, что третьим параметром
в процедурах мы указываем значения, которые идут по дефолту, т.е. если вдруг процедура ReadInteger( 'Form', 'Color', clCream) не обнаружит данные, то она вернет значение clCream.

procedure TForm1.FormShow(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Color:=Ini.ReadInteger( 'Form', 'Color', clCream);
    Top     := Ini.ReadInteger( 'Form', 'Top', 0 );
    Left    := Ini.ReadInteger( 'Form', 'Left', 0 );
    Width   := Ini.ReadInteger( 'Form', 'Width', 950 );
    Height  := Ini.ReadInteger( 'Form', 'Height', 660 );
    if Ini.ReadBool( 'Form', 'InitMax', false ) then
      WindowState := wsMaximized
    else
    WindowState := wsNormal;
  finally
    Ini.Free;
  end;
end;

Категория: Внешний вид программы | Добавил: delphi (13.01.2010)
Просмотров: 6020 | Комментарии: 1 | Рейтинг: 5.0/1
Всего комментариев: 1
1 Геныч  
0
admin спс..очень нужная статья...можешь написать плиз статью о сохранении параметров базы....сам пытался не получилось ошибка о несоответствии типов код

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Google
Форма входа
Категории раздела
Общие вопросы [3] Среда Delphi [1]
Создание отчетов. Rave Reports [6] - Delphi DLL [9]
- Работа с реестром [5] Внешний вид программы [9]
Прикладные программы [1]
Здесь будут размещаться программы, файлы и по возможности описание программ прикладного характера
MS Office (MS Word, MS Excel ) [40]
Aвтоматизация отчетов с помощью средств MS Office (Word, Excel)
Построение графиков TChart, TDBChar [10] Matlab [3]
Здесь будут представлены примеры и статьи решения математических задач в среде матричных вычислений Matlab
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2024