📄 demo_1_5.frm
字号:
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 + -