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

📄 osd.frm

📁 酒店管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
     For i = 6 To 14
        MSFlexGrid1.Row = 15 - i        ' 置当前行
        MSFlexGrid1.Text = Str(i + 8) + "F"
       ' MSFlexGrid1.CellAlignment = 4   '当前格居中显示
     Next
  '*************************************************************************************
   Dim h As Byte, r As Byte
'--------------------------------------------------------------
  For h = 0 To 14
       For r = 2 To 32
           If SData(h, r).房号 <> "" Then
                MSFlexGrid1.Row = SData(h, r).y    ' 置当前行
                MSFlexGrid1.Col = SData(h, r).x      ' 置当前列
                MSFlexGrid1.Text = SData(h, r).房号
          End If
              If SData(h, r).房号 <> "" Then
                  Call 涂色(h, r)
              End If
       Next
   Next
  '-------------------------------------------------------------
  '**********************************************************************
End Sub

Sub 涂色(ByVal h As Byte, ByVal r As Byte)
Dim IC As Byte, LISK As Byte, ERR As Byte
           MSFlexGrid1.Visible = False
               '---------------------------------------------------------------
                MSFlexGrid1.Row = SData(h, r).y    ' 置当前行
                MSFlexGrid1.Col = SData(h, r).x      ' 置当前列
              '----------------------------------------------------------------
                ERR = SData(h, r).错误码
                 If ERR = 0 Then
                    '-------------------  涂房态色 -------------------------------------------------
                      LISK = SData(h, r).房态
                      If LISK = 0 Then
                          MSFlexGrid1.CellBackColor = &H80000005
                      ElseIf LISK = 1 Then
                         MSFlexGrid1.CellBackColor = &HFFFFC0     '浅兰
                      ElseIf LISK = 2 Then
                         MSFlexGrid1.CellBackColor = &HC0FFC0     '浅绿
                      ElseIf LISK = 3 Then
                             IC = SData(h, r).卡标
                             If IC = &H39 Or IC = &H38 Then
                                MSFlexGrid1.CellBackColor = &HFF00&    '绿       A
                             ElseIf IC = &H34 Or IC = &H37 Then
                                MSFlexGrid1.CellBackColor = &HC0C000   '海兰   B
                             ElseIf IC >= &H30 And IC <= &H33 Then
                                MSFlexGrid1.CellBackColor = &HFF8080   '紫兰  C
                             ElseIf IC = 0 Then
                                MSFlexGrid1.CellBackColor = &HC000&    '绿+     强制入住
                             End If
                      End If
                '---------------------------------------------------------------------------------------
                 ElseIf (ERR And &H10) <> 0 Then
                   MSFlexGrid1.CellBackColor = &H80C0FF      ' SOS=橙
                 Else
                   MSFlexGrid1.CellBackColor = &HC0FFFF      ' 异常=黄
                 End If
                '---------------------------------------------------------------------------------------
             MSFlexGrid1.Visible = True
End Sub

Private Function 根据表格xy求SData地址(ByVal Gx As Byte, ByVal Gy As Byte) As Boolean
Dim h As Byte, r As Byte
根据表格xy求SData地址 = False
'--------------------------------------------------------------
  For h = 0 To 14
       For r = 2 To 32
           If SData(h, r).x = Gx And SData(h, r).y = Gy Then
              根据表格xy求SData地址 = True
               Temp_Hub_Adr = h
               Temp_Rcu_Adr = r
               Exit For
          End If
       Next
   Next
  '-------------------------------------------------------------
End Function


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  Text7.Visible = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
  显示房态标志 = False
End Sub

Private Sub MSFlexGrid1_Click()
   If 根据表格xy求SData地址(MSFlexGrid1.Col, MSFlexGrid1.Row) = True Then
                If SData(Temp_Hub_Adr, Temp_Rcu_Adr).接收 = True Then
                    Call 显示指定帧(Temp_Hub_Adr, Temp_Rcu_Adr)
                    Text7.Height = 2415
                Else
                   Text7.Text = "房号:" + SData(Temp_Hub_Adr, Temp_Rcu_Adr).房号 + Chr(13) + Chr(10)
                   Text7 = Text7 + "--------------" + Chr(13) + Chr(10)
                   Text7 = Text7 + "未知"
                   Text7.Height = 900
                   Text7.Visible = True
               End If
   Else
           Text7.Visible = False
   End If
End Sub

Private Sub MSFlexGrid1_DblClick()
     If 根据表格xy求SData地址(MSFlexGrid1.Col, MSFlexGrid1.Row) = True Then
           Text7.Visible = False
           PopupMenu Form2.POP1  '弹出菜单
    End If
End Sub

Private Sub MSFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
           If MSFlexGrid1.Col = 28 Then
               Text7.Left = x - 800
            ElseIf MSFlexGrid1.Col = 27 Then
               Text7.Left = x - 400
             Else
               Text7.Left = x
             End If
          '-----------------------------------------
           If MSFlexGrid1.Row = 15 Then
             Text7.Top = y - 800
           Else
             Text7.Top = y
           End If
End Sub
Private Sub 显示指定帧(ByVal K As Byte, ByVal J As Byte)
 Dim 房号 As String, 房态 As String, 温度 As String, 空调 As String
Dim 模式 As String, 风机 As String
Dim 温控面板 As String, 紧急求助 As String
 Dim 读卡器 As String, 温度探头 As String, Data As Byte
'---------------------------------------------------------------------------------
 房号 = SData(K, J).房号
