Урок 8 - Работа с реестромDelphi , Технологии , KOL и MCK
Ведущий раздела KOL и MCK: Анатолий aka XVeL Полную версию библиотеки KOL и MCK можно скачать здесь. Сейчас уже стало стандартом, что настройки программы, важные (да и не очень) параметры храняться в реестре Windows. По этой причине и в KOL существует поддержка работы с реестром. Нельзя сказать, что эти инструменты такие же мощные, как и TRegister в VCL, но необходимый минимум найдется. Работа с регистром в KOL построена с помощью функций. Их список я привожу в таблице с кратким описанием (хотя человек знакомый с TRegister поймет их и так).
Для начала работы с каким-либо ключом регистра, вы должны открыть его с
помощью функций RegKeyOpenRead, RegKeyOpenWrite или RegKeyOpenCreate. В
первом параметре должен передаватся HKey какого нибудь ранее открытого
ключа или одна из следующих констант: После того как вы открыли ключ, вы можете записывать и читать данные. Ну и логическое завершение всего процесса - это команда RegKeyClose, т.е. закрытие ключа, если он вам больше не нужен. Пример чтения и записи в реестра:program Primer_1; uses windows, messages, kol; {$R *.RES} const KeyWin = 'SOFTWARE\Microsoft\Windows\CurrentVersion'; var Form, edOption, buOption, List, panTop:pControl; Key:HKey; /////////////////////////////////////////////////////////// Procedure ClickOnList( Dummy : Pointer; Sender : PControl ); begin // чтение из реестра Key := RegKeyOpenRead(HKEY_LOCAL_MACHINE,KeyWin); edOption.Text := RegKeyGetStr(Key,List.Items[List.CurIndex]); RegKeyClose(Key); end; /////////////////////////////////////////////////////////// Procedure ClickOnButton( Dummy : Pointer; Sender : PControl ); begin // запись в реестра if edOption.Text='' then exit; Key := RegKeyOpenWrite(HKEY_LOCAL_MACHINE,KeyWin); RegKeySetStr(Key,List.Items[List.CurIndex],edOption.Text); RegKeyClose(Key); end; /////////////////////////////////////////////////////////// begin Form := NewForm(Applet,'Пример работы с реестром').SetSize(400,200); // можно было обойтись и Form.CanResize := false Form.Style := WS_BORDER or WS_SYSMENU or WS_VISIBLE; Form.Font.FontName := 'MS Sans Serif'; Form.Font.FontHeight := 8; panTop := NewPanel(Form,esRaised).SetAlign(caTop); edOption := NewEditbox(panTop,[]); buOption := NewButton (panTop,'Применить').PlaceRight; buOption.OnClick := TOnEvent( MakeMethod( nil, @ClickOnButton ) ); List := NewListbox(Form,[]).SetAlign(caClient); List.Add('ProductId'); List.Add('ProductName'); List.Add('RegisteredOrganization'); List.Add('RegisteredOwner'); List.Add('Version'); List.Add('VersionNumber'); List.OnClick := TOnEvent( MakeMethod( nil, @ClickOnList ) ); // ----- Наводим красоту жонглируя с размерами.-------- // Можно и не вникать :) edOption.Width := panTop.Width - buOption.Width-10; buOption.Left := edOption.Width+ 4 ; panTop.Height := edOption.Height+10; //----------------------------------------------------- Run(Form); end.Исходный текст : 1,92 Кб ; размер программы: 30Кб (без сжатия и замены System) После компиляции вы увидите примерно следующие:
Если вы читали мои предыдущие монологи про KOL, вам должно быть в основном все понятно. Не говорил я только про свойства Font.FontName и Font.FontHeight, но тут можно вполне догадатся, что мы меняем параметры шрифта. Урок 8 - Работа с реестром: В статье рассмотрены функции библиотеки KOL для работы с реестром Windows, а также приведен пример программы на языке Delphi, которая демонстрирует чтение и запись данных в реестре. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |