DELPHI编程流转换如何操作
DELPHI编程流转换如何操作
原题是将
WORD文件加载到控件DBRichEdit中并将内存流进行编码转换成字符串保存到控件
Memo1_Words和控件Memo1_ssBlob中
代码如下:
if (length(OpenDialog1.FileName)=0 ) then
begin
showmessage('没有加载文件');
exit;
end;
MSStream:=TMemoryStream.Create;
try
MSStream := TMemoryStream.Create; // 创建内存流
TSString := TStringStream.Create('');
DBRichEdit.Lines.LoadFromFile(OpenDialog1.FileName);
DBRichEdit.Lines.SaveToStream(MSStream);
MSStream.Position:=0;
//引用单元 EncdDecd,才能引用函数EncodeStream和DecodeStream
//DecodeStream(Tss,Tms);//在这个位置是将base64转为内存流
EncodeStream(MSStream,TSString); //将内存流转化base64
ssBlob:=TSString.DataString; //转换成 字符串
Memo1_Words.Text :=ssBlob; //保存为 字符串
Memo1_ssBlob.Text :=ssBlob; //保存为 字符串
finally
MSStream.Free;
TSString.Free;
end;
//=====================================================================
我现在的问题想再将Memo1_ssBlob内的字符再次转换到控件DBRichEdit02中,
并生成原先的WORD文档内容
[解决办法]
你还真是个活宝啊,这个问题你还没解决啊;给你个示例都还没看懂啊?我真是失败啊!
[解决办法]
楼主的RichEdit控件应该是显示Rtf文件,Word文件的话,RichEdit控件是显示不了的。
...
uses EncdDecd;
//RichEdit1,RichEdit2:TRichEdit;
//Memo1:TMemo;
procedure TForm1.Button2Click(Sender: TObject);//打开Rtf文件
begin
if not OpenDialog1.Execute then exit;
RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
MSStream:TMemoryStream;
TSString,TSString2:TStringStream;
ssBlob:string;
begin
MSStream:=TMemoryStream.Create;
try
MSStream := TMemoryStream.Create; // 创建内存流
TSString := TStringStream.Create('');
try
RichEdit1.Lines.SaveToStream(MSStream);
MSStream.Position:=0;
//引用单元 EncdDecd,才能引用函数EncodeStream和DecodeStream
//DecodeStream(Tss,Tms);//在这个位置是将base64转为内存流
EncodeStream(MSStream,TSString); //将内存流转化base64
ssBlob:=TSString.DataString; //转换成 字符串
Memo1.Text :=ssBlob; //保存为 字符串
MSStream.Clear;
Memo1.Lines.SaveToStream(MSStream);
TSString2:=TStringStream.Create('');
try
MSStream.Position:=0;
DecodeStream(MSStream,TSString2);
TSString2.Position:=0;
RichEdit2.Lines.LoadFromStream(TSString2);
finally
TSString2.Free;
end;
finally
TSString.Free;
end;
finally
MSStream.Free;
end;
end;
[解决办法]
小松来啦
[解决办法]
小松来啦
[解决办法]
[解决办法]
不懂这个
[解决办法]
這是轉換流?
[解决办法]
好大的鸭梨