由於近年來計算機應用在學校的普及,CAI軟件十分流行。許多教育工作者在初嘗學習VB的甜頭後,也躍躍欲試,急於把自己的教學經驗變成軟件,提高教學效率。
大部分教學軟件都有一個“自動/手動”按鈕,學習者可以選擇系統自動一步一步往下執行,也可由自己手動控制是否進入到下一步。同時,還應該提供向上向下翻頁功能,以使學習者能夠自由控制學習流程。
下面先談一談怎樣使系統一步一步自動運行。
首先要將教學過程分解為若干步,每一步由一段程序控制。設一整型變量(如StepCo-unt),在窗體裝載時賦初值為0,用來指明將運行哪一段程序。在窗體中另設一定時器(如Timer—step),在預定時間後產生一觸發事件,使程序轉入下一步。
主程序設計成如下格式:
PrivateSubRun—Step(bzAsInteger)
SelectCasebz
Case1
Timer—step.Interval=20000′這一步停留的時間
Timer—step.Enabled=True
(本步的教學過程控制程序)
Case2
……
Case3
……
EndSelect
Endsub
PrivateSubTimer—step.Timer()′計時器事件
StepCount=StepCount+1
Run—StepStepCount′調用主程序
EndSub
這樣,計時器Timer—Step每觸發一次,將使變量StepCount的值增1,在調用過程Run—Step時進入下一步學習,而Timer—Step的觸發時間可在上一步的程序中設定,具體的Interval值需要根據實際情況確定。
如要實現“自動/手動”切換,只需在窗體中適當位置放上一按鈕,並在程序中定義一邏輯變量(如auto,其值為True時自動運行,為False時手動操作),將上面的Timer—Step中事件修改如下:
PrivateSubTimer—step.Timer()
Ifautothen′變量值為真時自動執行,否則計時器失效
StepCount=StepCount+1
Run—StepStepCount
Else
Timer—Step.Enable=False
EndIf
EndSub
這樣,只要在該按鈕的Click事件中執行語句:auto=Notauto,鼠標點擊時,將對應的邏輯變量值取反,即可在“自動/手動”間切換。
有了上述功能還不夠,因為學習者不一定一步一步進行到底,有可能需要返回到上一步,或是跳過某一步。由於我們在程序設計中使用了SelectCase語句來決定運行哪一步,使控制變得十分靈活。只需設置“上一步”按鈕,在其Click事件中使變量StepCount的值減1,並調用Run—Step過程,即可返回至上一步:進入下一步可照樣處理,只是應將StepCount的值加1。當然,具體實現時要注意上一步的現場與下一步之間有什麼不同,以便在程序中得到有效控制,如窗體中各控件的屬性、位置等。->