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

📄 demo_1_5.frm

📁 用VB实现电脑发送语音信息
💻 FRM
📖 第 1 页 / 共 3 页
字号:
        Set OraExam_Grade = OraDatabase.DbCreateDynaset("SELECT CJ AS TWO FROM JW_XSCJ WHERE TZSH='" + StuTZSH + "'" + "AND XQ='" + Term + "'", 0&) '查询学生在查询时间内的考试门数

        If OraExam_Lesson.RecordCount > 0 Then    '建立OraFields_Exam对象对考试进行检索
        ReDim Lesson(1 To OraExam_Lesson.RecordCount) As String
        ReDim Grade(1 To OraExam_Lesson.RecordCount) As String
        For Li_I = 1 To OraExam_Lesson.RecordCount
        Lesson(Li_I) = OraExam_Lesson("ONE").Value
        Grade(Li_I) = OraExam_Grade("TWO").Value + "分;"
        OraExam_Lesson.MoveNext
        OraExam_Grade.MoveNext
        Ls_Exam = Ls_Exam + Lesson(Li_I) + Grade(Li_I)
        Next Li_I
        Ls_Exam = "本学期考试成绩如下:" + Chr(13) + Chr(10) + Ls_Exam
        Else
        MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"
        End If
        
     End If
     
     If mnuPresent(1).Checked = True Then
     
         Set OraLB_Late = OraDatabase.DbCreateDynaset("SELECT COUNT(*) AS GS FROM U_KQXX WHERE XH='" + StudentNo + "'" + "AND LB='迟到'", 0&)
         Set OraLB_Absent = OraDatabase.DbCreateDynaset("SELECT COUNT(*) AS AGS FROM U_KQXX WHERE XH='" + StudentNo + "'" + "AND LB='旷课'", 0&)
         Set OraLB_Ill = OraDatabase.DbCreateDynaset("SELECT COUNT(*) AS IGS FROM U_KQXX WHERE XH='" + StudentNo + "'" + "AND LB='病假'", 0&)
         Set OraLB_Affair = OraDatabase.DbCreateDynaset("SELECT COUNT(*) AS AFGS FROM U_KQXX WHERE XH='" + StudentNo + "'" + "AND LB='事假'", 0&)
         
         If OraLB_Late.RecordCount > 0 Then    '建立OraFields_LB_Late对象对迟到情况进行检索
            Set OraFields_LB_Late = OraLB_Late.Fields
            Ls_mess = "迟到"
            Ls_mess = Ls_mess + OraFields_LB_Late("GS").Value
            For Li_I = 1 To OraLB_Late.RecordCount - 1
            OraFields_LB_Late.MoveNext
            Ls_mess = Ls_mess + OraFields_LB_Late("GS").Value
            Next Li_I
            Ls_Late = Ls_mess + "次;"
            Else
            MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"
         End If
                        
         If OraLB_Absent.RecordCount > 0 Then    '建立OraFields_LB_Absent对象对旷课情况进行检索
            Set OraFields_LB_Absent = OraLB_Absent.Fields
            Ls_Absent = "旷课"
            Ls_Absent = Ls_Absent + OraFields_LB_Absent("AGS").Value
            For Li_I = 1 To OraLB_Absent.RecordCount - 1
            OraFields_LB_Absent.MoveNext
            Ls_Absent = Ls_Absent + OraFields_LB_Absent("AGS").Value
            Next Li_I
            Ls_Absent = Ls_Absent + "次;"
            Else
            MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"
         End If
         
         If OraLB_Affair.RecordCount > 0 Then    '建立OraFields_LB_Affair对象对旷课情况进行检索
            Set OraFields_LB_Affair = OraLB_Affair.Fields
            Ls_Affair = "事假"
            Ls_Affair = Ls_Affair + OraFields_LB_Affair("AFGS").Value
            For Li_I = 1 To OraLB_Affair.RecordCount - 1
            OraFields_LB_Affair.MoveNext
            Ls_Affair = Ls_Affair + OraFields_LB_Affair("AFGS").Value
            Next Li_I
            Ls_Affair = Ls_Affair + "次;"
            Else
            MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"
         End If
    
         If OraLB_Ill.RecordCount > 0 Then    '建立OraFields_LB_Ill对象对病假情况进行检索
            Set OraFields_LB_Ill = OraLB_Ill.Fields
            Ls_Ill = "病假"
            Ls_Ill = Ls_Ill + OraFields_LB_Ill("IGS").Value
            For Li_I = 1 To OraLB_Ill.RecordCount - 1
            OraFields_LB_Ill.MoveNext
            Ls_Ill = Ls_Ill + OraFields_LB_Ill("IGS").Value
            Next Li_I
            Ls_Ill = Ls_Ill + "次;"
            Else
            MsgBox "未查询到相应信息!", vbOKOnly + vbInformation, "提示信息"
            
         End If
             
     End If
     
     If UrgentInfo = "" Then
        TxtStudentInfo.Text = Ls_Late + Ls_Absent + Ls_Ill + Ls_Affair + Chr(13) + Chr(10) + StuInfo + Chr(13) + Chr(10) + Ls_Exam
     Else
        TxtStudentInfo.Text = UrgentInfo
     End If
     
     TxtStudentInfo.SelStart = Len(TxtStudentInfo.Text)
     Exit Sub

