Бакалавр
Дипломные и курсовые на заказ

Реестр: записьчтение

РефератПомощь в написанииУзнать стоимостьмоей работы

Не изученный метод здесь только ReadInteger. Ну как вы наверное догадались, этот метод служит для считывания значения ключа из реестра. Кроме ReadInteger существуют ещё следующие методы: Метод OpenKey служит для открытия раздела. Первый параметр — это собственно рздел для открытия, а второй параметр определяет создавать ли этот раздел если его не существует. Теперь нам надо считывать данные… Читать ещё >

Реестр: записьчтение (реферат, курсовая, диплом, контрольная)

Реестр: записьчтение

Предводителев Сергей Работа с системным реестром в 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 («softwarereg_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_USERSoftwarereg_test там и будут наши данные.

Теперь нам надо считывать данные из реестра и соответственно изменять размеры и положение формы. Напишем обработчик события на создание формы:

procedure TForm1. FormCreate (Sender: TObject);

var.

reg:TRegistry;

begin.

reg:=TRegistry.Create;

reg.RootKey:=HKEY_CURRENT_USER;

reg.OpenKey («softwarereg_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. Ну как вы наверное догадались, этот метод служит для считывания значения ключа из реестра. Кроме ReadInteger существуют ещё следующие методы:

ReadBinaryData (const Name: String; var Buffer; BufSize: Integer): Integer;

ReadBool (const Name: String): Boolean;

ReadCurrency (const Name: String): Currency;

ReadDate (const Name: String): TDateTime;

ReadFloat (const Name: String): Double;

ReadInteger (const Name: String): Integer;

ReadString (const Name: String): String;

ReadTime (const Name: String): TDateTime;

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

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

Список литературы

Для подготовки данной работы были использованы материалы с сайта internet.

Показать весь текст
Заполнить форму текущей работой