Урок 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(из реестра), то цвет программы синий, если нет красный.(в нашем коде так будет всегда, хотя модернизировать код совсем не трудно).
Удачи!
Встретимся в следующем уроке!