Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
• Новости
• Последние поступления
• Книжный магазин
  Hardware:
• Видеоустройства
• Системные платы
• Процессоры
• Мобильные устройства
• Аудиосистема
• Охлаждение системы
• Накопители информации
• КПК и ноутбуки
• Телефоны и связь
• Периферия
• Система
• Сети
• Разные устройства
 
  Programming:
• Web-разработка
• Языки программирования
• Технологии и теория
• Разработка игр
• Программная инженерия
 
  Software:
• Операционные системы
• Windows 7
• Базы данных
• Обзоры программ
• Графика и дизайн
   
  Life:
• Компьютерная жизнь
• Разные материалы
   
• Партнеры
• Публикация
• Правовая информация
• Реклама на сайте
• Обратная связь
• Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



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

Раздел: Programming / Delphi @ 02.12.2007 | Ключевые слова: работа реестр windows версия для печати

Автор: Руслан Аблязов
Источник: CodeNet

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

Первое что надо сделать это добавить в 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;

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / Delphi


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.