我在oracle中建了一个BLOB字段,通过RzRicheEdit从*.Doc中读取数据并显示,*.Doc文件里包含图片,结果显示正常。然后利用TStrream存储到BLOB中。
在显示的时候,把BLOB读到STReam里,然后用RzRicheEdit.LoadFromStream读到RzRichEdit里,结果总是显示乱码,请问各位专家,这是怎么回事?
显示之前,已经设置过Stream.Position=0了。
另外,我想了解一个RichEdit是怎样对RTF文件进行解析的,大家有什么建议或资料吗?谢谢了!!!
能给的分不多了,请大家谅解!!!!!!!!
在显示的时候,把BLOB读到STReam里,然后用RzRicheEdit.LoadFromStream读到RzRichEdit里,结果总是显示乱码,请问各位专家,这是怎么回事?
显示之前,已经设置过Stream.Position=0了。
另外,我想了解一个RichEdit是怎样对RTF文件进行解析的,大家有什么建议或资料吗?谢谢了!!!
能给的分不多了,请大家谅解!!!!!!!!
解决方案 »
- c#如何访问delphi建立的共享内存?
- ???请问什么报表自带的能导出Excel、pdf、html、CSV文件、文本文件、图像文件,以前用过,忘了是什么报表了???
- 禁止拷贝
- SOS!!fastreport的大bug:用fastReport做图文报告的注意了!
- 关于delphi+dbase做物理删除的问题.........
- 用SHOWMESSAGE语句,如何换行输出文字?
- 多次调用ReadBuffer,出现 stream read error,该如何解决???
- pascal里面有没有像c一样的宏定义功能?
- 如何分离数据
- 关于DELPHI的ESC键的问题?
- 重开新帖,高手来看:FastReport中如何将某一指定条件的数据分到新的页打印?
- CXGRID CheckBox上问题.
Close;
SQL.Clear;
SQL.Add('update test_for_blog set rtf_file=:rtf_file');
Parameters.ParamByName('rtf_file').LoadFromFile('D:\我的文档\delphi测试文档.rtf',ftblob);
EXECSQL;
ADOQCONNECTION1.CommitTrans;
读取代码是:
Close;
SQL.Clear;
SQL.Add('select rtf_file from test_for_blog');
Open;
TBLOBFIELD(FieldByName('rtf_file')).SaveToStream(v_stream);
写到RzRichEdit里的代码是:
stream.Position:=0;
RxRichEdit1.Lines.LoadFromStream(v_stream);
结果显示乱码;如果把上面这句改成:
TBLOBFIELD(ADOQuery1.FieldByName('rtf_file')).SaveToFile('temp.rtf');
rxrichedit1.Lines.LoadFromFile('temp.rtf');
结果显示就正常了。
oracle能自己解析rtf文件吗?delphi里面的richedit控件是怎样控件解析rtf文件的,因为现在它不支持直接拷贝表格,很是麻烦。