⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 用VB做的一个简单计算数学题的程序 可以给小学生用
💻 FRM
📖 第 1 页 / 共 4 页
字号:
         EndProperty
         Height          =   285
         Left            =   5040
         TabIndex        =   29
         Top             =   2340
         Width           =   765
      End
      Begin VB.Shape Shape1 
         Height          =   435
         Left            =   480
         Top             =   2280
         Width           =   9735
      End
      Begin VB.Label Label5 
         Alignment       =   2  'Center
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00400000&
         Height          =   855
         Left            =   3480
         TabIndex        =   20
         Top             =   2880
         Width           =   4575
      End
      Begin VB.Label Label6 
         Alignment       =   2  'Center
         BackColor       =   &H00FFC0FF&
         BeginProperty Font 
            Name            =   "黑体"
            Size            =   14.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H0080FF80&
         Height          =   420
         Left            =   480
         TabIndex        =   19
         Top             =   2280
         Width           =   9720
      End
      Begin VB.Label Label1 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H80000005&
         BackStyle       =   0  'Transparent
         BorderStyle     =   1  'Fixed Single
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   72
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000008&
         Height          =   1575
         Left            =   480
         TabIndex        =   2
         Top             =   600
         Width           =   8175
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim ab '计算值
Dim ndsz '难度
Dim txsz1 '题型设置(算法)
Dim txsz2 '题型设置(单连)
Dim sjsz '时间设置
Dim labelw '进度条步进值
Dim mm, ss '时间
Dim ind '模拟键盘号
Dim a(0 To 2) '算数
Dim qh
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Combo1_Change()
Command5.Enabled = True
End Sub
Private Sub Combo2_Change()
Command5.Enabled = True
End Sub
Private Sub Combo3_Change()
Command5.Enabled = True
End Sub
Private Sub Combo4_Change()
Command5.Enabled = True
End Sub
Private Sub Combo1_Click()
Select Case Combo1.Text
    Case "10以内"
        ndsz = 10
    Case "20以内"
        ndsz = 20
    Case "50以内"
        ndsz = 50
    Case "100以内"
        ndsz = 100
 End Select
 Label8(0) = Combo1
End Sub

Private Sub Combo2_Click()
Select Case Combo2.Text
    Case "混合"
        txsz1 = 0
    Case "加法"
        txsz1 = 1
    Case "减法"
        txsz1 = 2
    Case "加减法"
        txsz1 = 3
    Case "乘法"
        txsz1 = 4
     Case "除法"
        txsz1 = 5
     Case "乘除法"
        txsz1 = 6
 End Select
 Label8(1) = Combo2
End Sub

Private Sub Combo3_Click()
Select Case Combo3.Text
    Case "混合"
        txsz2 = 0
    Case "单题"
        txsz2 = 1
    Case "连算"
        txsz2 = 2
 End Select
 Label8(2) = Combo3
End Sub


Private Sub Combo4_Click()
Select Case Combo4.Text
    Case "计时"
        sjsz = 0
    Case "1分钟"
        sjsz = 1
    Case "5分钟"
        sjsz = 5
    Case "10分钟"
        sjsz = 10
    Case "15分钟"
        sjsz = 15
    Case "30分钟"
        sjsz = 30
    Case "45分钟"
        sjsz = 45
    Case "60分钟"
        sjsz = 60
 End Select
 Label8(3) = Combo4
End Sub


Private Sub Command1_Click()
If Command1.Caption = "开始" Then
    If Len(Text4) = 0 Then
        nval = InputBox("请输入您的大名。", "提示")
        If nval <> "" Then
            Text4 = nval
        End If
    End If
    
    '开始
    Label6.Width = 0 '进度条清零
    Timer1.Enabled = True '计时开始
    Label5 = ""
    Label2 = 0
    Label3 = 0
    Text2 = ""
    Command2.Enabled = True
    Command1.Caption = "暂停"

    If sjsz > 0 Then '如果时间设置是限时,倒计时
        labelw = 9720 / 60 / sjsz '进度条步进值
        ss = 0
        mm = sjsz
        s = IIf(ss < 10, "0" & ss, "" & ss)
        m = IIf(mm < 10, "0" & mm, "" & mm)
        t = m & ":" & s
        Label9 = t
    
    Else '如果时间设置是计时
        ss = 0
        mm = 0
        s = IIf(ss < 10, "0" & ss, "" & ss)
        m = IIf(mm < 10, "0" & mm, "" & mm)
        t = m & ":" & s
        Label9 = t
    End If

    Ct
ElseIf Command1.Caption = "暂停" Then
    Command1.Caption = "继续"
    Timer1.Enabled = False
Else
    Command1.Caption = "暂停"
    Timer1.Enabled = True
End If

Text1.SetFocus

End Sub
Private Sub Ct() '出题
On Error Resume Next
Dim f

qh = 0

1
r = Format(Rnd * 255, "0")
g = Format(Rnd * 255, "0")
b = Format(Rnd * 255, "0")
If r * g * b > 500000 Then GoTo 1 '防止颜色过淡
Label1.ForeColor = RGB(r, g, b)


'判断题型设置2(单连)
Select Case txsz2
    Case 0
        If Rnd > 0.5 Then
            f = 1
        Else
            f = 2
        End If
    Case 1
        f = 1
    Case 2
        f = 2
 End Select

