有关题库管理系统,如何组卷!(100分)

A

a_sand

Unregistered / Unconfirmed
GUEST, unregistred user!
本人正在做一个题库管理系统,用的是 delphi + access ,现在所有的工作差不多完成了,但是还差最后一步,即组卷问题。
我是把题目用 blob 字段存在数据库里,(因为韪涉及到公式和图片)。我已能完成随机抽题,现在关键是如何把这些选中的题目组成一份完整的试卷?我的做法是,我是用 rxrichedit 作为试题录入的控件(因为它支持 rtf 格式,可以保证图片和数学公式正常显示)。我的作法如下。
为简单起见,假设题库中编号为 1……5 的题目为我选中的题目,现在就是要把这5道题组成一份试卷 。

for i:=1 to 5 do
wiht adoquery do
begin
sql.clear;
sql.add('select * from 题库 where id='+i);//从中选出题目
open;
BlobStream1:=CreateBlobStream(FieldByName('题目') as TBlobField, bmread); // 创建流
temp.Lines.LoadFromStream(BlobStream1);//temp是 rxrichedit
temp.SelectAll; //全选
temp.CutToClipboard; // 剪切到剪切板中去
question.PasteFromClipboard; //question 也是 rxrichedit,在question 中贴上刚才的那道题。

end;

我的想法是,从数据库中抽出相应的题目,然后用文件流的方式把 blob字段装载到 temp中去,再把 temp 中的所有内容 cut 到 question,这样循环,直到取完所有选中的题目。
temp 只是用来中间过渡一下的,属性 visible 设为 false 。
question 是用户所看到的成卷试题 。


现在我的问题是
1、有没更好的方法,总觉得我的方法不太好。
2、如果用这种方法,如何在每道题前加上序号?我做的效果只能是序号与题在两行中,不会在同一行。


谢谢大家!
 
啊???
怎么没人会呢?也没人看???
 
呵呵,
不是大大翁打击你,
这个软件你是做不好的,
 
我的方法已能够组成一份卷子了,但是不完美。所以楼上的……
 
顶部