Connect_err:

     If InStr(OraSession.LastServerErrText, "ORA-01017") Then
     MsgBox "无效的用户名和密码,数据库联接不成功!", vbOKOnly + vbCritical, "提示信息"
     Else
     MsgBox "数据库联接不成功!请查看下面的出错信息:" + Chr(13) + OraSession.LastServerErrText, vbOKOnly + vbCritical, "提示信息"
     End If
     Exit Sub

Sql_err:

     If OraDatabase.LastServerErr <> 0 Then
     MsgBox "数据库操作出错!请查看下面的出错信息:" + Chr(13) + OraDatabase.LastServerErrText, vbOKOnly + vbCritical, "提示信息"
     End If
     Exit Sub

End Sub



Private Sub Form_Load()
       
    AutoTaken = True
    TxtStudentNO.Locked = True
    txtTelNum.Locked = True
    TxtStudentName.Locked = True
    TxtFamilyName.Locked = True
    TxtStudentInfo.Locked = True
    txtInfo.Locked = True
   
    Telstr = InputBox("演示用电话号码", "请输入演示电话号码", Telstr)
    
    
    If Not (UrgentInfo = "") Then
        ChkAuto.Enabled = False
        CmbTerm.Enabled = False
    End If
    
    Dim bNull As Long
    Dim beVersion As BE_VERSION
    '连接库版本函数
    beVersion = SmartRead_Version() '调用版本函数
    CmdDemo.Enabled = False
    Dim hwnd As Long
    Dim ddd As Long

    ddd = SmartRead_InitialAuth(Me.hwnd, -1, 80, 80, "提醒您系统未安装语音库,请安装UFS语音库:UFSChinese Speech", "语音下载", "hopebuilder", "guohongtao@doit.com.cn")
    '初始化语音库函数,函数使用及参数设置见函数帮助文档
    ddd = SmartRead_Initial(Me.hwnd, -1, 80, 80, "提醒您系统未安装语音库,请安装UFS语音库:UFSChinese Speech", "语音下载")

   Dim Gatdibz As Boolean
   
   v.MonitorSilence 0
   Dim i As Integer
   Gatdibz = False
   v.Init ""
   For i = 1 To v.LineCount
        v.SetCurLine ((i - 1))
        cmbLines.AddItem v.LineName
    Next i
    If v.LineCount > 0 Then
         v.SetCurLine 0            'the default line is the number 0
         cmbLines.Text = v.LineName
         v.Open
   End If

   
End Sub

Private Sub Form_Unload(Cancel As Integer)
v.ShutDown
 End
End Sub




‘以下是菜单响应事件
Private Sub mnuErgent_Click(Index As Integer)

End Sub

Private Sub mnuAbout_Click(Index As Integer)’关于事件
    frmAboutVoiceInfo.Show
End Sub

Private Sub mnuExit_Click()’退出
    SmartRead_Stop
    SmartRead_Close
    Form_Unload (CmdExit)
End Sub

Private Sub mnuGeneral_Click(Index As Integer)‘一般数据
If mnuGeneral(0).Checked = False Then
    mnuUrgent(0).Checked = False
    mnuGeneral(0).Checked = True
    ChkAuto.Enabled = True
    CmbTerm.Enabled = True
    UrgentInfo = ""
'    TxtStudentInfo.Text = ""
    cmdReset_Click
End If
End Sub

Private Sub mnuGrade_Click(Index As Integer)’学生成绩
    If mnuGrade(1).Checked = True Then
        mnuGrade(1).Checked = False
    Else
        mnuGrade(1).Checked = True
    End If

End Sub

Private Sub mnuHelpFile_Click(Index As Integer)‘帮助文件
    Call CallHelp
End Sub

Private Sub mnuPresent_Click(Index As Integer)‘考勤信息
    If mnuPresent(1).Checked = True Then
        mnuPresent(1).Checked = False
    Else
        mnuPresent(1).Checked = True
    End If
End Sub

Private Sub mnuReward_Click(Index As Integer)’奖惩信息
    If mnuReward(1).Checked = True Then
        mnuReward(1).Checked = False
    Else
        mnuReward(1).Checked = True
    End If
