G
glink
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
; f: file of Byte;
; size : Longint;
; i: integer;
; s: byte;
; t: string;
begin
; AssignFile(f, '600161.day');
; Reset(f);
; size := FileSize(f);
; edit1.Text := 'File size in bytes: ' + IntToStr(size);
; t:='';
; for i:=0 to 3 do// ;3:仅仅为了测试
; ; begin
; ; read(f,s);
; ; t :=t+intToHex(s,2);
; ; memo1.Lines.Add(intToStr(s));
; ; end;
; CloseFile(f);
end;
用ultraEdit打开600161.day最前面的几个数据为:48 E1 30 01表示为时间,
代表19980616,但我上面的代码如果不用 t :=t+intToHex(s,2);则读出结果
为 72 255 48 1,把16进制的数据直接读成了10进制。
; 另外19980616 = 十六进制的0130E148,而在600161.day中则保存为
48E13001,即高低位对调。
; 问:有没有直接读二进制文件的方法,不象我的代码那么麻烦?
谢谢!!!
var
; f: file of Byte;
; size : Longint;
; i: integer;
; s: byte;
; t: string;
begin
; AssignFile(f, '600161.day');
; Reset(f);
; size := FileSize(f);
; edit1.Text := 'File size in bytes: ' + IntToStr(size);
; t:='';
; for i:=0 to 3 do// ;3:仅仅为了测试
; ; begin
; ; read(f,s);
; ; t :=t+intToHex(s,2);
; ; memo1.Lines.Add(intToStr(s));
; ; end;
; CloseFile(f);
end;
用ultraEdit打开600161.day最前面的几个数据为:48 E1 30 01表示为时间,
代表19980616,但我上面的代码如果不用 t :=t+intToHex(s,2);则读出结果
为 72 255 48 1,把16进制的数据直接读成了10进制。
; 另外19980616 = 十六进制的0130E148,而在600161.day中则保存为
48E13001,即高低位对调。
; 问:有没有直接读二进制文件的方法,不象我的代码那么麻烦?
谢谢!!!