生态65
首页 电脑知识 正文

卫生防护距离计算工具

电脑知识 5.38k

Dim A As Single

Dim B As Single

Dim c As Single

Dim d As Single

Dim R1 As Single

Dim qc As Single

Dim Cm As Single

Dim Rc As Single

Dim L As Single

Dim m1 As Single

Dim m2 As Single

Dim m3 As Single

Dim m4 As Single

Dim m5 As Single

Dim s As Single

Dim Lc As Single

Dim m7 As Single

Dim m8 As Single

Dim m9 As Single

Dim m10 As Single



Private Sub Combo4_Click()

    If Combo4.Text = "有" Then

        Combo2.Visible = True

        Label2(2).Visible = True

        Combo3.Visible = False

        Label2(3).Visible = False

    ElseIf Combo4.Text = "无" Then

        Combo3.Visible = True

        Label2(3).Visible = True

        Combo2.Visible = False

        Label2(2).Visible = False

    Else

        Combo3.Visible = False

        Label2(3).Visible = False

        Combo2.Visible = False

        Label2(2).Visible = False

    End If

End Sub



Private Sub Command1_Click()

    Text7.Text = 0.00001

    Text8.Text = 0.00001

    Text1.Text = 0.00001

    Text6.Text = 0.00001

End Sub



Private Sub Command2_Click()

    On Error Resume Next

    If Combo1.Text = "大于4" And Combo4.Text = "有" And Combo2.Text = "大于允许1/3" Then

        A = 530

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于4" And Combo4.Text = "有" And Combo2.Text = "小于允许1/3" Then

        A = 350

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于4" And Combo4.Text = "无" And Combo3.Text = "急性指标" Then

        A = 350

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于4" And Combo4.Text = "无" And Combo3.Text = "慢性指标" Then

        A = 260

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "有" And Combo2.Text = "大于允许1/3" Then

        A = 700

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "有" And Combo2.Text = "小于允许1/3" Then

        A = 470

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "无" And Combo3.Text = "急性指标" Then

        A = 470

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "无" And Combo3.Text = "慢性指标" Then

        A = 350

        B = 0.021

        c = 1.85

        d = 0.84

    ElseIf Combo1.Text = "小于2" Then

        A = 400

        B = 0.01

        c = 1.85

        d = 0.78

    Else

        MsgBox "你的输入或选择有误,请检查你的输入或选择!"

        A = 400

        B = 0.01

        c = 1.85

        d = 0.78

    End If



    Cm = Text1.Text

    qc = Text7.Text

    s = Text8.Text

    L = 0

    On Error Resume Next

    m1 = qc / Cm

    'Print "m1=" & m1

    m2 = 1 / A

    Rc = (s / 3.14) ^ 0.5

    Do While 1 = 1

        On Error Resume Next

        L = L + 0.01

        m7 = (L ^ c) B

        m8 = 0.25
(Rc ^ 2)

        m9 = (m7 + m8)

        m10 = m2 Sqr(m9)

        m3 = m10
(L ^ d)

        'Print "m3=" & m3

        m4 = L

        m5 = m3 - m1

        If Abs(m5 / m1) < 0.001 Then

            GoTo abc

        End If

    Loop

abc:     Lc = m4



    If Lc > 1000 And Lc <= 2000 Then

        If Combo1.Text = "大于4" And Combo4.Text = "有" And Combo2.Text = "大于允许1/3" Then

            A = 530

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于4" And Combo4.Text = "有" And Combo2.Text = "小于允许1/3" Then

            A = 350

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于4" And Combo4.Text = "无" And Combo3.Text = "急性指标" Then

            A = 350

            B = 0.021

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于4" And Combo4.Text = "无" And Combo3.Text = "慢性指标" Then

            A = 260

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "有" And Combo2.Text = "大于允许1/3" Then

            A = 700

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "有" And Combo2.Text = "小于允许1/3" Then

            A = 470

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "无" And Combo3.Text = "急性指标" Then

            A = 470

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "无" And Combo3.Text = "慢性指标" Then

            A = 350

            B = 0.036

            c = 1.77

            d = 0.84

        ElseIf Combo1.Text = "小于2" Then

            A = 400

            B = 0.015

            c = 1.79

            d = 0.78

        Else

            MsgBox "你的输入或选择有误,请检查你的输入或选择!"

            A = 400

            B = 0.015

            c = 1.79

            d = 0.78

        End If



        '如果在1000-2000之间重新核算防护距离

        Cm = Text1.Text

        qc = Text7.Text

        s = Text8.Text

        L = 1000

        m1 = qc / Cm

        'Print "m1=" & m1

        m2 = 1 / A

        Rc = (s / 3.14) ^ 0.5

        Do While 1 = 1

            On Error Resume Next

            L = L + 0.01

            m7 = B (L ^ c)

            m8 = 0.25
(Rc ^ 2)

            m9 = (m7 + m8)

            m10 = m2 Sqr(m9)

            m3 = m10
