咨询高手!!!汉字输入考试系统方面

tjzym 2009-05-20 11:02:16
一到时间就出对话框“类型不匹配”,提示下面这行
,MsgBox "你的考试已经结束!当前考试时间为 " + Str(Label4.Caption) + "分钟,你的正确率为:" + Str(Val(h / z * 100)) + "% ,你的速度是:" + Str(Val(z / g * 60 * Label4.Caption)) + "题 /分钟 !", vbOKOnly + vbExclamation, "考试结束"

若只有MsgBox "你的考试已经结束!”就没问题,
请高手帮忙看看!!!出在什麽地方?谢谢!
...全文
82 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
DengXingJie 2009-05-20
  • 打赏
  • 举报
回复
出错时你试试你那些变量的值都是一些什么,会不会出现非数字型的数据
Tiger_Zhao 2009-05-20
  • 打赏
  • 举报
回复
Label4.Caption, h, z, g 的值?
jhone99 2009-05-20
  • 打赏
  • 举报
回复
MsgBox "你的考试已经结束!当前考试时间为 " + Str(Label4.Caption) + "分钟,你的速度是:" + Str(Val(z / g * 60 * Label4.Caption)) + "题 /分钟 !", vbOKOnly + vbExclamation, "考试结束"


怎么样?
jhone99 2009-05-20
  • 打赏
  • 举报
回复
MsgBox "你的考试已经结束!当前考试时间为 " + Str(Label4.Caption) + "分钟,你的正确率为:" + Str(Val(h / z * 100)) + "% ",vbOKOnly + vbExclamation, "考试结束"

怎么样?
jhone99 2009-05-20
  • 打赏
  • 举报
回复
一段一段试
liuxu2559 2009-05-20
  • 打赏
  • 举报
回复
z / g * 60 * Label4.Caption

Label4.Caption的值如果是数值型的,要转化一下z / g * 60 *val(Label4.Caption)
liuxu2559 2009-05-20
  • 打赏
  • 举报
回复
估计h,z,g是定义的全局变量,Label4这个要看你界面是怎么设计的。
你可以将这些变量改成常量先试试.
建议将+换成&
tjzym 2009-05-20
  • 打赏
  • 举报
回复
这是所有源程序,就从csdn下载的,我也觉得Label4.Caption, h, z, g 这些变量没定义,可我是新手,看不懂,请高赐教!!!
Dim a As Integer, x As Integer, c As Integer
Private Sub Command1_Click()
Timer1.Enabled = True
Command1.Enabled = False
Text2.SetFocus
End Sub

Private Sub exit_Click()
End
End Sub

Private Sub Form_Load()
x = 0
RTB.SelStart = 0
RTB.SelLength = 1
RTB.SelColor = vbBlue
End Sub

Private Sub Text1_Change()
Text1.SelText
Text1.Enabled = False
End Sub

Private Sub Label10_Click()

End Sub

Private Sub Label13_Click()

End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
a = Len(Text2.Text)
If a > 0 Then
If KeyAscii <> 8 Then
If Mid(RTB.Text, a, 1) = Mid(Text2.Text, a, 1) Then
x = x + 1
RTB.SelStart = x
RTB.SelLength = 1
RTB.SelColor = vbBlue
End If
End If
If KeyAscii = 8 Then
If a > 1 Then
If Mid(RTB.Text, a, 1) = Mid(Text2.Text, a, 1) Then
x = x - 1
RTB.SelStart = x + 1
RTB.SelLength = 1
RTB.SelColor = vbBlack
End If
End If
End If
End If

End Sub

Private Sub Timer1_Timer()
a = Len(Text2.Text)
c = c + 1
Label13.Caption = Int(a * 60 / c)
Label7.Caption = Val(Label7.Caption) - 1
If Label7.Caption = -1 Then
Label5.Caption = Label5.Caption - 1
Label7.Caption = "59"
End If
If Label5.Caption = 0 And Label7.Caption = 0 Then
Timer1.Enabled = False
MsgBox "你的考试已经结束!当前考试时间为 " + Str(Label4.Caption) + "分钟,你的正确率为:" + Str(Val(h / z * 100)) + "% ,你的速度是:" + Str(Val(z / g * 60 * Label4.Caption)) + "题 /分钟 !", vbOKOnly + vbExclamation, "考试结束 ---云中鹤"
End
End If
If a <> 0 Then
Label10.Caption = Int(x / a * 100)
End If
End Sub
射天狼 2009-05-20
  • 打赏
  • 举报
回复
只贴这一段程序能看出什么啊。你的变量g、z都是什么类型?

建议你将字符串连接由加号“+”改为“&”试一下。


天狼工作室
http://www.j2soft.cn/

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