Урок 76 - Работа с реестром

Для начала определимся, что же такое реестр Windows. Форумлировка корпорации Microsoft: Иерархически построенная, централизованная база данных в составе операционных систем Microsoft Windows 9x/NT/2000/XP/2003/Vista/7/8, содержащая сведения, которые используются операционной системой для работы с пользователями, программными продуктами и устройствами. Реестр хранит данные о продуках, установленных в вашей ОС. Новая Windows 7 также не осталась в стороне от прошлых систем и обзовелась реестром. Так что если у вас Windows 7 к вам урок также относится.

И так давайте определимся для чего программа написанная на Delphi(необязательно на Delphi 7) может хранить данные в реестре Windows. Самые простые способы использования: Загрузка из реестра: языка(русский например или английский), фоновый цвет программы, хранение данных о версии, об обновлении, о регистрации и о многом другом.

Если Вы программируете, либо программировали на Delphi 7, то я уверен на сто процентов, Вы не пользовалась реестром. В этом уроке я Вам покажу и детально расскажу, как из программы, написанной на Delphi, добавить запись в реестр.

Основной код для добавления в реестр данных(для меня самый лёгкий из все, что я знаю): Перед тем как начать работать:

Откройте Delphi->Создайте новый проект->В uses проекта пропишите registry.

var
RegIniFile:TRegIniFile; //обяъявляем переменную
begin
edit1.text:='1';//edit1 равен 1
RegIniFile:=TRegIniFile.Create('***');// Можно, конечно, использовать и ***, но рекомендую Вам поменять ***, на любое слово на английском языке, либо цифр
RegIniFile.WriteString('***1','***2',edit1.text);
reginifile.free;
end;
Вместо edit1.text можно записать и число и слово, но лучше на форму выставить edit1, а edit1 поставить в его настройках visible: true и написать что либо на edit1, в этом случае из edit1 в реестр будут записаны данные.

В данном случае в реестр в ключ HKEY_CURRENT_USER->***->***1->***2->1, в параметр подключа в данном случае будет записана цифра 1, т.к edit1.text:='1', а можно сделать так, чтобы программа записывала тот текст в реестр, который записан в поле. Мы записали в реестр данные, а что теперь. Теперь с помощью записанной единички в реестре, мы можем указать форме, то что будет происходить, например, если ключ полностью совпадет(можно менять форме цвет или язык и много другое). Давайте поменяем цвет. В настройках формы найдите onshow, кликните два раза по пустой клетке

Мы получим следующее:
procedure TForm1.FormShow(Sender: TObject);
begin
 
end;
Теперь убираем begin и вставляем этот код, этот код будет читать данные из реестра Как Вы наверное понимаете, данные в скобках должны совпадать, с тем, что мы записавали ранее.
var // объявляем переменные
RegIniFile:TRegIniFile;
begin
regIniFile:=TRegIniFile.Create('***');
Edit1.Text:=RegIniFile.ReadString('***1','***2',form1.Edit1.Text);
reginifile.Free ;
Так данные из реестра мы загрузили. Теперь нам необходимо объявить нашей программе, что ей надо делать после загрузки

После вставляем этот код:
if edit1.text='1' then begin
form1.color:=clblue
end
else
form1.color:=clred;
Здесь, мы написали программа и объяснили ей, что надо делать, объясню Вам: Если едит равен 1(из реестра), то цвет программы синий, если нет красный.(в нашем коде так будет всегда, хотя модернизировать код совсем не трудно).

Удачи!
Встретимся в следующем уроке!



    No results found.
Отменить.