首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DELPHI编程流转换怎么操作

2012-03-03 
DELPHI编程流转换如何操作DELPHI编程流转换如何操作原题是将WORD文件加载到控件DBRichEdit中并将内存流进

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;
[解决办法]
小松来啦
[解决办法]
小松来啦
[解决办法]

[解决办法]
不懂这个
[解决办法]
這是轉換流?
[解决办法]
好大的鸭梨

热点排行