试题库管理系统开发心得

                    试题管理系统开发心得
 
(怀化培训基地信息教研室      邮编:418000
[摘 要] 教考分离不失为提高职工培训教学质量的一种有效手段,试题库的建立又是教考分离实施的前提,本文就试题库平台的开发的难点提供关键代码。
[关键词] 格式文本存储  随机抽题 面向对象
[正  文]
  2009年我担任(试题库管理系统)的负责人,主要负责平台开发,试题库管理系统基本要求为:能随机对题库各种题型抽题生成试卷,同时能面向对象进行修改,基于本人的认知水平及时下网络技术的流行,我选择了VF+SQL模式,以便达到共享数据库,多机同时录入的
效果。系统平台的开发难点主要在于(1VFSQL存储图片及格式文本,(2)随机抽题,(3)生成能面向对象进行修改的试卷即VF控制WORD. 本系统于9月初研发完,经1011
调试修改即将投入使用,本人在开发运用软件之路上的艰辛和快乐,体现在下列程序代码之中。
  现将部分程序代码呈现给广铁的同行,希望能对各位的程序开发有所帮助。
声波速度一、VFSQL存储图片及格式文本
IF EMPTY(thisform.edit1.Value)
    thisformmand4.Visible= .F.
    =MESSAGEBOX("试题添加失败,没有题目!",0+48,"提示")
RETURN
else
nHandle=GetConnHandle()
lIsRight=.T.
IF nHandle>0
=SQLSETPROP(nHandle,"Asynchronous",.F.)  &&设置为同步连接
=SQLSETPROP(nHandle,"Transactions",2)    &&开始人工事务处理
皮肤科学aa=ALLTRIM(Thisformbo2.Value)
ff=ALLTRIM(Thisformbo1.Value)
ictxtfile=Thisform.edit1.Value
STRTOFILE(ictxtfile,"c:\")             
lcTextString=Strconv(Filetostr('c:\'),13)
DO CASE
  CASE  EMPTY(thisform.TEXT2.Value) 
        2.Value
        a=MESSAGEBOX('本题无图片,单击""将添加试题入库,单击""将取消本题入库!',32+4,'系统提示')
        IF a=6
            cSQLString="INSERT INTO tbltk (km,lx,tm,tp) VALUES ('&aa','&ff',?lcTextString,'')"
        ELSE
            RETURN
        endif 
    OTHERWISE
          2.Value
          lcTextString2=Filetostr('&lcTextString1')+chr(0)
        cSQLString="INSERT INTO tbltk (km,lx,tm,tp) VALUES ('&aa','&ff',?lcTextString,?lcTextString2)"
  ENDCASEilife 11
      nResult=SQLEXEC(nHandle,cSQLString)
    IF lIsRight=.T.
        =SQLCOMMIT(nHandle)
      WAIT WINDOW "试题加添成功!" NOWAIT TIMEOUT 2
        thisform.edit1.Value=''
        2.Value=''
        ELSE
        =SQLROLLBACK(nHandle)
        =MESSAGEBOX("试题添加失败,请重新执行!",0+48,"提示")   
    ENDIF
    =SQLSETPROP(nHandle,"Transactions",1)    &&结束人工事务处理
  ENDIF
ENDIF
二、随机抽题
nHandle=GetConnHandle()
IF nHandle>0
      cString="SELECT * FROM tbltk where tbltk.km='&dd'and tbltk.lx='选择题'"
      cString1="SELECT * FROM tbltk where tbltk.km=''"
      nResult=SQLEXEC(nHandle,cString,"curtk")
      nResult=SQLEXEC(nHandle,cString1,"curtk1")
      IF nResult<=0
        =MESSAGEBOX("读取题库信息发生错误,请重新登录!",0+48,"提示")
      RETURN
      ENDIF
SELECT curtk
COUNT TO n
Dime b(g1),c(4)
B(1)=int(n*Rand(-1)+1) 
i=2
do while i<=g1
t=1             
a=int(n*Rand()+1)
j=1
do while j<=i-1
if a=b(j)
t=-1
exit
else
j=j+1
endif
enddo
if t=-1     
loop
else
B(i)=a   
endif
i=i+1
enddo
FOR i=1 TO g1
第二文库SELECT curtk
d=b(i)
GO d
x=curtk.km
x1=curtk.lx
x3=curtk.tp
SELECT curtk1
INSERT INTO curtk1 (km,lx,tm,tp) VALUES (x,x1,x2,x3)
ENDFOR
  ELSE
ENDIF
三、生成能面向对象进行修改的试卷即VF控制WORD.
OleWord=createobject('word.application')
  OleWord.visible=.t.
  OleWord.Documents.Open ('d:\ks\mb1.doc')
  OleWord.Selection.Font.Size=16
  OleWord.Selection.Font.Name="黑体"
  OleWord.selection.ParagraphFormat.LineSpacing=21
  OleWord.Selection.TypeText("&c1")
  OleWord.Selection.ParagraphFormat.Alignment =1
  OleWord.Selection.TypeParagraph
  s="—"
  ff=""+"&dd"+""
  cc="&c2"+"&s"+"&c3"+"学年"+""+"&h"+"学期"+"&ff"+"&g"+"考试试卷"
  OleWord.Selection.TypeText("&cc")
  OleWord.Selection.TypeParagraph
  OleWord.Selection.Font.Size=14
  OleWord.Selection.TypeText("                      总分_________")
  OleWord.Selection.TypeParagraph 
select curtk1
j=RECCOUNT()
OleWord.Selection.Font.Size = 14
OleWord.Selection.ParagraphFormat.Alignment =0
xx=5.Value)
y=14.Value)
yy="&th"+""+"选择题"
yy1="("+"每小题"+"&xx"+","+"&y"+""+")"
OleWord.Selection.Font.Name="黑体"
OleWord.Selection.TypeText("&yy")
OleWord.Selection.Font.Name="宋体"
OleWord.Selection.TypeText("&yy1")
OleWord.Selection.TypeParagraph
FOR i=1 TO j
go i
WITH ,14)
SET SAFETY OFF
a=ALLTRIM(STR(i))+"."+"bmp"
OleWord.Selection.TypeText(alltrim(str(i))+"."+)
DO CASE
CASE LEN(CURTK1.TP)=0
OTHERWISE
Strtofile(LEFT(curtk1.tp,LEN(curtk1.tp)-1),"c:\&a")
OleWord.Selection.TypeParagraph
OleWord.Selection.inlineshapes.addpicture("c:\&a")
ENDCASE
OleWord.Selection.TypeParagraph
ENDFOR
戴高帽子的猫OTHERWISE
ENDCASE
  虽然软件运行平稳,但任有客户端需安装的麻烦之嫌,如用JSP幼儿发展与健康管理也许更好.在此一并感谢基地领导及合作的同仁.

本文发布于:2024-09-22 09:59:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/214872.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:开发   试题库   管理系统   平台   试题
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议