delphi中如何读二进制文件(30分)

  • 主题发起人 主题发起人 xzy1982
  • 开始时间 开始时间
X

xzy1982

Unregistered / Unconfirmed
GUEST, unregistred user!
求救,delphi中如何将二进制文件读到memo中,最好有例子,各位大侠帮忙阿!
 
如果在读之前就是2进制,那就直接显示
 
问你一个问题,什么叫二进制文件,什么叫非二进制文件?

如果搞清, 你觉得你的问题不值得问。

如果你说要将文件以 HEX形式 显示在MEMO中的话(就像用UltraEdit一样),你的问法是不是有问题?
 
可能我说的有点模糊,我是要将bmp文件,以字符串形式读出来,将读出来的内容写到memo中,代码应该怎么写呢?
 
用流读出来,转换成字符串
 
m:TStream;
StreamToStr(m)
是这样吗?好像不行
流转换成字符串怎么转?
 
BinToHex函数
或者是使用TWriter
你可以读取流吧。
使用
ObjectBinaryToText(Input, Output: TStream;
var OriginalFormat: TStreamOriginalFormat);
 
memo.Lines.LoadFromStream(...)
 
发分吧....
procedure bmp2memo( fn: string; memo: tmemo );
var
aa: tbitmap;
i, j: integer;
buf: pbytearray;
tmp: string;
begin
memo.lines.clear;
aa:= tbitmap.create;
aa.loadfromfile( fn );

for i:= 0 to aa.height - 1 do
begin
tmp:= '';
buf:= aa.scanline;
for j:= 0 to aa.width - 1 do
tmp:= tmp + inttohex(buf[j],2);
memo.lines.add(tmp);
end;
aa.free;
end;
 
后退
顶部