function BlobContentToString(const FileName:string):string;with TFileStream.create(FileName,fmOpenRead) do
Read(Result, size);我想把文件读到String里去,这个不行别人告诉我这样读
a := TFileStream.Create('d:\a.txt', fmOpenRead);
showmessage(inttostr(a.Read(s[1], 10)));
a.Free;
showmessage(s);怎么显示0和‘’呢?没读进去呀。
Read(Result, size);我想把文件读到String里去,这个不行别人告诉我这样读
a := TFileStream.Create('d:\a.txt', fmOpenRead);
showmessage(inttostr(a.Read(s[1], 10)));
a.Free;
showmessage(s);怎么显示0和‘’呢?没读进去呀。
Read(PChar(Result)^, size); 这句改成这样才行.
begin
SetLength(Result,size);
Read(PChar(Result)^, size); 这句改成这样才行.
end
with TFileStream.create(FileName,fmOpenRead) do
Read(Result[1], size);
Read(PChar(Result)^, size); 这2个都能实现我想要实现的结果我现在不明白第1句为什么这样写。。
请大家帮我解释一下。。
!!! 另外 TFileStream 使用完需要 Free;with TFileStream.create(FileName,fmOpenRead) do
try
SetLength(Result,size);
Read(Result[1], size);
finally
Free;
end;