Delphi. Работа с реестром. Минимальные навыки.

Поскольку в прошлом посте про загрузку / парсинг HTML страницы с помощью библиотеки MSHTML мне пришлось бороться со всплывающим окном методом замены значений в реестре Windows, отвечающего за настройки IE, то в данном посте решил освежить минимальные навыки работы с реестром, а именно – чтение / запись.

Итак, подключаем модули в uses

Если заглянуть в него, то можно обнаружить несколько полезных классов

Наша задача

Прочитать из реестра

значение переменной 1A10 и записать какое-то свое значение.

Первым делом посмотрим в редакторе реестра (regedit) какого типа наша переменная?

7

Переменная типа DWORD!!!

В сети увидел такую информацию на одном из форумов.

An integer type represents a subset of the whole numbers. The generic integer types are Integer and Cardinal; use these whenever possible, since they result in the best performance for the underlying CPU and operating system. The table below gives their ranges and storage formats for the current 32-bit Delphi compiler.Generic integer types for 32-bit implementations of Delphi
Type Range Format
Integer -2147483648..2147483647 signed 32-bit
Cardinal 0..4294967295 unsigned 32-bit
Fundamental integer types include Shortint, Smallint, Longint, Int64, Byte, Word, and Longword.Fundamental integer types
Type Range Format
Shortint -128..127 signed 8-bit
Smallint -32768..32767 signed 16-bit
Longint -2147483648..2147483647 signed 32-bit
Int64 -2^63..2^63-1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit

 

К чему я озаботился типом переменной? А все просто, чтобы корректно прочитать её в Delphi – нам нужно знать каким методом читать из реестра. Если внимательно изучить модуль Registry, то в нем можно увидеть несколько различных методов чтения…

С учетом всего этого многообразия, нам нужно выбрать какой-то метод. Нам подходит Readinteger, так как наша переменная не превосходит 2147483647. Согласно описанию EricLaw, она меняется в диапазоне т 0 до 3!

Как прочитать из реестра?

Как записать в реестр?

//Запишем, например, число 2

Результат

8

This entry was posted in Delphi, Без рубрики and tagged . Bookmark the permalink.