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

📄 mdifrm.frm

📁 这是一个图书馆管理系统网络版
💻 FRM
📖 第 1 页 / 共 2 页
字号:

'图书类型管理
Private Sub Book_Type_Click()
    FrmBookType.Show
End Sub

'关于
Private Sub Hlp_About_Click()
    FrmAbout.Show
End Sub

'图书借阅
Private Sub Ope_Lend_Click()
    FrmLend.Show
End Sub

'缴纳欠款
Private Sub Ope_Pay_Click()
    FrmPay.Show
End Sub

'图书归还
Private Sub Ope_Return_Click()
    FrmReturn.Show
End Sub

'添加读者
Private Sub Rdr_Add_Click()
    FrmRdrAdd.Show
End Sub

'用户登录
Private Sub Rdr_Cnn_Click()
FrmRdrCnn.Show
End Sub

'删除读者
Private Sub Rdr_Delete_Click()
    FrmRdrDel.Show
End Sub

'读者信息查询
Private Sub Rdr_Query_Click()
    FrmRdrQuery.Show
End Sub

'查询图书借阅排名
Private Sub Stat_Top_Click()
    FrmStat.Show
End Sub

'连接服务器
Private Sub Sys_Connect_Click()
    FrmCnn.Show
End Sub

'添加管理员
Private Sub Usr_Add_Click()
    FrmUsrAdd.Show
End Sub

'删除管理员
Private Sub Usr_Delete_Click()
    FrmUsrDel.Show
End Sub

'查询管理员
Private Sub Usr_Query_Click()
    FrmUsrQuery.Show
End Sub

'退出系统
Private Sub Sys_Exit_Click()
    MyExit = MsgBox("是否要退出程序?", vbYesNo, "退出")
    If MyExit = vbYes Then End
End Sub

Private Sub MDIForm_Load()
    '确定该程序没有被启动过
    If App.PrevInstance Then
         MsgBox "您已经启动过了本程序!"
         End
    End If
End Sub

Private Sub MDIForm_Unload(Cancel As Integer)
    '检查Winsock连接是否关闭
    If Me.SockToSvr.State <> sckClosed Then
        Me.SockToSvr.Close
    End If
End Sub

'响应工具栏
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
    '连接服务器
    Case "Sys_Cnn"
        Call Sys_Connect_Click
    '用户登录
    Case "Rdr_Cnn"
        Call Rdr_Cnn_Click
    '退出系统
    Case "Sys_Exit"
        Call Sys_Exit_Click
    '借阅图书
    Case "Ope_Lend"
        Call Ope_Lend_Click
    '归还图书
    Case "Ope_Return"
        Call Ope_Return_Click
    '缴纳罚款
    Case "Ope_Pay"
        Call Ope_Pay_Click
    '图书类型管理
    Case "Book_Type"
        Call Book_Type_Click
    '图书信息管理
    Case "Book_Info"
        Call Book_Info_Click
    '添加读者信息
    Case "Rdr_Add"
        Call Rdr_Add_Click
    '删除读者信息
    Case "Rdr_Del"
        Call Rdr_Delete_Click
    '查询读者信息
    Case "Rdr_Query"
        Call Rdr_Query_Click
    '添加管理员
    Case "Usr_Add"
        Call Usr_Add_Click
    '删除管理员
    Case "Usr_Del"
        Call Usr_Delete_Click
    '管理员信息查询
    Case "Usr_Query"
        Call Usr_Query_Click
    '图书统计排行
    Case "Stat_Top"
        Call Stat_Top_Click
    '关于
    Case "Hlp_About"
        Call Hlp_About_Click
    End Select
End Sub

Private Sub SockToSvr_Close()
    '状态栏显示服务器状态
    MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:断开。"
End Sub

Private Sub SockToSvr_Connect() '连接服务器
Dim str As String

    '向服务器发送请求数据=Cnn,Usr_ID,Usr_Pwd
    str = "Cnn," & UserNow.ID & "," & UserNow.Pwd & ","
    '检验sock连接并向服务器发送数据
    If MDIFrm.SockToSvr.State <> sckConnected Then
        MsgBox "还没有连接数据库,不能发送请求!"
        Exit Sub
    End If
    Me.SockToSvr.SendData str
End Sub

