现有函数GetAnyFile(),功能是取出文件的内容,我用memo来显示取出的文本内容(memo1.text:=GetAnyFile(OpenDialog1.FileName);)
对于.txt/.htm/.mht等文件都可以显示原有内容,可是对于word文档就不行,取出的是乱码一样的冬冬,不知道该如何解决
function GetAnyFile(const AFileName: String): String;
var
fs: TFileStream;
begin
Result := '';
if not FileExists(AFileName) then Exit;
fs := TFileStream.Create(AFileName, fmOpenRead);
try
SetLength(Result, fs.Size);
fs.Read(Pointer(Result)^, fs.Size);
finally
fs.Free;
end;
end;
对于.txt/.htm/.mht等文件都可以显示原有内容,可是对于word文档就不行,取出的是乱码一样的冬冬,不知道该如何解决
function GetAnyFile(const AFileName: String): String;
var
fs: TFileStream;
begin
Result := '';
if not FileExists(AFileName) then Exit;
fs := TFileStream.Create(AFileName, fmOpenRead);
try
SetLength(Result, fs.Size);
fs.Read(Pointer(Result)^, fs.Size);
finally
fs.Free;
end;
end;
http://expert.csdn.net/Expert/TopicView1.asp?id=1365156
http://expert.csdn.net/Expert/TopicView1.asp?id=1876640http://expert.csdn.net/expert/forum.asp
全选并拷贝word文件
在memo中粘贴
function TDigitalSafe.SEH_GetFile(const filename: WideString): WideString;
begin
result:= GetAnyFile(filename);
end;
返回的是文件的内容,外面的jsp页面通过控件来获取文件的内容,所以不能用打开word文件的方式实现吧,能否隐含性的获取呀?
另外又想到一个问题:
function TDigitalSafe.SEH_GetFile(const filename: WideString): WideString;
begin
result:= GetAnyFile(filename);
end;
这个函数怎么才能获取word里面真实的内容呢?而不是二进制流的方式?或者它只能获取二进制的内容?
var
fs: TFileStream;
begin
fs := TFileStream.Create(AFileName, fmCreate);
try
fs.Write(Pointer(AnyFileStream)^, Length(AnyFileStream);
finally
fs.Free;
end;
end;