VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - VB开发CAI软件的小经验
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:8692, 日期:2000-10-09
VB开发CAI软件的小经验

  由于近年来计算机应用在学校的普及,CAI软件十分流行。许多教育工作者在初尝学习VB的甜头后,也跃跃欲试,急于把自己的教学经验变成软件,提高教学效率。

  大部分教学软件都有一个“自动/手动”按钮,学习者可以选择系统自动一步一步往下执行,也可由自己手动控制是否进入到下一步。同时,还应该提供向上向下翻页功能,以使学习者能够自由控制学习流程。

  下面先谈一谈怎样使系统一步一步自动运行。

  首先要将教学过程分解为若干步,每一步由一段程序控制。设一整型变量(如StepCount),在窗体装载时赋初值为0,用来指明将运行哪一段程序。在窗体中另设一定时器(如Timer—step),在预定时间后产生一触发事件,使程序转入下一步。

  主程序设计成如下格式:

  Private Sub Run—Step(bz As Integer)

   Select Case bz

   Case 1

   Timer—step.Interval=20000 ′这一步停留的时间

   Timer—step.Enabled=True

   (本步的教学过程控制程序)

   Case 2

   ……

   Case 3

   ……

   End Select

  End sub

  Private Sub Timer—step.Timer() ′计时器事件

  StepCount=StepCount+1

   Run—Step StepCount ′调用主程序

  End Sub

  这样,计时器Timer—Step每触发一次,将使变量StepCount的值增1,在调用过程Run—Step时进入下一步学习,而Timer—Step的触发时间可在上一步的程序中设定,具体的Interval值需要根据实际情况确定。

  如要实现“自动/手动”切换,只需在窗体中适当位置放上一按钮,并在程序中定义一逻辑变量(如auto,其值为True时自动运行,为False时手动操作),将上面的Timer—Step中事件修改如下:

  Private Sub Timer—step.Timer()

   If auto then ′变量值为真时自动执行,否则计时器失效

    StepCount=StepCount+1

    Run—Step StepCount

   Else

    Timer—Step.Enable=False

   EndIf

  End Sub

  这样,只要在该按钮的Click事件中执行语句:auto=Not auto,鼠标点击时,将对应的逻辑变量值取反,即可在“自动/手动”间切换。

  有了上述功能还不够,因为学习者不一定一步一步进行到底,有可能需要返回到上一步,或是跳过某一步。由于我们在程序设计中使用了Select Case语句来决定运行哪一步,使控制变得十分灵活。只需设置“上一步”按钮,在其Click事件中使变量StepCount的值减1,并调用Run—Step过程,即可返回至上一步:进入下一步可照样处理,只是应将StepCount的值加1。当然,具体实现时要注意上一步的现场与下一步之间有什么不同,以便在程序中得到有效控制,如窗体中各控件的属性、位置等。