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