Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с реестром

Автор: Руслан Аблязов
http://pblog.ru/
2 марта 2007 года

Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я покажу маленький пример как сохранить некоторые параметры Вашей программы.

Первое что надо сделать это добавить в uses модуль Registry

Затем написать две процедуры:

type
  TForm1 = class(TForm)
  procedure SaveProgParam;
  procedure LoadProgParam;

procedure TForm1.SaveProgParam;
  var
    FIniFile: TRegIniFile;
  Begin
    // по умолчанию всё делается в HKEY_CURRENT_USER
    FIniFile := TRegIniFile.Create('Software');
    FIniFile.OpenKey('Папка_вашей_программы',true);
    if Form1.WindowState=wsNormal then
      begin
        FIniFile.WriteInteger('Option', 'Width', Width);
        // Write: - означает запись, :Integer - означает тип записываемой переменной
        // Первый параметр 'Option' - это подраздел: 'Папка_вашей_программы\Option\'
        // Второй параметр 'Width' - название ключа (файла в реестре)
        // Третий - это переменная которую мы записываем
        FIniFile.WriteInteger('Option', 'Heigth', Height);
        FIniFile.WriteInteger('Option', 'Left', Left);
        FIniFile.WriteInteger('Option', 'Top', Top);
      end;
    FIniFile.WriteInteger('Option', 'WinState', Integer(WindowState));
    FIniFile.Free; //освобождаем переменную
  end;

Здесь мы записали положение окна и развёрнуто ли оно. Далее мы пишем процедуру загрузки этих параметров:

procedure TForm1.LoadProgParam;
  var
    FIniFile: TRegIniFile;
  Begin
    // по умолчанию всё делается в HKEY_CURRENT_USER
    FIniFile := TRegIniFile.Create('Software');
    FIniFile.OpenKey('Папка_вашей_программы',true);
    Width:=FIniFile.ReadInteger('Option', 'Width', 600);
    // Read: - означает чтение, :Integer - означает тип считываемой переменной
    // Первый параметр 'Option' - это подраздел: 'Папка_вашей_программы\Option\'
    // Второй параметр 'Width' - название ключа (файла в реестре)
    // Третий параметр 600 - это значение по умолчанию, если ключ с названием 'Width' не будет найден
    Height:=FIniFile.ReadInteger('Option', 'Heigth', 300);
    Left:=FIniFile.ReadInteger('Option', 'Left', 10);
    Top:=FIniFile.ReadInteger('Option', 'Top', 10);
    WindowState:=TWindowState(FIniFile.ReadInteger('Option', 'WinState', 0));
    FIniFile.Free; //освобождаем переменную
  end;

И теперь внедряем эти процедуры в программу:

procedure TForm1.FormCreate(Sender: TObject);
  begin
    LoadProgParam;
  end;

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

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог