用UltraEdit打开C:\diskinfo.sbj文件看到的是00 BC 61 4E,用记事本打开是乱码。怎样用字符串的方式读取出来'00BC614E'?????var Cn_File:TextFile;
s1:string;
begin
AssignFile(Cn_file,'c:\diskinfo.sbj');
Reset(cn_file);
read(cn_file,s1);
showmessage(s1);
end;s1的内容为空????我想读取出来的结果是字符串'00BC614E'。用filestream读取也是空。。var fs:TFilestream;
s1:string;
myreader:TReader;
begin
fs:=TFilestream.create('c:\diskinfo.sbj',fmopenread);
memo1.Lines.LoadFromStream(fs); //load后memo1也是空??
myreader:=TReader.Create(fs,1024); //在这里出错,怎么回事????
myreader.ReadListBegin;
s1:='';
while not myreader.EndOfList do
Begin
s1:=s1+myreader.readstring;
end;
showmessage(s1);
myreader.ReadListEnd;
myreader.Free;
fs.free;
end;
s1:string;
begin
AssignFile(Cn_file,'c:\diskinfo.sbj');
Reset(cn_file);
read(cn_file,s1);
showmessage(s1);
end;s1的内容为空????我想读取出来的结果是字符串'00BC614E'。用filestream读取也是空。。var fs:TFilestream;
s1:string;
myreader:TReader;
begin
fs:=TFilestream.create('c:\diskinfo.sbj',fmopenread);
memo1.Lines.LoadFromStream(fs); //load后memo1也是空??
myreader:=TReader.Create(fs,1024); //在这里出错,怎么回事????
myreader.ReadListBegin;
s1:='';
while not myreader.EndOfList do
Begin
s1:=s1+myreader.readstring;
end;
showmessage(s1);
myreader.ReadListEnd;
myreader.Free;
fs.free;
end;
SysUtils;var
buf: array[0..3] of byte;
f: Integer;
i: integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
f:=FileOpen('c:\diskinfo.sbj', fmOpenRead);
FileRead(f, buf, sizeof(buf));
for i:=0 to 3 do
Write(IntToHex(buf[i], 2), ' ');
readln;
end.去试试!没那么复杂!
var
buf: array[0..3] of byte;
f: Integer;
i: integer;
s: string;
begin
s:='';
f:=FileOpen('1.txt', fmOpenRead);
FileRead(f, buf, sizeof(buf));
FileClose(f);
for i:=0 to 3 do
s:=s+IntToHex(buf[i], 2);
showmessage(s);
end;