MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Реестр: записьчтение

Название:Реестр: записьчтение
Просмотров:86
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Работа с системным реестром в Delphi достаточно простая. Использование реестра имеет некоторые преимущества перед INI-файлами. Они заключаются в том, что реестр - более стабильный, и у него нет ограничения на размер.

Часть полного текста документа:

Реестр: запись\чтение Предводителев Сергей
    Работа с системным реестром в Delphi достаточно простая. Использование реестра имеет некоторые преимущества перед INI-файлами. Они заключаются в том, что реестр - более стабильный, и у него нет ограничения на размер.
    В Delphi для работы с реестром служит модуль Registry. Он предоставляет программисту методы для открытия, закрытия, сохранения, перемещения, копирования и удаления ключей и разделов реестра.
    Итак, разберём использование Registry на небольшом примере: при закрытии программы будем сохранять положение и размеры формы в реестре, а при запуске соответственно считывать их. Для начала допишем Registry в раздел uses.
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, Registry;
    Теперь создадим обработчик события на закрытие формы:
    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    var
    reg:TRegistry; //1
    begin
    reg:=TRegistry.Create; //2
    reg.RootKey:=HKEY_CURRENT_USER; //3
    reg.OpenKey('software\reg_test',true); //4
    reg.WriteInteger('top',form1.Top); //5
    reg.WriteInteger('left',form1.Left); //6
    reg.WriteInteger('width',form1.Width); //7
    reg.WriteInteger('height',form1.Height); //8
    reg.CloseKey; //9
    reg.free; //10
    end;
    Разберём что же у нас тут делается:
    1) Объявляем переменную reg типа TRegistry - именно этот тип и служит для работы с реестром.
    2) Инициализируем переменную для работы.
    3) Свойство RootKey определяет корневой раздел.
    4) Метод OpenKey служит для открытия раздела. Первый параметр - это собственно рздел для открытия, а второй параметр определяет создавать ли этот раздел если его не существует.
    5 - 8 ) Здесь мы сохраняем нужные параметры формы в определённые ключи реестра. Для этого служат следующие методы:
    WriteBinaryData(const Name: String; var Buffer; BufSize: Integer);
    WriteBool(const Name: String; Value: Boolean);
    WriteCurrency(const Name: String; Value: Currency);
    WriteDate(const Name: String; Value: TDateTime);
    WriteDateTime(const Name: String; Value: TDateTime);
    WriteExpandString(const Name, Value: String);
    WriteFloat(const Name: String; Value: Double);
    WriteInteger(const Name: String; Value: Integer);
    WriteString(const Name, Value: String);
    WriteTime(const Name: String; Value: TDateTime);
    Думаю понятно из названия для сохранения какого типа данных служит каждый из вышеперечисленных методов. Ну а в общем первый параметр - название ключа, а второй собственно данные. Для записи в ключ по умолчанию просто оставьте первый параметр пустым, например: WriteInteger('',56);
    9) Метод CloseKey используется для закрытия ключа, открытого функцией OpenKey (см. п.4).
    10) Выгружаем переменную reg из памяти.
    Всё теперь при закрытии приложения оно будет сохранять данные о размере и положении формы в реестре. Можете проверить: запустите программу, а затем выйдите из неё и посмотрите в реестре (с помощью программы regedit) раздел HKEY_CURRENT_USER\Software\reg_test там и будут наши данные.
    Теперь нам надо считывать данные из реестра и соответственно изменять размеры и положение формы. Напишем обработчик события на создание формы:
    procedure TForm1.FormCreate(Sender: TObject);
    var
    reg:TRegistry;
    begin
    reg:=TRegistry.Create;
    reg.RootKey:=HKEY_CURRENT_USER;
    reg.OpenKey('software\reg_test',true);
    form1.Top:=reg.ReadInteger('top');
    form1.Left:=reg.ReadInteger('left');
    form1.Width:=reg.ReadInteger('width');
    form1.Height:=reg.ReadInteger('height');
    reg.CloseKey;
    reg.Free;
    end;
    Не изученный метод здесь только ReadInteger. ............



 
     

Вечно с вами © MaterStudiorum.ru