'-----------------------------------------
  If SData(K, J).开关机 = 0 Then
   空调 = "关"
  Else
   空调 = "开"
  End If
  '------------------------------------------------------------
   If SData(K, J).冷热模式 = 1 Then
     模式 = "制热"
   ElseIf SData(K, J).冷热模式 = 2 Then
     模式 = "制冷"
   ElseIf SData(K, J).冷热模式 = 3 Then
    模式 = "自动"
   End If
  '------------------------------------------------------------
  If SData(K, J).风机 = 1 Then
    风机 = "低速"
   ElseIf SData(K, J).风机 = 2 Then
    风机 = "中速"
   ElseIf SData(K, J).风机 = 3 Then
    风机 = "高速"
    ElseIf SData(K, J).风机 = 4 Then
    风机 = "自动"
   End If
  '--------------------------------
   If SData(K, J).房态 = 0 Then
    房态 = "空房"
   ElseIf SData(K, J).房态 = 1 Then
    房态 = "待租"
   ElseIf SData(K, J).房态 = 2 Then
    房态 = "出租"
   ElseIf SData(K, J).房态 = 3 Then
    房态 = "入住"
   End If
  '-----------------------------------------------
  If SData(K, J).当前温度H Or SData(K, J).当前温度L <> 0 Then
    温度 = Str((256 * SData(K, J).当前温度H + SData(K, J).当前温度L) / 10)
  End If
'=============================================================
Data = SData(K, J).错误码
      温控面板 = "正常": 读卡器 = "正常": 温度探头 = "正常": 紧急求助 = "无"
     If (Data And &H2) <> 0 Then 温控面板 = "异常"
     If (Data And &H4) <> 0 Then 读卡器 = "异常"
     If (Data And &H8) <> 0 Then 温度探头 = "异常"
     If (Data And &H10) <> 0 Then 紧急求助 = "有"
'=============================================================
Text7 = "房号:" + 房号 + Chr(13) + Chr(10)
Text7 = Text7 + "--------------" + Chr(13) + Chr(10)
Text7 = Text7 + "房态:" + 房态 + Chr(13) + Chr(10)
Text7 = Text7 + "温度:" + 温度 + Chr(13) + Chr(10)
Text7 = Text7 + "空调:" + 空调 + Chr(13) + Chr(10)
Text7 = Text7 + "模式:" + 模式 + Chr(13) + Chr(10)
Text7 = Text7 + "风机:" + 风机 + Chr(13) + Chr(10)
Text7 = Text7 + "--------------" + Chr(13) + Chr(10)
Text7 = Text7 + "温控面板:" + 温控面板 + Chr(13) + Chr(10)
Text7 = Text7 + "温度探头:" + 温度探头 + Chr(13) + Chr(10)
Text7 = Text7 + "读卡器  :" + 读卡器 + Chr(13) + Chr(10)
Text7 = Text7 + "紧急求助:" + 紧急求助 + Chr(13) + Chr(10)
'----------------------------------
Text7.Visible = True
End Sub

'Private Sub POP_A0_Click() '空房
''Call TX_房态(0)
'End Sub

'Private Sub POP_A1_Click() '待租
'Call TX_房态(1)
'End Sub

'Private Sub POP_A2_Click() '出租
'Call TX_房态(2)
'End Sub

'Private Sub POP_A3_Click() '入住
'Call TX_房态(3)
'End Sub
Sub TX_房态(LISK As Byte)
 ReDim TxData(6)  '重定义维数
 TxData(0) = &HFF
 TxData(1) = 5       'len
 TxData(2) = Temp_Rcu_Adr
 TxData(3) = &H22    'com
 TxData(4) = LISK  'lisk
 TxData(5) = 0
 TxData(6) = 0
   T_Hub_Adr = Temp_Hub_Adr
   If FrmWIK.Winsock1(T_Hub_Adr).State = sckConnected Then
       FrmWIK.Winsock1(T_Hub_Adr).SendData TxData()   '如已连拨则发送
   End If
End Sub
Sub 读楼层(h As Byte)
    'h=T_Hub_Adr
  ReDim TxData(3)  '重定义维数
    TxData(0) = &HFF
    TxData(1) = 2        'len
    TxData(2) = 2        'HUB_NEMA
    TxData(3) = &H25    'com
          If FrmWIK.Winsock1(h).State = sckConnected Then
              FrmWIK.Winsock1(h).SendData TxData()   '如已连拨则发送
          End If
End Sub

'Private Sub POP1_2_Click()
  'ReDim TxData(3)  '重定义维数
' TxData(0) = &HFF
' TxData(1) = 2        'len
' TxData(2) = Temp_Rcu_Adr
' TxData(3) = &H26    'com
 '--------------------------------------------------------------------------------------
 '  T_Hub_Adr = Temp_Hub_Adr
  ' If FrmWIK.Winsock1(T_Hub_Adr).State = sckConnected Then
     '  FrmWIK.Winsock1(T_Hub_Adr).SendData TxData()   '如已连拨则发送
  ' End If
'End Sub
Sub 强制复位该房()       '修改
  ReDim TxData(3)  '重定义维数
 TxData(0) = &HFF
 TxData(1) = 2        'len
 TxData(2) = Temp_Rcu_Adr
 TxData(3) = &H26    'com
 '--------------------------------------------------------------------------------------
   T_Hub_Adr = Temp_Hub_Adr
   If FrmWIK.Winsock1(T_Hub_Adr).State = sckConnected Then
       FrmWIK.Winsock1(T_Hub_Adr).SendData TxData()   '如已连拨则发送
   End If
End Sub
Private Sub Timer1_Timer()
    楼层 = 楼层 + 1
    Call 读楼层(楼层)
    If 楼层 = 14 Then Timer1.Enabled = False
End Sub

⌨️ 快捷键说明

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