If f = 1 Then '如果是单题
    Select Case txsz1 '判断题型设置1(符号)
        Case 0
          f1 = Rnd
            If f1 < 0.25 Then
                add1 '加法
            ElseIf f1 >= 0.25 And f1 < 0.5 Then
                sub1 '减法
            ElseIf f1 >= 0.5 And f1 < 0.75 Then
                mul1 '乘法
            Else
                div1 '除法
            End If
        Case 1
            add1 '加法
        Case 2
            sub1 '减法
        Case 3
             f1 = Rnd
            If f1 < 0.5 Then
                add1 '加法
            Else
                sub1 '减法
            End If
        Case 4
            mul1 '乘法
        Case 5
            div1 '除法
        Case 6
            f1 = Rnd
            If f1 < 0.5 Then
                mul1 '乘法
            Else
                div1 '除法
            End If
    End Select

   
Else '如果是连算
    Select Case txsz1 '判断题型设置1(符号)
        Case 0
          f1 = Rnd
            If f1 < 0.25 Then
                add2 '加法
            ElseIf f1 >= 0.25 And f1 < 0.5 Then
               sub2 '减法
            ElseIf f1 >= 0.5 And f1 < 0.75 Then
                 mul2 '乘法
            Else
                div2 '除法
            End If
        Case 1
            add2 '加法
        Case 2
            sub2 '减法
            
            
            
            
        Case 3 '加减法连算
            f1 = Rnd
            If f1 < 0.5 Then
10              a(0) = Val(Format(Rnd * ndsz, "0"))
                If a(0) = 0 Then GoTo 10
                a(1) = Val(Format(Rnd * ndsz, "0"))
                If a(1) = 0 Then GoTo 10
                ab = a(0) + a(1)
                If ndsz = 10 Then
                    If ab > ndsz Then GoTo 10
                Else
                    If ab > ndsz Or ab < ndsz / 2.5 Then GoTo 10
                End If
                fh1 = "+"
            Else '减法
12              a(0) = Val(Format(Rnd * ndsz, "0"))
                If ndsz = 10 Then
                    If a(0) = 0 Then GoTo 12
                Else
                    If a(0) = 0 Or a(0) < ndsz / 2.5 Then GoTo 12
                End If
                
13              a(1) = Val(Format(Rnd * a(0), "0"))
                If a(1) = 0 Then GoTo 13
                ab = a(0) - a(1)
                fh1 = "-"
            End If

             f1 = Rnd
            If f1 < 0.5 Then
14              a(2) = Val(Format(Rnd * ndsz, "0"))
                If a(2) = 0 Then GoTo 14
                ab = ab + a(2)
                If ndsz = 10 Then
                    If ab > ndsz Then GoTo 10
                Else
                    If ab > ndsz Or ab < ndsz / 2.5 Then GoTo 10
                End If
                fh2 = "+"
            Else '减法
15              a(2) = Val(Format(Rnd * ndsz, "0"))
                If ndsz = 10 Then
                    If a(2) = 0 Then GoTo 10
                Else
                    If a(2) = 0 Or a(2) < ndsz / 2.5 Then GoTo 10
                End If
                ab = ab - a(2)
                If ab < 0 Then
                    ab = 0
                    GoTo 10
                End If
                fh2 = "-"
            End If
            
                Label1 = a(0) & fh1 & a(1) & fh2 & a(2) & "="
                
                
                
        Case 4
            mul2 '乘法
        Case 5
            div2 '除法
            
        Case 6 '乘除法
20         f1 = Rnd
            If f1 < 0.5 Then '乘法
                a(0) = Val(Format(Rnd * ndsz, "0"))
                If a(0) = 0 Then GoTo 20
                
21              a(1) = Val(Format(Rnd * ndsz, "0"))
                If a(1) = 0 Then GoTo 21
                
                ab = a(0) * a(1)
                aa = a(1)
                If ndsz = 10 Then
                    If ab > ndsz Then GoTo 20
                Else
                    If ab > ndsz Or ab < ndsz / 2.5 Then GoTo 20
                End If
                
                fh1 = "×"
                
            Else
22              a(0) = Val(Format(Rnd * ndsz, "0"))
                If a(0) = 0 Then GoTo 22
                
23              a(1) = Val(Format(Rnd * ndsz, "0"))
                If a(1) = 0 Then GoTo 23
                
                ab = a(0) * a(1)
                
                If ndsz = 10 Then
                    If ab > ndsz Then GoTo 22
                Else
                    If ab > ndsz Or ab < ndsz / 2.5 Then GoTo 22
                End If
                aa = ab
                ab = aa / a(0)
                fh1 = "÷"
            End If
            
         f1 = Rnd
         If ab = 0 Then f1 = 0.1
            If f1 < 0.5 Then '乘法
            
24             a(2) = Val(Format(Rnd * ndsz, "0"))
                If a(2) = 0 Then GoTo 24
        
                ab = ab * a(2)
                
                If ndsz = 10 Then
                    If ab > ndsz Then GoTo 20
                Else
                    If ab > ndsz Or ab < ndsz / 2.5 Then GoTo 20
                End If
                fh2 = "×"
            Else
26              a(2) = Val(Format(Rnd * ndsz, "0"))
                If a(2) = 0 Or a(2) > ab Then GoTo 26
                
                ab = aa / a(2)
                ab2 = Format(ab, "0")
                If ab <> Val(ab2) Then GoTo 20
                fh2 = "÷"
            End If
            Label1 = aa & fh1 & a(0) & fh2 & a(2) & "="
        End Select

End If
 Text1.SetFocus

End Sub
Private Sub add1() '加法1
10  a(0) = Val(Format(Rnd * ndsz, "0"))
    If a(0) = 0 Then GoTo 10
    a(1) = Val(Format(Rnd * ndsz, "0"))
    If a(1) = 0 Then GoTo 10
    ab = a(0) + a(1)
    If ndsz = 10 Then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -