help,在线等,高手进

useresu 2005-04-14 10:48:22
现有两张表,一张名为question,字段:question_id,question,picture_id。
另一张名为picture,字段:picture_id,picture。
如何将所有题目的文字和图片输出到word中,并实现自动排版?
在线等,给出代码立即结帖。
要求用ADOQuery连接数据库。
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengzhengren 2005-04-14
  • 打赏
  • 举报
回复
因为我正好在做这部分就抢先回答了!
fengzhengren 2005-04-14
  • 打赏
  • 举报
回复
窗口上放一个ADOQuery,属性设置好后,在放置的按钮的点击事件中加入如下代码:
var
MYWord: variant;
Stream: TFileStream;
i: integer;
TmpPath: array[0..255] of char;
MyPath: string;
begin
GetTempPath(255, @TmpPath);
MyPath := StrPas(TmpPath) + '\tmp.bmp';
counter := 0;

try
MYWord := createoleobject('word.Application');
MyWord.Visible := True;
MYWord.Documents.Add;
except
ShowMessage('没有发现WORD,请安装!');
exit;
end;

with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from question,picture where question.picture_id=picture.picture._id');
Open;
First;

MyWord.selection.Font.Size := 10;
MyWord.selection.Font.Bold := 0; //是否加粗
MyWord.selection.Paragraphs.Alignment := wdAlignParagraphLeft;


for i := 0 to ADOQuery1.recordcount-1 do
begin
//插入题目
MyWord.selection.TypeText(fieldbyname('question').asstring);
MyWord.Selection.TypeParagraph;
//插入图片
TBlobField(FieldByName('picture')).SaveToFile(MyPath);
MyWord.Selection.InlineShapes.AddPicture(MyPath);
MyWord.Selection.TypeParagraph;
next;
end;
end;
end;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