123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- Public Class 安培容量計算
- Dim 開始計算 As Boolean
- Private Sub Set_電線清單()
- Dim ds1 As New DataSet : 電線清單_dgv.DataSource = Nothing : ds1.Clear()
- 電線清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 電線清單_dgv.ColumnHeadersHeight = 25
- 電線清單_dgv.AllowUserToAddRows = False
- SQL_電線清單()
- da.Fill(ds1) : 電線清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
- End Sub
- Private Sub Set_電纜清單()
- Dim ds1 As New DataSet : 電纜清單_dgv.DataSource = Nothing : ds1.Clear()
- 電纜清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 電纜清單_dgv.ColumnHeadersHeight = 25
- 電纜清單_dgv.AllowUserToAddRows = False
- If 表定安培容量1_tb.Text = "" Then : 表定安培容量1_tb.Text = "0" : End If
- SQL_電纜清單()
- da.Fill(ds1) : 電纜清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
- End Sub
- Private Sub 安培容量計算_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- End Sub
- Private Sub 安培容量計算_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
- 開始計算 = False : 最高容許溫度_cb.SelectedIndex = 0 : 周圍溫度_cb.SelectedIndex = 0 : 電線_cb.SelectedIndex = 0 : 施工方式_cb.SelectedIndex = 0
- 額定電壓_cb.SelectedIndex = 0 : 周圍溫度1_cb.Text = "30" : 開始計算 = True
- End Sub
- Private Sub 電線總類_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 電線清單_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 線別_cb.Text = 電線清單_dgv("線別", e.RowIndex).Value.ToString
- 公稱截面積_cb.Text = 電線清單_dgv("公稱截面積", e.RowIndex).Value.ToString : 根數直徑_cb.Text = 電線清單_dgv("根數/直徑", e.RowIndex).Value.ToString
- End If
- End Sub
- Private Sub 電纜清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 電纜清單_dgv.CellClick
- If e.RowIndex = -1 Then : Else : 公稱截面積1_cb.Text = 電纜清單_dgv("公稱截面積", e.RowIndex).Value.ToString : End If
- End Sub
- '-------------------電線--------------------------------------------------------------------------------------------------------------------------------------------------
- Private Sub 最高容許溫度_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 最高容許溫度_cb.SelectedIndexChanged
- PA1 = 最高容許溫度_cb.Text : SQL_電線總類清單1() : 電線_cb.Items.Clear() : While (dr.Read()) : 電線_cb.Items.Add(Strings.Mid(dr("絕緣電線種類"), 3, 50)) : End While : conn.Close()
- If 開始計算 = True Then
- If 正向計算_ch.Checked = True Then
- PA9 = 周圍溫度_cb.Text : SQL_安培容量表基數4()
- If dr.Read() Then
- If 最高容許溫度_cb.Text = "60" Then : 修正係數_tb.Text = dr("60℃").ToString : ElseIf 最高容許溫度_cb.Text = "75" Then : 修正係數_tb.Text = dr("75℃").ToString
- ElseIf 最高容許溫度_cb.Text = "80" Then : 修正係數_tb.Text = dr("80℃").ToString : ElseIf 最高容許溫度_cb.Text = "90" Then : 修正係數_tb.Text = dr("90℃").ToString : End If
- End If : 計算安培數()
- Else
- PA9 = 周圍溫度_cb.Text : SQL_安培容量表基數4()
- If dr.Read() Then
- If 最高容許溫度_cb.Text = "60" Then : 修正係數_tb.Text = dr("60℃").ToString : ElseIf 最高容許溫度_cb.Text = "75" Then : 修正係數_tb.Text = dr("75℃").ToString
- ElseIf 最高容許溫度_cb.Text = "80" Then : 修正係數_tb.Text = dr("80℃").ToString : ElseIf 最高容許溫度_cb.Text = "90" Then : 修正係數_tb.Text = dr("90℃").ToString : End If
- End If : 安培容量反推()
- End If
- End If
- End Sub
- Private Sub 配線方式_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 配線方式_cb.SelectedIndexChanged
- If 正向計算_ch.Checked = True Then
- PA9 = 配線方式_cb.Text
- SQL_安培容量表基數3() : 導線數_cb.Items.Clear() : While (dr.Read()) : 導線數_cb.Items.Add(dr("導線管內導線數")) : End While : conn.Close() : 計算安培數()
- Else
- PA9 = 配線方式_cb.Text
- SQL_安培容量表基數3() : 導線數_cb.Items.Clear() : While (dr.Read()) : 導線數_cb.Items.Add(dr("導線管內導線數")) : End While : conn.Close() : 安培容量反推()
- End If
- End Sub
- Private Sub 線別_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 線別_cb.SelectedIndexChanged
- PA9 = 線別_cb.Text
- SQL_安培容量表基數1() : 公稱截面積_cb.Items.Clear() : While (dr.Read()) : 公稱截面積_cb.Items.Add(dr("公稱截面積")) : End While : conn.Close()
- SQL_安培容量表基數2() : 根數直徑_cb.Items.Clear() : While (dr.Read()) : 根數直徑_cb.Items.Add(dr("根數/直徑")) : End While : conn.Close()
- If 正向計算_ch.Checked = True Then : 計算安培數() : Else : End If
- End Sub
- Private Sub 周圍溫度_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 周圍溫度_cb.SelectedIndexChanged
- PA9 = 周圍溫度_cb.Text : SQL_安培容量表基數4()
- If dr.Read() Then
- If 最高容許溫度_cb.Text = "60" Then : 修正係數_tb.Text = dr("60℃").ToString : ElseIf 最高容許溫度_cb.Text = "75" Then : 修正係數_tb.Text = dr("75℃").ToString
- ElseIf 最高容許溫度_cb.Text = "80" Then : 修正係數_tb.Text = dr("80℃").ToString : ElseIf 最高容許溫度_cb.Text = "90" Then : 修正係數_tb.Text = dr("90℃").ToString : End If
- End If
- If 正向計算_ch.Checked = True Then : 計算安培數() : Else : End If
- End Sub
- Private Sub 根數直徑_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 根數直徑_cb.SelectedIndexChanged
- PA9 = 根數直徑_cb.Text : SQL_安培容量表基數5() : If dr.Read() Then : 公稱截面積_cb.Text = dr("公稱截面積").ToString : End If
- If 正向計算_ch.Checked = True Then : 計算安培數() : Else : End If
- End Sub
- Private Sub 導線數_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 導線數_cb.SelectedIndexChanged
- If 正向計算_ch.Checked = True Then : 計算安培數() : Else : 安培容量反推() : End If
- End Sub
- Private Sub 計算安培數()
- PA1 = 配線方式_cb.Text : PA2 = 線別_cb.Text : PA3 = 根數直徑_cb.Text : PA4 = 最高容許溫度_cb.Text : PA5 = 導線數_cb.Text
- SQL_安培容量表基數6() : If dr.Read() Then : 表定安培容量_tb.Text = dr("安培容量").ToString : Else : 表定安培容量_tb.Text = "" : End If
- End Sub
- Private Sub 表定安培容量_tb_TextChanged(sender As Object, e As EventArgs) Handles 表定安培容量_tb.TextChanged
- If 正向計算_ch.Checked = True Then
- If IsNumeric(表定安培容量_tb.Text) = True And IsNumeric(修正係數_tb.Text) = True Then
- If 修正係數_tb.Text = "0" Then : 表定安培容量_tb.Text = 安培容量_tb.Text : Else
- 安培容量_tb.Text = Strings.Format(CInt(表定安培容量_tb.Text) * CDbl(修正係數_tb.Text), "#,##0.0")
- End If
- Else : 安培容量_tb.Text = "" : End If
- Else : End If
- End Sub
- Private Sub 修正係數_tb_TextChanged(sender As Object, e As EventArgs) Handles 修正係數_tb.TextChanged
- If 正向計算_ch.Checked = True Then
- If IsNumeric(表定安培容量_tb.Text) = True And IsNumeric(修正係數_tb.Text) = True Then
- If 修正係數_tb.Text = "0" Then : 表定安培容量_tb.Text = 安培容量_tb.Text : Else
- 安培容量_tb.Text = Strings.Format(CInt(表定安培容量_tb.Text) * CDbl(修正係數_tb.Text), "#,##0.0")
- End If
- Else : 安培容量_tb.Text = "" : End If
- Else
- If IsNumeric(安培容量_tb.Text) = True And IsNumeric(修正係數_tb.Text) = True Then
- If 修正係數_tb.Text = "0" Then : 表定安培容量_tb.Text = 安培容量_tb.Text : Else
- 表定安培容量_tb.Text = CInt(CInt(安培容量_tb.Text) / CDbl(修正係數_tb.Text))
- End If
- Else : 安培容量_tb.Text = "" : End If
- End If
-
- End Sub
- Private Sub 正向計算_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 正向計算_ch.Click
- 正向計算_ch.Checked = True : 反向計算_ch.Checked = False
- 最高容許溫度_lb.ForeColor = Color.Red : 線別_lb.ForeColor = Color.Red : 配線方式_lb.ForeColor = Color.Red
- 導線數_lb.ForeColor = Color.Red : 根數直徑_lb.ForeColor = Color.Red : 表定安培容量_lb.Text = "表定安培容量"
- End Sub
- Private Sub 反向計算_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 反向計算_ch.Click
- 正向計算_ch.Checked = False : 反向計算_ch.Checked = True
- 最高容許溫度_lb.ForeColor = Color.Red : 線別_lb.ForeColor = Color.Black : 配線方式_lb.ForeColor = Color.Red
- 導線數_lb.ForeColor = Color.Red : 根數直徑_lb.ForeColor = Color.Black : 表定安培容量_lb.Text = "推算安培容量"
- End Sub
- Private Sub 安培容量反推()
- If 安培容量_tb.Text = "" Then : 安培容量_tb.Text = "0" : End If
- If 修正係數_tb.Text = "0" Then : 表定安培容量_tb.Text = 安培容量_tb.Text : Else
- 表定安培容量_tb.Text = CInt(CInt(安培容量_tb.Text) / CDbl(修正係數_tb.Text))
- End If
- PA1 = 配線方式_cb.Text : PA2 = 最高容許溫度_cb.Text : PA3 = 表定安培容量_tb.Text : PA4 = 導線數_cb.Text
- Set_電線清單()
- End Sub
- Private Sub 安培容量_tb_TextChanged(sender As Object, e As EventArgs) Handles 安培容量_tb.TextChanged
- If 正向計算_ch.Checked = True Then : Else : 安培容量反推() : End If
- End Sub
- '-------------------電纜--------------------------------------------------------------------------------------------------------------------------------------------------
- Private Sub 正向計算1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 正向計算1_ch.Click
- 正向計算1_ch.Checked = True : 反向計算1_ch.Checked = False : 表定安培容量1_lb.Text = "表定安培容量" : 公稱截面積1_lb.ForeColor = Color.Red
- End Sub
- Private Sub 反向計算1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 反向計算1_ch.Click
- 正向計算1_ch.Checked = False : 反向計算1_ch.Checked = True : 表定安培容量1_lb.Text = "推算安培容量" : 公稱截面積1_lb.ForeColor = Color.Black
- End Sub
- Private Sub 施工方式_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 施工方式_cb.SelectedIndexChanged
- PA9 = 施工方式_cb.Text
- SQL_電纜安培容量表基數1() : 電纜_cb.Items.Clear() : While (dr.Read()) : 電纜_cb.Items.Add(dr("材質")) : End While : conn.Close()
- PA9 = 周圍溫度1_cb.Text : SQL_電纜安培容量表基數5()
- If dr.Read() Then
- If 施工方式_cb.Text = "地下管路敷設" Or 施工方式_cb.Text = "直埋敷設" Then : 修正係數1_tb.Text = dr("地下敷設").ToString
- Else : 修正係數1_tb.Text = dr("暗渠空架").ToString : End If
- End If
- End Sub
- Private Sub 電纜_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 電纜_cb.SelectedIndexChanged
- PA9 = 施工方式_cb.Text : PA8 = 電纜_cb.Text
- SQL_電纜安培容量表基數2() : 管路_心數_cb.Items.Clear() : While (dr.Read()) : 管路_心數_cb.Items.Add(dr("管路數/心數")) : End While : conn.Close()
- PA9 = 施工方式_cb.Text : PA8 = 電纜_cb.Text : PA7 = 額定電壓_cb.Text
- SQL_電纜安培容量表基數3() : 公稱截面積1_cb.Items.Clear() : While (dr.Read()) : 公稱截面積1_cb.Items.Add(dr("公稱截面積")) : End While : conn.Close()
- End Sub
- Private Sub 額定電壓_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 額定電壓_cb.SelectedIndexChanged
- PA9 = 施工方式_cb.Text : PA8 = 電纜_cb.Text : PA7 = 額定電壓_cb.Text : If 正向計算1_ch.Checked = True Then : 表定安培容量1_tb.Text = "" : End If
- SQL_電纜安培容量表基數3() : 公稱截面積1_cb.Items.Clear() : While (dr.Read()) : 公稱截面積1_cb.Items.Add(dr("公稱截面積")) : End While : conn.Close()
- If 正向計算1_ch.Checked = True Then : Else
- PA1 = 施工方式_cb.Text : PA2 = 電纜_cb.Text : PA3 = 表定安培容量1_tb.Text : PA4 = 額定電壓_cb.Text : PA5 = 管路_心數_cb.Text : Set_電纜清單()
- End If
- End Sub
- Private Sub 公稱截面積1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 公稱截面積1_cb.SelectedIndexChanged
- If 正向計算1_ch.Checked = True Then
- If 管路_心數_cb.Text = "" Then : 表定安培容量1_tb.Text = "" : Else
- PA9 = 施工方式_cb.Text : PA8 = 電纜_cb.Text : PA7 = 額定電壓_cb.Text : PA6 = 公稱截面積1_cb.Text : PA5 = 管路_心數_cb.Text
- SQL_電纜安培容量表基數4() : If dr.Read() Then : 表定安培容量1_tb.Text = dr("安培容量").ToString : End If
- End If
- Else : End If
- End Sub
- Private Sub 周圍溫度1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 周圍溫度1_cb.SelectedIndexChanged
- PA9 = 周圍溫度1_cb.Text : SQL_電纜安培容量表基數5()
- If dr.Read() Then
- If 施工方式_cb.Text = "地下管路敷設" Or 施工方式_cb.Text = "直埋敷設" Then : 修正係數1_tb.Text = dr("地下敷設").ToString
- Else : 修正係數1_tb.Text = dr("暗渠空架").ToString : End If
- End If
- End Sub
- Private Sub 表定安培容量1_tb_TextChanged(sender As Object, e As EventArgs) Handles 表定安培容量1_tb.TextChanged
- If 正向計算1_ch.Checked = True Then
- If 表定安培容量1_tb.Text <> "" And 表定安培容量1_tb.Text <> "" Then
- 安培容量1_tb.Text = Strings.Format(CInt(表定安培容量1_tb.Text) * CDbl(修正係數1_tb.Text), "#,##0.00")
- Else : 安培容量1_tb.Text = "0" : End If
- Else
- PA1 = 施工方式_cb.Text : PA2 = 電纜_cb.Text : PA3 = 表定安培容量1_tb.Text : PA4 = 額定電壓_cb.Text : PA5 = 管路_心數_cb.Text : Set_電纜清單()
- End If
- End Sub
- Private Sub 修正係數1_tb_TextChanged(sender As Object, e As EventArgs) Handles 修正係數1_tb.TextChanged
- If 正向計算1_ch.Checked = True Then
- If 表定安培容量1_tb.Text <> "" And 表定安培容量1_tb.Text <> "" Then
- 安培容量1_tb.Text = Strings.Format(CInt(表定安培容量1_tb.Text) * CDbl(修正係數1_tb.Text), "#,##0.00")
- Else : 安培容量1_tb.Text = "0" : End If
- Else
- If 修正係數1_tb.Text <> "" And 安培容量1_tb.Text <> "" Then
- 表定安培容量1_tb.Text = Strings.Format(CInt(安培容量1_tb.Text) / CDbl(修正係數1_tb.Text), "#,##0.00")
- Else : 安培容量1_tb.Text = "0" : End If
- End If
- End Sub
- Private Sub 安培容量1_tb_TextChanged(sender As Object, e As EventArgs) Handles 安培容量1_tb.TextChanged
- If 正向計算1_ch.Checked = True Then : Else
- If 修正係數1_tb.Text <> "" And 安培容量1_tb.Text <> "" Then
- 表定安培容量1_tb.Text = Strings.Format(CInt(安培容量1_tb.Text) / CDbl(修正係數1_tb.Text), "#,##0.00")
- Else : 安培容量1_tb.Text = "0" : End If
- End If
- End Sub
- Private Sub 管路_心數_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 管路_心數_cb.SelectedIndexChanged
- If 正向計算1_ch.Checked = True Then : Else
- PA1 = 施工方式_cb.Text : PA2 = 電纜_cb.Text : PA3 = 表定安培容量1_tb.Text : PA4 = 額定電壓_cb.Text : PA5 = 管路_心數_cb.Text : Set_電纜清單()
- End If
- End Sub
- End Class
|