Если вы хотите написать строку, то вам следует позвонить WriteString
.
reg.WriteString('SomeKey', SomeValue);
Если у вас есть целое число, позвоните WriteInteger
.
IntValue := StrToInt(SomeValue);
reg.WriteInteger('SomeKey', IntValue);
Если у вас есть истинные двоичные данные, то не должно иметь значения, как они выглядят - шестнадцатеричные или что-то еще. Звоните WriteBinaryData
и покончите с этим. Фактический внешний вид данных не имеет значения, потому что вам не нужно читать их в этом формате. Вы прочтете его позже с ReadBinaryData
, и он заполнит ваш буфер байтами в любом формате, который они имели, когда вы их записывали.
IntValue := StrToInt(SomeValue);
reg.WriteBinaryValue('SomeKey', IntValue, SizeOf(IntValue));
Это запишет все четыре байта вашего целого числа в реестр в виде двоичного значения.
Когда редактор реестра Windows отображает значение ключа для вас, он, вероятно, будет отображать каждый байт в шестнадцатеричном формате, но это просто формат отображения . Это не означает, что вы должны отформатировать данные таким образом, прежде чем добавлять их в реестр.