End Sub

Private Sub mnuUrgent_Click(Index As Integer)‘紧急事件
If mnuUrgent(0).Checked = False Then
    mnuUrgent(0).Checked = True
    mnuGeneral(0).Checked = False
    frmUrgent.Show
    Me.Hide
End If
End Sub

Private Sub Timer1_Timer()
CmdTakeData_Click
cmdDial_Click
Timer1.Enabled = False
End Sub

Private Sub TxtCount_KeyPress(KeyAscii As Integer)
    If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
              KeyAscii = 0
    End If
End Sub

Private Sub TxtStudentNO_KeyPress(KeyAscii As Integer)
    If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
        KeyAscii = 0
    End If
End Sub

Private Sub txtTelNum_Change()
If cmbLines.Text = "您的系统没有安装语音猫" Then
    cmdDial.Enabled = False
    cmdDrop.Enabled = False
End If
cmdDial.Enabled = True
End Sub

Private Sub UpDown1_Change()
    CmdTakeData.Caption = "提取数据"
    CmdTakeData.Enabled = True
End Sub

Private Sub v_Busy(ByVal LineIndex As Integer)
showMsg CStr(LineIndex) + "忙音"
cmdDrop.Enabled = True
v.Drop
End Sub

Private Sub v_BusyOrShutdown(ByVal LineIndex As Long)
showMsg CStr(LineIndex) + "忙音,是否挂断"
v.Drop
End Sub

'Private Sub V_CallerID(ByVal LineIndex As Integer, ByVal CallerID As String)
'showMsg "CallerID:" & CallerID
'
'End Sub


Private Sub V_Connected(ByVal LineIndex As Integer, ByVal fInComing As Boolean)
CurrentPath = App.Path

v.EnableSpeakerPhone True
v.SetCurLine LineIndex
flgConnected = True
If fInComing Then
   showMsg CStr(LineIndex) + "Line connected after  answering(" + v.LineName + ")"
Else
   showMsg CStr(LineIndex) + "line connected(" + v.LineName + ")"
End If
cmdDrop.Enabled = True
OptLine = True
       If Not (CurrentPath + "\temp\output.wav" = "") Then
              cmdStartOrStopPlay.Enabled = True
              cmdStartOrStopPlay_Click
       Else
       showMsg "语音文件不存在"
    
       End If

 
End Sub

'Private Sub V_DigitDetected(ByVal LineIndex As Long, ByVal Digit As String)
' txtInfo.Text = txtInfo.Text + Chr(13) + Chr(10) + "Digit Detected:" & Digit
'End Sub

Private Sub V_Disconnected(ByVal LineIndex As Long)
showMsg "Disconnected"
v.Stop
cmdDrop_Click
v.CloseWaveFile
v.Drop
' CmdTakeData_Click
' cmdStartOrStopPlay_Click
End Sub

Private Sub V_PlayDone(ByVal LineIndex As Long)
 v.SetCurLine LineIndex
 v.CloseWaveFile
 showMsg "播放完毕"
 cmdStartOrStopPlay.Caption = "播放"
 cmdDrop_Click

End Sub

Private Sub V_RingBack(ByVal LineIndex As Long, ByVal nRing As Long)
showMsg "振铃 " + CStr(nRing) + "次"
If nRing = 5 Then
cmdDrop_Click
showMsg "超时,重拨?"
End If
End Sub

Sub showMsg(strMsg As String)
txtInfo.Text = txtInfo.Text + Chr(13) + Chr(10) + strMsg
txtInfo.SelStart = Len(txtInfo.Text)

End Sub

Private Sub V_Silence(ByVal LineIndex As Long)
showMsg "Silence Detected"
End Sub

Private Sub V_WaitConnectionTimeOut(ByVal LineIndex As Integer)
showMsg "Timout while Dialing"
cmdDrop_Click
End Sub

Private Sub CallHelp()
    Dim tmpFileName As String, Dummy As String
    Dim ExecPro As String * 255
    Dim RetVal As Long
    Dim HelpFile As String
    
    ExecPro = Space(255)
    tmpFileName = App.Path & "\help\help.chm"
    HelpFile = App.Path & "\help\help.chm"
    RetVal = FindExecutable(tmpFileName, Dummy, ExecPro)
    ExecPro = Trim(ExecPro)
    If RetVal <= 32 Or IsEmpty(ExecPro) Then
        MsgBox "未找到打开帮助文件的关联程序", vbExclamation, "Error"
    Else
        RetVal = ShellExecute(frmDemo.hwnd, "open", ExecPro, HelpFile, Dummy, SW_SHOW)
        If RetVal <= 32 Then
            MsgBox "未找到帮助文件"
        End If
    End If
End Sub

⌨️ 快捷键说明

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