(L ^ d)

            'Print "m3=" & m3

            m4 = L

            m5 = m3 - m1

            If Abs(m5 / m1) < 0.001 Then

                GoTo def

            End If

        Loop



    ElseIf Lc > 2000 Then

        If Combo1.Text = "大于4" And Combo4.Text = "有" And Combo2.Text = "大于允许1/3" Then

            A = 290

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于4" And Combo4.Text = "有" And Combo2.Text = "小于允许1/3" Then

            A = 190

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于4" And Combo4.Text = "无" And Combo3.Text = "急性指标" Then

            A = 190

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于4" And Combo4.Text = "无" And Combo3.Text = "慢性指标" Then

            A = 140

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "有" And Combo2.Text = "大于允许1/3" Then

            A = 380

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "有" And Combo2.Text = "小于允许1/3" Then

            A = 250

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "无" And Combo3.Text = "急性指标" Then

            A = 250

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "大于2小于4" And Combo4.Text = "无" And Combo3.Text = "慢性指标" Then

            A = 190

            B = 0.036

            c = 1.77

            d = 0.76

        ElseIf Combo1.Text = "小于2" Then

            A = 80

            B = 0.015

            c = 1.79

            d = 0.57

        Else

            MsgBox "你的输入或选择有误,请检查你的输入或选择!"

            A = 80

            B = 0.015

            c = 1.79

            d = 0.57

        End If



        '如果在大于2000重新核算防护距离

        Cm = Text1.Text

        qc = Text7.Text

        s = Text8.Text

        L = 2000

        m1 = qc / Cm

        'Print "m1=" & m1

        m2 = 1 / A

        Rc = (s / 3.14) ^ 0.5

        Do While 1 = 1

            L = L + 0.01

            m7 = (L ^ c) B

            m8 = 0.25
(Rc ^ 2)

            m9 = (m7 + m8)

            m10 = m2 Sqr(m9)

            m3 = m10
(L ^ d)

            'Print "m3=" & m3

            m4 = L

            m5 = m3 - m1

            If Abs(m5 / m1) < 0.001 Then

                GoTo def

            End If

        Loop

    Else

    End If



def:

    Text6.Text = Lc

End Sub



Private Sub Label5_Click()



End Sub



Private Sub Command3_Click()

MsgBox " 1、防护距离在1000米以上,程序会自动试算,后重新选取ABCD值,后再计算! 2、经与EIA2.6核算,防护距离1000米内,核算结果误差在0.05米内;防护距离在1000米以上,核算结果误差在10米以内;产生误差原因是在计算机叠加过程中产生!不是参数选取有误!"

End Sub



Private Sub Form_Load()

    Combo1.AddItem "大于4"

    Combo1.AddItem "大于2小于4"

    Combo1.AddItem "小于2"

    Combo2.AddItem "大于允许1/3"

    Combo2.AddItem "小于允许1/3"

    Combo3.AddItem "急性指标"

    Combo3.AddItem "慢性指标"

    Combo4.AddItem "有"

    Combo4.AddItem "无"

    Combo2.Visible = True

    Label2(2).Visible = True

End Sub



Private Sub Text1_KeyPress(KeyAscii As Integer)

    Key = Chr(KeyAscii)

    Select Case Key

      Case "0" To "9"

        N = Val(Left(Text1.Text, Text1.SelStart) + Key + Mid(Text1.Text, Text1.SelStart + Text1.SelLength + 1))

      Case "."

        If InStr(Text1.Text, ".") Then

            KeyAscii = 0

            MsgBox ("数据输入错误,请检查输入")

        End If

      Case Else

        KeyAscii = 0

        MsgBox ("数据输入错误,请检查是否在数值输入状态")

    End Select

    If Key = "-" And (InStr(Text1.Text, "-") Or Text1.SelStart <> 0) Then

        KeyAscii = 0

        MsgBox ("数据输入错误,请检查是否在数值输入状态")

    End If

End Sub



Private Sub Text7_KeyPress(KeyAscii As Integer)

    Key = Chr(KeyAscii)

    Select Case Key

      Case "0" To "9"

        N = Val(Left(Text7.Text, Text7.SelStart) + Key + Mid(Text7.Text, Text7.SelStart + Text7.SelLength + 1))

      Case "."

        If InStr(Text7.Text, ".") Then

            KeyAscii = 0

            MsgBox ("数据输入错误,请检查输入")

        End If

      Case Else

        KeyAscii = 0

        MsgBox ("数据输入错误,请检查是否在数值输入状态")

    End Select

    If Key = "-" And (InStr(Text7.Text, "-") Or Text7.SelStart <> 0) Then

        KeyAscii = 0

        MsgBox ("数据输入错误,请检查是否在数值输入状态")

    End If

End Sub



Private Sub Text8_KeyPress(KeyAscii As Integer)

    Key = Chr(KeyAscii)

    Select Case Key

      Case "0" To "9"

        N = Val(Left(Text8.Text, Text8.SelStart) + Key + Mid(Text8.Text, Text8.SelStart + Text8.SelLength + 1))

      Case "."

        If InStr(Text8.Text, ".") Then

            KeyAscii = 0

            MsgBox ("数据输入错误,请检查输入")

        End If

      Case Else

        KeyAscii = 0

        MsgBox ("数据输入错误,请检查是否在数值输入状态")

    End Select

    If Key = "-" And (InStr(Text8.Text, "-") Or Text8.SelStart <> 0) Then

        KeyAscii = 0

        MsgBox ("数据输入错误,请检查是否在数值输入状态")

    End If

End Sub




上一篇 烟气抬升高度计算
下一篇 风险评价-两相泄漏量计算

发表评论

还没有评论