通常二进制文件都有特定的结构,以下是读取二进制的示例代码:
Trec=record //记录测量数据表x: array[0..8] of integer
y: array[0..6] of double
end
var
mfile: file of trec
begin
assignfile(mfile,'d:\1.dat')
Reset(mfile)
read(mfile,result)
closefile(mfile)
end
{先创建了8个字节的二进制文件t.bin,
其实保存的是字符串' 88'
再修改文件的第4个(注:文件的指针从0开始)字节为'0'
最后保存的文件为字符串' 0 88'
}
var
f1,f2:file of byte
a,b,c:byte
begin
assign(f1,'t.bin') rewrite(f1)
a:=32
b:=ord('8')
c:=ord('0')
write(f1,a,a,a,a,a,a,b,b)
close(f1)
assign(f2,'t.bin') reset(f2)
seek(f2,3)
write(f2,c)
close(f2)
end.
ini文件中不支持直接读写二进制数据。但是你可以使用十六进制(或类似形式)的ASCII字符串形式来存取数据,在保存之前和读取之后自己进行转换。
例如要保存一个“是否记录日志”的选项,所在段为[Option],选项名为IsLogEnabled,值为真:
str_value := IntToHex(Integer(FIsLogEnabled), 8)
ini.WriteString('Option', 'IsLogEnabled', str_value)
类似的,你可以把段名和选项名都经过转化,以免别人看懂。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)