麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

VB在CAI編程中的應用

2019-11-18 17:50:28
字體:
來源:轉載
供稿:網友
一:前言
----眾所周知,VB中的MCI控件在設計多媒體CAI(ComputerAssistedInstruction)軟件中有著非常重要的作用,有關這方面的文章也很多;其實,VB中其它眾多控件在設計CAI軟件時也有不少應用,本文就介紹幾個在非多媒體CAI編程中有著特殊應用的控件,相信對廣大CAI編程者有所幫助。

二:文本框的應用
----在CAI編程中經常要面臨這樣的問題:如何在屏幕上顯示大量的練習題或試題?學生如何在屏幕上輸進多項選擇題、填空題或問答題的答案?利用VB中的文本框就能很容易地解決這個問題。文本框(TextBox)是VB中的最基本的字符串輸入和輸出對象,它不僅可以供用戶輸入數據,還可以顯示程序輸出的數據和已編輯好的文本文件。這樣,只要我們事先把大量的練習題或試題用文字處理軟件編輯成文本文件,然后在VB程序的運行階段用文本框顯示文本文件的內容即可。

下圖是一個用來輔導學生學習英語的程序界面:
----圖一中有二個文本框,大文本框用來顯示練習題的內容,小文本框用來供學生輸入答案,大小文本框的一些重要屬性的設置情況如下:①:大文本框的MaxLength值設為缺省值0,表示它能容納的最多字符數沒有限制,而小文本框的MaxLength值的設置可根據實際情況進行限制或不限制字數,在這里是沒有限制字數。②:大文本框的MultiLine值設為True,這樣,大文本框就允許有多行文字輸出顯示,小文本框的MultiLine值設為False,表示小文本框就只允許有一行文字輸出顯示。③:大文本框的ReadOnly值設為True,表示不允許修改大文本框里的練習題的內容,小文本框的ReadOnly值設為False,表示可以修改小文本框里的內容。④:大文本框的Scrollbars值設為3,表示大文本框有水平和垂直滾動條,小文本框的Scrollbars值設為0,表示小文本框沒有滾動條。⑤:大小文本框的Text值設為空的,否則,程序運行時將在文本框里顯示Text1。
----由于小文本框里的字符數可以不限制,因此,圖一也適用于多項選擇題,填空題甚至簡答題和問答題。

三:數據庫的應用
----數據庫在CAI程序設計中應用很廣,數據庫可用來存放題目的編號、題目的內容和答案以及學生輸入的答案等等。為了程序運行時數據庫對象不在屏幕上顯示出來,要求把數據庫對象的Visible屬性設為False。VB可以訪問多種數據庫,并且編程也不復雜。為了加快數據庫的訪問速度,最好使用access建立的擴展名為MDB的數據庫,如果是用Foxbase或FoxPRo建立的擴展名為DBF的數據庫,可用如下方法把它進行轉換:先用FoxproForWindows打開DBF形式的數據庫,然后把它另存為擴展名為XLS的Excel表格文件,再利用Access就可以把Excel表格文件轉換為MDB形式的數據庫。在圖一中,每個題目的編號和答案就存放在數據庫中,通過用鼠標單擊"下一題"和"上一題",可以把數據庫的指針指向任何一條記錄。
四:MsgBox函數和語句的應用
----MsgBox函數是VB提供的以多種方式將信息傳遞給用戶的函數,它有函數和語句兩種形式,函數和語句的根本區別在于函數有返回值而語句沒有。當MsgBox將信息傳遞給用戶時,傳遞信息的窗口是嵌在運行程序的窗口中;因此,在CAI程序設計中,這個函數非常有用,如果能把它與數據庫的應用結合起來,其作用就更大。在圖一中,用鼠標單擊"答案",電腦不僅告訴你該題目的答案,還告訴你選擇答案的理由,見圖二。
----這就是利用了MsgBox語句的結果。在程序設計階段,設計出幾個標簽或文本框,它們分別與數據庫中的"答案"和"答案說明"字段相關聯,這樣,當圖一中的題目的編號改變時,"答案"所輸出的內容也跟隨變化。由于MsgBox函數輸出的信息可多達1024個字符,所以,一般的選擇題,填空題,簡答題的答案和選擇答案的理由都可以用它來輸出。值得一提的是:數據庫的字符型字段最多只能容納255個字符,因此,當問題的答案和答案說明比較長時,就要把它們分成幾個字段。

五:計時器的應用
----在CAI程序中,經常要記錄學生練習或考試所用的時間,VB中就是使用計時器來完成這個任務的。圖一中所顯示的時間就是使用者從一開始做練習到目前所用的時間。計時器的另外一個作用就是進行倒計時,倒計時程序在設計限時練習和限時考試程序就要用到,當倒計時為零時,程序自動結束運行,限時練習或考試也隨之結束。
----下面這個程序是圖一所對應的源程序的主要部分,它包括了以上四個方面的應用。

