authorware如何做考試系統

從目前
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張