Теми рефератів
Авіація та космонавтика Банківська справа Безпека життєдіяльності Біографії Біологія Біологія і хімія Біржова справа Ботаніка та сільське гос-во Бухгалтерський облік і аудит Військова кафедра Географія
Геодезія Геологія Держава та право Журналістика Видавнича справа та поліграфія Іноземна мова Інформатика Інформатика, програмування Історія Історія техніки Комунікації і зв'язок Краєзнавство та етнографія Короткий зміст творів Кулінарія Культура та мистецтво Культурологія Зарубіжна література Російська мова Маркетинг Математика Медицина, здоров'я Медичні науки Міжнародні відносини Менеджмент Москвоведение Музика Податки, оподаткування Наука і техніка Решта реферати Педагогіка Політологія Право Право, юриспруденція Промисловість, виробництво Психологія Педагогіка Радіоелектроніка Реклама Релігія і міфологія Сексологія Соціологія Будівництво Митна система Технологія Транспорт Фізика Фізкультура і спорт Філософія Фінансові науки Хімія Екологія Економіка Економіко-математичне моделювання Етика Юриспруденція Мовознавство Мовознавство, філологія Контакти
Українські реферати та твори » Информатика, программирование » Реєстр: запис читання

Реферат Реєстр: запис читання

предводителя Сергій

Робота з системним реєстром в 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 . Ну як ви напевно здогадалися, цей метод служить для зчитування значення ключа з реєстру. Крім 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;

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

Увага! Передрук даної статті або її частини без узгодження з автором. Якщо ви хочете розмістити цю статтю на своєму сайті або видати в друкованому вигляді, зв'яжіться з автором.

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

Для підготовки даної роботи були використані матеріали з сайту coderpro.fatal.ru/



Друкувати реферат
Замовити реферат
Реклама
Наверх Зворотнiй зв'язок