您的位置: turnitin查重官网> 计算机 >> 软件开发 >谈述在线Authorware结合数据库制作在线考试系统前言

谈述在线Authorware结合数据库制作在线考试系统前言

收藏本文 2024-02-02 点赞:7703 浏览:24769 作者:网友投稿原创标记本站原创

摘要:从目前Authorware的实际应用来看,大多数人还仅限于制作一些比较简单的多媒体课件。但是很多软件在开发时都需要和数据库等软件结合,来对数据进行大量快速地处理。该文介绍了如何将Authorware和Access二者进行有效的结合,来开发

源于:论文格式范例www.udooo.com

制作在线考试系统。
关键词:在线考试系统;Authorware;Access;ODBC
1009-3044(2012)26-6363-04
1建立数据库
我们采用Access数据库来建立数据表,然后让Authorware使用ODBC技术去访问表中的内容。在Access中建立信息库和试题库,库中各表的建立如下:
信息库:学生信息表(编号,姓名(文本),学号(文本),成绩(数字))
试题库:(在试题库中亦可根据需要添加试题表)
试题一表(编号,题目类型(文本),题目(备注),答案(文本),分值(数字),标志(数字))
试题二表(编号,题目类型(文本),题目(备注),答案(文本),分值(数字),标志(数字))
试题三表(编号,题目类型(文本),题目(备注),答案(文本),分值(数字),标志(数字))
要访问数据库首先要连接数据库,通过ODBC接口连接数据库,必须先设置数据源。本设计中设置数据源的方法是利用Au? thorware提供的外部函数文件tMsDSN.u32,这是32位的动态连接库文件。tMsDSN.u32中只有一个函数tMsDBRegister(),可以自动在32位ODBC控制面板中注册数据库。tMsDSN.u32文件在Authorware的安装目录中,用户在使用其函数tMsDBRegister()前要对其函数进行装载,并且要将该文件和程序文件一起打包发布。其次是操作数据库,在Authorware中提供了一个odbc.u32文件,此文件中提供了对数据库进行操作的几个函数,将其中的三个函数ODBCOpen、ODBCClose、ODBCExecute导入即可运用。ODBCOpen用于打开数据库,ODBCClose用于关闭数据库,ODBCExecute用于向ODBC的SQL解释程序发送一条SQL命令。对于数据库的各种操作均通过SQL语句去执行。

2 Authorware中界面的制作

图1

2.1登录系统界面的制作

连接信息数据库计算图标内容如下:
ODBChandle:=ODBCOpen(WindowHandle,"error","信息库","","")
if ODBChandle=0 then
dbType:= "Microsoft Access Driver (*.mdb) " --ODBC数据源驱动程序
DSN:= "DSN=信息库; "--指定数据源名
description:= "学生信息库; "--数据源描述
FIL:= "FIL= MS Access; "--指定数据源的数据库类型
DBQ:= "DBQ="^FileLocation^"信息库.mdb; " --指定数据库文件
dblist:=DSN^description^FIL^DBQ--指定ODBC数据源名、描述以及与之相关联的数据库文件
result:=tMsDBRegister(4,dbType,dblist) --配置数据源打开数据库源程序
end if
用显示图标制作一个登录界面,用交互图标作文本输入,需定义变量name、num,用来记录输入的名字和学号。利用系统变量EntryText和NumEntry把用户输入的姓名和学号分别储存到name、num中,代码为:name:=EntryText,num:=NumEntry。用户输入完信息后点击界面上的确定或重新输入按钮。
确定计算图标内容如下:
if name<>"" & num<>"" then--输入的姓名、学号若不为空
ODBChandle:=ODBCOpen(WindowHandle,"error","信息库","","") --打开信息库
sqlstr:="insert into学生信息表(姓名,学号)values("^name^", "^num^")"
student:=ODBCExecute(ODBChandle,sqlstr) --把刚才输入的学生的姓名、学号写入数据库中
ODBCClose(ODBChandle)--关闭数据库
else--输入的姓名、学号若为空
SystemMessageBox(WindowHandle, "输入不能为空!", "Warning", 48) --给出提示GoTo(IconID@"登录界面")
框需重新输入
end if
重新输入计算图标内容如下:GoTo(IconID@"登录界面")

2.2试题系统界面的制作

为了统计做题分值,需用到两个外部函数baSysFolder和CopyFile在本机建立临时数据库文件。建立临时数据库文件计算图标的内容如下:
Result:=baSysFolder("temp")--获取本机上的临时文件夹路径,函数在Budapi.u32中
CopyFile(FileLocation^"试题库.mdb", Result^"试题库.mdb",0) --建立临时文件,函数在Winapi.u32中
连接试题数据库计算图标的内容如下:
与连接信息库一样,只需把DBQ:= "DBQ="^FileLocation^"信息库.mdb; "改写成DBQ:= "DBQ="^ Result ^"试题库.mdb; "即可。随机抽取试题分支中每套试题的界面如下:图2