Private Sub SockToSvr_DataArrival(ByVal bytesTotal As Long)
Dim StrArrival As String, StrGet() As String
Dim Start As Integer
Dim i As Integer, j As Integer, k As Integer
Dim LtItm As ListItem

    '接收数据,String类型
    Me.SockToSvr.GetData StrArrival, vbString
    If Len(StrArrival) < 1 Then Exit Sub
    
    '拆分接收到的数据
    StrGet() = Split(StrArrival, ",", -1)
    
    '得到帧头,按不同类型做响应的处理
    Select Case StrGet(0)
    '用户管理
    Case "Usr"
        '按类型处理
        Select Case StrGet(1)
        '添加管理员
        Case "01"
            '状态栏显示服务器状态
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应添加管理员。"
            '弹出提示框提示用户
            MsgBox StrGet(2), , "服务器响应"
            
        '删除管理员
        Case "02"
            '状态栏显示服务器状态
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应删除管理员。"
            '弹出提示框提示用户
            MsgBox StrGet(2), , "服务器响应"
        
        '查询管理员
        Case "03"
            '状态栏显示服务器状态
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询管理员。"
            '清空列表
            FrmUsrQuery.ListUsrResult.Clear
            '在列表中显示查询结果
            For i = 0 To UBound(StrGet) - 2
                FrmUsrQuery.ListUsrResult.AddItem StrGet(i + 2)
            Next i
            
        End Select
    
    '读者管理
    Case "Rdr"
        '按类型处理
        Select Case StrGet(1)
        '添加读者
        Case "01"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应添加读者。"
            MsgBox StrGet(2), , "服务器响应"
            
        '删除读者
        Case "02"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应删除读者。"
            MsgBox StrGet(2), , "服务器响应"
        
        '查询读者
        Case "03"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询读者。"
            FrmRdrQuery.ListRdrResult.Clear
            For i = 0 To UBound(StrGet) - 2
                FrmRdrQuery.ListRdrResult.AddItem StrGet(i + 2)
            Next i
            
        End Select

    '图书类型信息
    Case "Type"
        Select Case StrGet(1)
        '添加图书类型
        Case "01"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应添加图书类型。"
            MsgBox StrGet(2), , "服务器响应"
            
        '查询图书类型
        Case "02"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询图书类型。"
            '清空列表
            FrmBookType.ListQuery.Clear
            '添加查询结果
            For i = 0 To UBound(StrGet) - 2
                FrmBookType.ListQuery.AddItem StrGet(i + 2)
            Next i

        End Select
        
    '图书信息
    Case "Book"
        Select Case StrGet(1)
        '添加图书信息
        Case "01"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应添加图书信息。"
            MsgBox StrGet(2), , "服务器响应"
            
        '查询图书信息
        Case "02"
            MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询图书信息。"
            FrmBookInfo.LvBkResult.ListItems.Clear
            For i = 0 To UBound(StrGet) - 2
                Set LtItm = FrmBookInfo.LvBkResult.ListItems.Add()
                    LtItm.Text = i + 1
                    LtItm.SubItems(1) = StrGet(i + 2)
            Next i
                    
        End Select

    '借阅图书
    Case "Lend"
        MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应借阅图书。"
        MsgBox StrGet(1), , "服务器响应"

    '归还图书
    Case "Return"
        MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应归还图书。"
        MsgBox StrGet(1), , "服务器响应"

    '缴纳罚款
    Case "Pay"
        MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应缴纳罚款。"
        MsgBox StrGet(1), , "服务器响应"
    
    '图书排名信息
    Case "Stat"
        MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询图书排名信息。"
        FrmStat.LvTop.ListItems.Clear
        For i = 0 To UBound(StrGet) - 1
            Set LtItm = FrmStat.LvTop.ListItems.Add()
                LtItm.Text = i + 1
                LtItm.SubItems(1) = StrGet(i + 1)
        Next i
    
    '连接信息
    Case "Cnn"
        MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应连接信息。"
        MsgBox StrGet(1), , "服务器响应"
        
        '如果连接服务器失败,则关闭Winsock,等待重新连接
        If StrGet(1) = "该管理员名不存在!请重新输入!" Then
            Me.SockToSvr.Close
        ElseIf StrGet(1) = "密码错误!请重新输入!" Then
            Me.SockToSvr.Close
        End If
        
    End Select
    
End Sub


⌨️ 快捷键说明

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