本人正在做一个题库管理系统,用的是 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、如果用这种方法,如何在每道题前加上序号?我做的效果只能是序号与题在两行中,不会在同一行。
谢谢大家!