菜鸟捉虫(23)

第21期“菜鸟捉虫”正确答案:
   首先,On Error GoTo Loop语句不能跨越函数的作用域范围;其次,工作变量Result是一个整型,如遇A除以B有余数,则会自动四舍五入,所以Result的值遇A除以B有余数时就不正确了。
   注:若使用Resume 语句(当然,用其它的方法也可),如果错误和错误处理程序出现在同一个过程中,则从产生错误的语句恢复运行。如果错误出现在被调用的过程中,则从最近一次调用包含错误处理程序的过程的语句处恢复运行。
  #1 修改后的程序如下:
   Private Sub command1_click()
   Dim A As Double,B As Double,Result As Double
   On Error GoTo Loop1
   A = Val(Text1.Text)
   B = Val(Text2.Text)
   Result = A / B
   Text3.Text = Result
   Exit Sub
   '//去掉子程序ErrorFunc,加入如下代码
   Loop1:
   MsgBox "除数不能为零"
   End Sub
   以下是第21期“菜鸟捉虫”幸运读者名单(奖品为最新的《电脑报配套光盘》系列中的一款)
   天津 黄 燕 山东 翟海军 吉林 张双
   浙江 李海江 四川 党卫中
  #1 本期题目:
   现有一程序,其功能是实现“飞字技术”。要求实现字体从左至右穿越屏幕消失后,再次循环穿越屏幕的过程。本程序中有一个Label和1个Timer控件。Label1的Caption属性设置为“欢迎光临”。但运行程序后却达不到预想的效果,请找出其中的错误。
   Private Sub Form_Load()
   Label1.Left = -Label1.Width
   End Sub
   Private Sub Timer1_Timer()
   Label1.Left = Label1.Left + 50
   Label1.Move Label1.Left
   End Sub