📄 module2.bas
字号:
Attribute VB_Name = "modDraw"
'实现上端跳,上端跳和上径跳,下径跳的线形动态显示
Public Sub DrawLine(Angle As Single, JumpOne As Single, JumpTwo As Single, ByRef N As Integer)
Dim Color1 As Single
Dim Color2 As Single
Const k = 840
'设置单位,单位的转化
Const Unit1 = 1693 / 60 'Angle的单位值
Const Unit2 = 380 'Jump的单位值
Dim X1 As Double '上端跳,上端跳和上径跳,下径跳的起点角度系坐标
Dim X2 As Double '上端跳,上端跳和上径跳,下径跳的终点角度系坐标
Dim Y1 As Double '上端跳,上端跳和上径跳,下径跳的起点跳动系坐标
Dim Y2 As Double '上端跳,上端跳和上径跳,下径跳的终点跳动系坐标
Color1 = RGB(255, 0, 0) '上端跳和上径跳的颜色:红色
Color2 = RGB(0, 0, 255) '下端跳和下径跳的颜色:蓝色
'设置点的位置
X1 = (Angle - StepAngle) * Unit1 + k
Y1 = 1340 - JumpOne * Unit2
X2 = Angle * Unit1 + k
Y2 = 1340 - JumpTwo * Unit2
If JumpOne > 3# Then '如果点的跳动量大于3.0,那么默认为3.0
Y1 = 1340 - 3 * Unit2
End If
If JumpTwo > 3# Then '如果点的跳动量大于3.0,那么默认为3.0
Y2 = 1340 - 3 * Unit2
End If
If JumpOne < -3# Then '如果点的跳动量大于3.0,那么默认为3.0
Y1 = 1340 + 3 * Unit2
End If
If JumpTwo < -3# Then '如果点的跳动量大于3.0,那么默认为3.0
Y2 = 1340 + 3 * Unit2
End If
'绘制直线
Select Case N
Case 1
Main.PicDuan.Line (X1, Y1)-(X2, Y2), Color1
Case 4
Main.PicDuan.Line (X1, Y1)-(X2, Y2), Color2
Case 2
Main.PicJing.Line (X1, Y1)-(X2, Y2), Color1
Case 3
Main.PicJing.Line (X1, Y1)-(X2, Y2), Color2
End Select
End Sub
'显示产品等级统计数
Public Sub Display(DengJi As String)
Dim Percent As Single
Dim temp As String
'如果检测到某等级的产品则更新数据
Main.clJian.Caption = DengJi
Main.clJian.FontSize = 20
'If Main.clJian.Caption = DengJi Then
Main.Frame3.Caption = "检测结果"
'Else: Main.Frame3.Caption = ""
'End If
Select Case DengJi
Case "合格品"
Counter(1) = Counter(1) + 1
temp = Format(Counter(1), "000")
Main.clTong(0).Caption = temp
Case "一级处理品"
Counter(2) = Counter(2) + 1
temp = Format(Counter(2), "000")
Main.clTong(1).Caption = temp
Case "二级处理品"
Counter(3) = Counter(3) + 1
temp = Format(Counter(3), "000")
Main.clTong(2).Caption = temp
Case "返修品"
Counter(4) = Counter(4) + 1
temp = Format(Counter(4), "000")
Main.clTong(3).Caption = temp
Case "废品"
Counter(5) = Counter(5) + 1
temp = Format(Counter(5), "000")
Main.clTong(4).Caption = temp
End Select
Main.clTong(6).Caption = temp
ProNumber = Counter(1) + Counter(2) + Counter(3) + Counter(4) + Counter(5)
Main.clTong(5).Caption = ProNumber
temp = Format(ProNumber, "0000")
Percent = 100 * ((Counter(4) + Counter(5))) / ProNumber
If Percent < 10 Then
Main.clTong(6).Caption = Format(Percent, "0.00")
ElseIf Percent < 100 Then
Main.clTong(6).Caption = Format(Percent, "00.00")
Else
Main.clTong(6).Caption = Format(Percent, "000.00")
End If
End Sub
'在面板上显示瞬时值和跳动量
Public Sub DisplayData(mydata As Single, i As Integer, k As Integer)
'K=1表示瞬时值,K=2表示跳动量
If k = 1 Then
'If i = 0 Then
' Main.clSun(0).Caption = Format(mydata, "00.00")
'ElseIf i = 1 Then
' Main.clSun(1) = Format(mydata, "00.00")
'ElseIf i = 2 Then
' Main.clSun(2) = Format(mydata, "00.00")
' Main.clSun(3) = Format(mydata, "00.00")
'End If
Main.clSun(i).Caption = Format(mydata, "00.00")
Else
'If i = 0 Then
Main.clTiao(i).Caption = Format(mydata, "00.00")
'ElseIf i = 1 Then
' Main.clTiao(1) = Format(mydata, "00.00")
'ElseIf i = 2 Then
' Main.clTiao(2) = Format(mydata, "00.00")
'Else
' Main.clTiao(3) = Format(mydata, "00.00")
'End If
End If
End Sub
'-----------------------------------
'班统计数据清零
Public Sub ClearZero()
Dim l As Integer
For l = 1 To 5
Counter(l) = 0
Call Format(Counter(l), "000")
Next l
ProNumber = 0
Call Format(ProNumber, "0000")
Main.clTong(6).Caption = 100
End Sub
Public Sub DrawRadius1(AngleOne As Single, AngleTwo As Single, JumpOne As Single, JumpTwo As Single)
Dim X0 As Double
Dim Y0 As Double
Dim X1 As Double
Dim Y1 As Double
Dim X2 As Double
Dim Y2 As Double
Dim X3 As Double
Dim Y3 As Double
Dim X4 As Double
Dim Y4 As Double
Const pi = 3.1415926
Const R = 2000
AngleOne = AngleOne / DownRate
AngleTwo = AngleTwo / DownRate
'根据实际检测的结果画圆
X0 = frmDrawRadius.PicRadius.ScaleWidth / 2
Y0 = frmDrawRadius.PicRadius.ScaleHeight / 2
X1 = X0 - Cos(AngleOne * pi / 180) * (10 * JumpOne + R) '设置第一点的X坐标
Y1 = Y0 - Sin(AngleOne * pi / 180) * (10 * JumpOne + R) '设置第一点的Y坐标
X2 = X0 - Cos(AngleTwo * pi / 180) * (10 * JumpTwo + R) '设置第二点的X坐标
Y2 = Y0 - Sin(AngleTwo * pi / 180) * (10 * JumpTwo + R) '设置第二点的Y坐标
frmDrawRadius.PicRadius.Line (X1, Y1)-(X2, Y2), vbRed '连接各点
'设置标准的圆
X3 = X0 - Cos(AngleOne * pi / 180) * R '设置第一点的X坐标
Y3 = Y0 - Sin(AngleOne * pi / 180) * R '设
'置第一点的Y坐标
X4 = X0 - Cos(AngleTwo * pi / 180) * R '设置第二点的X坐标
Y4 = Y0 - Sin(AngleTwo * pi / 180) * R '设置第二点的Y坐标
frmDrawRadius.PicRadius.Line (X3, Y3)-(X4, Y4), vbBlack '连接各点
End Sub
Public Sub DrawRadius2(AngleOne As Single, AngleTwo As Single, JumpOne As Single, JumpTwo As Single)
Dim X0 As Double
Dim Y0 As Double
Dim X1 As Double
Dim Y1 As Double
Dim X2 As Double
Dim Y2 As Double
Const pi = 3.1415926
Const R = 2000
AngleOne = AngleOne / DownRate
AngleTwo = AngleTwo / DownRate
'根据实际检测的结果画圆
X0 = frmDrawRadius.PicRadius.ScaleWidth / 2
Y0 = frmDrawRadius.PicRadius.ScaleHeight / 2
X1 = X0 - Cos(AngleOne * pi / 180) * (10 * JumpOne + R) '设置第一点的X坐标
Y1 = Y0 - Sin(AngleOne * pi / 180) * (10 * JumpOne + R) '设置第一点的Y坐标
X2 = X0 - Cos(AngleTwo * pi / 180) * (10 * JumpTwo + R) '设置第二点的X坐标
Y2 = Y0 - Sin(AngleTwo * pi / 180) * (10 * JumpTwo + R) '设置第二点的Y坐标
frmDrawRadius.PicRadius.Line (X1, Y1)-(X2, Y2), vbBlue '连接各点
End Sub
'Public Sub DrawRadius3(AngleOne As Single, AngleTwo As Single, JumpOne As Single, JumpTwo As Single)
'Dim X0 As Double
'Dim Y0 As Double
'Dim X1 As Double
'Dim Y1 As Double
'Dim X2 As Double
'Dim Y2 As Double
'Const pi = 3.1415926
'Const R = 2000
'根据实际检测的结果画圆
'X0 = frmDrawRadius.PicRadius.ScaleWidth / 2
'Y0 = frmDrawRadius.PicRadius.ScaleHeight / 2
'X1 = X0 - Cos(AngleOne * pi / 180) * (10 * JumpOne + R) '设置第一点的X坐标
'Y1 = Y0 - Sin(AngleOne * pi / 180) * (10 * JumpOne + R) '设置第一点的Y坐标
'X2 = X0 - Cos(AngleTwo * pi / 180) * (10 * JumpTwo + R) '设置第二点的X坐标
'Y2 = Y0 - Sin(AngleTwo * pi / 180) * (10 * JumpTwo + R) '设置第二点的Y坐标
'frmDrawRadius.PicRadius.Line (X1, Y1)-(X2, Y2), vbGreen '连接各点
' End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -