📄 无线温度监控系统.frm
字号:
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 270
Left = 1080
Locked = -1 'True
TabIndex = 4
Text = "0"
Top = 840
Width = 975
End
Begin VB.TextBox Tin
DataSource = "Adodc1"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000006&
Height = 270
Left = 1080
Locked = -1 'True
TabIndex = 3
Text = "0"
Top = 360
Width = 975
End
Begin VB.Label Label4
Caption = "℃"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 2
Left = 2160
TabIndex = 9
Top = 1320
Width = 375
End
Begin VB.Label Label4
Caption = "℃"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 1
Left = 2160
TabIndex = 8
Top = 840
Width = 375
End
Begin VB.Label Label4
Caption = "℃"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 0
Left = 2160
TabIndex = 7
Top = 360
Width = 375
End
Begin VB.Label Label01
Caption = "内外温差"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 5
Top = 1320
Width = 735
End
Begin VB.Label Label03
Caption = "室 外"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 2
Top = 840
Width = 615
End
Begin VB.Label Label02
Caption = "室 内"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 1
Top = 360
Width = 735
End
End
Begin VB.Label Label1
Caption = "温度/℃"
Height = 255
Left = 3120
TabIndex = 33
Top = 960
Width = 855
End
Begin VB.Label dtime
Alignment = 1 'Right Justify
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 11160
TabIndex = 12
Top = 7080
Width = 2655
End
Begin VB.Label Label5
Alignment = 2 'Center
Caption = "无线温度监控系统"
BeginProperty Font
Name = "隶书"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 3000
TabIndex = 10
Top = 240
Width = 7935
End
End
Attribute VB_Name = "无线温度监控系统"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'串口
Dim OutByte() As Byte
Dim InByte() As Byte
Dim BufIn As Variant, BufOut As Variant, InH As Single, InL As Single, OutH As Single, OutL As Single
Dim DatIn(10001) As Single, DatOut(10001) As Single
Dim k As Integer
'曲线
Dim num As Integer
Dim stext As String
Dim t As Single
Private Sub butAbout_Click()
frmAbout.Show
End Sub
Private Sub butExit_Click()
End
End Sub
Private Sub butMakeSure_Click()
If timezq.Text <> "" Then
Select Case cobDW
Case "秒": t = Val(timezq.Text) / 60#
Case "分钟": t = Val(timezq.Text)
Case "小时": t = Val(timezq.Text) * 60
Case "日": t = Val(timezq.Text) * 60 * 24
Case "月": t = Val(timezq.Text) * 60 * 24 * 30
Case "年": t = Val(timezq.Text) * 60 * 24 * 30 * 12
End Select
End If
imgDraw.Cls
imgDraw.Scale (-t, 40)-(0, 0)
Call Form_Activate
End Sub
Private Sub butSP_Click()
If SPflag.FillColor = vbGreen Then
Call SPOFF
Else
Call SPON
End If
End Sub
Private Sub cobDW_Change()
'Call timezq_Change
End Sub
Private Sub Command1_Click()
frmHistory.Show
End Sub
Private Sub Form_Load()
dtime.Caption = Now
Call butMakeSure_Click
'曲线
imgDraw.Scale (-t, 40)-(0, 0)
imgDraw.BorderStyle = 0
imgDraw.DrawWidth = 1
k = 0
num = 0
InH = 0
OutH = 0
InL = 40
OutL = 40
End Sub
Public Sub Form_Activate()
imgDraw.DrawStyle = 2
For i = 1 To 7
imgDraw.Line (0, 5 * i)-(-t, 5 * i) '纵
imgDraw.Line (-t * i / 8#, 0)-(-t * i / 8#, 40)
Next i
imgDraw.DrawStyle = 0
imgDraw.Line (0, 0)-(-t, 0)
imgDraw.Line (0, 40)-(-t, 40)
imgDraw.Line (-0, 0)-(-0, 40)
imgDraw.Line (-t, 0)-(-t, 40)
'设置数值坐标点0,10,20,30,40
pl = imgDraw.Height
For i = 0 To 4
Pic2.CurrentX = 0
Pic2.CurrentY = pl - i * pl / 4
Pic2.Print Right(Str(i * 10), 3)
Next i
End Sub
Private Sub Labelt_Click()
End Sub
Private Sub Timer1_Timer()
dtime.Caption = Now
If MSComm1.PortOpen = True Then
Call GetData
imgDraw.Cls
Call Form_Activate
For i = 1 To num - 2
'imgDraw.PSet (-1# * i / 60, DatIn(num - i)), vbRed
'imgDraw.PSet (-1# * i / 60, DatOut(num - i)), vbBlue
imgDraw.Line (-1# * i / 60, DatIn(num - i))-(-1# * (i + 1) / 60, DatIn(num - i - 1)), vbRed
imgDraw.Line (-1# * i / 60, DatOut(num - i))-(-1# * (i + 1) / 60, DatOut(num - i - 1)), vbBlue
Next i
End If
End Sub
Public Sub SPON()
MSComm1.PortOpen = True
SPflag.FillColor = vbGreen
SPStatus.Text = "已打开"
butSP.Caption = "关闭串口"
End Sub
Public Sub SPOFF()
MSComm1.PortOpen = False
SPflag.FillColor = vbRed
SPStatus.Text = "已关闭"
butSP.Caption = "打开串口"
End Sub
Public Sub GetData()
Dim i%
InByte = MSComm1.Input
For i = LBound(InByte) To UBound(InByte)
If InByte(i) = 35 Then
If k = 0 Then
BufIn = BufIn + Chr$(13) + Chr$(10)
Else
BufOut = BufOut + Chr$(13) + Chr$(10)
End If
k = k + 1
ElseIf InByte(i) <> 0 And InByte(i) <> 13 And InByte(i) <> 10 And InByte(i) <> 32 Then
If k = 0 Then
BufIn = BufIn + Chr(InByte(i))
Else
BufOut = BufOut + Chr(InByte(i))
End If
ElseIf InByte(i) = 10 Then
If BufIn < 40 And BufOut < 40 And BufIn <> 0 And BufOut <> 0 Then
Tin.Text = BufIn
Tout.Text = BufOut
DatIn(num) = BufIn
DatOut(num) = BufOut
Diff.Text = Format(BufIn - BufOut, "0.0")
Call CalHL '调用计算最高温度和最低温度的函数
'Adodc1.RecordSource = "insert into tdata values(" & BufIn & "," & BufOut & " ," & Now & ")"
'Adodc1.Recordset.AddNew
If Second(Time) = 0 And Minute(Time) Mod 5 = 0 Then
stext = stext + "室内:" & CStr(BufIn) & "室外:" & CStr(BufOut) & "时间:" + CStr(Now)
stext = stext + Chr(13) + Chr(10)
'History.Text = stext
End If
num = num + 1
If num = 10000 Then
num = 0
End If
End If
BufIn = ""
BufOut = ""
k = 0
End If
Next i
End Sub
Public Sub CalHL()
If BufIn > InH Then
InH = BufIn
tInH.Text = InH
End If
If BufIn < InL Then
InL = BufIn
tInL.Text = InL
End If
If BufOut > OutH Then
OutH = BufOut
tOutH.Text = OutH
End If
If BufOut < OutL Then
OutL = BufOut
tOutL.Text = OutL
End If
End Sub
Public Sub timezq_Change()
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -