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

📄 mdi.frm

📁 考勤机管理软件,用于统计某段时间某个部门或者某个员工在某段内迟到与早退次数.
💻 FRM
📖 第 1 页 / 共 2 页
字号:
        sState = "Success"
        If nCmd <> CmdSetKQJMode And nCmd <> CmdGetInterval And nCmd <> CmdGetLoginInfo Then
        
            If FindWindow("frmCardConfig") Then
                If frmCardConfig.Check1 Then
                    If nCmd <> CmdLoginCard Then
                        Message "操作成功!"
                    End If
                Else
                    Message "操作成功!"
                End If
            Else
                If nCmd = CmdSetEnrollPW Then
                    KQJPWD = Trim(frmKQJConfig.txtNewPwd.Text)
                End If
                Message "操作成功!"
            End If
        
        End If
    Else
        sState = "StateUnknow"
        Message "StateUnknow"
    End If
    
    
    
    
    
    
    
'    If nCmd = cmdWriteCardStandard Or nCmd = CmdLoginCard Then
    

    
'    End If
    
    
    If nCmd = CmdDirectAccessCard Then '27
        sCmd = "CmdDirectAccessCard"
        
    ElseIf nCmd = CmdGetInterval Then
        sCmd = "CmdSetInterval"
        frmKQJConfig.txtInterval.Text = Val("&h" + sData)
        
    ElseIf nCmd = CmdFastWrite Then '20
        sCmd = "CmdFastWrite"
    ElseIf nCmd = CmdGetArouseInterval Then '25
        sCmd = "CmdGetArouseInterval"
'        SlidInterval.Value = Val("&h" + sData)
'------------------------------------------------------CmdGetCardPassword
    ElseIf nCmd = CmdGetCardPassword Then '28
        sCmd = "CmdGetCardPassword"
'        TxtCardPassword.Text = sData
    ElseIf nCmd = CmdGetHavePassword Then '12
        sCmd = "CmdGetHavePassword"
'        TxtHavePassword.Text = Val("&H" + sData)
    ElseIf nCmd = CmdGetKQJMode Then '7
        sCmd = "CmdGetKQJMode"
'        TxtKQJMode.Text = sData
'------------------------------------------------------CmdGetLoginInfo
    ElseIf nCmd = CmdGetLoginInfo Then '16
        sCmd = "CmdGetLoginInfo"
        s = ""
        For i = 1 To 6
             s = s + Chr(Val("&h" + Mid(sData, i + i - 1, 2)))
        Next
        KQJPWD = s
'
'        For i = 0 To LoginUpPage - 1
'            TxtPageCount(i) = Val("&h" + Mid(sData, (i + 1 + EnrollPWLen) * 2 - 1, 2))
'        Next
'----------------------------------------------------------------------------
    ElseIf nCmd = CmdGetP4 Then '1
        sCmd = "CmdGetP4"
'        TxtP4.Text = sData
'------------------------------------------------------CmdGetStoreRecordInfo
    ElseIf nCmd = CmdGetStoreRecordInfo Then '14
'         sCmd = "CmdGetStoreRecordInfo"
'         TxtSiAddr.Text = Mid(sData, 1, 4)
'         TxtSuAddr.Text = Mid(sData, 5, 2)
'         TxtEiAddr.Text = Mid(sData, 7, 4)
'         TxtEuAddr.Text = Mid(sData, 11, 2)
'         tmpl = Val("&h" + Mid(sData, 13, 2)) * 256 * 256 + Val("&h" + Mid(sData, 15, 2)) * 256 + Val("&h" + Mid(sData, 17, 2))
'         TxtRecordCount.Text = Trim(tmpl)
'         txtInterval.Text = Val("&h" + Mid(sData, 19, 2))
'         TxtPreSiAddr.Text = Mid(sData, 21, 4)
'         TxtPreSuAddr.Text = Mid(sData, 25, 2)
'         tmpl = Val("&h" + Mid(sData, 27, 2)) * 256 * 256 + Val("&h" + Mid(sData, 29, 2)) * 256 + Val("&h" + Mid(sData, 31, 2))
'         TxtPreCount.Text = Trim(tmpl)
'----------------------------------------------------------------------------
'--------------------------------------------------------CmdGetWriteCardParam
    ElseIf nCmd = CmdGetWriteCardParam Then '10
         sCmd = "CmdGetWriteCardParam"
'         TxtLen0.Text = Val("&h" + Mid(sData, 1, 2))
'         TxtLen1.Text = Val("&h" + Mid(sData, 3, 2))
'         Txtgap.Text = Val("&h" + Mid(sData, 5, 2))
'         TxtSGap.Text = Val("&h" + Mid(sData, 7, 2))
'         TxtlenEnd.Text = Val("&h" + Mid(sData, 9, 2))
'----------------------------------------------------------------------------
    ElseIf nCmd = CmdLoginCard Then '5
        sCmd = "CmdLoginCard"
    ElseIf nCmd = CmdReadCard Then '3
         sCmd = "CmdReadCard"
    ElseIf nCmd = CmdReadDS12C887 Then '21
         sCmd = "CmdReadDS12C887"
'         TxtReceive.Text = sData
    ElseIf nCmd = CmdReadW29C040 Then '19
         sCmd = "CmdReadW29C040"
'         TxtReceive.Text = sData
    ElseIf nCmd = CmdSetArouseInterval Then '26
         sCmd = "CmdSetArouseInterval"
    ElseIf nCmd = CmdSetCardPassword Then '29
          sCmd = "CmdSetCardPassword"
    ElseIf nCmd = CmdSetDateTime Then '24
          sCmd = "CmdSetDateTime"
    ElseIf nCmd = CmdSetEnrollPW Then '18
           sCmd = "CmdSetEnrollPW"
    ElseIf nCmd = CmdSetHavePassword Then '13
           sCmd = "CmdSetHavePassword"
    ElseIf nCmd = CmdSetKQJMode Then '8
           sCmd = "CmdSetKQJMode"
    ElseIf nCmd = CmdSetLoginInfo Then '17
        sCmd = "CmdSetLoginInfo"
    ElseIf nCmd = CmdSetP4 Then '2
        sCmd = "CmdSetP4"
    ElseIf nCmd = CmdSetStoreRecordInfo Then '15
         sCmd = "CmdSetStoreRecordInfo"
    ElseIf nCmd = CmdSetWriteCardParam Then '11
         sCmd = "CmdSetWriteCardParam"
         
'--------------------------------------------------------CmdTransferPreData
    ElseIf nCmd = CmdTransferData Then '22
        sCmd = "CmdTransferData"
        tmpl = 0
        If nState = StateFirstSegment Then '12
            frmKQJData.ProgressBar.Max = lParam
            frmKQJData.ProgressBar.Value = 0
            tmpl = Len(sData) / 20
        ElseIf nState = StateContinueSegment Then '13
            tmpl = Len(sData) / 20
        ElseIf nState = Success Then '128
            tmpl = Len(sData) / 20
'            Debug.Print "Max = " + Str(ProgressBar.Max) + ",Value = " + Str(ProgressBar.Value)
        End If
        frmKQJData.ProgressBar.Value = frmKQJData.ProgressBar.Value + tmpl
        
        InData (sData)
'----------------------------------------------------------------------------

'--------------------------------------------------------CmdTransferPreData
    ElseIf nCmd = CmdTransferPreData Then '23
        sCmd = "CmdTransferPreData"
        tmpl = 0
        If nState = StateFirstSegment Then
            frmKQJData.ProgressBar.Max = lParam
            frmKQJData.ProgressBar.Value = 0
            tmpl = Len(sData) / 20
        ElseIf nState = StateContinueSegment Then
            tmpl = Len(sData) / 20
        ElseIf nState = Success Then
            tmpl = Len(sData) / 20
'            Debug.Print "Max = " + Str(ProgressBar.Max) + ",Value = " + Str(ProgressBar.Value)
        End If
        frmKQJData.ProgressBar.Value = frmKQJData.ProgressBar.Value + tmpl
        
        InData (sData)
'----------------------------------------------------------------------------

    ElseIf nCmd = CmdUnLoginCard Then '6
         sCmd = "CmdUnLoginCard"
    ElseIf nCmd = CmdWriteCard Then '4
          sCmd = "CmdWriteCard"
    ElseIf nCmd = CmdWriteOneByte Then '9
         sCmd = "CmdWriteOneByte"
         
'--------------------------------------------------------CmdGetReadCardParam
    ElseIf nCmd = CmdGetReadCardParam Then '30
        sCmd = "CmdGetReadCardParam"