2.1试题界面的制作(如图2)

初始总成绩和题号计算图标的内容如下:
score:=0
n:=1
用显示图标制作一个做题的界面,再利用交互图标在界面上制作3个交互按钮,各分支按钮内容的设置如下:
提交计算图标的内容如下:
hh:=SystemMessageBox(WindowHandle,"提交成绩后即将退出系统!确定要提交吗?", "Confirmation", 292)--点击提交按钮,会弹出提示框询问用户是否确定提交成绩
if hh=6 then--用户若选的是yes按钮
ODBChandle:=ODBCOpen(WindowHandle,"error","信息库","","") --打开信息库
sqlstr:="insert into学生信息表(成绩)values("^score^")"
student:=ODBCExecute(ODBChandle,sqlstr) --把做题总成绩写信息库
ODBCClose(ODBChandle)--关闭信息库
DeleteFile(Result^"信息库.mdb")--删除临时数据库
GoTo(IconID@"退出系统")--进入退出系统
end if
下一题计算图标的内容如下:
n:=n+1
if (n>=1) & (n<=20) then GoTo(IconID@"填空题")
else if (n>=21) & (n<=40) then GoTo(IconID@"单选题")
else if (n>=41) & (n<=50) then GoTo(IconID@"多选题")
else if (n>=51) &( n<=70) then GoTo(IconID@"判断题")
else SystemMessageBox(WindowHandle, "已完成全部测试题!可点击提交按钮提交成绩!", "Information", 64)
--完成全部测试,提示用户可提交成绩
end if
上一题计算图标的内容如下:
n:=n-1
if……end if--与下一题计算图标中的内容一样,但没有else分句;在此分支中设置按钮的激活条件为n>=2,当题目号为1时,此按钮不可用
接着系统根据n值在题型框架图标中选择相应的题型。
2.2.

1.1题型界面的制作

每种题型的交互界面可根据此题型来制作,如填空题的界面制作如上图2,图中各图标的内容设置如下:
读题计算机图标的内容如下:
ODBChandle:=ODBCOpen(WindowHandle,"error","试题库","","") --打开试题库
sqlstring:="select题目from试题一where编号=’"^n^"’"
timu:=ODBCExecute(ODBChanlde,sqlstring)--根据n值读取题目
ODBCClose(ODBChandle)--关闭试题库
在显示填空题目的显示图标中用文本输入工具输入:{timu},利用交互图标作文本输入交互,用户根据显示的题目答题。以下计算图标中的flag变量是用于记录此题分值是否被加入过总分,flag:=0表示未被加入过,flag:=1表示加入过,题目原标志段中的值为0。
做题交互分支中计算图标的内容如下:
answer:=Entrytext --把输入内容储存在answer变量中
ODBChandle:=ODBCOpen(WindowHandle,"error","试题库","","")--打开试题库
sqlstr:="select标志from试题一where编号=’"^n^"’"
flag:=ODBCExecute(ODBChanlde,sqlstr) --据n值取出该题目对应的标志值放在flag变量中
sqlstr:="select答案from试题一where编号=’"^n^"’"
daan:=ODBCEx

摘自:毕业论文结论怎么写www.udooo.com

ecute(ODBChanlde,sqlstr)--据n值取出该题目对应的答案值放在daan变量中
sqlstr:="select分值from试题一where编号=’"^n^"’"
fenzhi:=ODBCExecute(ODBChanlde,sqlstr)--据n值取出该题目对应的分值值放在fenzhi变量中
if flag=1 then--若flag为1
score:=score-fenzhi --先从总分中减掉该题的分值
end if
if answer=daan then--若用户输入的答案与题目答案一致
score:=score+fenzhi --在总分中加入该题分值
setflag:="update试题一set标志=1 where编号=’"^n^"’" --把该题的标志值置成1
ODBCExecute(ODBChanlde, setflag)
end if
ODBCClose(ODBChandle) --关闭数据库

2.3退出系统界面的制作

用显示图标制作一个退出的界面,利用quit()函数退出即可。
3网络发布
将程序打包为text.a7r文件,再用Authorware的Web Packager打包生成用于网络上浏览的text.aam,将生成的text.aam流文件放在怎么写作器的考试系统目录下,最后使用任何文本编辑软件编写简单的html詹慧静.用Authorware

7.0制作多媒体课件[M].北京:高等教育出版社,2009.

[3]李智鑫.Authorware

7.0中文版多媒体制作教程[M].北京:中国水利水电出版社,2006.

[4]缪亮,付邦道.Authorware多媒体课件制作实用教程[M]. 2版.北京:清华大学出版社,2008.

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号