delphi写二进制文件与读二进制文件
答案:1 悬赏:20 手机版
解决时间 2021-03-29 16:46
- 提问者网友:太高姿态
- 2021-03-29 09:01
delphi写二进制文件与读二进制文件
最佳答案
- 五星知识达人网友:山有枢
- 2021-03-29 10:01
ini文件中不支持直接读写二进制数据。
但是你可以使用十六进制(或类似形式)的ASCII字符串形式来存取数据,在保存之前和读取之后自己进行转换。
例如要保存一个“是否记录日志”的选项,所在段为[Option],选项名为IsLogEnabled,值为真:
str_value := IntToHex(Integer(FIsLogEnabled), 8);
ini.WriteString('Option', 'IsLogEnabled', str_value);
类似的,你可以把段名和选项名都经过转化,以免别人看懂。追问嗯!谢谢!能整个txt的吗?谢谢!追答txt是同样的道理,或者你可以搞得更加极端一些,直接以二进制文件的形式来保存配置信息。
使用TFileStream直接文件的某个位置进行读写操作,连段和选项名都不用,更加隐蔽。比如:
// 在偏移$03E8的位置保存前面说的选项
var
file_stream: TFileStream;
begin
...
file_stream.Seek($03E8, soBeginning);
file_stream.Write(FIsLogEnabled, SizeOf(Boolean));
...
end;追问好的!谢谢!
但是你可以使用十六进制(或类似形式)的ASCII字符串形式来存取数据,在保存之前和读取之后自己进行转换。
例如要保存一个“是否记录日志”的选项,所在段为[Option],选项名为IsLogEnabled,值为真:
str_value := IntToHex(Integer(FIsLogEnabled), 8);
ini.WriteString('Option', 'IsLogEnabled', str_value);
类似的,你可以把段名和选项名都经过转化,以免别人看懂。追问嗯!谢谢!能整个txt的吗?谢谢!追答txt是同样的道理,或者你可以搞得更加极端一些,直接以二进制文件的形式来保存配置信息。
使用TFileStream直接文件的某个位置进行读写操作,连段和选项名都不用,更加隐蔽。比如:
// 在偏移$03E8的位置保存前面说的选项
var
file_stream: TFileStream;
begin
...
file_stream.Seek($03E8, soBeginning);
file_stream.Write(FIsLogEnabled, SizeOf(Boolean));
...
end;追问好的!谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