要实现以下功能:
1 在delphi中做一个类似于word的文本编辑框(只要能插入图片和线条等简单功能)
2 把上述 1 中的文本内容存入数据库,用什么字段(是blob?),如何读写?
如何实现上述功能,要实现上述功能有好用的第三方控件吗?最好给出例子.多谢了
看了各位的介绍,我打算用rxrichedit做文本编辑,如何把rxrichedit编辑的带格式的
文本写进interbase 数据库?如何读出来?
来自:cozo, 时间:2003-5-20 16:09:00, ID:1878473
要什么第三方控件,直接用OLE把word放进去不就行了。
我做考试管理系统的时候就是这么干的。一开始用的是RichEdit,后来觉得不够用,就干脆用Word了。
来自:bitd, 时间:2003-5-20 16:15:00, ID:1878496
to cozo:
你好!能参考一下你的考试管理系统中的相关部分的源码码?
来自:helloqiner, 时间:2003-5-20 16:16:00, ID:1878503
嘻嘻,老弟正在做这方面的程序。
你可以用Rx的中Memo控件,不过向它插入图片需要通过剪切板,当然你也可以将图片文件
通过代码打开并拷入剪切板,然后再粘入Memo(我就是这么做的)。
字段类型用Memo就可以。
来自:bitd, 时间:2003-5-20 16:23:00, ID:1878536
to helloqiner:
你好!能参考一下源码吗?我水平不够,希望得到你的帮助,分不够可以再加
来自:chnplzh, 时间:2003-5-21 7:57:00, ID:1879973
1、用OLE就可以了;
2、如果文字不多,字段类型用Memo;如果文字太多,且有图片之类的,
则用Blob字段,存取请用ADO的TADOStream就可以了。
来自:任豆豆, 时间:2003-5-21 14:31:00, ID:1881927
1。
private
VWord :OleVariant;//全局变量
.........
procedure TForm1.Button1Click(Sender: TObject);
function CheckWord: Boolean;
begin
Result := True;
try
VWord := GetActiveOleObject('word.Application');
except
try
VWord := CreateOleObject('word.Application');
except
try
VWord := GetActiveOleObject('word.Application');
except
Result := False;
end;
end;
end;
end;
begin
if not CheckWord then Exit;
try
VWord.wordBasic.FileOpen('c:/1.htm');
except
// Visible := True;
Exit;
end;
VWord.Showme;
VWord.Visible := True;
end;
如:
2。blob
QryEdtGist.Append;
QryEdtGist.FieldByName('GistId').Value := TempId;
QryEdtGist.FieldByName('Gist').Value := Trim(edtGistTitle.Text);
QryEdtGist.FieldByName('GistDate').AsDateTime := DtGist.Date;
QryEdtGist.FieldByName('GistText').Value := Trim(MemGistText.Text);
TBlobField(QryEdtGist.FieldByName('GistGraph')).LoadFromFile('C:/1.htm');
{try
TempStream := TMemoryStream.Create;
imgGist.Picture.Bitmap.SaveToStream(TempStream);
TempStream.Position := 0;
TBlobField(QryEdtGist.FieldByName('GistGraph')).LoadFromStream(TempStream);
finally
TempStream.Free;
end;}
QryEdtGist.post;
来自:bitd, 时间:2003-5-21 15:15:00, ID:1882143
interbase中保存带格式的文本(其中有图片)用什么字段?
来自:任豆豆, 时间:2003-5-21 15:18:00, ID:1882160
blob
来自:humanc2d4, 时间:2003-5-21 17:27:00, ID:1882874
BLOB字段
来自:vmao, 时间:2003-5-21 20:30:00, ID:1883390
用infopower中的wwdbrichedit什么都解决的!
控件可以到网上找一下!
来自:linsb, 时间:2003-5-22 10:32:00, ID:1884553
考试系统涉及问题很多,欢迎交流!
来自:bitd, 时间:2003-5-23 15:45:00, ID:1888638
多人接受答案了。
来自:liaoliao, 时间:2004-7-16 12:43:56, ID:2715192
用memo字段就行了。
然后用以下方法得到RXRICHEDIT的带格式内容
var
myms:TMemoryStream;
rtf_txt:tstringlist;
begin
myms:=TMemoryStream.Create;
myms.Position:=0;
rxrichedit1.Lines.SaveToStream(myms);
myms.Position:=0;
rtf_txt:=tstringlist.Create;
rtf_txt.LoadFromStream(myms);
showmessage(rtf_txt.Text);
rtf_txt.Free;
ms.Free;