如何将word文本内容导入rxdbrichedit,以便保存到数据库?(100分)

  • 主题发起人 主题发起人 bitd
  • 开始时间 开始时间
B

bitd

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将word文本内容导入rxdbrichedit,以便保存到数据库?
请给出源码参考.急用!

thistom@tom.com
 
用剪切板实现,有问题来信。
 
to linsb:
如何实现,有源码参考吗?
 
你用过Servers控件吗?
 
我没用过servers控件,
不过我现在想想不导入word文件也行,rxdbrichedit可以通过loadfromfile方法
导入rtf格式的文件,这个问题就算解决了.
 
调用word,打开文件,复制全部到剪贴板,然后在rxrichedit里,粘贴。
你需要用程序实现上面的步骤。有问题问我。
 
to cee:当然是指通过程序实现,你有相关源码参考吗?

另外,帮我看看这个问题:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1885987
 
>>如何将word文本内容导入rxdbrichedit,以便保存到数据库?
>>请给出源码参考.急用!

既然你都用WORD打开了文档,为什么不直接存入数据库呢,你要导入rxdbrichedit会
丢失一些格式上的东西的,如果你不在乎格式的问题,那用word就意义不大了。

如果你真要转存一下cee的方法最好。
 
给你看一段我的代码吧
// 如果memo是RTF格式,则返回RTF格式的字符串
function MemoRawText(Memo:TRXRichEdit):string;
var
ms:TMemoryStream;
begin
ms:=TMemoryStream.create;
try
Memo.Lines.SaveToStream(ms);
setlength(result,ms.size);
ms.Position:=0;
if length(result)>0 then
ms.Read(result[1],ms.size);
finally
ms.free;
end;
end;

-------------------------------------------------------------
procedure ImportDOC(const LongFileName:string);
var
ext:string;
IsDocFile:boolean; // 文件是word文件
oFileName, // 以下为导入Word文件用到的变量
oReadOnly, //
oAddToRecentFiles, //
oi, //
oint, //
oCount, //
oSaveChanges :OleVariant; //

begin
...

IsDocFile:=Ext='.DOC'; // 准备处理DOC文件
if IsDocFile then
begin
oFileName:=FileName;
oReadOnly:=true;
oAddToRecentFiles:=false;
WordApp.Documents.Open(oFilename,
EmptyParam,
EmptyParam,//oReadOnly,
EmptyParam,//oAddToRecentFiles,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam);
oint:=1;
oi:=0;
oCount:=WordApp.Documents.Item(oint).Characters.Count;
WordApp.selection.SetRange(oi,oCount);
WordApp.Selection.Copy;
TmpRichEdit.Lines.Clear;
SendMessage(TmpRichEdit.Handle,WM_PASTE,0,0);
s:=MemoRawText(TmpRichEdit);
oSaveChanges:=wdDoNotSaveChanges;
WordApp.Documents.Item(oint).Close(oSaveChanges,EmptyParam,EmptyParam);
ShowMessage('文件 '+LongFilename+' 装入成功。');
result:=1;
end;
end;
 
基本上是这个样子,从我的一个工程里取出,不能保证完全能用,可能需要改点东西!
 
多人接受答案了。
 
后退
顶部