gpt4 book ai didi

Delphi - 将字符串写入 Reg_Binary 注册表项

转载 作者:行者123 更新时间:2023-12-03 18:15:29 25 4
gpt4 key购买 nike

我需要转换字符串以将其写入 registry.reg_binary 键。

我有如下写入 key 的基本代码:

try
rootkey := HKEY_CURRENT_USER;
if OpenKey(Key, False) then
begin
reg.WriteBinaryData('SomeKey', SomeValue, Length(SomeVale));
CloseKey;
end;
finally
reg.Free;
end;

在上面,SomeValue需要是一个TEdit文本域的十六进制值;

我目前的策略是在每个字符的 Ord 值上使用 IntToHex 转换 TEdit.text。这给了我一个看起来像我想要写的字符串......

此时我被难住了......

最佳答案

如果你想写一个字符串,那么你应该调用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 注册表编辑器向您显示键值时,它可能会以十六进制显示每个字节,但这只是一种显示格式。这并不意味着您在将数据添加到注册表之前必须像那样格式化数据。

关于Delphi - 将字符串写入 Reg_Binary 注册表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com