'        TxtLmin.Text = Val("&h" + Mid(sData, 1, 2))
'        TxtL0_5p.Text = Val("&h" + Mid(sData, 3, 2))
'        TxtR0_5p.Text = Val("&h" + Mid(sData, 5, 2))
'        TxtL1p.Text = Val("&h" + Mid(sData, 7, 4))
'        TxtR1p.Text = Val("&h" + Mid(sData, 11, 4))
'        TxtL1_5p.Text = Val("&h" + Mid(sData, 15, 4))
'        TxtR1_5p.Text = Val("&h" + Mid(sData, 19, 4))
'        TxtRmax.Text = Val("&h" + Mid(sData, 23, 4))
'----------------------------------------------------------------------------
    ElseIf nCmd = CmdSetReadCardParam Then '31
        sCmd = "CmdSetReadCardParam"
    ElseIf nCmd = CmdUnLoginCardManual Then '33
        sCmd = "CmdUnLoginCardManual"
    ElseIf nCmd = cmdWriteCardStandard Then '32
        sCmd = "CmdWriteCardStandard"
    Else
        sCmd = "CmdUnknow:" + Str(nCmd)
    End If
    
    

    
    
'    s = "nCmd = " + sCmd + ", nState = " + sState + " sData = " + sData + " lParam = " + Str(lParam)

    
'    TxtInfo.Text = TxtInfo.Text + s + vbCrLf
'    TxtInfo.SelLength = Len(TxtInfo.Text)
    'Debug.Print s
End Sub

Public Sub InData(Data As String)
On Error GoTo InErr
    If Data = "" Then Exit Sub
    Dim i As Integer
    Dim InDate As String
    Dim InCode As String
    Dim InTime As String
    
    Dim rec  As New ADODB.Recordset
    
    If rec.State = 1 Then rec.Close
    Set rec = Nothing
    rec.CursorLocation = adUseClient
    rec.Open "select * from InData where InCode='' ", con, adOpenStatic, adLockBatchOptimistic
    
    con.BeginTrans
    i = 1
    Do While Len(Data) <> 0
        InDate = Left(Data, 8)
        Data = Right(Data, Len(Data) - 8)
        InCode = Left(Data, 8)
        Data = Right(Data, Len(Data) - 8)
        InTime = Left(Data, 4)
        Data = Right(Data, Len(Data) - 4)
              
        rec.AddNew
        rec.Fields("InDate") = InDate
        rec.Fields("InCode") = InCode
        rec.Fields("InTime") = InTime
        rec.Update
    Loop
    
    rec.UpdateBatch
    con.CommitTrans
    i = 2
    
    If rec.State = 1 Then rec.Close
    Set rec = Nothing

    
'    con.Execute "select distinct InDate,InCode,InTime into Tmp from InData"
'    'Sleep (200)
'
'    con.Execute "drop table InData"
'    'Sleep (200)
'
'    con.Execute "select * into InData from Tmp"
'   ' Sleep (200)
'
'    con.Execute "drop table Tmp"
   ' Sleep (200)
    
    
    Message "提取完成!"
    
    Exit Sub
    
InErr:
    If i = 1 Then con.RollbackTrans
    MsgBox Err.Description
End Sub






Private Sub mnuBaseChild_Click(Index As Integer)

    Select Case Index
        Case 201
            frmClass.ZOrder
        Case 202
            frmSetClass.ZOrder
            
        Case 203
            frmVac.ZOrder
        Case 204
            frmEmployee.ZOrder

    End Select
    
End Sub

Private Sub mnuBaseLeaveInfo_Click()

End Sub

Private Sub mnuBaseVacInfo_Click()
    
End Sub

Private Sub mnuBaseExport_Click()
    frmExport.ZOrder
End Sub

Private Sub mnuCardConfig_Click()
    frmCardConfig.ZOrder
End Sub

Private Sub mnuDataAddClass_Click()
    frmAddClass.ZOrder
End Sub

Private Sub mnuDataExport_Click()

End Sub

Private Sub mnuDataGet_Click()
    frmKQJData.ZOrder
End Sub

Private Sub mnuDataLeave_Click()
    frmLeave.ZOrder
End Sub

Private Sub mnuDataSetVac_Click()
    frmSetVac.ZOrder
End Sub

Private Sub mnuDataViewClass_Click()
    frmViewClass.ZOrder
End Sub

Private Sub mnuKQJConfig_Click()
    frmKQJConfig.ZOrder
End Sub

Private Sub mnuReport_Click()
    frmReport.Show
End Sub

Private Sub mnuSystemExit_Click()
    Unload Me
End Sub

Private Sub mnuUser_Click()
    frmUser.ZOrder
End Sub

Private Sub Timer1_Timer()
    Message "不能访问考勤机,请检查是否连接正常!"
    Timer1.Enabled = False
    
End Sub

Private Sub ViewTimePos_Click()
    frmRptTimePos.ZOrder
End Sub

⌨️ 快捷键说明

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