?? 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 + -