Files
ECO2/ArinWarev1/Calculator/CShared.vb
tindevil 2f394faf88 ..
2020-08-15 19:34:49 +09:00

171 lines
8.2 KiB
VB.net

''' <remarks>공용으로 사용되는 값을을 이곳에서 설정한다</remarks>
Public Class CShared
Public ReadOnly Property 기상데이터() As DS.tbl_weatherRow
Get
If DSET1.tbl_Desc.Rows.Count = 0 Then
MsgBox("건물개요데이터가 없습니다.", MsgBoxStyle.Critical, "오류")
Return Nothing
Else
Try
Dim drArea As DS.tbl_DescRow = CType(DSET1.tbl_Desc.Rows(0), DS.tbl_DescRow)
Return CType(DSET1.tbl_weather.Select("code ='" & drArea.buildarea & "'")(0), DS.tbl_weatherRow)
Catch ex As Exception
MsgBox("건물개요의 지역정보를 찾을수없습니다.", MsgBoxStyle.Critical, "오류")
Return Nothing
End Try
End If
End Get
End Property
''' <summary>
''' 오류가있는가?
''' </summary>
Public IsError As Boolean = False
''' <summary>
''' 주6일근무제로 변경
''' </summary>
''' <remarks></remarks>
Public d_full() As Decimal
''' <summary>
''' 외기온도값
''' </summary>
Public theta_e(12) As Decimal
''' <summary>
''' 평균일사값이 들어있다.
''' </summary>
Public I_s(8, 12) As Decimal
''' <summary>
''' 외기온도 난방기(최대)
''' </summary>
Public theta_e_min As Decimal
''' <summary>
''' 외기온도 냉방기(최대)
''' </summary>
Public theta_e_max As Decimal
Public F_sh_gl(7, 11) As Decimal '//2010.02.26 차양감소계수
''' <summary>
''' 클래스 생성자
''' </summary>
Public Sub New()
'//지정된 존에 해당하는 지역정보를 가지고옴(현재기상정보가 존에 할당되어있어서 그렇다)
'//1번째 존에 지역이 설정된걸로 간주한다
'Dr신재생 = CType(DSET.tbl_new.Rows(0), DS.tbl_newRow)
d_full = New Decimal() {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} '우선 휴일없는 것으로 설정
'd_op = new decimal() {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} '우선 휴일없는 것으로 설정 각달의 일수 ##### 02/21 삭제됨
'd_we = new decimal() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} ' 우선 휴일없는 것으로 설정
'//최소외기온도 설정
theta_e_min = TOSG(기상데이터.난방기)
theta_e_max = TOSG(기상데이터.냉방기)
'//지역의 외기온도값
theta_e(0) = 0
theta_e(1) = TOSG(기상데이터.m01)
theta_e(2) = TOSG(기상데이터.m02)
theta_e(3) = TOSG(기상데이터.m03)
theta_e(4) = TOSG(기상데이터.m04)
theta_e(5) = TOSG(기상데이터.m05)
theta_e(6) = TOSG(기상데이터.m06)
theta_e(7) = TOSG(기상데이터.m07)
theta_e(8) = TOSG(기상데이터.m08)
theta_e(9) = TOSG(기상데이터.m09)
theta_e(10) = TOSG(기상데이터.m10)
theta_e(11) = TOSG(기상데이터.m11)
theta_e(12) = TOSG(기상데이터.m12)
'//월별평균일사(기상데이터) 9개를 가져온다. 그중 최대부하값만 취한다.
'//현재 기상ROW의 CODE 와같은 Weather ilsa 데이터를 가져온다.
'//엑셀의 0 to 8 은 9개의 평균일사 데이터를 의미한다
Dim DRow일사() As DS.weather_ilsaRow = CType(DSET1.weather_ilsa.Select("pcode='" & 기상데이터.code & "'", "code"), DS.weather_ilsaRow())
If DRow일사.GetUpperBound(0) = -1 Then
MsgBox("월별평균일사데이터중 " & 기상데이터.code & "에 해당되는 지역이 없습니다", MsgBoxStyle.Critical, "CShared")
Me.IsError = True
Else
For i As Short = 0 To 8 'DRow일사.GetUpperBound(0) <- 이식을 사용하려했으나 45도용데이터떄문에 사용못함
Dim DR일사 As DS.weather_ilsaRow = DRow일사(i)
I_s(i, 0) = TOSG(DR일사.최대부하)
I_s(i, 1) = TOSG(DR일사.m01)
I_s(i, 2) = TOSG(DR일사.m02)
I_s(i, 3) = TOSG(DR일사.m03)
I_s(i, 4) = TOSG(DR일사.m04)
I_s(i, 5) = TOSG(DR일사.m05)
I_s(i, 6) = TOSG(DR일사.m06)
I_s(i, 7) = TOSG(DR일사.m07)
I_s(i, 8) = TOSG(DR일사.m08)
I_s(i, 9) = TOSG(DR일사.m09)
I_s(i, 10) = TOSG(DR일사.m10)
I_s(i, 11) = TOSG(DR일사.m11)
I_s(i, 12) = TOSG(DR일사.m12)
'#If DEBUG Then
' Dim f As String = "c:\temp\1\일사.txt"
' Dim b As New System.Text.StringBuilder
' If System.IO.File.Exists(f) = False Then
' b.AppendLine("기상코드 I M0 1 2 3 4 5 6 7 8 9 10 11 12")
' End If
' b.AppendLine(기상데이터.code + vbTab + i.ToString() + vbTab + DR일사.최대부하 + vbTab + _
' DR일사.m01 + vbTab + DR일사.m02 + vbTab + DR일사.m03 + vbTab + DR일사.m04 + vbTab + DR일사.m05 + vbTab + _
' DR일사.m06 + vbTab + DR일사.m07 + vbTab + DR일사.m08 + vbTab + DR일사.m09 + vbTab + DR일사.m10 + vbTab + DR일사.m11 + vbTab + DR일사.m12)
' My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
'#End If
Next
End If
'=============================================================================2010.02.26 추가
Dim DRow차양() As DS.weather_chaRow = CType(DSET1.weather_cha.Select("pcode='" & 기상데이터.code & "'", "code"), DS.weather_chaRow())
If DRow차양.GetUpperBound(0) = -1 Then
MsgBox("월별차양감소데이터중 " & 기상데이터.code & "에 해당되는 지역이 없습니다", MsgBoxStyle.Critical, "CShared")
Me.IsError = True
Else
'//차양감소계수 추가
For i As Short = 0 To 7 '총 8개의 종류가있따.
Dim DR차양 As DS.weather_chaRow = DRow차양(i)
F_sh_gl(i, 0) = TOSG(DR차양.m01)
F_sh_gl(i, 1) = TOSG(DR차양.m02)
F_sh_gl(i, 2) = TOSG(DR차양.m03)
F_sh_gl(i, 3) = TOSG(DR차양.m04)
F_sh_gl(i, 4) = TOSG(DR차양.m05)
F_sh_gl(i, 5) = TOSG(DR차양.m06)
F_sh_gl(i, 6) = TOSG(DR차양.m07)
F_sh_gl(i, 7) = TOSG(DR차양.m08)
F_sh_gl(i, 8) = TOSG(DR차양.m09)
F_sh_gl(i, 9) = TOSG(DR차양.m10)
F_sh_gl(i, 10) = TOSG(DR차양.m11)
F_sh_gl(i, 11) = TOSG(DR차양.m12)
'#If DEBUG Then
' Dim f As String = "c:\temp\1\차양.txt"
' Dim b As New System.Text.StringBuilder
' If System.IO.File.Exists(f) = False Then
' b.AppendLine("기상코드 I M0 1 2 3 4 5 6 7 8 9 10 11")
' End If
' b.AppendLine(기상데이터.code + vbTab + i.ToString() + vbTab + _
' DR차양.m01 + vbTab + DR차양.m02 + vbTab + DR차양.m03 + vbTab + DR차양.m04 + vbTab + DR차양.m05 + vbTab + _
' DR차양.m06 + vbTab + DR차양.m07 + vbTab + DR차양.m08 + vbTab + DR차양.m09 + vbTab + DR차양.m10 + vbTab + DR차양.m11 + vbTab + DR차양.m12)
' My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
'#End If
Next
End If
'=============================================================================2010.02.26 추가
'For i = 0 To 7
' For j = 0 To 11
' F_sh_gl(i, j) = Worksheets("기상데이타").Range("차양감소계수1").Offset(i * 13 + j, i_count_location - 1)
' Next
'Next
End Sub
End Class