Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

FindClose(SearchRec); end;



На компакт диске, в директории \Примеры\Глава 10\FindFile ты можеш ь увидеть приме р это й программы.


10.11 Работа с системным реестром

этой главе я хочу тебе рассказать, как можно работать с системным реестром. Лично я люблю для этого использовать объект TRegIniFile. Он достаточно прост и удобен, поэтому я и тебе советую работать с ним. Для простого

сохранения каких-то параметров программы этого объекта будет достаточно.

Давай разберёмся с этим объектом. Допустим, что у нас есть переменная RegIni типа TRegIniFile. Чтобы её инициализировать, нужно присвоить переменной результат вызова метода Create объекта TRegIniFile:

RegIni:=TRegIniFile.Create('Software');

По умолчанию, при инициализации ты получаешь доступ к разделу HKEY_CURRENT_USER. Методу Create нужно передать только один параметр – имя подраздела, который будет сразу открыт в разделе HKEY_CURRENT_USER.

Итак, после выполнения этого кода мы получили доступ к разделу HKEY_CURRENT_USER\Software. А что если ты хочешь открыть ещё подраздел и получить доступ к HKEY_CURRENT_USER\Software\Microsoft. Для открытия подразделов у объекта TRegIniFile есть метод OpenKey. Вот так можно открыть подраздел «Microsoft»:

RegIni.OpenKey('Microsoft', true);

У метода OpenKey уже два параметра:

1. 1. Имя подраздела, который надо открыть.

2. 2. Надо ли создавать подраздел, если он не существует.

Если в качестве второго параметра передать false, и подраздел не будет существовать, то произойдёт ошибка и ничего не откроется, т.е. ты останешься там же, где и был. Ну а если мы передадим true и раздел не будет существовать, то программа автоматически создаст его.

Теперь разберёмся с чтением и записью. Для чтения есть несколько методов:

. • ReadBool – прочитать булево значение (true или false).

. • ReadInteger – прочитать целое число.

. • ReadString – прочитать строку.

Все они очень похожи и имеют одинаковое количество параметров. Единственная разница – в типе третьего параметра. Давай подробно рассмотрим ReadString, а остальное уже будем использовать по аналогии с этим методом.

У методов чтения есть три параметра:

1. 1. Имя подраздела, в из которого мы хотим прочитать. Допустим, что мы открыли раздел Microsoft и находимся сейчас в реестре по адресу HKEY_CURRENT_USER\Software\ Microsoft. Если мы захотим прочитать строку из подраздела HKEY_CURRENT_USER\Software\Microsoft\ MySoftware, то в качестве первого параметра ты должен написать MySoftware.

2. 2. Имя параметра. Если ты хочешь, чтобы параметр звался как Path, то укажи Path:).

3. 3. Значение, которое будет использоваться по умолчанию, если такой параметр не существует. Для метода ReadString это должна быть строка или переменная типа строка.

Сразу хочу предупредить, что даже если ты будешь читать или записывать в реестр число с помощью методов WriteInteger или ReadInteger, объект TRegIniFile всё равно будет сохранять и читать эти числа как строки. А только после прочтения преобразовывать в число. Так что TRegIniFile реально хранит все данные в реестре только как строки. Если ты хочешь сохранять числа в реестре как самые простые числа, то нужно воспользоваться объектом TRegistry.

Итак, давай взглянём на команду чтения в действии:

Str:=RegIni.ReadString('MySoftware', 'Path', 'c:\');

В этом примере я читаю из подраздела MySoftware параметр Path. Если такой параметр не существует и не может вернуть значение, то будет возвращено значение по умолчанию «С:\». Результат чтения я записываю в переменную Str.

Точно так же происходит и запись, только в качестве третьего параметра нам надо указать не значение по умолчанию, а значение, которое надо записать. Для записи используются так же три метода:

. • WtiteBool – записать булево значение (true или false).

. • WtiteInteger – записать целое число.

. • WtiteString – записать строку.

Простейший пример записи выглядит так:

RegIni.WriteString('MySoftware', 'Path', 'c:\Windows');

В этом примере я записываю в подраздел MySoftware параметр Path. Значение, которое будет записано равно третьему параметру - «С:\Windows».

После всех операций с реестром, его нужно закрыть с помощью метода Free:





Дата публикования: 2014-11-04; Прочитано: 596 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...