Иcпользование API на Delphi 7

Сергей Николаевич Талипов, 2012

В данном сборнике приведены лекции по использованию API в Delphi 7: ini-файлы, реестр Windows, Drag&Drop, Sockets TCP/IP, dll-библиотеки, win-handle и др.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Иcпользование API на Delphi 7 предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

ЛЕКЦИЯ №2

1. РАБОТА С РЕЕСТРОМ WINDOWS

Реестр Windows — это база данных, в которой операционная система Windows и внешние программы сохраняют нужные им данные. Логическая структура реестра напоминает строение Ini-файла, отличие состоит в том, что Ini-файл состоит из разделов (секций) и ключей раздела со значениями, а реестр состоит из разделов, вложенных подразделов (неограниченное число) и ключей (параметров) разделов/подразделов со значениями.

Реестр Windows имеет древовидную структуру, подобную файловой системе, где разделы и подразделы соответствуют каталогам и подкаталогам, а ключи со значениями — именам файлов:

Рис. 1

Любая программа может сохранять свои данные или в реестре Windows или в Ini-файлах. Достоинства и недостатки использования реестра и Ini-файлов следующие:

...

(таблица)

...

Таблица 1

Реестр состоит из шести корневых разделов, два из которых представляют наибольший интерес: раздел «HKEY_LOCAL_MACHINE» предназначен для хранения данных, доступных всем пользователям Windows, а раздел «HKEY_CURRENT_USER» хранит данные, доступные только для текущего пользователя Windows. Другие корневые разделы обычно используются только операционной системой и некоторыми системными программами.

Язык программирования Delphi 5 позволяет производить с реестром Windows любые манипуляции через подключение модуля «Registry» в разделе «interface — > uses». Рассмотрим на примере основные базовые операции при записи и считывании данных с реестра:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

{ Процедура записи данных в реестр }

var Reg: tRegistry;

begin

Reg:=tRegistry.Create;

Reg.RootKey:=HKEY_LOCAL_MACHINE;

try

if Reg.OpenKey('\Software\TSN736\', true) then begin

if not Reg.KeyExists('setup') then Reg.CreateKey('setup');

if Reg.OpenKey('\Software\TSN736\setup', false) then begin

Reg.WriteInteger('Left', form1.left); Reg.WriteInteger('Top', form1.top);

Reg.CloseKey;

end;

end;

finally

Reg.Free;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

{ Процедура чтения данных с реестра }

var Reg: tRegistry;

begin

Reg:=tRegistry.Create;

Reg.RootKey:=HKEY_LOCAL_MACHINE;

try

if Reg.OpenKey('\Software\TSN736\setup', false) then begin

try form1.left:=Reg.ReadInteger('Left'); except; end;

try form1.top:=Reg.ReadInteger('Top'); except; end;

Reg.CloseKey;

end;

finally

Reg.Free;

end;

end;

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Иcпользование API на Delphi 7 предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я