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

📄 client.frm

📁 This article introduces how to construct a Hospital Ward Information System with three-tiered techno
💻 FRM
📖 第 1 页 / 共 3 页
字号:
            imgFriend(k).ToolTipText = arrFriends(k).nickname
            lblName(k).Top = imgFriend(k).Top + imgFriend(k).Height + 50
            lblName(k).Caption = arrFriends(k).nickname
        Else
            k = FriendCount - 1
                Load imgFriend(k)
                Load lblName(k)
                imgFriend(k).Top = imgFriend(k - 1).Top + imgFriend(k - 1).Height + lblName(k - 1).Height + 250
                lblName(k).Top = imgFriend(k).Top + imgFriend(k).Height + 50
                 Set imgFriend(k).Picture = ImageList.ListImages(arrFriends(k).img * 2 - arrFriends(k).state).Picture
                imgFriend(k).ToolTipText = arrFriends(k).nickname
                lblName(k).Caption = arrFriends(k).nickname
                imgFriend(k).Visible = True
                lblName(k).Visible = True
        End If
            '设置滚动条
            HScroll.Value = 1
            HScroll_Change
            HScroll.Min = 1
            HScroll.Max = lblName(k).Top + lblName(k).Height + 100
            If HScroll.Max > picFriend.ScaleHeight Then
                HScroll.Max = HScroll.Max - (picFriend.Height - HScroll.Height)
                HScroll.Visible = True
                HScroll.SmallChange = HScroll.Max / k
                HScroll.LargeChange = HScroll.Max / k * 2
                HScroll.Value = 1
                HScroll_Change

            Else
                HScroll.Visible = False
            End If
        Exit Sub
            Case "QICQFRD"
            '填写好友数组
                vardata = Right(vardata, Len(vardata) - 7)
                Do While InStr(1, vardata, "QICQFRD", vbTextCompare) > 0
                    k = InStr(1, vardata, "QICQFRD", vbTextCompare)
                    strsub = Left(vardata, k - 1)
                    vardata = Right(vardata, Len(vardata) - k - 6)
                    '对strsub分析
                    location = 0
                    Do While location < 5
                        k = InStr(1, strsub, ",", vbTextCompare)
                        strsub1 = Left(strsub, k - 1)
                        strsub = Right(strsub, Len(strsub) - k)
                        location = location + 1
                        Select Case location
                        Case 1
                            arrFriends(FriendCount).username = strsub1
                        Case 2
                            arrFriends(FriendCount).nickname = strsub1
                        Case 3
                            arrFriends(FriendCount).img = Int(strsub1)
                        Case 4
                            arrFriends(FriendCount).state = Int(strsub1)
                        Case 5
                            arrFriends(FriendCount).ip = strsub1
                        End Select
                    Loop
                    FriendCount = FriendCount + 1
                    ReDim Preserve arrFriends(UBound(arrFriends) + 1)
                Loop
                '图像显示
                'MsgBox CStr(FriendCount)
                k = 0
                imgFriend(k).Top = 100
                Set imgFriend(k).Picture = ImageList.ListImages(arrFriends(k).img * 2 - arrFriends(k).state).Picture
                imgFriend(k).ToolTipText = arrFriends(k).nickname
                lblName(k).Top = imgFriend(k).Top + imgFriend(k).Height + 50
                lblName(k).Caption = arrFriends(k).nickname
                For k = 1 To FriendCount - 1
                    Load imgFriend(k)
                    Load lblName(k)
                    imgFriend(k).Top = imgFriend(k - 1).Top + imgFriend(k - 1).Height + lblName(k - 1).Height + 250
                    lblName(k).Top = imgFriend(k).Top + imgFriend(k).Height + 50
                     Set imgFriend(k).Picture = ImageList.ListImages(arrFriends(k).img * 2 - arrFriends(k).state).Picture
                    imgFriend(k).ToolTipText = arrFriends(k).nickname
                    lblName(k).Caption = arrFriends(k).nickname
                    imgFriend(k).Visible = True
                    lblName(k).Visible = True
                Next
                '设置滚动条
                k = k - 1
                HScroll.Min = 1
                HScroll.Max = lblName(k).Top + lblName(k).Height + 100
                If HScroll.Max > picFriend.ScaleHeight Then
                    HScroll.Max = HScroll.Max - (picFriend.Height - HScroll.Height)
                    HscrollValueBak = 1
                    HScroll.Visible = True
                    HScroll.SmallChange = HScroll.Max / k
                    HScroll.LargeChange = HScroll.Max / k * 2
                    HScroll.Value = 1
                    HScroll_Change
                Else
                    HScroll.Visible = False
                End If
            'Exit Sub
    Case "QICQRTC"
        '二人世界申请
        vardata = Right(vardata, Len(vardata) - 7)
           Do While location < 6
               k = InStr(1, vardata, ",", vbTextCompare)
               strsub = Left(vardata, k - 1)
               location = location + 1
               vardata = Right(vardata, Len(vardata) - k)
               Select Case location
               Case 1
                   strName = strsub
               Case 2
                   strip = strsub
               Case 3
                   port = CLng(strsub)
               Case 4
                    strNickName = strsub
               Case 5
                    intImg = Int(strsub)
               Case 6
                    intState = Int(strsub)
               End Select
           Loop
        strQuery = vardata
            If Len(vardata) <> 0 Then
                strsub = "并发来信息:" + vardata
            Else
                strsub = ""
            End If
        '查找此用户是否是好友
        For k = 0 To FriendCount - 1
            If arrFriends(k).username = strName Then Exit For
        Next
        If k <= FriendCount - 1 Then
            '是好友
            If MsgBox(arrFriends(k).nickname + "要和你建立聊天二人世界," + strsub, vbOKCancel + vbQuestion, "二人世界请求!") = vbOK Then
                '建立二人世界,新建窗口frmtwo
                Set frmNewTwo(TwoCount) = New frmTwo
                frmNewTwo(TwoCount).Tag = strName
                frmNewTwo(TwoCount).Show
                frmNewTwo(TwoCount).wskUDP.RemoteHost = strip
                frmNewTwo(TwoCount).wskUDP.RemotePort = port
                '本地端口
                frmNewTwo(TwoCount).wskUDP.LocalPort = 10000 + ConCount * 2 + 1
                
                frmNewTwo(TwoCount).ImgFrd = LoadPicture(App.Path + "\ico\" + CStr(intImg) + ".ico")
                frmNewTwo(TwoCount).lblFrd = strNickName
                '填写连接信息
                arrCon(ConCount).ip = strip
                arrCon(ConCount).port = port
                arrCon(coucount).username = strName
                '发送信息给对方
                frmClient.wskClient.SendData "QICQATC" + CStr(10000 + ConCount * 2 + 1) + "," + strName
                '数组扩展
                ConCount = ConCount + 1
                ReDim Preserve arrCon(UBound(arrCon) + 1)
                TwoCount = TwoCount + 1
                ReDim Preserve frmNewTwo(UBound(frmNewTwo) + 1)
            Else
                '拒绝
                frmClient.wskClient.SendData "QICQATC-1," + strName
            End If
        Else
        '不是好友
            MsgBox arrFriends(k).nickname + "要和你建立聊天二人世界," + strsub + ",但他(她)不是你的好友,是否添加他(她)为好友,并建立聊天二人世界?"
            MsgBox "此代码请读者完成!"
        End If
        Exit Sub
    Case "QICQATC"
        '二人世界连接
        vardata = Right(vardata, Len(vardata) - 7)
        k = InStr(1, vardata, ",", vbTextCompare)
        '建立连接
            strName = Left(vardata, k - 1)
            port = CLng(Right(vardata, Len(vardata) - k))
        If port <> -1 Then
            For k = 0 To FriendCount - 1
                If arrFriends(k).username = strName Then Exit For
            Next
            Set frmNewTwo(TwoCount) = New frmTwo
            frmNewTwo(TwoCount).Tag = strName
            frmNewTwo(TwoCount).Show
            frmNewTwo(TwoCount).wskUDP.RemoteHost = arrFriends(k).ip
            frmNewTwo(TwoCount).wskUDP.RemotePort = port
            '本地端口
            frmNewTwo(TwoCount).wskUDP.LocalPort = 10000 + ConCount * 2
            frmNewTwo(TwoCount).ImgFrd = LoadPicture(App.Path + "\ico\" + CStr(arrFriends(k).img) + ".ico")
            frmNewTwo(TwoCount).lblFrd = arrFriends(k).nickname
            '填写连接信息
            arrCon(ConCount).ip = arrFriends(k).ip
            arrCon(ConCount).port = port
            arrCon(coucount).username = arrFriends(k).username
            '数组扩展
            ConCount = ConCount + 1
            ReDim Preserve arrCon(UBound(arrCon) + 1)
            TwoCount = TwoCount + 1
            ReDim Preserve frmNewTwo(UBound(frmNewTwo) + 1)
        
        Else
            MsgBox "用户拒绝请求!", vbInformation
        End If
        Unload frmConTwo
        Exit Sub
    Case "QICQUPL"
        '好友在线信息
        vardata = Right(vardata, Len(vardata) - 7)
        k = InStr(1, vardata, ",", vbTextCompare)
        strName = Left(vardata, k - 1)
        strip = Right(vardata, Len(vardata) - k)
        For k = 0 To FriendCount - 1
            If arrFriends(k).username = strName Then Exit For
        Next
        '更改
        arrFriends(k).ip = strip
        arrFriends(k).state = 1
        imgFriend(k).Picture = ImageList.ListImages(arrFriends(k).img * 2 - 1).Picture
        Exit Sub
    Case "QICQOUT"
        '离线
        strName = Right(vardata, Len(vardata) - 7)
        For k = 0 To FriendCount - 1
            If arrFriends(k).username = strName Then Exit For
        Next
        arrFriends(k).state = 1
        imgFriend(k).Picture = ImageList.ListImages(arrFriends(k).img * 2).Picture
        '退出对话
        For k = 0 To TwoCount - 1
            If frmNewTwo(k).Tag = strName Then
            Unload frmNewTwo(k)
            Exit For
            End If
        Next
        Exit Sub
    End Select
    If Left(vardata, 7) = "QICQSTA" Then
        vardata = Right(vardata, Len(vardata) - 7)
            Select Case vardata
            Case "用户注册成功!"
                cmdLogout.Enabled = True
                cmdLogin.Enabled = False
                cmdRegister.Enabled = False
                cmdFind.Enabled = True
                cmdInfo.Enabled = True
                cmdChat.Enabled = True
               ' mnuLeft.Visible = True
                'mnuRight.Visible = True
                 Unload frmReg
                 Unload frmLogin
            Case "用户已经存在!"
            
            Case "你成功登录了!"
                Unload frmLogin
                cmdLogin.Enabled = False
                cmdLogout.Enabled = True
                cmdRegister.Enabled = False
                cmdFind.Enabled = True
                cmdInfo.Enabled = True
                cmdChat.Enabled = True
                'mnuLeft.Visible = True
                'mnuRight.Visible = True

            Case "没有这个用户!"
              '重新登录
                cmdLogout.Enabled = False
                cmdRegister.Enabled = False
                cmdLogin.Enabled = True
            Case "系统关闭!"
                MsgBox vardata
                  cmdLogout.Enabled = False
                  cmdRegister.Enabled = False
                  cmdLogin.Enabled = True
                  If FriendCount > 0 Then
                
                      For k = 1 To FriendCount - 1
                          Unload imgFriend(k)
                          Unload lblName(k)
                      Next
                      Set imgFriend(0).Picture = Nothing
                      lblName(0).Caption = ""
                      ReDim arrFriends(1) As FriendInfo
                      FriendCount = 0
                  End If
                  For k = 0 To TwoCount - 1
                      Unload frmNewTwo(k)
                  Next
                      TwoCount = 0
                      ReDim frmNewTwo(1) As frmTwo
                     ' Unload Me
                Exit Sub
            End Select
         MsgBox vardata
 End If
End Sub

Private Sub wskClient_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox Description, vbInformation, "出错"
End Sub

⌨️ 快捷键说明

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