酷知百科網

位置:首頁 > 遊戲數碼 > 互聯網

authorware如何做考試系統

互聯網2.74W

從目前
Authorware
的實際應用來看,大多數人還僅限於製作一些比較簡單的多媒體課件。但
是很多軟件在開發時都需要和數據庫等軟件結合,來對數據進行大量快速地處理。該文介紹瞭如何將

操作方法

(01)摘要:從目前Authorware的實際應用來看,大多數人還僅限於製作一些比較簡單的多媒體課件。但是很多軟件在開發時都需要和數據庫等軟件結合,來對數據進行大量快速地處理。該文介紹瞭如何將Authorware和Access二者進行有效的結合,來開發製作在線考試系統。關鍵詞:在線考試系統;Authorware;Access;ODBC1建立數據庫我們採用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中介面的製作圖12.1登入系統介面的製作連接資訊數據庫計算圖標內容如下:ODBChandle:=ODBCOpen(WindowHandle,"error","資訊庫","","")if ODBChandle=0 thendbType:= "Microsoft Access Driver(*)" --ODBC數據源驅動程序DSN:= "DSN=資訊庫;"--指定數據源名description:= "學生資訊庫;"--數據源描述FIL:= "FIL=MS Access;"--指定數據源的數據庫類型DBQ:= "DBQ="^FileLocation^"資訊庫;" --指定數據庫檔案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^"試題庫",Result^"試題庫",0)--建立臨時檔案,函數在Winapi.u32中連接試題數據庫計算圖標的內容如下:與連接資訊庫一樣,只需把DBQ:= "DBQ="^FileLocation^"資訊庫;"改寫成DBQ:= "DBQ="^Result ^"試題庫;"即可。隨機抽取試題分支中每套試題的介面如下:圖22.2.1試題介面的製作(如圖2)初始總成績和題號計算圖標的內容如下:score:=0n:=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^"資訊庫")--刪除臨時數據庫GoTo(IconID@"退出系統")--進入退出系統end if下一題計算圖標的內容如下:n:=n+1if(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@"判斷題")elseSystemMessageBox(WindowHandle,"已完成全部測試題!可點擊提交按鈕提交成績!","Information",64)--完成全部測試,提示用戶可提交成績end if上一題計算圖標的內容如下:n:=n-1if……end if--與下一題計算圖標中的內容一樣,但沒有else分句;在此分支中設定按鈕的激活條件爲n>=2,當題目號爲1時,此按鈕不可用接着系統根據n值在題型框架圖標中選擇相應的題型。題型介面的製作每種題型的交互介面可根據此題型來製作,如填空題的介面製作如上圖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:=ODBCExecute(ODBChanlde,sqlstr)--據n值取出該題目對應的答案值放在daan變量中sqlstr:="select分值from試題一where編號=’"^n^"’"fenzhi:=ODBCExecute(ODBChanlde,sqlstr)--據n值取出該題目對應的分值值放在fenzhi變量中if flag=1 then--若flag爲1score:=score-fenzhi --先從總分中減掉該題的分值end ifif answer=daan then--若用戶輸入的答案與題目答案一致score:=score+fenzhi --在總分中加入該題分值setflag:="update試題一set標誌=1 where編號=’"^n^"’"--把該題的標誌值置成1ODBCExecute(ODBChanlde,setflag)end ifODBCClose(ODBChandle)--關閉數據庫2.3退出系統介面的製作用顯示圖標製作一個退出的介面,利用quit()函數退出即可。3網絡發佈將程序打包爲text.a7r檔案,再用Authorware的Web Packager打包生成用於網絡上瀏覽的,將生成的流檔案放在服務器的考試系統目錄下,最後使用任何文字編輯軟件編寫簡單的html詹慧靜.用Authorware7.0製作多媒體課件[M].北京:高等教育出版社,2009.[3]李智鑫orware7.0中文版多媒體制作教程[M].北京:中國水利水電出版社,2006.[4]繆亮,付邦道orware多媒體課件製作實用教程[M]. 2版.北京:清華大學出版社,2008.

authorware如何做考試系統
authorware如何做考試系統 第2張