Dimh0AsInteger
'ho,mo,so為初始時間
Dimm0AsInteger
Dims0AsInteger
PrivateSubCommand5_Click()
'用鼠標單擊"上一題"
IfVal(Label1.Caption)>1Then
Data1.Recordset.MovePrevious
Else
Title="提示"
msg2$="這是第一題!"
MsgBoxmsg2$,0,Title
EndIf
EndSub
PrivateSubCommand7_Click()
'用鼠標單擊"下一題"
IfVal(Label1.Caption)<224Then
'一共224道題
Data1.Recordset.MoveNext
Else
Title="提示"
msg2$="這是最后一題!"
MsgBoxmsg2$,0,Title
EndIf
EndSub
PrivateSubCommand8_Click()
'用鼠標單擊"確定"
ch=UCase$(Trim$(Text2.Text))
ans=UCase$(Label4.Caption)
IfStrComp(ch,ans,1)=0Then
'如果與題目的正確答案一樣
Title="提示"
msg1$="你做對了!"
msg2$="這是最后一題,你做對了"
IfVal(Label1.Caption)<224Then
MsgBoxmsg1$,0,Title
Else
MsgBoxmsg2$,0,Title
Close
EndIf
Else
Title="提示"
msg1$="你做錯了!"
msg2$="這是最后一題,你做錯了"
IfVal(Label1.Caption)<224Then
MsgBoxmsg1$,0,Title
Else
MsgBoxmsg2$,0,Title
Close
EndIf
EndIf
Text2.Text=""
'把第二個文本框的內容變空
EndSub
PrivateSubCommand9_Click()
'用鼠標單擊"答案"
an=Label4.Caption'an為題目的正確答案
jx=Label6.Caption'jx為題目的答案說明
Title="答案提示"
msg2$="本題答案為:"&an jx
MsgBoxmsg2$,0,Title
EndSub
PrivateSubForm_Load()
Open"C:/gram/gram.txt"ForBinaryAs#1
'gram.txt文件里存放了練習題的內容
filelength=LOF(1)
Iffilelength>60000Then
MsgBox"Fileistoolong",16
ExitSub
EndIf
tmp$=String$(LOF(1),0)
Get#1,,tmp$
Text1.Text=tmp$
Close#1
h0=Val(Time$)
m0=Minute(Time$)
s0=Second(Time$)
Text2.Text=""
EndSub

PrivateSubText2_Change()
Text2.Text=UCase$(Text2.Text)
'把第二個文本框里的內容變成大寫
EndSub

PrivateSubTimer1_Timer()
DimggAsInteger
DimhAsInteger
DimmAsInteger
DimsAsInteger
Dimx1AsInteger
Dimx2AsInteger
h=Val(Time$)
m=Minute(Time$)
s=Second(Time$)
gg=(h-h0)*3600 (m-m0)
*60 (s-s0)
x1=Int(gg/60)
x2=(gg-(Int(gg/60))*60)
Label7.Caption=Str(x1) "分"
Str(x2) "秒"
EndSub

六:在線幫助的應用
----我們這里講的在線幫助是指模仿Windows的在線幫助,把各種練習題或試題以及它們的答案以在線幫助的形式在屏幕上呈現出來(見圖三),并非是指在程序中加一個幫助菜單來告訴學生如何使用CAI軟件。Windows的在線幫助本身就是一個很好的教學軟件,如果在CAI程序中模仿Windows的在線幫助,那將使你的CAI程序更加實用。例如:各種選擇題、填空題特別是問答題和論述題,要讓學生能快速查閱問題的答案,使用在線幫助是最好不過的了。實際上,在Internet或HTML沒有興起之前,國外很多的CAI軟件中就有模仿Windows在線幫助的模塊。要把各種練習題或試題以及它們的答案以在線幫助的形式在屏幕上呈現出來,就要把它們制作成幫助文件,為此,請先用Word把練習題或試題以及它們的答案編輯好,為了讓使用者更加方便操作,編輯時可以在每個小題的后面加上這幾個字"單擊此處可查閱答案"(或簡單一點就用"答案"),制作幫助文件時,就把這幾個字作為關鍵詞分別與每個題目的答案建立關聯,詳細介紹如何制作幫助文件的文章已很多,在此就不介紹了。
----在VB中調用幫助系統的方法之一是:在程序設計階段,在窗口中設計出一個命令按鈕和一個對話框,然后加進如下代碼:

AttributeVB_Name="Module1"
'DeclarationforWinHelp
DeclareFunctionOSWinHelpLib"User"
Alias"WinHelp"(ByValhwnd,ByVal
HelpFile$,ByValwCommand,dwDataAsAny)

PrivateSubSSCommand1_Click()
Cls
WithCommonDialog1
.HelpCommand=cdlHelpContents
.HelpFile="C:/zggm/ch23.hlp"
'ch23.hlp是我自己制作的一個幫助文件
.ShowHelp
EndWith
EndSub->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 污污黄 | 在线观看中文字幕av | 精品国产91一区二区三区 | 高潮激情aaaaa免费看 | h视频免费观看 | 免费一级欧美 | 精品中文字幕在线播放 | 欧美ab| 海外中文字幕在线观看 | 久草最新在线 | 最新av免费网址 | 成人福利软件 | 国产欧美精品一区二区三区四区 | 欧美日韩一区三区 | 欧美黄色一级片视频 | 国产毛片自拍 | 日韩在线毛片 | 黄色成人小视频 | 久久国产免费视频 | 国产一级做a爰片在线看 | 91福利社在线 | 成人一区二区在线观看视频 | 黄色av免费网站 | 精品国内视频 | 久久av免费| 日韩精品中文字幕一区二区三区 | 亚洲第一激情 | 欧美成网 | 啪啪激情 | cosplay裸体福利写真 | 国产亚洲精品综合一区 | 亚洲精品无码不卡在线播放he | 羞羞视频免费视频欧美 | 精品亚洲午夜久久久久91 | 激情黄页| 日日操操 | 久久成人免费观看 | 日本黄色免费播放 | 最近免费观看高清韩国日本大全 | 成人国产在线视频 | 全黄裸片武则天一级第4季 偿还电影免费看 |