Compare commits
6 Commits
master
...
6cd2abe560
| Author | SHA1 | Date | |
|---|---|---|---|
| 6cd2abe560 | |||
| 0eaeeb0aac | |||
|
|
370a838f42 | ||
|
|
52a7c0f1f7 | ||
|
|
c6bc4676d3 | ||
|
|
cf277012bc |
@@ -13,7 +13,7 @@
|
||||
<AssemblyName>ArinLog.Net4</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>Windows</MyType>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
@@ -17,6 +17,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utility", "Utility\Utility.
|
||||
EndProject
|
||||
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup1", "Setup1\Setup1.vdproj", "{0E52FBAC-1A86-4722-93D0-CA7B8570B617}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A01A7396-C1BE-4D13-8B51-C9C1830DA088}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
CLAUDE.md = CLAUDE.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CD_ROM|Any CPU = CD_ROM|Any CPU
|
||||
|
||||
@@ -1451,11 +1451,11 @@
|
||||
Public Overridable Sub Calc_HeatingSystem(ByVal i_count_month As Integer, ByVal theta_e As Decimal)
|
||||
|
||||
pLog.Add(String.Format("Enter >> Calc_HeatingSystem i_count_month={0},theta_e={1}", i_count_month, theta_e))
|
||||
|
||||
|
||||
d_op_max_mth = 0
|
||||
'==================================2010.2.21 수정
|
||||
|
||||
|
||||
|
||||
'For Each DRpriod As DS.tbl_DescRow In DSET.tbl_Desc.Select("cname<>'0'", "cname")
|
||||
' priod_value = CSng(DRpriod.priod)
|
||||
'Next
|
||||
@@ -1535,7 +1535,7 @@
|
||||
|
||||
'//130822
|
||||
Dim 보일러정격출력합 As Decimal = 0 '//acc
|
||||
|
||||
|
||||
For Each Dr난방 As DS.tbl_nanbangkikiRow In DSET.tbl_nanbangkiki.Select("code<>'0' and 헤더적용=true", "code")
|
||||
|
||||
'=======================================================================================================2014.02.24 수정
|
||||
@@ -2581,6 +2581,11 @@
|
||||
t_w_100 = Q_w_outg_i / (Q_dot_N * d_Nutz_mth) '(3.2.9-61)
|
||||
Q_dot_d_in = Q_h_outg_i / (d_h_rB * (t_h_rL_T - t_w_100)) '(3.2.7-69) 난방 또는 난방 및 급탕
|
||||
' 우선 미적용 Q_dot_d_in = sigma_Q_h_outg / (t_Betrieb_K - t_W_100) * d_Nutz_mth '(3.2.7-70) 난방, 급탕 및 공조
|
||||
If Q_dot_d_in <= 0 Then '2025.08.22 추가
|
||||
t_w_100 = 0
|
||||
Q_dot_d_in = 0
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
@@ -2701,6 +2706,14 @@
|
||||
Q_h_g = Q_h_g + (Q_h_g_v_i * d_h_rB) * system_count '=====2013.08.13 수정 '(3.2.7-66)
|
||||
Q_h_g_i = Q_h_g_v_i * d_h_rB
|
||||
|
||||
'If Q_h_g_i < 0 Then
|
||||
' Console.WriteLine("minus")
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Else
|
||||
|
||||
If dr난방.열생산기기방식 = "지역난방" Then ' Worksheets("난방기기").Range("열생산기기방식1").Offset(0, i_count_boiler - 1) = "지역난방" Then
|
||||
@@ -2846,11 +2859,13 @@
|
||||
If d_Nutz_mth = 0 Then '//201.11.20 추가(학교프로파일 적용시 문제점 해결)
|
||||
t_w_100 = 0
|
||||
Else
|
||||
t_w_100 = Q_w_outg / (Q_dot_N * d_Nutz_mth)
|
||||
t_w_100 = Q_w_outg_i / (Q_dot_N * d_Nutz_mth) '2025.08.19 Q_w_outg 를 Q_w_outg_i 로 수정
|
||||
End If
|
||||
|
||||
Q_h_g_aux = Q_h_g_aux + (P_h_g_aux * (t_h_rL - t_w_100 * d_op_max_mth * d_Nutz_a / 365) + P_aux_SB * (24 * d_op_max_mth - t_h_rL)) * system_count '=====2013.08.18 수정 '(3.2.7-80)
|
||||
|
||||
'If Q_h_g_aux < 0 Then
|
||||
' Console.WriteLine("minus")
|
||||
'End If
|
||||
|
||||
End If
|
||||
|
||||
@@ -3598,7 +3613,7 @@
|
||||
End If '===========================================================2014.03.07 추가
|
||||
|
||||
|
||||
|
||||
|
||||
'======================================================================================================================================================2010.04.23 추가
|
||||
Q_h_outg = Q_h_outg + Q_h_outg_i * system_count '=====2013.08.13 수정 '===================================================2013.01.16 추가
|
||||
|
||||
@@ -3716,6 +3731,11 @@
|
||||
t_w_100 = Q_w_outg_i / (Q_dot_N * d_Nutz_mth) '(3.2.9-61)
|
||||
Q_dot_d_in = Q_h_outg_i / (d_h_rB * (t_h_rL_T - t_w_100)) '(3.2.7-69) 난방 또는 난방 및 급탕
|
||||
' 우선 미적용 Q_dot_d_in = sigma_Q_h_outg / (t_Betrieb_K - t_W_100) * d_Nutz_mth '(3.2.7-70) 난방, 급탕 및 공조
|
||||
If Q_dot_d_in <= 0 Then '2025.08.22 수정
|
||||
t_w_100 = 0
|
||||
Q_dot_d_in = 0
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
@@ -3836,6 +3856,14 @@
|
||||
Q_h_g = Q_h_g + (Q_h_g_v_i * d_h_rB) * system_count '=====2013.08.13 수정 '(3.2.7-66)
|
||||
Q_h_g_i = Q_h_g_v_i * d_h_rB
|
||||
|
||||
'If Q_h_g_i < 0 Then
|
||||
' Console.WriteLine("minus")
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Else
|
||||
|
||||
If dr난방.열생산기기방식 = "지역난방" Then ' Worksheets("난방기기").Range("열생산기기방식1").Offset(0, i_count_boiler - 1) = "지역난방" Then
|
||||
@@ -3981,15 +4009,18 @@
|
||||
If d_Nutz_mth = 0 Then '//201.11.20 추가(학교프로파일 적용시 문제점 해결)
|
||||
t_w_100 = 0
|
||||
Else
|
||||
If system_count = 0 Then
|
||||
t_w_100 = Q_w_outg_i / (Q_dot_N * d_Nutz_mth)
|
||||
Else
|
||||
t_w_100 = (Q_w_outg_i) / (Q_dot_N * d_Nutz_mth) '//2011.12.04 수정
|
||||
End If
|
||||
'If system_count = 0 Then
|
||||
' t_w_100 = Q_w_outg_i / (Q_dot_N * d_Nutz_mth)
|
||||
'Else
|
||||
t_w_100 = (Q_w_outg_i) / (Q_dot_N * d_Nutz_mth) '//2011.12.04 수정
|
||||
'End If
|
||||
|
||||
End If
|
||||
|
||||
Q_h_g_aux = Q_h_g_aux + (P_h_g_aux * (t_h_rL - t_w_100 * d_op_max_mth * d_Nutz_a / 365) + P_aux_SB * (24 * d_op_max_mth - t_h_rL)) * system_count '=====2013.08.18 수정 '(3.2.7-80)
|
||||
'If Q_h_g_aux < 0 Then
|
||||
' Console.WriteLine("minus")
|
||||
'End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
@@ -498,11 +498,8 @@
|
||||
P_pk = K_pk * a
|
||||
|
||||
If Dr신재생.대지외설치여부 Then
|
||||
E_el_pv_out_offsite = E_el_pv_out_offsite + E_sol * P_pk * f_perf
|
||||
E_el_pv_out_offsite += E_sol * P_pk * f_perf
|
||||
Else
|
||||
|
||||
|
||||
|
||||
E_el_pv_out += E_sol * P_pk * f_perf
|
||||
End If
|
||||
|
||||
@@ -908,7 +905,7 @@
|
||||
E_chp_gen_in = Q_chp_gen_out / (eta_T_chp_an / 100)
|
||||
E_el_chp_out = E_chp_gen_in * eta_el_chp_an / 100
|
||||
|
||||
|
||||
Result.생산E(i_chp_month).열병합전력생산량 += E_el_chp_out
|
||||
|
||||
'//전기생산량 열병합
|
||||
If Dr신재생.열병합신재생여부 Then
|
||||
@@ -981,11 +978,11 @@
|
||||
|
||||
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과3 신재생면적당열생산량={0}", Result.생산E(i_chp_month).신재생면적당열생산량))
|
||||
|
||||
Else
|
||||
Result.생산E(i_chp_month).열병합전력생산량 += E_el_chp_out '// 20241229 추가
|
||||
'Else
|
||||
' Result.생산E(i_chp_month).열병합전력생산량 += E_el_chp_out '// 20241229 추가
|
||||
|
||||
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과0 E_chp_gen_in={0},E_el_chp_out={1}", E_chp_gen_in, E_el_chp_out))
|
||||
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과1 열병합전력생산량={0}", Result.생산E(i_chp_month).열병합전력생산량))
|
||||
' pLog.Add(String.Format("Calc_CogenerationSystemEN 결과0 E_chp_gen_in={0},E_el_chp_out={1}", E_chp_gen_in, E_el_chp_out))
|
||||
' pLog.Add(String.Format("Calc_CogenerationSystemEN 결과1 열병합전력생산량={0}", Result.생산E(i_chp_month).열병합전력생산량))
|
||||
|
||||
End If
|
||||
'DSETR.TReqUse.Rows(77)("M" & Format(i_chp_month, "00")) = CSng(DSETR.TReqUse.Rows(77)("M" & Format(i_chp_month, "00"))) + E_el_chp_out ' Sheets("계산결과").Cells(96, 7 + i_chp_month) = E_el_chp_out
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
Partial Class DS
|
||||
Partial Class tbl_ykDataTable
|
||||
|
||||
Private Sub tbl_ykDataTable_tbl_ykRowChanging(sender As System.Object, e As tbl_ykRowChangeEvent) Handles Me.tbl_ykRowChanging
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Partial Class tbl_profileDataTable
|
||||
|
||||
End Class
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||
<ApplicationIcon>002.ico</ApplicationIcon>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>ftp://tindevil.com/www/mynetapp/t4/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
@@ -51,6 +51,8 @@
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -111,8 +113,41 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Interop.VBIDE.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\Microsoft.Owin.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.FileSystems, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\Microsoft.Owin.FileSystems.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Host.HttpListener, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\Microsoft.Owin.Host.HttpListener.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Hosting, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\Microsoft.Owin.Hosting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.StaticFiles, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\Microsoft.Owin.StaticFiles.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<Reference Include="Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.3537.50\lib\net462\Microsoft.Web.WebView2.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.3537.50\lib\net462\Microsoft.Web.WebView2.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.3537.50\lib\net462\Microsoft.Web.WebView2.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\Owin.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
@@ -173,6 +208,12 @@
|
||||
<Compile Include="Forms_Basic\frm_batch.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\Frm_WebManual.Designer.vb">
|
||||
<DependentUpon>Frm_WebManual.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\Frm_WebManual.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\fSelectWeatherGroup.Designer.vb">
|
||||
<DependentUpon>fSelectWeatherGroup.vb</DependentUpon>
|
||||
</Compile>
|
||||
@@ -209,6 +250,12 @@
|
||||
<Compile Include="Forms_Report\Frm_Macro.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Report\Frm_Macro2.Designer.vb">
|
||||
<DependentUpon>Frm_Macro2.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Report\Frm_Macro2.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Report\Frm_Upload.Designer.vb">
|
||||
<DependentUpon>Frm_Upload.vb</DependentUpon>
|
||||
</Compile>
|
||||
@@ -477,6 +524,9 @@
|
||||
<Compile Include="Forms_Basic\Frm_FileInfo.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebServer\Example_WebServer_Usage.vb" />
|
||||
<Compile Include="WebServer\Startup.vb" />
|
||||
<Compile Include="WebServer\StaticFileServer.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Forms_Basic\Frm_DisplayGubun.resx">
|
||||
@@ -491,6 +541,9 @@
|
||||
<EmbeddedResource Include="Forms_Basic\frm_batch.resx">
|
||||
<DependentUpon>frm_batch.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Basic\Frm_WebManual.resx">
|
||||
<DependentUpon>Frm_WebManual.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Basic\Frm_Work.resx">
|
||||
<DependentUpon>Frm_Work.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -515,6 +568,9 @@
|
||||
<EmbeddedResource Include="Forms_Report\Frm_Macro.resx">
|
||||
<DependentUpon>Frm_Macro.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Report\Frm_Macro2.resx">
|
||||
<DependentUpon>Frm_Macro2.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Report\Frm_Upload.resx">
|
||||
<DependentUpon>Frm_Upload.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -693,6 +749,7 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Resources\user_24.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -780,6 +837,7 @@
|
||||
<Content Include="icon5.ico" />
|
||||
<None Include="Resources\select_by_difference.png" />
|
||||
<None Include="Resources\page_copy.png" />
|
||||
<Content Include="WebServer\INSTALL.txt" />
|
||||
<Content Include="단축키.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@@ -798,6 +856,7 @@
|
||||
<Content Include="Forms_Input\ReadMe.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="WebServer\README.md" />
|
||||
<None Include="방위2.png" />
|
||||
<None Include="방위.png" />
|
||||
<None Include="방위.jpg" />
|
||||
@@ -848,6 +907,13 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
|
||||
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
56
ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
generated
Normal file
56
ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
generated
Normal file
@@ -0,0 +1,56 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_WebManual
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기에서는 수정하지 마세요.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.WebView21 = New Microsoft.Web.WebView2.WinForms.WebView2()
|
||||
CType(Me.WebView21, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'WebView21
|
||||
'
|
||||
Me.WebView21.AllowExternalDrop = True
|
||||
Me.WebView21.CreationProperties = Nothing
|
||||
Me.WebView21.DefaultBackgroundColor = System.Drawing.Color.White
|
||||
Me.WebView21.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.WebView21.Location = New System.Drawing.Point(0, 0)
|
||||
Me.WebView21.Name = "WebView21"
|
||||
Me.WebView21.Size = New System.Drawing.Size(1350, 700)
|
||||
Me.WebView21.TabIndex = 0
|
||||
Me.WebView21.ZoomFactor = 1.0R
|
||||
'
|
||||
'Frm_WebManual
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1350, 700)
|
||||
Me.Controls.Add(Me.WebView21)
|
||||
Me.Name = "Frm_WebManual"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "사용자 매뉴얼"
|
||||
CType(Me.WebView21, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents WebView21 As Microsoft.Web.WebView2.WinForms.WebView2
|
||||
End Class
|
||||
120
ArinWarev1/Forms_Basic/Frm_WebManual.resx
Normal file
120
ArinWarev1/Forms_Basic/Frm_WebManual.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
29
ArinWarev1/Forms_Basic/Frm_WebManual.vb
Normal file
29
ArinWarev1/Forms_Basic/Frm_WebManual.vb
Normal file
@@ -0,0 +1,29 @@
|
||||
Public Class Frm_WebManual
|
||||
|
||||
Public Sub Navigate(url As String)
|
||||
Try
|
||||
If WebView21 IsNot Nothing AndAlso WebView21.CoreWebView2 IsNot Nothing Then
|
||||
WebView21.CoreWebView2.Navigate(url)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("웹페이지 이동 중 오류가 발생했습니다: " & ex.Message,
|
||||
"오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
Private Async Sub Frm_WebManual_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Try
|
||||
' WebView2 초기화
|
||||
Await WebView21.EnsureCoreWebView2Async(Nothing)
|
||||
|
||||
' 로컬 웹서버 페이지 로드
|
||||
WebView21.CoreWebView2.Navigate("http://localhost:58123/")
|
||||
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("웹페이지 로드 중 오류가 발생했습니다: " & ex.Message, _
|
||||
"오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
202
ArinWarev1/Forms_Input/Frm_YK.Designer.vb
generated
202
ArinWarev1/Forms_Input/Frm_YK.Designer.vb
generated
@@ -70,16 +70,6 @@ Partial Class Frm_YK
|
||||
Me.cmb_재료 = New System.Windows.Forms.ComboBox()
|
||||
Me.Panel1 = New System.Windows.Forms.Panel()
|
||||
Me.arindv1 = New System.Windows.Forms.DataGridView()
|
||||
Me.bn_detail = New System.Windows.Forms.BindingNavigator(Me.components)
|
||||
Me.ToolStripLabel1 = New System.Windows.Forms.ToolStripLabel()
|
||||
Me.btj_add = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btj_del = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.ToolStripLabel2 = New System.Windows.Forms.ToolStripLabel()
|
||||
Me.btj_showimg = New System.Windows.Forms.ToolStripButton()
|
||||
Me.cmb_형태 = New Eco2Ar.MyCmb()
|
||||
Me.bs_gubun = New System.Windows.Forms.BindingSource(Me.components)
|
||||
Me.bS_재료 = New System.Windows.Forms.BindingSource(Me.components)
|
||||
Me.커스텀 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.code = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.재료명 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
@@ -91,6 +81,16 @@ Partial Class Frm_YK
|
||||
Me.열저항 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.전경 = New System.Windows.Forms.DataGridViewButtonColumn()
|
||||
Me.Column1 = New System.Windows.Forms.DataGridViewButtonColumn()
|
||||
Me.bn_detail = New System.Windows.Forms.BindingNavigator(Me.components)
|
||||
Me.ToolStripLabel1 = New System.Windows.Forms.ToolStripLabel()
|
||||
Me.btj_add = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btj_del = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.ToolStripLabel2 = New System.Windows.Forms.ToolStripLabel()
|
||||
Me.btj_showimg = New System.Windows.Forms.ToolStripButton()
|
||||
Me.cmb_형태 = New Eco2Ar.MyCmb()
|
||||
Me.bs_gubun = New System.Windows.Forms.BindingSource(Me.components)
|
||||
Me.bS_재료 = New System.Windows.Forms.BindingSource(Me.components)
|
||||
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainer1.Panel1.SuspendLayout()
|
||||
Me.SplitContainer1.Panel2.SuspendLayout()
|
||||
@@ -591,97 +591,6 @@ Partial Class Frm_YK
|
||||
Me.arindv1.Size = New System.Drawing.Size(427, 326)
|
||||
Me.arindv1.TabIndex = 157
|
||||
'
|
||||
'bn_detail
|
||||
'
|
||||
Me.bn_detail.AddNewItem = Nothing
|
||||
Me.bn_detail.AutoSize = False
|
||||
Me.bn_detail.BindingSource = Me.bs_detail
|
||||
Me.bn_detail.CountItem = Me.ToolStripLabel1
|
||||
Me.bn_detail.DeleteItem = Nothing
|
||||
Me.bn_detail.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.bn_detail.Font = New System.Drawing.Font("돋움", 8.999999!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.bn_detail.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
|
||||
Me.bn_detail.ImageScalingSize = New System.Drawing.Size(20, 20)
|
||||
Me.bn_detail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btj_add, Me.btj_del, Me.ToolStripSeparator2, Me.ToolStripLabel2, Me.ToolStripLabel1, Me.btj_showimg})
|
||||
Me.bn_detail.Location = New System.Drawing.Point(0, 326)
|
||||
Me.bn_detail.MoveFirstItem = Nothing
|
||||
Me.bn_detail.MoveLastItem = Nothing
|
||||
Me.bn_detail.MoveNextItem = Nothing
|
||||
Me.bn_detail.MovePreviousItem = Nothing
|
||||
Me.bn_detail.Name = "bn_detail"
|
||||
Me.bn_detail.PositionItem = Me.ToolStripLabel2
|
||||
Me.bn_detail.Size = New System.Drawing.Size(427, 40)
|
||||
Me.bn_detail.TabIndex = 2
|
||||
Me.bn_detail.Text = "BindingNavigator1"
|
||||
'
|
||||
'ToolStripLabel1
|
||||
'
|
||||
Me.ToolStripLabel1.Name = "ToolStripLabel1"
|
||||
Me.ToolStripLabel1.Size = New System.Drawing.Size(33, 37)
|
||||
Me.ToolStripLabel1.Text = "/{0}"
|
||||
'
|
||||
'btj_add
|
||||
'
|
||||
Me.btj_add.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btj_add.Image = Global.Eco2Ar.My.Resources.Resources.new_32
|
||||
Me.btj_add.Name = "btj_add"
|
||||
Me.btj_add.RightToLeftAutoMirrorImage = True
|
||||
Me.btj_add.Size = New System.Drawing.Size(24, 37)
|
||||
Me.btj_add.Text = "신규추가(&A)"
|
||||
Me.btj_add.ToolTipText = "새로운 프로필을 추가합니다"
|
||||
'
|
||||
'btj_del
|
||||
'
|
||||
Me.btj_del.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btj_del.Image = Global.Eco2Ar.My.Resources.Resources.remov_32
|
||||
Me.btj_del.Name = "btj_del"
|
||||
Me.btj_del.RightToLeftAutoMirrorImage = True
|
||||
Me.btj_del.Size = New System.Drawing.Size(24, 37)
|
||||
Me.btj_del.Text = "선택삭제(&D)"
|
||||
Me.btj_del.ToolTipText = "선택된 프로필을 삭제합니다"
|
||||
'
|
||||
'ToolStripSeparator2
|
||||
'
|
||||
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
|
||||
Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 40)
|
||||
'
|
||||
'ToolStripLabel2
|
||||
'
|
||||
Me.ToolStripLabel2.Name = "ToolStripLabel2"
|
||||
Me.ToolStripLabel2.Size = New System.Drawing.Size(12, 37)
|
||||
Me.ToolStripLabel2.Text = "0"
|
||||
'
|
||||
'btj_showimg
|
||||
'
|
||||
Me.btj_showimg.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.btj_showimg.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
|
||||
Me.btj_showimg.Image = CType(resources.GetObject("btj_showimg.Image"), System.Drawing.Image)
|
||||
Me.btj_showimg.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.btj_showimg.Name = "btj_showimg"
|
||||
Me.btj_showimg.Size = New System.Drawing.Size(87, 37)
|
||||
Me.btj_showimg.Text = "구분그림보기"
|
||||
Me.btj_showimg.Visible = False
|
||||
'
|
||||
'cmb_형태
|
||||
'
|
||||
Me.cmb_형태.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple
|
||||
Me.cmb_형태.FormattingEnabled = True
|
||||
Me.cmb_형태.Location = New System.Drawing.Point(22, 225)
|
||||
Me.cmb_형태.Name = "cmb_형태"
|
||||
Me.cmb_형태.NectControl = Nothing
|
||||
Me.cmb_형태.Size = New System.Drawing.Size(152, 204)
|
||||
Me.cmb_형태.TabIndex = 131
|
||||
'
|
||||
'bs_gubun
|
||||
'
|
||||
Me.bs_gubun.DataMember = "tbl_common"
|
||||
Me.bs_gubun.DataSource = Me.DS
|
||||
'
|
||||
'bS_재료
|
||||
'
|
||||
Me.bS_재료.DataMember = "tbl_common"
|
||||
Me.bS_재료.DataSource = Me.DS
|
||||
'
|
||||
'커스텀
|
||||
'
|
||||
Me.커스텀.DataPropertyName = "커스텀"
|
||||
@@ -791,6 +700,97 @@ Partial Class Frm_YK
|
||||
Me.Column1.Visible = False
|
||||
Me.Column1.Width = 35
|
||||
'
|
||||
'bn_detail
|
||||
'
|
||||
Me.bn_detail.AddNewItem = Nothing
|
||||
Me.bn_detail.AutoSize = False
|
||||
Me.bn_detail.BindingSource = Me.bs_detail
|
||||
Me.bn_detail.CountItem = Me.ToolStripLabel1
|
||||
Me.bn_detail.DeleteItem = Nothing
|
||||
Me.bn_detail.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.bn_detail.Font = New System.Drawing.Font("돋움", 8.999999!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.bn_detail.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
|
||||
Me.bn_detail.ImageScalingSize = New System.Drawing.Size(20, 20)
|
||||
Me.bn_detail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btj_add, Me.btj_del, Me.ToolStripSeparator2, Me.ToolStripLabel2, Me.ToolStripLabel1, Me.btj_showimg})
|
||||
Me.bn_detail.Location = New System.Drawing.Point(0, 326)
|
||||
Me.bn_detail.MoveFirstItem = Nothing
|
||||
Me.bn_detail.MoveLastItem = Nothing
|
||||
Me.bn_detail.MoveNextItem = Nothing
|
||||
Me.bn_detail.MovePreviousItem = Nothing
|
||||
Me.bn_detail.Name = "bn_detail"
|
||||
Me.bn_detail.PositionItem = Me.ToolStripLabel2
|
||||
Me.bn_detail.Size = New System.Drawing.Size(427, 40)
|
||||
Me.bn_detail.TabIndex = 2
|
||||
Me.bn_detail.Text = "BindingNavigator1"
|
||||
'
|
||||
'ToolStripLabel1
|
||||
'
|
||||
Me.ToolStripLabel1.Name = "ToolStripLabel1"
|
||||
Me.ToolStripLabel1.Size = New System.Drawing.Size(33, 37)
|
||||
Me.ToolStripLabel1.Text = "/{0}"
|
||||
'
|
||||
'btj_add
|
||||
'
|
||||
Me.btj_add.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btj_add.Image = Global.Eco2Ar.My.Resources.Resources.new_32
|
||||
Me.btj_add.Name = "btj_add"
|
||||
Me.btj_add.RightToLeftAutoMirrorImage = True
|
||||
Me.btj_add.Size = New System.Drawing.Size(24, 37)
|
||||
Me.btj_add.Text = "신규추가(&A)"
|
||||
Me.btj_add.ToolTipText = "새로운 프로필을 추가합니다"
|
||||
'
|
||||
'btj_del
|
||||
'
|
||||
Me.btj_del.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btj_del.Image = Global.Eco2Ar.My.Resources.Resources.remov_32
|
||||
Me.btj_del.Name = "btj_del"
|
||||
Me.btj_del.RightToLeftAutoMirrorImage = True
|
||||
Me.btj_del.Size = New System.Drawing.Size(24, 37)
|
||||
Me.btj_del.Text = "선택삭제(&D)"
|
||||
Me.btj_del.ToolTipText = "선택된 프로필을 삭제합니다"
|
||||
'
|
||||
'ToolStripSeparator2
|
||||
'
|
||||
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
|
||||
Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 40)
|
||||
'
|
||||
'ToolStripLabel2
|
||||
'
|
||||
Me.ToolStripLabel2.Name = "ToolStripLabel2"
|
||||
Me.ToolStripLabel2.Size = New System.Drawing.Size(12, 37)
|
||||
Me.ToolStripLabel2.Text = "0"
|
||||
'
|
||||
'btj_showimg
|
||||
'
|
||||
Me.btj_showimg.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.btj_showimg.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
|
||||
Me.btj_showimg.Image = CType(resources.GetObject("btj_showimg.Image"), System.Drawing.Image)
|
||||
Me.btj_showimg.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.btj_showimg.Name = "btj_showimg"
|
||||
Me.btj_showimg.Size = New System.Drawing.Size(87, 37)
|
||||
Me.btj_showimg.Text = "구분그림보기"
|
||||
Me.btj_showimg.Visible = False
|
||||
'
|
||||
'cmb_형태
|
||||
'
|
||||
Me.cmb_형태.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple
|
||||
Me.cmb_형태.FormattingEnabled = True
|
||||
Me.cmb_형태.Location = New System.Drawing.Point(22, 225)
|
||||
Me.cmb_형태.Name = "cmb_형태"
|
||||
Me.cmb_형태.NectControl = Nothing
|
||||
Me.cmb_형태.Size = New System.Drawing.Size(152, 204)
|
||||
Me.cmb_형태.TabIndex = 131
|
||||
'
|
||||
'bs_gubun
|
||||
'
|
||||
Me.bs_gubun.DataMember = "tbl_common"
|
||||
Me.bs_gubun.DataSource = Me.DS
|
||||
'
|
||||
'bS_재료
|
||||
'
|
||||
Me.bS_재료.DataMember = "tbl_common"
|
||||
Me.bS_재료.DataSource = Me.DS
|
||||
'
|
||||
'Frm_YK
|
||||
'
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
|
||||
|
||||
@@ -27,14 +27,16 @@
|
||||
|
||||
'// 입력면데이터중에 열관류율을 사용한 데이터 업데이트(131009)
|
||||
For Each dr As DS.tbl_myounRow In DSET1.tbl_myoun.Select("열관류율2 <> '0'")
|
||||
If dr.RowState = DataRowState.Deleted Then Continue For
|
||||
Dim ykcode As String = dr.열관류율2
|
||||
Dim ykrow() As DS.tbl_ykRow = DSET1.tbl_yk.Select("code='" + ykcode + "'")
|
||||
If ykrow.Length = 1 Then
|
||||
dr.투과율 = ykrow(0).투과율
|
||||
End If
|
||||
dr.AcceptChanges()
|
||||
dr.EndEdit()
|
||||
Next
|
||||
|
||||
BaseDT.AcceptChanges()
|
||||
BaseDS.AcceptChanges()
|
||||
Update_열관류율_140409()
|
||||
|
||||
Return True
|
||||
@@ -89,58 +91,9 @@
|
||||
Me.arindv1.EndEdit()
|
||||
Me.bs.EndEdit()
|
||||
|
||||
'//열관류율이 링크된 모든면의 건축부위 데이터를 열관류율 화면의 건축부위 데이터로 갱신
|
||||
For Each Drow As DS.tbl_myounRow In DSET1.tbl_myoun
|
||||
Pub.Update_열관류율_140409()
|
||||
|
||||
If Drow.RowState = DataRowState.Deleted OrElse Drow.RowState = DataRowState.Detached Then Continue For
|
||||
|
||||
#If DEBUG Then
|
||||
If Drow.code = "0009" Then
|
||||
MsgBox("test")
|
||||
End If
|
||||
#End If
|
||||
|
||||
If Drow.열관류율2 <> "0" Then
|
||||
Try '==========================================2014.04.17 열관류율 삭제시 코드번호가 남아 오류 발생하는 현상을 try 안으로 넣음
|
||||
Dim Dr As DS.tbl_ykRow = DSET1.tbl_yk.Select("code='" & Drow.열관류율2.ToString & "'")(0)
|
||||
Drow.건축부위방식 = Dr.면형태 '// 링크된 열관류율에서 면형태를 가져옴..
|
||||
Select Case Dr.면형태
|
||||
Case "외벽(벽체)", "0"
|
||||
Drow.건축부위방식 = "외벽"
|
||||
Case "외벽(지붕)", "0001"
|
||||
Drow.건축부위방식 = "외벽"
|
||||
'Drow.방위 = "수평"
|
||||
Case "외벽(바닥)", "0002"
|
||||
Drow.건축부위방식 = "외벽"
|
||||
'Drow.방위 = "일사없음"
|
||||
Case "내벽(벽체)", "0003", "지중벽", "0009"
|
||||
Drow.건축부위방식 = "내벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "내벽(지붕)", "0004"
|
||||
Drow.건축부위방식 = "내벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "내벽(바닥)", "0005"
|
||||
Drow.건축부위방식 = "내벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "간벽", "0006"
|
||||
Drow.건축부위방식 = "간벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "외부창", "0007"
|
||||
Drow.건축부위방식 = "외부창"
|
||||
'Drow.투과율 = Dr.일사에너지투과율
|
||||
Case "내부창", "0008"
|
||||
Drow.건축부위방식 = "내부창"
|
||||
'Drow.투과율 = Dr.일사에너지투과율
|
||||
Case Else
|
||||
MsgBox("모르는값 " & Dr("면형태").ToString & "/" & Dr.면형태)
|
||||
End Select
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -952,6 +905,7 @@
|
||||
Next
|
||||
End If
|
||||
Me.bs.RemoveCurrent()
|
||||
Me.bs.EndEdit()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -180,190 +180,190 @@
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="PictureBox1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
LmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0Ig
|
||||
Y29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29s
|
||||
b3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2Ug
|
||||
Vmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdp
|
||||
bmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
|
||||
AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAA
|
||||
AAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAU
|
||||
ABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACp
|
||||
AK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFS
|
||||
AVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJB
|
||||
AksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
|
||||
A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUN
|
||||
BRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
|
||||
BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
|
||||
CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvh
|
||||
C/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7u
|
||||
DwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJk
|
||||
EoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJ
|
||||
FmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqe
|
||||
GsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9p
|
||||
H5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSr
|
||||
JNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpo
|
||||
KpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
|
||||
MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg
|
||||
N5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6g
|
||||
PuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZn
|
||||
RqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63
|
||||
TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeS
|
||||
V+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8
|
||||
YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3
|
||||
a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF
|
||||
deF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
|
||||
gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/Ixj
|
||||
jMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4
|
||||
mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWp
|
||||
phqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4
|
||||
s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFn
|
||||
wePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA5
|
||||
0LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
|
||||
4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M
|
||||
8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////b
|
||||
AEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMD
|
||||
AwMDAwMDA//bAEMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
|
||||
AwMDAwMDAwMDAwMDAwMDA//AABEIAAwAPAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQID
|
||||
BAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR
|
||||
8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOE
|
||||
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp
|
||||
6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUE
|
||||
BAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3
|
||||
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
|
||||
qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/
|
||||
AP1ZH7UPxEAA/wCEw8bnj/ob9f8A/k+v7U/1Nyj/AKF+G/8ABUP/AJE/llcSZlZf7dX/APBk/wDMX/hq
|
||||
H4if9Df43/8ACv1//wCT6P8AU3Kf+hfhv/BUP/kQ/wBZcy/6Dq//AIMn/mH/AA1D8RP+hv8AG/8A4V+v
|
||||
/wDyfR/qblP/AEL8N/4Kh/8AIh/rLmX/AEHV/wDwZP8AzD/hqH4if9Df43/8K/X/AP5Po/1Nyn/oX4b/
|
||||
AMFQ/wDkQ/1lzL/oOr/+DJ/5h/w1D8RP+hv8b/8AhX6//wDJ9H+puU/9C/Df+Cof/Ih/rLmX/QdX/wDB
|
||||
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
|
||||
AABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNS
|
||||
R0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAA
|
||||
AAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA
|
||||
AAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJ
|
||||
RUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBz
|
||||
UkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdC
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlv
|
||||
biBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
|
||||
SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD
|
||||
7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7
|
||||
AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQ
|
||||
ANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGL
|
||||
AZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKO
|
||||
ApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPg
|
||||
A+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWG
|
||||
BZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeG
|
||||
B5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnl
|
||||
CfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgyn
|
||||
DMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/P
|
||||
D+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNj
|
||||
E4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl
|
||||
F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshva
|
||||
HAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDE
|
||||
IPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYn
|
||||
Jlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwF
|
||||
LDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJj
|
||||
Mpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlC
|
||||
OX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECm
|
||||
QOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iR
|
||||
SNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EG
|
||||
UVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoH
|
||||
WlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OX
|
||||
Y+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25
|
||||
bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu
|
||||
eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6
|
||||
hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+e
|
||||
kAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wc
|
||||
nImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3
|
||||
qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbw
|
||||
t2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVL
|
||||
xcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ
|
||||
1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr
|
||||
5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q0
|
||||
9ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf///9sAQwABAQEBAQEBAQEBAQEB
|
||||
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMD/9sAQwEBAQEB
|
||||
AQEBAQEBAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
|
||||
/8AAEQgADAA8AwERAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIB
|
||||
AwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
|
||||
KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
|
||||
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8B
|
||||
AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS
|
||||
QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZX
|
||||
WFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
|
||||
x8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/VkftQ/EQAD/AITDxueP
|
||||
+hv1/wD+T6/tT/U3KP8AoX4b/wAFQ/8AkT+WVxJmVl/t1f8A8GT/AMxf+GofiJ/0N/jf/wAK/X//AJPo
|
||||
/wBTcp/6F+G/8FQ/+RD/AFlzL/oOr/8Agyf+Yf8ADUPxE/6G/wAb/wDhX6//APJ9H+puU/8AQvw3/gqH
|
||||
/wAiH+suZf8AQdX/APBk/wDMP+GofiJ/0N/jf/wr9f8A/k+j/U3Kf+hfhv8AwVD/AORD/WXMv+g6v/4M
|
||||
n/mH/DUPxE/6G/xv/wCFfr//AMn0f6m5T/0L8N/4Kh/8iH+suZf9B1f/AMGT/wAxP+GofiJ/0N/jf/wr
|
||||
9f8A/k+j/U3Kf+hfhv8AwVD/AORD/WTMv+g6v/4Mn/mfZH7HP7bfjO3+JGmfD7xrq+peIPBniCz1to5t
|
||||
ev5tSv8Aw9qOmaRfa1DcWWpXZlvnsrtdPa3e1eRolaRXjCFXEn5t4l8C5ThOH8Vn+EoQo4zDyp35IqMZ
|
||||
xnONOzirRunJSUkruzTvdW+64E4szHEZxh8nxNaVXDVlO3O7uEowlO6k9bNRacW7apq2t/1o/wCF9eC/
|
||||
7O/tTz3+x+b5XnbTs34zjd9K/nQ/bD+TCv8AQU/jYKACgAoAKACgD2z9nT+zv+FyeDf7W8/+zs6/9q+z
|
||||
Y8/Z/wAIvre3Zu4/1mM/7Oa/PvFT/kg89/7gf+pFE+y8P/8Akrso/wC4v/pmofv/AP8AFpP+FR9vse3/
|
||||
AGPtX2ny/wD0Kv47P6XP/9k=
|
||||
</value>
|
||||
</data>
|
||||
<data name="PictureBox4.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
LmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0Ig
|
||||
Y29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29s
|
||||
b3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2Ug
|
||||
Vmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdp
|
||||
bmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
|
||||
AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAA
|
||||
AAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAU
|
||||
ABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACp
|
||||
AK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFS
|
||||
AVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJB
|
||||
AksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
|
||||
A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUN
|
||||
BRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
|
||||
BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
|
||||
CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvh
|
||||
C/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7u
|
||||
DwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJk
|
||||
EoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJ
|
||||
FmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqe
|
||||
GsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9p
|
||||
H5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSr
|
||||
JNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpo
|
||||
KpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
|
||||
MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg
|
||||
N5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6g
|
||||
PuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZn
|
||||
RqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63
|
||||
TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeS
|
||||
V+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8
|
||||
YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3
|
||||
a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF
|
||||
deF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
|
||||
gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/Ixj
|
||||
jMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4
|
||||
mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWp
|
||||
phqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4
|
||||
s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFn
|
||||
wePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA5
|
||||
0LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
|
||||
4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M
|
||||
8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////b
|
||||
AEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMD
|
||||
AwMDAwMDA//bAEMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
|
||||
AwMDAwMDAwMDAwMDAwMDA//AABEIAAwAPAMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQID
|
||||
BAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR
|
||||
8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOE
|
||||
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp
|
||||
6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUE
|
||||
BAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3
|
||||
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
|
||||
qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/
|
||||
AP1ZH7UPxEAA/wCEw8bnj/ob9f8A/k+v7U/1Nyj/AKF+G/8ABUP/AJE/llcSZlZf7dX/APBk/wDMX/hq
|
||||
H4if9Df43/8ACv1//wCT6P8AU3Kf+hfhv/BUP/kQ/wBZcy/6Dq//AIMn/mH/AA1D8RP+hv8AG/8A4V+v
|
||||
/wDyfR/qblP/AEL8N/4Kh/8AIh/rLmX/AEHV/wDwZP8AzD/hqH4if9Df43/8K/X/AP5Po/1Nyn/oX4b/
|
||||
AMFQ/wDkQ/1lzL/oOr/+DJ/5h/w1D8RP+hv8b/8AhX6//wDJ9H+puU/9C/Df+Cof/Ih/rLmX/QdX/wDB
|
||||
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
|
||||
AABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNS
|
||||
R0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAA
|
||||
AAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA
|
||||
AAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJ
|
||||
RUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBz
|
||||
UkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdC
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlv
|
||||
biBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
|
||||
SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD
|
||||
7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7
|
||||
AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQ
|
||||
ANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGL
|
||||
AZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKO
|
||||
ApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPg
|
||||
A+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWG
|
||||
BZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeG
|
||||
B5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnl
|
||||
CfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgyn
|
||||
DMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/P
|
||||
D+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNj
|
||||
E4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl
|
||||
F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshva
|
||||
HAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDE
|
||||
IPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYn
|
||||
Jlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwF
|
||||
LDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJj
|
||||
Mpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlC
|
||||
OX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECm
|
||||
QOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iR
|
||||
SNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EG
|
||||
UVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoH
|
||||
WlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OX
|
||||
Y+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25
|
||||
bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu
|
||||
eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6
|
||||
hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+e
|
||||
kAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wc
|
||||
nImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3
|
||||
qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbw
|
||||
t2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVL
|
||||
xcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ
|
||||
1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr
|
||||
5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q0
|
||||
9ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf///9sAQwABAQEBAQEBAQEBAQEB
|
||||
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMD/9sAQwEBAQEB
|
||||
AQEBAQEBAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
|
||||
/8AAEQgADAA8AwERAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIB
|
||||
AwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
|
||||
KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
|
||||
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8B
|
||||
AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS
|
||||
QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZX
|
||||
WFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
|
||||
x8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/VkftQ/EQAD/AITDxueP
|
||||
+hv1/wD+T6/tT/U3KP8AoX4b/wAFQ/8AkT+WVxJmVl/t1f8A8GT/AMxf+GofiJ/0N/jf/wAK/X//AJPo
|
||||
/wBTcp/6F+G/8FQ/+RD/AFlzL/oOr/8Agyf+Yf8ADUPxE/6G/wAb/wDhX6//APJ9H+puU/8AQvw3/gqH
|
||||
/wAiH+suZf8AQdX/APBk/wDMP+GofiJ/0N/jf/wr9f8A/k+j/U3Kf+hfhv8AwVD/AORD/WXMv+g6v/4M
|
||||
n/mH/DUPxE/6G/xv/wCFfr//AMn0f6m5T/0L8N/4Kh/8iH+suZf9B1f/AMGT/wAxP+GofiJ/0N/jf/wr
|
||||
9f8A/k+j/U3Kf+hfhv8AwVD/AORD/WTMv+g6v/4Mn/mfZH7HP7bfjO3+JGmfD7xrq+peIPBniCz1to5t
|
||||
ev5tSv8Aw9qOmaRfa1DcWWpXZlvnsrtdPa3e1eRolaRXjCFXEn5t4l8C5ThOH8Vn+EoQo4zDyp35IqMZ
|
||||
xnONOzirRunJSUkruzTvdW+64E4szHEZxh8nxNaVXDVlO3O7uEowlO6k9bNRacW7apq2t/1o/wCF9eC/
|
||||
7O/tTz3+x+b5XnbTs34zjd9K/nQ/bD+TCv8AQU/jYKACgAoAKACgD2z9nT+zv+FyeDf7W8/+zs6/9q+z
|
||||
Y8/Z/wAIvre3Zu4/1mM/7Oa/PvFT/kg89/7gf+pFE+y8P/8Akrso/wC4v/pmofv/AP8AFpP+FR9vse3/
|
||||
AGPtX2ny/wD0Kv47P6XP/9k=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
||||
@@ -1115,6 +1115,10 @@
|
||||
Me.cmb_건축부위방식.Enabled = False
|
||||
' MsgBox(Me.cmb_열관류율.SelectedValue)
|
||||
|
||||
|
||||
'//아래와동일한 코드 pub Update_열관류율_140409() 에 있음
|
||||
'//변경시 같이 변경해야함 250710-2320
|
||||
|
||||
Try
|
||||
Dim Dr As DS.tbl_ykRow = DSET1.tbl_yk.Select("code='" & Me.cmb_열관류율.SelectedValue & "'")(0)
|
||||
Dim dr2() As DS.tbl_commonRow = DSET1.tbl_common.Select("gubun='1088' and code='" & Dr("면형태").ToString & "'")
|
||||
|
||||
5561
ArinWarev1/Forms_Input/Frm_v20091231_Weather.Designer.vb
generated
5561
ArinWarev1/Forms_Input/Frm_v20091231_Weather.Designer.vb
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
220
ArinWarev1/Forms_Report/Frm_Macro2.Designer.vb
generated
Normal file
220
ArinWarev1/Forms_Report/Frm_Macro2.Designer.vb
generated
Normal file
@@ -0,0 +1,220 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_Macro2
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim DefaultFocusIndicatorRenderer1 As FarPoint.Win.Spread.DefaultFocusIndicatorRenderer = New FarPoint.Win.Spread.DefaultFocusIndicatorRenderer()
|
||||
Dim DefaultScrollBarRenderer1 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim DefaultScrollBarRenderer2 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Me.FpSpread1 = New FarPoint.Win.Spread.FpSpread()
|
||||
Me.FpSpread1_Sheet1 = New FarPoint.Win.Spread.SheetView()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.tbStart = New System.Windows.Forms.TextBox()
|
||||
Me.Button3 = New System.Windows.Forms.Button()
|
||||
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.tbEnd = New System.Windows.Forms.TextBox()
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'FpSpread1
|
||||
'
|
||||
Me.FpSpread1.AccessibleDescription = ""
|
||||
Me.FpSpread1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.FpSpread1.FocusRenderer = DefaultFocusIndicatorRenderer1
|
||||
Me.FpSpread1.HorizontalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread1.HorizontalScrollBar.Name = ""
|
||||
Me.FpSpread1.HorizontalScrollBar.Renderer = DefaultScrollBarRenderer1
|
||||
Me.FpSpread1.HorizontalScrollBar.TabIndex = 2
|
||||
Me.FpSpread1.Location = New System.Drawing.Point(0, 38)
|
||||
Me.FpSpread1.Name = "FpSpread1"
|
||||
Me.FpSpread1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.FpSpread1_Sheet1})
|
||||
Me.FpSpread1.Size = New System.Drawing.Size(1019, 453)
|
||||
Me.FpSpread1.Skin = FarPoint.Win.Spread.DefaultSpreadSkins.Classic
|
||||
Me.FpSpread1.TabIndex = 0
|
||||
Me.FpSpread1.VerticalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread1.VerticalScrollBar.Name = ""
|
||||
Me.FpSpread1.VerticalScrollBar.Renderer = DefaultScrollBarRenderer2
|
||||
Me.FpSpread1.VerticalScrollBar.TabIndex = 3
|
||||
Me.FpSpread1.VisualStyles = FarPoint.Win.VisualStyles.Off
|
||||
'
|
||||
'FpSpread1_Sheet1
|
||||
'
|
||||
Me.FpSpread1_Sheet1.Reset()
|
||||
Me.FpSpread1_Sheet1.SheetName = "Sheet1"
|
||||
'Formulas and custom names must be loaded with R1C1 reference style
|
||||
Me.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
|
||||
FpSpread1_Sheet1.ColumnCount = 5
|
||||
FpSpread1_Sheet1.RowCount = 1
|
||||
Me.FpSpread1_Sheet1.ColumnFooter.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnFooter.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnFooterSheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnFooterSheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "RowHeaderDefault"
|
||||
Me.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.SheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button2.Location = New System.Drawing.Point(673, 3)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(194, 32)
|
||||
Me.Button2.TabIndex = 1
|
||||
Me.Button2.Text = "결과저장하기"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button1.Location = New System.Drawing.Point(3, 3)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(194, 32)
|
||||
Me.Button1.TabIndex = 0
|
||||
Me.Button1.Text = "목록불러오기"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tbStart
|
||||
'
|
||||
Me.tbStart.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.tbStart.Font = New System.Drawing.Font("맑은 고딕", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.tbStart.Location = New System.Drawing.Point(283, 3)
|
||||
Me.tbStart.Name = "tbStart"
|
||||
Me.tbStart.Size = New System.Drawing.Size(74, 33)
|
||||
Me.tbStart.TabIndex = 2
|
||||
Me.tbStart.Text = "6"
|
||||
Me.tbStart.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Button3
|
||||
'
|
||||
Me.Button3.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button3.Location = New System.Drawing.Point(523, 3)
|
||||
Me.Button3.Name = "Button3"
|
||||
Me.Button3.Size = New System.Drawing.Size(144, 32)
|
||||
Me.Button3.TabIndex = 3
|
||||
Me.Button3.Text = "실행"
|
||||
Me.Button3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ProgressBar1
|
||||
'
|
||||
Me.ProgressBar1.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.ProgressBar1.Location = New System.Drawing.Point(0, 491)
|
||||
Me.ProgressBar1.Name = "ProgressBar1"
|
||||
Me.ProgressBar1.Size = New System.Drawing.Size(1019, 23)
|
||||
Me.ProgressBar1.TabIndex = 2
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Label1.Location = New System.Drawing.Point(363, 0)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(74, 38)
|
||||
Me.Label1.TabIndex = 3
|
||||
Me.Label1.Text = "~"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'tbEnd
|
||||
'
|
||||
Me.tbEnd.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.tbEnd.Font = New System.Drawing.Font("맑은 고딕", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.tbEnd.Location = New System.Drawing.Point(443, 3)
|
||||
Me.tbEnd.Name = "tbEnd"
|
||||
Me.tbEnd.Size = New System.Drawing.Size(74, 33)
|
||||
Me.tbEnd.TabIndex = 4
|
||||
Me.tbEnd.Text = "0"
|
||||
Me.tbEnd.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.ColumnCount = 8
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 200.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 200.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button1, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button3, 5, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button2, 6, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.tbEnd, 4, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Label2, 1, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.tbStart, 2, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Label1, 3, 0)
|
||||
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 1
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(1019, 38)
|
||||
Me.TableLayoutPanel1.TabIndex = 5
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Label2.Location = New System.Drawing.Point(203, 0)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(74, 38)
|
||||
Me.Label2.TabIndex = 3
|
||||
Me.Label2.Text = "실행범위"
|
||||
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'Frm_Macro2
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1019, 514)
|
||||
Me.Controls.Add(Me.FpSpread1)
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Controls.Add(Me.ProgressBar1)
|
||||
Me.Name = "Frm_Macro2"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "일괄처리"
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents FpSpread1 As FarPoint.Win.Spread.FpSpread
|
||||
Friend WithEvents FpSpread1_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents Button1 As System.Windows.Forms.Button
|
||||
Friend WithEvents Button2 As System.Windows.Forms.Button
|
||||
Friend WithEvents tbStart As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Button3 As System.Windows.Forms.Button
|
||||
Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
|
||||
Friend WithEvents tbEnd As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
End Class
|
||||
123
ArinWarev1/Forms_Report/Frm_Macro2.resx
Normal file
123
ArinWarev1/Forms_Report/Frm_Macro2.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
841
ArinWarev1/Forms_Report/Frm_Macro2.vb
Normal file
841
ArinWarev1/Forms_Report/Frm_Macro2.vb
Normal file
@@ -0,0 +1,841 @@
|
||||
Public Class Frm_Macro2
|
||||
|
||||
Dim fn As String = ""
|
||||
|
||||
Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
||||
Dim 단위면적당1차에너소비량합 As Decimal = 0
|
||||
Dim 에너지자립률 As Double = 0
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
fn = ""
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
|
||||
LoadFile()
|
||||
End Sub
|
||||
|
||||
Private Sub LoadFile()
|
||||
|
||||
Dim od As New OpenFileDialog
|
||||
od.Filter = "excel|*.xls|*.*|*.*"
|
||||
od.FilterIndex = 1
|
||||
If (od.ShowDialog() <> Windows.Forms.DialogResult.OK) Then Return
|
||||
fn = od.FileName
|
||||
|
||||
|
||||
If Not System.IO.File.Exists(fn) Then
|
||||
MsgBox("업로드샘플파일(" + fn + ")가 존재하지 않습니다", MsgBoxStyle.Critical, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
Try
|
||||
If Me.FpSpread1.OpenExcel(fn) Then
|
||||
'// MakeData()
|
||||
'//첫줄에 열 번호를 넣는다.
|
||||
For col As Integer = 1 To 108
|
||||
Dim oldvalue As Object = FpSpread1_Sheet1.Cells(0, col - 1).Value
|
||||
If oldvalue Is Nothing Then
|
||||
FpSpread1_Sheet1.Cells(0, col - 1).Value = "(" + col.ToString() + ")"
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(0, col - 1).Value = oldvalue.ToString() + "(" + col.ToString() + ")"
|
||||
End If
|
||||
Next
|
||||
|
||||
'//0번째열에서 1의 값을 찾고 그 이후의 값을 찾아서 번호를 설정한다.
|
||||
Dim StartIndex As Integer = 0
|
||||
Dim EndIndex As Integer = 0
|
||||
ProgressBar1.Minimum = 0
|
||||
ProgressBar1.Maximum = 10000
|
||||
ProgressBar1.Value = 0
|
||||
For i As Integer = 0 To 65535
|
||||
If i >= ProgressBar1.Maximum - 1 Then
|
||||
ProgressBar1.Value = ProgressBar1.Maximum
|
||||
Else
|
||||
ProgressBar1.Value += 1
|
||||
End If
|
||||
|
||||
Dim curval As Object = FpSpread1_Sheet1.Cells(i, 0).Value
|
||||
If curval Is Nothing Then
|
||||
If StartIndex <> 0 Then
|
||||
EndIndex = i - 1
|
||||
Exit For
|
||||
Else
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
|
||||
If curval.ToString() = "1" Then
|
||||
StartIndex = i
|
||||
ElseIf StartIndex <> 0 Then
|
||||
If curval.ToString() = "" Then
|
||||
EndIndex = i - 1
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
tbStart.Text = (StartIndex + 1).ToString()
|
||||
tbEnd.Text = (EndIndex + 1).ToString()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "파일 불러오기 오류")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Function RData(grp As String, code As Integer) As Decimal
|
||||
Dim filter As String = String.Format("GRP='{0}' and code={1}", grp, code.ToString("000"))
|
||||
Dim DR() As DSR.TReqUseRow = DSETR1.TReqUse.Select(filter)
|
||||
If DR.GetUpperBound(0) = -1 Then Return 0
|
||||
Return DR(0).M00
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Private Sub Frm_Upload_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
|
||||
Dim sd As New SaveFileDialog()
|
||||
sd.Filter = "Excel(*.xls)|*.xls"
|
||||
sd.FilterIndex = 0
|
||||
If sd.ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
Try
|
||||
If FpSpread1.SaveExcel(sd.FileName, FarPoint.Excel.ExcelSaveFlags.NoFlagsSet) Then
|
||||
MsgBox("저장완료", MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "error")
|
||||
End Try
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||||
|
||||
'//기본홤녀은 건물개요로
|
||||
MdiMain.Menu_건물개요()
|
||||
|
||||
|
||||
|
||||
Dim StartNo As Integer = CInt(tbStart.Text)
|
||||
Dim EndNo As Integer = CInt(tbEnd.Text)
|
||||
Me.ProgressBar1.Value = 0
|
||||
Me.ProgressBar1.Minimum = 0
|
||||
Me.ProgressBar1.Maximum = EndNo - StartNo + 1
|
||||
|
||||
If MsgBox("전체 실행전에 1건에대해서 테스트실행을 하시겠습니까?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") = MsgBoxResult.Yes Then
|
||||
EndNo = StartNo
|
||||
ElseIf MsgBox("전체 " + Me.ProgressBar1.Maximum.ToString() + "건의 자료를 실행하시겠습니까?" + vbCrLf + "이 작업은 중단할 수 없습니다", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") <> MsgBoxResult.Yes Then
|
||||
Return
|
||||
End If
|
||||
|
||||
For RowNum As Integer = StartNo To EndNo
|
||||
|
||||
Me.ProgressBar1.Value += 1
|
||||
|
||||
Dim Row = RowNum - 1
|
||||
Dim ColIDX As Integer = 1
|
||||
|
||||
'//건물개요
|
||||
'//DSET1.tbl_Desc.Clear()
|
||||
Dim NewDesc As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
|
||||
NewDesc.cname = FpSpread1_Sheet1.Cells(Row, 1).Value.ToString()
|
||||
NewDesc.buildname = NewDesc.cname
|
||||
NewDesc.builds1 = 1 '//지하(층수)
|
||||
NewDesc.builds2 = 1 '//지상(층수)
|
||||
|
||||
'//지역(해당하는이름의 코드를 가져와서 설정해야함)
|
||||
Dim 지역명 As String = FpSpread1_Sheet1.Cells(Row, 5).Value
|
||||
Dim 지역목록() As DataRow = DSET1.weather_group.Select(String.Format("name = '{0}'", 지역명))
|
||||
If 지역목록.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 지역({1})에 해당하는 데이터가 {2}건 있습니다", Row, 지역명, 지역목록.Length))
|
||||
Return
|
||||
End If
|
||||
NewDesc.buildarea = 지역목록(0)("code")
|
||||
NewDesc.EndEdit()
|
||||
'DSET1.tbl_Desc.Addtbl_DescRow(NewDesc)
|
||||
|
||||
Dim Drows() As DataRow
|
||||
|
||||
'//건물용도
|
||||
Dim 건물용도명 As String = FpSpread1_Sheet1.Cells(Row, 6).Value.ToString().Replace(vbLf, "").Replace(vbCr, "") '//건물용도
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1201' and name = '{0}'", 건물용도명))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 건물용도({1})에 해당하는 데이터가 {2}건 있습니다", Row, 건물용도명, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
NewDesc.isjugo = Drows(0)("valn1")
|
||||
NewDesc.EndEdit()
|
||||
|
||||
'//입력존
|
||||
DSET1.tbl_zone.Clear()
|
||||
|
||||
'/없음데이터도 생성해야한다.
|
||||
Dim drZoneNull As DS.tbl_zoneRow = DSET1.tbl_zone.Newtbl_zoneRow
|
||||
drZoneNull.code = "0"
|
||||
drZoneNull.설명 = "(없음)"
|
||||
DSET1.tbl_zone.Addtbl_zoneRow(drZoneNull)
|
||||
|
||||
Dim DrZone As DS.tbl_zoneRow = DSET1.tbl_zone.Newtbl_zoneRow
|
||||
DrZone.code = "00001"
|
||||
DrZone.조명부하산출방법 = "입력치"
|
||||
DrZone.설명 = "입력존(매크로)"
|
||||
DrZone.그룹 = "0"
|
||||
DrZone.sortkey = DrZone.code
|
||||
|
||||
DrZone.열생산난방생산기기 = "00001" '//난방기기 임시로 적용처리함()
|
||||
DrZone.열생산급탕생산기기 = "00001" '//급탕기기 임시로 적용처리함()
|
||||
DrZone.냉난방열공급시스템 = "00001" '//열공급시스템연결
|
||||
DrZone.냉난방열공급시스템수 = "1"
|
||||
DrZone.냉난방공조처리시스템 = "00001"
|
||||
DrZone.인공광원 = "(없음)"
|
||||
DrZone.조명방식 = "(없음)"
|
||||
DrZone.외기부하처리여부 = "아니오"
|
||||
|
||||
DrZone.설명 = FpSpread1_Sheet1.Cells(Row, 7).Value
|
||||
Dim 사용프로필 As String = FpSpread1_Sheet1.Cells(Row, 8).Value
|
||||
Drows = DSET1.tbl_profile.Select(String.Format("설명 like '%{0}'", 사용프로필))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력존-사용프로필({1})에 해당하는 데이터가 {2}건 있습니다", Row, 사용프로필, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
DrZone.프로필 = Drows(0)("code")
|
||||
DrZone.면적 = FpSpread1_Sheet1.Cells(Row, 9).Value
|
||||
DrZone.천장고p = FpSpread1_Sheet1.Cells(Row, 10).Value
|
||||
DrZone.순실체적 = FpSpread1_Sheet1.Cells(Row, 11).Value
|
||||
|
||||
Dim 열저장능력 As String = FpSpread1_Sheet1.Cells(Row, 12).Value
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1023' and name = '{0}'", 열저장능력))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력존-열저장능력({1})에 해당하는 데이터가 {2}건 있습니다", Row, 열저장능력, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
DrZone.열저장능력 = Drows(0)("Name")
|
||||
|
||||
Dim 열교가산치 As String = FpSpread1_Sheet1.Cells(Row, 13).Value
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1022' and name = '{0}'", 열교가산치))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력존-열교가산치({1})에 해당하는 데이터가 {2}건 있습니다", Row, 열교가산치, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
DrZone.열교가산치 = Drows(0)("Name")
|
||||
DrZone.침기율 = FpSpread1_Sheet1.Cells(Row, 14).Value
|
||||
|
||||
Dim 냉난방방식 As String = FpSpread1_Sheet1.Cells(Row, 15).Value
|
||||
If 냉난방방식 = "없음" Then 냉난방방식 = "기능없음"
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1000' and name = '{0}'", 냉난방방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력존-냉난방방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 냉난방방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
DrZone.냉난방방식 = Drows(0)("name")
|
||||
|
||||
Dim 냉난방공조 As String = FpSpread1_Sheet1.Cells(Row, 16).Value
|
||||
If 냉난방공조 = "없음" Then 냉난방공조 = "기능없음"
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1001' and name = '{0}'", 냉난방공조))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력존-냉난방공조({1})에 해당하는 데이터가 {2}건 있습니다", Row, 냉난방공조, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
DrZone.냉난방공조 = Drows(0)("name")
|
||||
|
||||
Dim 조명부하산출방법 As String = FpSpread1_Sheet1.Cells(Row, 17).Value
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1031' and name = '{0}'", 조명부하산출방법))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력존-조명부하산출방법({1})에 해당하는 데이터가 {2}건 있습니다", Row, 조명부하산출방법, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
DrZone.조명부하산출방법 = Drows(0)("name")
|
||||
DrZone.조명에너지부하율입력치 = FpSpread1_Sheet1.Cells(Row, 18).Value
|
||||
DSET1.tbl_zone.Addtbl_zoneRow(DrZone)
|
||||
|
||||
|
||||
'//입력면
|
||||
Dim 방위목록 As New List(Of String)
|
||||
방위목록.AddRange({"북서", "서", "남서", "남", "남동", "동", "북동", "북", "수평", "일사없음", "(없음)"})
|
||||
|
||||
Dim 제목1 As String = ""
|
||||
Dim 제목2 As String = ""
|
||||
DSET1.tbl_myoun.Clear()
|
||||
For i As Integer = 0 To 12
|
||||
Dim NewMyoun As DS.tbl_myounRow = DSET1.tbl_myoun.Newtbl_myounRow
|
||||
NewMyoun.존분류 = DrZone.code
|
||||
NewMyoun.code = String.Format("{0:00000}", i + 1)
|
||||
NewMyoun.sortkey = NewMyoun.code
|
||||
|
||||
|
||||
|
||||
|
||||
Dim t1 As String = FpSpread1_Sheet1.Cells(2, 19 + (i * 2)).Value '//타이틀
|
||||
Dim t2 As String = FpSpread1_Sheet1.Cells(3, 19 + (i * 2)).Value '//타이틀
|
||||
|
||||
If Not String.IsNullOrEmpty(t1) Then 제목1 = t1
|
||||
If Not String.IsNullOrEmpty(t2) Then 제목2 = t2
|
||||
|
||||
NewMyoun.설명 = 제목1 + ":" + 제목2
|
||||
|
||||
'//공용코드 1067에서 name 이 일치하는 데이터가 있어야한다.
|
||||
'//(없음),외벽,외부창,내벽,간벽,내부창
|
||||
If i = 0 Then
|
||||
NewMyoun.건축부위방식 = "외벽"
|
||||
ElseIf i = 1 Then
|
||||
NewMyoun.건축부위방식 = "외벽"
|
||||
ElseIf i = 2 Then
|
||||
NewMyoun.건축부위방식 = "내벽"
|
||||
ElseIf i = 3 Then
|
||||
NewMyoun.건축부위방식 = "내벽"
|
||||
ElseIf i = 4 Then
|
||||
NewMyoun.건축부위방식 = "외벽"
|
||||
ElseIf i = 5 Then '//코어
|
||||
NewMyoun.건축부위방식 = "내벽"
|
||||
ElseIf i = 6 Then '//쎼떄깐뼊(쪠외)
|
||||
NewMyoun.건축부위방식 = "간벽"
|
||||
ElseIf i = 7 Or i = 8 Then
|
||||
NewMyoun.건축부위방식 = "외부창"
|
||||
ElseIf i = 9 Or i = 10 Or i = 11 Or i = 12 Then
|
||||
NewMyoun.건축부위방식 = "내부창"
|
||||
End If
|
||||
|
||||
Dim 방위1 As String = FpSpread1_Sheet1.Cells(Row, 19 + (i * 2)).Value '//타이틀
|
||||
방위1 = 방위1.ToString().Replace(vbLf, "").Replace(vbCr, "")
|
||||
If 방위목록.IndexOf(방위1) = -1 Then
|
||||
MsgBox(String.Format("{0}번줄 입력면-방위1({1})에 해당하는 데이터가 없습니다.", Row, 방위1))
|
||||
Return
|
||||
End If
|
||||
NewMyoun.방위 = 방위1
|
||||
NewMyoun.건축부위면적 = FpSpread1_Sheet1.Cells(Row, 20 + (i * 2)).Value
|
||||
DSET1.tbl_myoun.Addtbl_myounRow(NewMyoun)
|
||||
Next
|
||||
|
||||
'//지붕 (45)
|
||||
Dim NewM지붕 As DS.tbl_myounRow = DSET1.tbl_myoun.Newtbl_myounRow
|
||||
NewM지붕.존분류 = DrZone.code
|
||||
NewM지붕.code = String.Format("{0:00000}", 14)
|
||||
NewM지붕.sortkey = NewM지붕.code
|
||||
NewM지붕.방위 = "수평"
|
||||
NewM지붕.건축부위방식 = "외벽"
|
||||
NewM지붕.건축부위면적 = FpSpread1_Sheet1.Cells(Row, 45).Value
|
||||
DSET1.tbl_myoun.Addtbl_myounRow(NewM지붕)
|
||||
|
||||
'//바닥 (46)
|
||||
Dim NewM바닥 As DS.tbl_myounRow = DSET1.tbl_myoun.Newtbl_myounRow
|
||||
NewM바닥.존분류 = DrZone.code
|
||||
NewM바닥.code = String.Format("{0:00000}", 15)
|
||||
NewM바닥.sortkey = NewM지붕.code
|
||||
NewM바닥.방위 = "일사없음"
|
||||
NewM바닥.건축부위방식 = "외벽"
|
||||
NewM바닥.건축부위면적 = FpSpread1_Sheet1.Cells(Row, 46).Value
|
||||
DSET1.tbl_myoun.Addtbl_myounRow(NewM바닥)
|
||||
|
||||
'//공조처리
|
||||
DSET1.tbl_kongjo.Clear()
|
||||
Dim New공조 As DS.tbl_kongjoRow = DSET1.tbl_kongjo.Newtbl_kongjoRow
|
||||
New공조.code = "00001"
|
||||
New공조.팬효율산출방식 = "계산치"
|
||||
New공조.설명 = "공조기기"
|
||||
New공조.설정치난방 = "0"
|
||||
New공조.설정치냉방 = "0"
|
||||
New공조.최대풍량 = "0"
|
||||
|
||||
New공조.리턴공기혼합여부 = "아니오"
|
||||
New공조.가습기유형 = "(없음)"
|
||||
New공조.외기냉방제어유무 = "무"
|
||||
New공조.열교환기유형 = "(없음)"
|
||||
|
||||
New공조.열회수율 = "0"
|
||||
New공조.열회수율냉 = "공조기기"
|
||||
New공조.급기풍량 = "0"
|
||||
New공조.배기풍량 = "0"
|
||||
New공조.급기팬동력 = "0"
|
||||
New공조.배기팬동력 = "0"
|
||||
New공조.총압력손실급기팬 = "0"
|
||||
New공조.총압력손실배기팬 = "0"
|
||||
New공조.총효율급기팬 = "0"
|
||||
New공조.총효율배기팬 = "0"
|
||||
|
||||
|
||||
Dim 공조방식 As String = FpSpread1_Sheet1.Cells(Row, 47).Value
|
||||
If 공조방식 = "없음" Then 공조방식 = "(없음)"
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1026' and name = '{0}'", 공조방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 공조처리-공조방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 공조방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New공조.공조방식 = Drows(0)("name")
|
||||
DSET1.tbl_kongjo.Addtbl_kongjoRow(New공조)
|
||||
|
||||
'//난방기기
|
||||
DSET1.tbl_nanbangkiki.Clear()
|
||||
ColIDX = 48
|
||||
|
||||
|
||||
Dim New난방 As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Newtbl_nanbangkikiRow
|
||||
New난방.code = "00001"
|
||||
New난방.설명 = "보일러"
|
||||
New난방.신재생연결여부 = "연결없음"
|
||||
New난방.보일러대수 = "1"
|
||||
|
||||
Dim 난방_열생산기기방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1020' and name = '{0}'", 난방_열생산기기방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-열생산기기방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_열생산기기방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.열생산기기방식 = Drows(0)("name")
|
||||
|
||||
Dim 난방_사용연료 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1021' and name = '{0}'", 난방_사용연료))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-사용연료({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_사용연료, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.사용연료 = Drows(0)("name")
|
||||
|
||||
New난방.보일러정격출력 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
New난방.급수온도 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
New난방.환수온도 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
|
||||
Dim 난방생산기기운전방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1035' and name = '{0}'", 난방생산기기운전방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-난방생산기기운전방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방생산기기운전방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.운전방식 = Drows(0)("name")
|
||||
|
||||
|
||||
Dim 난방_열원기기_보일러방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
If 난방_열원기기_보일러방식.IndexOf("보일러") = -1 Then 난방_열원기기_보일러방식 += "보일러"
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1036' and name = '{0}'", 난방_열원기기_보일러방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-열원기기_보일러방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_열원기기_보일러방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.보일러방식 = Drows(0)("name")
|
||||
New난방.정격보일러효율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
|
||||
Dim 난방_축열탱크방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1039' and name = '{0}'", 난방_축열탱크방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-급탕축열탱크방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_축열탱크방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.축열탱크방식 = Drows(0)("name")
|
||||
|
||||
|
||||
Dim 난방_급탕_시스템방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1042' and name = '{0}'", 난방_급탕_시스템방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-급탕_시스템방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_급탕_시스템방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.분배시스템방식 = Drows(0)("name")
|
||||
|
||||
'//입력존에서 열생산기기 급탕이 연결되지 않았다.
|
||||
'//순환무우를 비롯 급탕기기를 사용하려면 급탕기기가 연결되어야한다.
|
||||
Dim 난방_급탕_순환유무 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1032' and name = '{0}'", 난방_급탕_순환유무))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-급탕_순환유무({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_급탕_순환유무, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.순환유무 = Drows(0)("name")
|
||||
|
||||
|
||||
Dim 난방_급탕_펌프제어 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1043' and name = '{0}'", 난방_급탕_펌프제어))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-급탕_펌프제어({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_급탕_펌프제어, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.펌프제어 = Drows(0)("name")
|
||||
New난방.펌프동력급탕 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
|
||||
Dim 난방_배관망유형 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1040' and name = '{0}'", 난방_배관망유형))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-배관망유형({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_배관망유형, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.배관망유형 = Drows(0)("name")
|
||||
|
||||
Dim 난방_펌프감소계수 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1002' and name = '{0}'", 난방_펌프감소계수))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-펌프감소계수({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_펌프감소계수, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.펌프교정계수 = Drows(0)("name")
|
||||
|
||||
|
||||
Dim 난방_펌프제어유형 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1041' and name = '{0}'", 난방_펌프제어유형))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방기기-펌프제어유형({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_펌프제어유형, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New난방.펌프제어유형 = Drows(0)("name")
|
||||
New난방.펌프동력급탕 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
DSET1.tbl_nanbangkiki.Addtbl_nanbangkikiRow(New난방)
|
||||
|
||||
'//난방공급시스템
|
||||
DSET1.tbl_kongkub.Clear()
|
||||
Dim New공급 As DS.tbl_kongkubRow = DSET1.tbl_kongkub.Newtbl_kongkubRow
|
||||
New공급.code = "00001"
|
||||
New공급.설명 = "난방공급"
|
||||
New공급.제어기의정격전력 = "0"
|
||||
New공급.팬송풍기정격전력 = "0"
|
||||
New공급.펌프정격전력 = "0"
|
||||
New공급.팬송풍기수 = "0"
|
||||
New공급.추가펌프수 = "0"
|
||||
|
||||
Dim 난방공급시스템 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1045' and name = '{0}'", 난방공급시스템))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방공급-시스템({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방공급시스템, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New공급.열공급시스템 = Drows(0)("name")
|
||||
|
||||
Dim 열공급생산기기 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_nanbangkiki.Select(String.Format("설명 = '{0}'", 열공급생산기기))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방공급-열공급생산시기({1})에 해당하는 데이터가 {2}건 있습니다", Row, 열공급생산기기, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New공급.열공급생산기기 = Drows(0)("code")
|
||||
|
||||
Dim 바닥난방열제어 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1033' and name = '{0}'", 바닥난방열제어))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방공급-바닥난방열제어({1})에 해당하는 데이터가 {2}건 있습니다", Row, 바닥난방열제어, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New공급.바닥난방열제어 = Drows(0)("name")
|
||||
|
||||
Dim 바닥난방열건축부위 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1034' and name = '{0}'", 바닥난방열건축부위))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 난방공급-바닥난방열건축부위({1})에 해당하는 데이터가 {2}건 있습니다", Row, 바닥난방열건축부위, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New공급.바닥난방열건축부위 = Drows(0)("name")
|
||||
DSET1.tbl_kongkub.Addtbl_kongkubRow(New공급)
|
||||
|
||||
'//냉방기기
|
||||
DSET1.tbl_nangbangkiki.Clear()
|
||||
Dim New냉방 As DS.tbl_nangbangkikiRow = DSET1.tbl_nangbangkiki.Newtbl_nangbangkikiRow
|
||||
New냉방.code = "00001"
|
||||
New냉방.설명 = "냉방기기"
|
||||
New냉방.신재생연결여부 = "연결없음"
|
||||
|
||||
Dim 냉동기방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
If 냉동기방식 = "없음" Then 냉동기방식 = "(없음)"
|
||||
Drows = DSET1.tbl_common.Select(String.Format("gubun='1046' and name = '{0}'", 냉동기방식))
|
||||
If Drows.Length <> 1 Then
|
||||
MsgBox(String.Format("{0}번줄 냉방기기-냉동기방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 냉동기방식, Drows.Length))
|
||||
Return
|
||||
End If
|
||||
New냉방.냉동기방식 = Drows(0)("name")
|
||||
New냉방.냉동기용량 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
New냉방.열성능비 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
||||
If Not IsNumeric(New냉방.냉동기용량) Then New냉방.냉동기용량 = "0"
|
||||
If Not IsNumeric(New냉방.열성능비) Then New냉방.열성능비 = "0"
|
||||
DSET1.tbl_nangbangkiki.Addtbl_nangbangkikiRow(New냉방)
|
||||
|
||||
'//열관류율
|
||||
'//면형태를 입력해야함 이것은 공용코드 1088에 들어있으며 코드형태로 들어간다
|
||||
'//외벽(벽체),외벽(지붕),외벽(바닥),내벽(벽체),내벽(지붕),내벽(바닥),간벽,외부창,내부창,지중벽
|
||||
DSET1.tbl_yk.Clear()
|
||||
|
||||
'//직접면하는
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외벽'")
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
Next : ColIDX += 1
|
||||
|
||||
'//간접면하는
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='내벽'")
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
Next : ColIDX += 1
|
||||
|
||||
'//바닥
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외벽' and 방위='일사없음'") '//2018.04.24 수정
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
Next : ColIDX += 1
|
||||
|
||||
'//지붕벽체
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외벽' and 방위='수평'") '//2018.04.24 수정
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
Next : ColIDX += 1
|
||||
|
||||
'//현관문
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='내부창' and 방위='일사없음'") '//2018.04.24 수정
|
||||
dr면.투과율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX + 1).Value
|
||||
Next : ColIDX += 2
|
||||
|
||||
'//확장창
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외부창'")
|
||||
dr면.투과율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX + 1).Value
|
||||
Next : ColIDX += 2
|
||||
|
||||
'//세대창
|
||||
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='내부창' and 방위<>'일사없음'") '//2018.04.24 수정
|
||||
dr면.투과율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
||||
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX + 1).Value
|
||||
Next : ColIDX += 2
|
||||
|
||||
'//입력면의 자료를 업데이트해준다.
|
||||
|
||||
|
||||
DSET1.AcceptChanges()
|
||||
|
||||
'//계산실행
|
||||
Run_Calc(Row)
|
||||
Next
|
||||
|
||||
If Not msgf Is Nothing Then
|
||||
msgf.Close()
|
||||
msgf.Dispose()
|
||||
msgf = Nothing
|
||||
End If
|
||||
|
||||
If StartNo = EndNo Then
|
||||
Report_그래프.Visible = False
|
||||
Report_그래프.Show()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Sub Run_Calc(Row As Integer)
|
||||
|
||||
'//현재데이터상태를 저장
|
||||
DSET1.AcceptChanges()
|
||||
DSETR1.AcceptChanges()
|
||||
|
||||
Dim Type As Calculator.ECalc = Calculator.ECalc.All '//요구량+소요량
|
||||
Dim showmsg As String = "" '//추가표시메세지
|
||||
Dim St As Date = Now '//계산시작
|
||||
|
||||
pLog.Add(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
|
||||
pLog.Add(String.Format("계산실행({0})", Type.ToString()))
|
||||
pLog.Add(String.Format("시작시간 : {0}", St.ToString()))
|
||||
pLog.Add("----------------------------------")
|
||||
|
||||
Dim Result As Boolean = Calc.Start(showmsg, Type, LogSB, 0)
|
||||
Dim Ts As TimeSpan = Now - St '//계산경과시간을 표시해준다.
|
||||
Dim calc_ok As Integer = 0
|
||||
If Result Then '//파라미터 True 라면 소요량이 추가로 게산된다.
|
||||
Calc.Summary.All()
|
||||
If LogSB.ToString <> "" Then
|
||||
FpSpread1_Sheet1.Cells(Row, 97).Value = LogSB.ToString
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, 97).Value = "시간:" + Ts.ToString()
|
||||
calc_ok = 1 '================================2014.04.17 계산이 완료되면 그래프를 보여줌
|
||||
End If
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, 97).Value = LogSB.ToString
|
||||
End If
|
||||
|
||||
'//상태메세지창이 열려있다면 제거해준다.
|
||||
|
||||
If calc_ok = 1 Then
|
||||
'//해당값을 기록한다.
|
||||
Extract_Data(Row)
|
||||
Else
|
||||
'//빈값으로 기록을 한다.
|
||||
Dim StartIDX As Integer = 100
|
||||
For idx As Integer = StartIDX To StartIDX + 13
|
||||
FpSpread1_Sheet1.Cells(Row, idx).Value = "--"
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub Extract_Data(Row As Integer)
|
||||
Dim 신재생에너지 As Decimal
|
||||
Dim 난방에너지 As Decimal
|
||||
Dim 냉방에너지 As Decimal
|
||||
Dim 급탕에너지 As Decimal
|
||||
Dim 조명에너지 As Decimal
|
||||
Dim 환기에너지 As Decimal
|
||||
'Dim 합계 As Decimal
|
||||
|
||||
Dim BaseIndex As Integer = 90
|
||||
Dim Dr2 As DSR.Graph_ReqUseRow
|
||||
For Gubun As Short = 0 To 4
|
||||
Select Case Gubun
|
||||
Case 0 '//1차에너지소요량
|
||||
|
||||
Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
||||
|
||||
Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
||||
Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
||||
Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
||||
Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
||||
Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
||||
|
||||
Dim 난방면적 As Decimal = 0
|
||||
Dim 냉방면적 As Decimal = 0
|
||||
Dim 조명면적 As Decimal = 0
|
||||
Dim 급탕면적 As Decimal = 0
|
||||
Dim 환기면적 As Decimal = 0
|
||||
If Result1.사용면적.H <> 0 Then
|
||||
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
||||
End If
|
||||
If Result1.사용면적.C <> 0 Then
|
||||
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
||||
End If
|
||||
If Result1.사용면적.L <> 0 Then
|
||||
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
||||
End If
|
||||
If Result1.사용면적.W <> 0 Then
|
||||
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
||||
End If
|
||||
If Result1.사용면적.V <> 0 Then
|
||||
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
||||
End If
|
||||
|
||||
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
||||
|
||||
'//열병합신재생에너지추가 130831 arin
|
||||
신재생에너지 = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + 전기 * 2.75)
|
||||
|
||||
'//1차에너지소요량
|
||||
난방에너지 = Result1.일차E소요량(0).난방면적
|
||||
냉방에너지 = Result1.일차E소요량(0).냉방면적
|
||||
급탕에너지 = Result1.일차E소요량(0).급탕면적
|
||||
조명에너지 = Result1.일차E소요량(0).조명면적
|
||||
환기에너지 = Result1.일차E소요량(0).환기면적
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 8).Value = 난방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 9).Value = 냉방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 10).Value = 급탕에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 11).Value = 조명에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 12).Value = 환기에너지
|
||||
|
||||
Case 1 '//에너지소요량
|
||||
|
||||
Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
||||
|
||||
Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
||||
Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
||||
Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
||||
Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
||||
Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
||||
|
||||
Dim 난방면적 As Decimal = 0
|
||||
Dim 냉방면적 As Decimal = 0
|
||||
Dim 조명면적 As Decimal = 0
|
||||
Dim 급탕면적 As Decimal = 0
|
||||
Dim 환기면적 As Decimal = 0
|
||||
If Result1.사용면적.H <> 0 Then
|
||||
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
||||
End If
|
||||
If Result1.사용면적.C <> 0 Then
|
||||
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
||||
End If
|
||||
If Result1.사용면적.L <> 0 Then
|
||||
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
||||
End If
|
||||
If Result1.사용면적.W <> 0 Then
|
||||
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
||||
End If
|
||||
If Result1.사용면적.V <> 0 Then
|
||||
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
||||
End If
|
||||
|
||||
Dim 면적 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
||||
|
||||
'//열병합신재생에너지추가 130831 arin
|
||||
신재생에너지 = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열) - 면적
|
||||
난방에너지 = Result1.E소요량(0).난방면적
|
||||
냉방에너지 = Result1.E소요량(0).냉방면적
|
||||
급탕에너지 = Result1.E소요량(0).급탕면적
|
||||
조명에너지 = Result1.E소요량(0).조명면적
|
||||
환기에너지 = Result1.E소요량(0).환기면적
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 1).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 8).Value = 난방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 7).Value = 냉방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 6).Value = 급탕에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 5).Value = 조명에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 4).Value = 환기에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 3).Value = 신재생에너지
|
||||
|
||||
|
||||
Case 2 '//에너지요구량
|
||||
|
||||
신재생에너지 = 0
|
||||
난방에너지 = Result1.E요구량(0).난방면적
|
||||
냉방에너지 = Result1.E요구량(0).냉방면적
|
||||
급탕에너지 = Result1.E요구량(0).급탕면적
|
||||
조명에너지 = Result1.E요구량(0).조명면적
|
||||
환기에너지 = 0
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex - 2).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 3).Value = 난방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 4).Value = 냉방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 5).Value = 급탕에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 6).Value = 조명에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 7).Value = 환기에너지
|
||||
|
||||
Case 3 '//co2발생량
|
||||
|
||||
신재생에너지 = 0
|
||||
난방에너지 = Result1.Co2발생량(0).난방면적
|
||||
냉방에너지 = Result1.Co2발생량(0).냉방면적
|
||||
급탕에너지 = Result1.Co2발생량(0).급탕면적
|
||||
조명에너지 = Result1.Co2발생량(0).조명면적
|
||||
환기에너지 = Result1.Co2발생량(0).환기면적
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 1).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
|
||||
Case 4 '//1차에너지소요량(+계수) + 131020
|
||||
|
||||
신재생에너지 = 0
|
||||
If (Result1.사용면적.H_WF = 0) Then
|
||||
난방에너지 = 0
|
||||
Else
|
||||
난방에너지 = Result1.일차E소요량(0).난방면적2 * Result1.사용면적.H / Result1.사용면적.H_WF
|
||||
End If
|
||||
If (Result1.사용면적.C_WF = 0) Then
|
||||
냉방에너지 = 0
|
||||
Else
|
||||
냉방에너지 = TOSG(Result1.일차E소요량(0).냉방면적 * Result1.사용면적.C / Result1.사용면적.C_WF)
|
||||
End If
|
||||
If (Result1.사용면적.W_WF = 0) Then
|
||||
급탕에너지 = 0
|
||||
Else
|
||||
급탕에너지 = Result1.일차E소요량(0).급탕면적2 * Result1.사용면적.W / Result1.사용면적.W_WF
|
||||
End If
|
||||
If (Result1.사용면적.L_WF = 0) Then
|
||||
조명에너지 = 0
|
||||
Else
|
||||
조명에너지 = Result1.일차E소요량(0).조명면적 * Result1.사용면적.L / Result1.사용면적.L_WF
|
||||
End If
|
||||
If (Result1.사용면적.V_WF = 0) Then
|
||||
환기에너지 = 0
|
||||
Else
|
||||
환기에너지 = Result1.일차E소요량(0).환기면적 * Result1.사용면적.V / Result1.사용면적.V_WF
|
||||
End If
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 2).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 13).Value = 난방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 14).Value = 냉방에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 15).Value = 급탕에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 16).Value = 조명에너지
|
||||
FpSpread1_Sheet1.Cells(Row, BaseIndex + 17).Value = 환기에너지
|
||||
|
||||
|
||||
End Select
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
@@ -256,6 +256,9 @@
|
||||
|
||||
단위면적당1차에너소비량합 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지 + Math.Round(단위면적당신재생1차에너지합, 1)
|
||||
|
||||
단위면적당1차에너소비량합 += -신재생에너지_offsite
|
||||
|
||||
|
||||
If 단위면적당1차에너소비량합 <> 0 Then
|
||||
|
||||
에너지자립률 = (Math.Round(단위면적당신재생1차에너지합, 1) / 단위면적당1차에너소비량합) * 100
|
||||
|
||||
@@ -1211,7 +1211,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>단위면적당 1차에너지생산량(대지내):</Value>
|
||||
<Value>단위면적당 1차에너지순생산량(대지내):</Value>
|
||||
<Style>
|
||||
<FontFamily>맑은 고딕</FontFamily>
|
||||
<FontSize>8pt</FontSize>
|
||||
@@ -1225,9 +1225,9 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.09525cm</Top>
|
||||
<Left>5.03112cm</Left>
|
||||
<Left>4.92169cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Width>5.042cm</Width>
|
||||
<Width>5.50068cm</Width>
|
||||
<ZIndex>1</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
@@ -1245,7 +1245,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>단위면적당 1차에너지소비량 : </Value>
|
||||
<Value>단위면적당 1차에너지총소요량 : </Value>
|
||||
<Style>
|
||||
<FontFamily>맑은 고딕</FontFamily>
|
||||
<FontSize>8pt</FontSize>
|
||||
@@ -1259,9 +1259,9 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.09525cm</Top>
|
||||
<Left>11.5652cm</Left>
|
||||
<Left>11.45937cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Width>4.14242cm</Width>
|
||||
<Width>4.88325cm</Width>
|
||||
<ZIndex>2</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
@@ -1329,7 +1329,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.0635cm</Top>
|
||||
<Left>9.99727cm</Left>
|
||||
<Left>10.31477cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Width>0.96366cm</Width>
|
||||
<ZIndex>4</ZIndex>
|
||||
@@ -1365,7 +1365,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.0635cm</Top>
|
||||
<Left>15.64413cm</Left>
|
||||
<Left>16.27913cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Width>1.15416cm</Width>
|
||||
<ZIndex>5</ZIndex>
|
||||
@@ -1436,7 +1436,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.58837cm</Top>
|
||||
<Left>0.12253cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Height>0.45cm</Height>
|
||||
<Width>3.33808cm</Width>
|
||||
<ZIndex>7</ZIndex>
|
||||
<Style>
|
||||
@@ -1455,7 +1455,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>단위면적당 1차에너지생산량(대지외):</Value>
|
||||
<Value>단위면적당 1차에너지순생산량(대지외):</Value>
|
||||
<Style>
|
||||
<FontFamily>맑은 고딕</FontFamily>
|
||||
<FontSize>8pt</FontSize>
|
||||
@@ -1469,9 +1469,9 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.58837cm</Top>
|
||||
<Left>5.03112cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Width>5.042cm</Width>
|
||||
<Left>4.92169cm</Left>
|
||||
<Height>0.45cm</Height>
|
||||
<Width>5.50068cm</Width>
|
||||
<ZIndex>8</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
@@ -1539,7 +1539,7 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.46137cm</Top>
|
||||
<Left>9.99727cm</Left>
|
||||
<Left>10.3546cm</Left>
|
||||
<Height>0.56825cm</Height>
|
||||
<Width>0.96366cm</Width>
|
||||
<ZIndex>10</ZIndex>
|
||||
@@ -1589,11 +1589,49 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
<Textbox Name="Textbox14">
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>단위면적당 1차에너지생산량(대지외):</Value>
|
||||
<Style>
|
||||
<FontFamily>맑은 고딕</FontFamily>
|
||||
<FontSize>8pt</FontSize>
|
||||
<Color>Red</Color>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Right</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>0.55662cm</Top>
|
||||
<Left>11.75629cm</Left>
|
||||
<Height>0.44125cm</Height>
|
||||
<Width>5.042cm</Width>
|
||||
<ZIndex>12</ZIndex>
|
||||
<Visibility>
|
||||
<Hidden>=iif(Parameters!bcustomprofile.Value = "1",false,true)</Hidden>
|
||||
</Visibility>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>None</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</ReportItems>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Top>19.37185cm</Top>
|
||||
<Height>1.18837cm</Height>
|
||||
<Width>17.87958cm</Width>
|
||||
<Width>18.5cm</Width>
|
||||
<ZIndex>4</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
@@ -1601,44 +1639,6 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
|
||||
</Border>
|
||||
</Style>
|
||||
</Rectangle>
|
||||
<Textbox Name="Textbox14">
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>단위면적당 1차에너지생산량(대지외):</Value>
|
||||
<Style>
|
||||
<FontFamily>맑은 고딕</FontFamily>
|
||||
<FontSize>8pt</FontSize>
|
||||
<Color>Red</Color>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Right</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox2</rd:DefaultName>
|
||||
<Top>19.92847cm</Top>
|
||||
<Left>11.21595cm</Left>
|
||||
<Height>0.44125cm</Height>
|
||||
<Width>5.042cm</Width>
|
||||
<ZIndex>5</ZIndex>
|
||||
<Visibility>
|
||||
<Hidden>=iif(Parameters!bcustomprofile.Value = "1",false,true)</Hidden>
|
||||
</Visibility>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>None</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</ReportItems>
|
||||
<Height>20.56022cm</Height>
|
||||
<Style />
|
||||
|
||||
36
ArinWarev1/MdiMain.Designer.vb
generated
36
ArinWarev1/MdiMain.Designer.vb
generated
@@ -37,7 +37,6 @@ Partial Class MdiMain
|
||||
Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
|
||||
Me.ReportToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.btNew = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.신규코드업로드ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripMenuItem7 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.btOpen = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.bt_filesave = New System.Windows.Forms.ToolStripMenuItem()
|
||||
@@ -58,6 +57,7 @@ Partial Class MdiMain
|
||||
Me.환경설정ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.실행ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.btMacro = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.btMacro2 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.bt_계산결과 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.계산결과ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.bt_인증평가서 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
@@ -109,6 +109,7 @@ Partial Class MdiMain
|
||||
Me.비교데이터백업ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.데이터비교ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.순실체적ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ManualToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.StatusStrip1.SuspendLayout()
|
||||
Me.MenuStrip1.SuspendLayout()
|
||||
Me.ContextMenuStrip1.SuspendLayout()
|
||||
@@ -178,7 +179,7 @@ Partial Class MdiMain
|
||||
'MenuStrip1
|
||||
'
|
||||
Me.MenuStrip1.Font = New System.Drawing.Font("돋움", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportToolStripMenuItem, Me.건물개요ToolStripMenuItem, Me.환경설정ToolStripMenuItem, Me.bt_계산결과, Me.결과그래프ToolStripMenuItem, Me.정보ToolStripMenuItem1, Me.bt_etc, Me.WindowsMenu, Me.btcustomprofile})
|
||||
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportToolStripMenuItem, Me.건물개요ToolStripMenuItem, Me.환경설정ToolStripMenuItem, Me.bt_계산결과, Me.결과그래프ToolStripMenuItem, Me.정보ToolStripMenuItem1, Me.bt_etc, Me.WindowsMenu, Me.btcustomprofile, Me.ManualToolStripMenuItem})
|
||||
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.MenuStrip1.MdiWindowListItem = Me.WindowsMenu
|
||||
Me.MenuStrip1.Name = "MenuStrip1"
|
||||
@@ -188,7 +189,7 @@ Partial Class MdiMain
|
||||
'
|
||||
'ReportToolStripMenuItem
|
||||
'
|
||||
Me.ReportToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btNew, Me.신규코드업로드ToolStripMenuItem, Me.ToolStripMenuItem7, Me.btOpen, Me.bt_filesave, Me.btSaveNew, Me.정보ToolStripMenuItem, Me.bt_데이터관리, Me.btImport, Me.ToolStripMenuItem5, Me.lbl_p1, Me.lbl_p2, Me.lbl_p3, Me.lbl_p4, Me.lbl_p5, Me.ToolStripMenuItem6, Me.종료ToolStripMenuItem})
|
||||
Me.ReportToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btNew, Me.ToolStripMenuItem7, Me.btOpen, Me.bt_filesave, Me.btSaveNew, Me.정보ToolStripMenuItem, Me.bt_데이터관리, Me.btImport, Me.ToolStripMenuItem5, Me.lbl_p1, Me.lbl_p2, Me.lbl_p3, Me.lbl_p4, Me.lbl_p5, Me.ToolStripMenuItem6, Me.종료ToolStripMenuItem})
|
||||
Me.ReportToolStripMenuItem.Image = CType(resources.GetObject("ReportToolStripMenuItem.Image"), System.Drawing.Image)
|
||||
Me.ReportToolStripMenuItem.Name = "ReportToolStripMenuItem"
|
||||
Me.ReportToolStripMenuItem.Size = New System.Drawing.Size(57, 20)
|
||||
@@ -201,14 +202,6 @@ Partial Class MdiMain
|
||||
Me.btNew.Size = New System.Drawing.Size(244, 22)
|
||||
Me.btNew.Text = "신규"
|
||||
'
|
||||
'신규코드업로드ToolStripMenuItem
|
||||
'
|
||||
Me.신규코드업로드ToolStripMenuItem.ForeColor = System.Drawing.Color.Red
|
||||
Me.신규코드업로드ToolStripMenuItem.Name = "신규코드업로드ToolStripMenuItem"
|
||||
Me.신규코드업로드ToolStripMenuItem.Size = New System.Drawing.Size(244, 22)
|
||||
Me.신규코드업로드ToolStripMenuItem.Text = "신규코드 업로드"
|
||||
Me.신규코드업로드ToolStripMenuItem.Visible = False
|
||||
'
|
||||
'ToolStripMenuItem7
|
||||
'
|
||||
Me.ToolStripMenuItem7.Name = "ToolStripMenuItem7"
|
||||
@@ -326,7 +319,7 @@ Partial Class MdiMain
|
||||
'
|
||||
'환경설정ToolStripMenuItem
|
||||
'
|
||||
Me.환경설정ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.실행ToolStripMenuItem, Me.btMacro})
|
||||
Me.환경설정ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.실행ToolStripMenuItem, Me.btMacro, Me.btMacro2})
|
||||
Me.환경설정ToolStripMenuItem.Image = CType(resources.GetObject("환경설정ToolStripMenuItem.Image"), System.Drawing.Image)
|
||||
Me.환경설정ToolStripMenuItem.Name = "환경설정ToolStripMenuItem"
|
||||
Me.환경설정ToolStripMenuItem.Size = New System.Drawing.Size(57, 20)
|
||||
@@ -346,6 +339,14 @@ Partial Class MdiMain
|
||||
Me.btMacro.Text = "일괄실행"
|
||||
Me.btMacro.Visible = False
|
||||
'
|
||||
'btMacro2
|
||||
'
|
||||
Me.btMacro2.ForeColor = System.Drawing.Color.Blue
|
||||
Me.btMacro2.Name = "btMacro2"
|
||||
Me.btMacro2.Size = New System.Drawing.Size(124, 22)
|
||||
Me.btMacro2.Text = "Macro II"
|
||||
Me.btMacro2.Visible = False
|
||||
'
|
||||
'bt_계산결과
|
||||
'
|
||||
Me.bt_계산결과.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.계산결과ToolStripMenuItem, Me.bt_인증평가서, Me.업로드양식ToolStripMenuItem})
|
||||
@@ -696,6 +697,13 @@ Partial Class MdiMain
|
||||
Me.순실체적ToolStripMenuItem.Size = New System.Drawing.Size(170, 22)
|
||||
Me.순실체적ToolStripMenuItem.Text = "3.순실체적"
|
||||
'
|
||||
'ManualToolStripMenuItem
|
||||
'
|
||||
Me.ManualToolStripMenuItem.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.ManualToolStripMenuItem.Name = "ManualToolStripMenuItem"
|
||||
Me.ManualToolStripMenuItem.Size = New System.Drawing.Size(59, 20)
|
||||
Me.ManualToolStripMenuItem.Text = "Manual"
|
||||
'
|
||||
'MdiMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
@@ -801,7 +809,6 @@ Partial Class MdiMain
|
||||
Friend WithEvents 데이터비교ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents 순실체적ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents 업로드양식ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents 신규코드업로드ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents WindowsMenu As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents NewWindowToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents CascadeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
@@ -821,5 +828,6 @@ Partial Class MdiMain
|
||||
Friend WithEvents btMacro As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents BatchUpdateProfileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents btcustomprofile As System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
Friend WithEvents btMacro2 As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ManualToolStripMenuItem As ToolStripMenuItem
|
||||
End Class
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
||||
Imports System.IO
|
||||
Imports Eco2Ar.WebServer
|
||||
|
||||
Public Class MdiMain
|
||||
|
||||
@@ -20,9 +21,17 @@ Public Class MdiMain
|
||||
|
||||
'''현재열려있는폼의 이름을 변경한다.
|
||||
Public OpenedForm As E_MenuIdx = E_MenuIdx.NONE
|
||||
Private webServer As StaticFileServer
|
||||
|
||||
Private Sub MdiMain_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
|
||||
pLog.Add("FormClosed", True)
|
||||
|
||||
' 웹 서버 정리
|
||||
If webServer IsNot Nothing Then
|
||||
webServer.Stop()
|
||||
webServer.Dispose()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub MdiMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||
@@ -124,6 +133,7 @@ Public Class MdiMain
|
||||
bt_계산결과.Visible = False
|
||||
bt_인증평가서.Visible = False
|
||||
btImport.Visible = False
|
||||
btMacro.Visible = False
|
||||
'//서버로부터 사용여부 체크
|
||||
'If L.Check_guest <> "OK" Then
|
||||
' MsgBox("일반사용자에게는 아직 오픈되지 않았습니다.", MsgBoxStyle.Information, "확인")
|
||||
@@ -138,6 +148,7 @@ Public Class MdiMain
|
||||
'bt_계산결과그래프q.Visible = True
|
||||
bt_인증평가서.Visible = True
|
||||
btImport.Visible = True
|
||||
btMacro.Visible = False
|
||||
Case "BOTH1"
|
||||
bt_데이터관리.Visible = True
|
||||
Me.bt_etc.Visible = False
|
||||
@@ -147,6 +158,7 @@ Public Class MdiMain
|
||||
'bt_계산결과그래프q.Visible = True
|
||||
bt_인증평가서.Visible = True
|
||||
btImport.Visible = True
|
||||
btMacro.Visible = False
|
||||
Case "BOTH2"
|
||||
bt_데이터관리.Visible = False
|
||||
Me.bt_etc.Visible = False
|
||||
@@ -156,6 +168,7 @@ Public Class MdiMain
|
||||
'bt_계산결과그래프q.Visible = False
|
||||
bt_인증평가서.Visible = False
|
||||
btImport.Visible = False
|
||||
btMacro.Visible = False
|
||||
Case Else
|
||||
bt_데이터관리.Visible = False
|
||||
bt_계산결과그래프.Visible = False
|
||||
@@ -164,8 +177,11 @@ Public Class MdiMain
|
||||
bt_계산결과.Visible = False
|
||||
bt_인증평가서.Visible = False
|
||||
btImport.Visible = False
|
||||
btMacro.Visible = False
|
||||
End Select
|
||||
|
||||
btMacro2.Visible = btMacro.Visible
|
||||
|
||||
If Prj.UserAuthType_Real.StartsWith("BOTH_C_") Then
|
||||
btcustomprofile.Visible = True
|
||||
End If
|
||||
@@ -236,6 +252,20 @@ Public Class MdiMain
|
||||
|
||||
pLog.Add("Program Start")
|
||||
|
||||
Try
|
||||
' 웹 서버 초기화 및 시작
|
||||
Dim wwwPath = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
webServer = New StaticFileServer(wwwPath, 58123)
|
||||
webServer.Start()
|
||||
'If System.Diagnostics.Debugger.IsAttached Then
|
||||
' webServer.OpenInBrowser()
|
||||
'End If
|
||||
Catch ex As Exception
|
||||
' 웹 서버 시작 실패해도 프로그램은 계속 실행
|
||||
Debug.WriteLine("웹 서버 시작 실패: " & ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
If Me.bt_etc.Visible = False AndAlso System.Diagnostics.Debugger.IsAttached Then
|
||||
MsgBox("debugmode import on")
|
||||
Me.bt_etc.Visible = True
|
||||
@@ -936,6 +966,9 @@ Public Class MdiMain
|
||||
DSET1.tbl_profile.AcceptChanges()
|
||||
|
||||
|
||||
Pub.Update_열관류율_140409()
|
||||
|
||||
|
||||
PrjChanged = False
|
||||
|
||||
Me.RefreshMenuList("")
|
||||
@@ -3467,61 +3500,6 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub 신규코드업로드ToolStripMenuItem_Click(sender As Object, e As EventArgs)
|
||||
|
||||
If Prj.Opened Then
|
||||
Work_msg_timer("열려있는 파일을 닫아야 사용 가능합니다", 10)
|
||||
Return
|
||||
End If
|
||||
|
||||
If MsgBox("신규파일의 코드를 갱신하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.YesNo, "확인") = MsgBoxResult.Yes Then
|
||||
|
||||
'물어야하니 if
|
||||
Dim new_string As String
|
||||
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.09 추가
|
||||
new_string = "\new"
|
||||
Else
|
||||
new_string = "\new1"
|
||||
End If
|
||||
Dim Srcfile As New System.IO.FileInfo(My.Application.Info.DirectoryPath & new_string)
|
||||
Me.Open_File(Srcfile.FullName, True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub 신규코드업로드ToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles 신규코드업로드ToolStripMenuItem.Click
|
||||
|
||||
If Prj.Opened Then
|
||||
Work_msg_timer("열려있는 파일을 닫아주세요", 10)
|
||||
Return
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'물어야하니 if
|
||||
If MsgBox("새파일소스를 업데이트 하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return '//ok 안하면 빠져나가기
|
||||
Dim new_string As String
|
||||
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.09 추가
|
||||
new_string = "\new"
|
||||
Else
|
||||
new_string = "\new1"
|
||||
End If
|
||||
Dim Srcfile As New System.IO.FileInfo(My.Application.Info.DirectoryPath & new_string)
|
||||
If Srcfile.Exists = False Then
|
||||
MsgBox("원본샘플파일이 존재하지않습니다", MsgBoxStyle.Critical, "확인")
|
||||
Return '//복사할원본이 없으면 빠져나가기
|
||||
End If
|
||||
|
||||
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////저장파일 변조2011.03.16추가
|
||||
'If Not (Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1") Then '//2011.03.09 추가
|
||||
' Dim Desbuf() As Byte = {}
|
||||
' Dim Source() As Byte = My.Computer.FileSystem.ReadAllBytes(SD.FileName)
|
||||
' Desbuf = DeCryptArea(Source, New Byte() {&HAC, &H29, &H55, &H42})
|
||||
' My.Computer.FileSystem.WriteAllBytes(SD.FileName, Desbuf, False)
|
||||
'End If
|
||||
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////저장파일 변조2011.03.16추가
|
||||
Me.Open_File(Srcfile.FullName, True)
|
||||
End Sub
|
||||
|
||||
Private Sub CascadeToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CascadeToolStripMenuItem.Click
|
||||
Me.LayoutMdi(MdiLayout.Cascade)
|
||||
End Sub
|
||||
@@ -4000,4 +3978,24 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
|
||||
f.ControlBox = True
|
||||
f.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub MacroIIToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles btMacro2.Click
|
||||
Menu_건물개요()
|
||||
Dim f As New Frm_Macro2
|
||||
f.Show()
|
||||
End Sub
|
||||
|
||||
|
||||
Dim frmManual As Frm_WebManual = Nothing
|
||||
Private Sub ManualToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ManualToolStripMenuItem.Click
|
||||
If frmManual Is Nothing OrElse frmManual.IsDisposed Then
|
||||
frmManual = New Frm_WebManual()
|
||||
frmManual.Show()
|
||||
End If
|
||||
If frmManual.WindowState = FormWindowState.Minimized Then
|
||||
frmManual.WindowState = FormWindowState.Normal
|
||||
End If
|
||||
frmManual.Activate()
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
@@ -57,6 +57,161 @@
|
||||
Public DSHistory As New DS2
|
||||
Public Importsameaddress As Boolean = False
|
||||
|
||||
Public Sub Update_열관류율_140409()
|
||||
DSET1.tbl_yk.AcceptChanges()
|
||||
|
||||
For Each DrowYK As DS.tbl_ykRow In DSET1.tbl_yk
|
||||
|
||||
If DrowYK.RowState = DataRowState.Deleted OrElse DrowYK.RowState = DataRowState.Detached Then Continue For
|
||||
|
||||
Dim R_value As Decimal = 0
|
||||
Dim width As Decimal = 0
|
||||
Dim filter As String = "pcode='" + DrowYK.code + "'"
|
||||
For Each Dr As DS.tbl_ykdetailRow In DSET1.tbl_ykdetail.Select(filter, "")
|
||||
If Dr.설명 = "공기층" Then
|
||||
Dr.열전도율 = ""
|
||||
If TOSG(Dr.두께) > 10.0 Then
|
||||
Dr.열저항 = TOST(0.086)
|
||||
R_value += 0.086
|
||||
Else
|
||||
Dr.열저항 = TOST(TOSG(Dr.두께) * 0.0086)
|
||||
R_value = R_value + TOSG(Dr.두께) * 0.0086
|
||||
End If
|
||||
Else '//여기아래 추가하신거에요?
|
||||
|
||||
If Dr.설명.IndexOf("열전달저항") <> -1 Then
|
||||
Dr.두께 = ""
|
||||
Dr.열전도율 = ""
|
||||
Select Case Dr.설명
|
||||
Case "실내열전달저항(벽체)"
|
||||
Dr.열저항 = TOST(0.11)
|
||||
R_value += 0.11
|
||||
Case "실외열전달저항(벽체,간접)"
|
||||
Dr.열저항 = TOST(0.11)
|
||||
R_value += 0.11
|
||||
Case "실외열전달저항(벽체,직접)"
|
||||
Dr.열저항 = TOST(0.043)
|
||||
R_value += 0.043
|
||||
Case "실내열전달저항(바닥)"
|
||||
Dr.열저항 = TOST(0.086)
|
||||
R_value += 0.086
|
||||
Case "실외열전달저항(바닥,간접)"
|
||||
Dr.열저항 = TOST(0.15)
|
||||
R_value += 0.15
|
||||
Case "실외열전달저항(바닥,직접)"
|
||||
Dr.열저항 = TOST(0.043)
|
||||
R_value += 0.043
|
||||
Case "실내열전달저항(지붕)"
|
||||
Dr.열저항 = TOST(0.086)
|
||||
R_value += 0.086
|
||||
Case "실외열전달저항(지붕,간접)"
|
||||
Dr.열저항 = TOST(0.086)
|
||||
R_value += 0.086
|
||||
Case "실외열전달저항(지붕,직접)"
|
||||
Dr.열저항 = TOST(0.043)
|
||||
R_value += 0.043
|
||||
|
||||
End Select
|
||||
|
||||
Else
|
||||
If Dr.열전도율 <> "" AndAlso TOSG(Dr.열전도율) <> 0 Then
|
||||
Dr.열저항 = TOSG(Math.Round(TOSG(Dr.두께) / 1000 / TOSG(Dr.열전도율), 4)).ToString
|
||||
R_value += TOSG(Dr.열저항) '//여부분에서는 나올수잇겟군요.?예
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Dr.설명.IndexOf("열전달저항") = -1 Then
|
||||
width += TOSG(Dr.두께)
|
||||
End If
|
||||
Next
|
||||
|
||||
Try
|
||||
If DrowYK.면형태 = "0" Then
|
||||
DrowYK.열관류율 = CSng(Math.Round(1 / R_value, 3)).ToString
|
||||
DrowYK.투과율 = ""
|
||||
Else
|
||||
Dim 면형태 As DS.tbl_commonRow = DSET1.tbl_common.Select("gubun='1088' and code='" + DrowYK.면형태 + "'")(0)
|
||||
If 면형태.name = "외부창" OrElse 면형태.name = "내부창" Then
|
||||
If DrowYK.발코니창호여부 Then
|
||||
DrowYK.열관류율 = Math.Round((1 / ((1 / TOSG(DrowYK.창호열관류율)) + (1 / TOSG(DrowYK.발코니창호열관류율)) * 0.5)), 3)
|
||||
DrowYK.투과율 = Math.Round(TOSG(DrowYK.발코니투과율) * TOSG(DrowYK.일사에너지투과율), 3)
|
||||
Else
|
||||
DrowYK.열관류율 = DrowYK.창호열관류율
|
||||
DrowYK.투과율 = DrowYK.일사에너지투과율
|
||||
End If
|
||||
Else
|
||||
DrowYK.열관류율 = CSng(Math.Round(1 / R_value, 3)).ToString
|
||||
DrowYK.투과율 = ""
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
DrowYK.열관류율 = ""
|
||||
DrowYK.투과율 = ""
|
||||
End Try
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
'//열관류율이 링크된 모든면의 건축부위 데이터를 열관류율 화면의 건축부위 데이터로 갱신
|
||||
For Each Drow As DS.tbl_myounRow In DSET1.tbl_myoun
|
||||
|
||||
If Drow.RowState = DataRowState.Deleted OrElse Drow.RowState = DataRowState.Detached Then Continue For
|
||||
|
||||
#If DEBUG Then
|
||||
If Drow.code = "0009" Then
|
||||
MsgBox("test")
|
||||
End If
|
||||
#End If
|
||||
|
||||
If Drow.열관류율2 <> "0" Then
|
||||
Try '==========================================2014.04.17 열관류율 삭제시 코드번호가 남아 오류 발생하는 현상을 try 안으로 넣음
|
||||
Dim Dr As DS.tbl_ykRow = DSET1.tbl_yk.Select("code='" & Drow.열관류율2.ToString & "'")(0)
|
||||
Drow.건축부위방식 = Dr.면형태 '// 링크된 열관류율에서 면형태를 가져옴..
|
||||
Select Case Dr.면형태
|
||||
Case "외벽(벽체)", "0"
|
||||
Drow.건축부위방식 = "외벽"
|
||||
Case "외벽(지붕)", "0001"
|
||||
Drow.건축부위방식 = "외벽"
|
||||
'Drow.방위 = "수평"
|
||||
Case "외벽(바닥)", "0002"
|
||||
Drow.건축부위방식 = "외벽"
|
||||
'Drow.방위 = "일사없음"
|
||||
Case "내벽(벽체)", "0003", "지중벽", "0009"
|
||||
Drow.건축부위방식 = "내벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "내벽(지붕)", "0004"
|
||||
Drow.건축부위방식 = "내벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "내벽(바닥)", "0005"
|
||||
Drow.건축부위방식 = "내벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "간벽", "0006"
|
||||
Drow.건축부위방식 = "간벽"
|
||||
Drow.방위 = "일사없음"
|
||||
Case "외부창", "0007"
|
||||
Drow.건축부위방식 = "외부창"
|
||||
'Drow.투과율 = Dr.일사에너지투과율
|
||||
Case "내부창", "0008"
|
||||
Drow.건축부위방식 = "내부창"
|
||||
'Drow.투과율 = Dr.일사에너지투과율
|
||||
Case Else
|
||||
MsgBox("모르는값 " & Dr("면형태").ToString & "/" & Dr.면형태)
|
||||
End Select
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End If
|
||||
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Function 프로필급탕요구량(면적별범위 As Char) As Decimal
|
||||
'Drow프로필.일일급탕요구량()
|
||||
|
||||
|
||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' 지정되도록 할 수 있습니다.
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.2017.0122.1009")>
|
||||
<Assembly: AssemblyFileVersion("1.2017.0122.1009")>
|
||||
<Assembly: AssemblyVersion("1.2017.0122.1014")>
|
||||
<Assembly: AssemblyFileVersion("1.2017.0122.1014")>
|
||||
|
||||
244
ArinWarev1/WebServer/Example_WebServer_Usage.vb
Normal file
244
ArinWarev1/WebServer/Example_WebServer_Usage.vb
Normal file
@@ -0,0 +1,244 @@
|
||||
' OWIN 정적 파일 호스팅 서버 사용 예제
|
||||
'
|
||||
' 이 파일은 StaticFileServer를 사용하는 방법을 보여줍니다.
|
||||
' 실제 사용 시에는 MdiMain.vb 또는 필요한 폼에서 사용하세요.
|
||||
|
||||
Imports Eco2Ar.WebServer
|
||||
Imports System.IO
|
||||
|
||||
Namespace Examples
|
||||
|
||||
''' <summary>
|
||||
''' 웹 서버 사용 예제
|
||||
''' </summary>
|
||||
Public Class WebServerExample
|
||||
|
||||
Private server As StaticFileServer
|
||||
|
||||
''' <summary>
|
||||
''' 예제 1: 기본 사용법
|
||||
''' </summary>
|
||||
Public Sub Example1_BasicUsage()
|
||||
' 1. 정적 파일을 서빙할 디렉토리 경로 설정
|
||||
Dim wwwrootPath As String = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
|
||||
' 2. 서버 인스턴스 생성 (포트 58123 사용)
|
||||
server = New StaticFileServer(wwwrootPath, 58123)
|
||||
|
||||
' 3. 서버 시작
|
||||
server.Start()
|
||||
|
||||
' 4. 브라우저에서 열기 (선택사항)
|
||||
' server.OpenInBrowser()
|
||||
|
||||
MsgBox("웹 서버가 시작되었습니다." & vbCrLf & _
|
||||
"URL: " & server.BaseUrl & vbCrLf & _
|
||||
"루트 경로: " & server.RootPath, _
|
||||
MsgBoxStyle.Information, "웹 서버")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 예제 2: MdiMain에서 사용 (프로그램 시작 시 서버 시작)
|
||||
''' </summary>
|
||||
Public Sub Example2_IntegrationWithMdiMain()
|
||||
' MdiMain.vb의 MdiMain_Load 이벤트에 추가:
|
||||
'
|
||||
' Private webServer As StaticFileServer
|
||||
'
|
||||
' Private Sub MdiMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
' ' ... 기존 코드 ...
|
||||
'
|
||||
' Try
|
||||
' ' 웹 서버 초기화 및 시작
|
||||
' Dim wwwPath = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
' webServer = New StaticFileServer(wwwPath)
|
||||
' webServer.Start()
|
||||
' Catch ex As Exception
|
||||
' ' 웹 서버 시작 실패해도 프로그램은 계속 실행
|
||||
' Debug.WriteLine("웹 서버 시작 실패: " & ex.Message)
|
||||
' End Try
|
||||
' End Sub
|
||||
'
|
||||
' Private Sub MdiMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
' ' ... 기존 코드 ...
|
||||
'
|
||||
' ' 웹 서버 정리
|
||||
' If webServer IsNot Nothing Then
|
||||
' webServer.Stop()
|
||||
' webServer.Dispose()
|
||||
' End If
|
||||
' End Sub
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 예제 3: 특정 파일 브라우저에서 열기
|
||||
''' </summary>
|
||||
Public Sub Example3_OpenSpecificFile()
|
||||
If server Is Nothing OrElse Not server.IsRunning Then
|
||||
MsgBox("서버가 실행 중이 아닙니다.", MsgBoxStyle.Exclamation, "오류")
|
||||
Return
|
||||
End If
|
||||
|
||||
' 리포트 HTML 파일 열기
|
||||
server.OpenFileInBrowser("report.html")
|
||||
|
||||
' 또는 URL만 가져오기
|
||||
Dim reportUrl As String = server.GetFileUrl("reports/2025/report.html")
|
||||
MsgBox("리포트 URL: " & reportUrl, MsgBoxStyle.Information, "URL")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 예제 4: 동적으로 HTML 파일 생성 후 표시
|
||||
''' </summary>
|
||||
Public Sub Example4_GenerateAndDisplay()
|
||||
If server Is Nothing OrElse Not server.IsRunning Then
|
||||
MsgBox("서버가 실행 중이 아닙니다.", MsgBoxStyle.Exclamation, "오류")
|
||||
Return
|
||||
End If
|
||||
|
||||
' HTML 파일 생성
|
||||
Dim htmlContent As String = "<!DOCTYPE html>" & vbCrLf & _
|
||||
"<html>" & vbCrLf & _
|
||||
"<head>" & vbCrLf & _
|
||||
" <meta charset=""utf-8"">" & vbCrLf & _
|
||||
" <title>ECO2 리포트</title>" & vbCrLf & _
|
||||
" <style>" & vbCrLf & _
|
||||
" body { font-family: 'Malgun Gothic', sans-serif; margin: 20px; }" & vbCrLf & _
|
||||
" h1 { color: #2c3e50; }" & vbCrLf & _
|
||||
" table { border-collapse: collapse; width: 100%; }" & vbCrLf & _
|
||||
" th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }" & vbCrLf & _
|
||||
" th { background-color: #4CAF50; color: white; }" & vbCrLf & _
|
||||
" </style>" & vbCrLf & _
|
||||
"</head>" & vbCrLf & _
|
||||
"<body>" & vbCrLf & _
|
||||
" <h1>건물 에너지 분석 리포트</h1>" & vbCrLf & _
|
||||
" <table>" & vbCrLf & _
|
||||
" <tr><th>항목</th><th>값</th></tr>" & vbCrLf & _
|
||||
" <tr><td>1차 에너지 소요량</td><td>123.45 kWh/m²·year</td></tr>" & vbCrLf & _
|
||||
" <tr><td>CO2 배출량</td><td>45.67 kg/m²·year</td></tr>" & vbCrLf & _
|
||||
" </table>" & vbCrLf & _
|
||||
"</body>" & vbCrLf & _
|
||||
"</html>"
|
||||
|
||||
' 파일 저장
|
||||
Dim reportPath As String = Path.Combine(server.RootPath, "report.html")
|
||||
File.WriteAllText(reportPath, htmlContent, System.Text.Encoding.UTF8)
|
||||
|
||||
' 브라우저에서 열기
|
||||
server.OpenFileInBrowser("report.html")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 예제 5: 폼 버튼에서 웹 리포트 생성 및 표시
|
||||
''' </summary>
|
||||
Public Sub Example5_ButtonClick()
|
||||
' 폼의 버튼 클릭 이벤트에 추가:
|
||||
'
|
||||
' Private Sub btnShowWebReport_Click(sender As Object, e As EventArgs) Handles btnShowWebReport.Click
|
||||
' Try
|
||||
' ' 서버가 실행 중이 아니면 시작
|
||||
' If webServer Is Nothing OrElse Not webServer.IsRunning Then
|
||||
' Dim wwwPath = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
' webServer = New StaticFileServer(wwwPath)
|
||||
' webServer.Start()
|
||||
' End If
|
||||
'
|
||||
' ' HTML 리포트 생성
|
||||
' GenerateHtmlReport()
|
||||
'
|
||||
' ' 브라우저에서 열기
|
||||
' webServer.OpenFileInBrowser("report.html")
|
||||
' Catch ex As Exception
|
||||
' MsgBox("리포트 생성 실패: " & ex.Message, MsgBoxStyle.Critical, "오류")
|
||||
' End Try
|
||||
' End Sub
|
||||
'
|
||||
' Private Sub GenerateHtmlReport()
|
||||
' ' 실제 데이터를 사용하여 HTML 생성
|
||||
' Dim html As String = BuildHtmlReport(DSET1, DSETR1, Result2)
|
||||
' Dim path As String = Path.Combine(webServer.RootPath, "report.html")
|
||||
' File.WriteAllText(path, html, System.Text.Encoding.UTF8)
|
||||
' End Sub
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 서버 중지
|
||||
''' </summary>
|
||||
Public Sub StopServer()
|
||||
If server IsNot Nothing Then
|
||||
server.Stop()
|
||||
server.Dispose()
|
||||
server = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
''' <summary>
|
||||
''' 간단한 HTML 빌더 헬퍼 클래스
|
||||
''' </summary>
|
||||
Public Class HtmlReportBuilder
|
||||
|
||||
Private html As System.Text.StringBuilder
|
||||
|
||||
Public Sub New(title As String)
|
||||
html = New System.Text.StringBuilder()
|
||||
html.AppendLine("<!DOCTYPE html>")
|
||||
html.AppendLine("<html>")
|
||||
html.AppendLine("<head>")
|
||||
html.AppendLine(" <meta charset=""utf-8"">")
|
||||
html.AppendLine(" <title>" & title & "</title>")
|
||||
html.AppendLine(" <style>")
|
||||
html.AppendLine(" body { font-family: 'Malgun Gothic', sans-serif; margin: 20px; }")
|
||||
html.AppendLine(" h1 { color: #2c3e50; }")
|
||||
html.AppendLine(" h2 { color: #34495e; border-bottom: 2px solid #3498db; padding-bottom: 5px; }")
|
||||
html.AppendLine(" table { border-collapse: collapse; width: 100%; margin: 20px 0; }")
|
||||
html.AppendLine(" th, td { border: 1px solid #ddd; padding: 12px; text-align: left; }")
|
||||
html.AppendLine(" th { background-color: #4CAF50; color: white; }")
|
||||
html.AppendLine(" tr:nth-child(even) { background-color: #f2f2f2; }")
|
||||
html.AppendLine(" .section { margin: 30px 0; }")
|
||||
html.AppendLine(" </style>")
|
||||
html.AppendLine("</head>")
|
||||
html.AppendLine("<body>")
|
||||
html.AppendLine(" <h1>" & title & "</h1>")
|
||||
End Sub
|
||||
|
||||
Public Sub AddSection(sectionTitle As String)
|
||||
html.AppendLine(" <div class=""section"">")
|
||||
html.AppendLine(" <h2>" & sectionTitle & "</h2>")
|
||||
End Sub
|
||||
|
||||
Public Sub StartTable(ParamArray headers As String())
|
||||
html.AppendLine(" <table>")
|
||||
html.Append(" <tr>")
|
||||
For Each headerItem As String In headers
|
||||
html.Append("<th>" & headerItem & "</th>")
|
||||
Next
|
||||
html.AppendLine("</tr>")
|
||||
End Sub
|
||||
|
||||
Public Sub AddRow(ParamArray cells As String())
|
||||
html.Append(" <tr>")
|
||||
For Each cellItem As String In cells
|
||||
html.Append("<td>" & cellItem & "</td>")
|
||||
Next
|
||||
html.AppendLine("</tr>")
|
||||
End Sub
|
||||
|
||||
Public Sub EndTable()
|
||||
html.AppendLine(" </table>")
|
||||
End Sub
|
||||
|
||||
Public Sub EndSection()
|
||||
html.AppendLine(" </div>")
|
||||
End Sub
|
||||
|
||||
Public Function Build() As String
|
||||
html.AppendLine("</body>")
|
||||
html.AppendLine("</html>")
|
||||
Return html.ToString()
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
50
ArinWarev1/WebServer/INSTALL.txt
Normal file
50
ArinWarev1/WebServer/INSTALL.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
=====================================================
|
||||
OWIN 정적 파일 호스팅 서버 설치 가이드
|
||||
=====================================================
|
||||
|
||||
1. Visual Studio에서 ECO2_2025V1 프로젝트 열기
|
||||
|
||||
2. 메뉴: 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔
|
||||
|
||||
3. 다음 명령들을 순서대로 실행:
|
||||
|
||||
Install-Package Owin -Version 1.0
|
||||
Install-Package Microsoft.Owin -Version 2.1.0
|
||||
Install-Package Microsoft.Owin.Host.HttpListener -Version 2.1.0
|
||||
Install-Package Microsoft.Owin.Hosting -Version 2.1.0
|
||||
Install-Package Microsoft.Owin.StaticFiles -Version 2.1.0
|
||||
|
||||
4. 프로젝트 다시 빌드
|
||||
|
||||
5. wwwroot 폴더 생성 (없는 경우):
|
||||
- 출력 디렉토리에 wwwroot 폴더 생성
|
||||
- Debug: ..\..\..\..\..\eco2\debug_2016\wwwroot
|
||||
- Release: c:\eco2\debug_2016\wwwroot
|
||||
|
||||
6. 기본 index.html 생성 (선택사항):
|
||||
wwwroot\index.html 파일에 다음 내용 추가:
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>ECO2 Web Server</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>ECO2 웹 서버가 정상 작동 중입니다</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
7. 사용 예제는 Example_WebServer_Usage.vb 참고
|
||||
|
||||
8. 관리자 권한 필요 시 (선택사항):
|
||||
|
||||
관리자 권한 명령 프롬프트에서:
|
||||
netsh http add urlacl url=http://+:58123/ user=Everyone
|
||||
|
||||
=====================================================
|
||||
문제 발생 시:
|
||||
- README.md의 "문제 해결" 섹션 참고
|
||||
- 패키지 버전이 정확한지 확인 (2.1.0)
|
||||
- .NET Framework 4.0 타겟이 맞는지 확인
|
||||
=====================================================
|
||||
126
ArinWarev1/WebServer/MANUAL_INSTALL.md
Normal file
126
ArinWarev1/WebServer/MANUAL_INSTALL.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# Visual Studio 2010 수동 설치 가이드
|
||||
|
||||
VS2010에는 NuGet이 기본 내장되어 있지 않으므로, 두 가지 방법 중 선택할 수 있습니다.
|
||||
|
||||
## 방법 1: NuGet Extension 설치 (권장)
|
||||
|
||||
1. Visual Studio 2010 열기
|
||||
2. **도구** > **확장 관리자** 클릭
|
||||
3. **온라인 갤러리** 선택
|
||||
4. 검색창에 "NuGet Package Manager" 입력
|
||||
5. **NuGet Package Manager** 찾아서 **다운로드** 클릭
|
||||
6. 설치 후 Visual Studio 재시작
|
||||
7. 이후 README.md의 NuGet 설치 방법 따라하기
|
||||
|
||||
또는 직접 다운로드:
|
||||
https://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c
|
||||
|
||||
## 방법 2: DLL 수동 추가 (NuGet 없이)
|
||||
|
||||
### 1단계: 필요한 DLL 다운로드
|
||||
|
||||
다음 NuGet 패키지를 직접 다운로드:
|
||||
|
||||
**다운로드 링크:**
|
||||
- https://www.nuget.org/packages/Owin/1.0
|
||||
- https://www.nuget.org/packages/Microsoft.Owin/2.1.0
|
||||
- https://www.nuget.org/packages/Microsoft.Owin.Host.HttpListener/2.1.0
|
||||
- https://www.nuget.org/packages/Microsoft.Owin.Hosting/2.1.0
|
||||
- https://www.nuget.org/packages/Microsoft.Owin.StaticFiles/2.1.0
|
||||
- https://www.nuget.org/packages/Microsoft.Owin.FileSystems/2.1.0
|
||||
|
||||
각 페이지에서 "Download package" 클릭
|
||||
|
||||
### 2단계: NuGet 패키지에서 DLL 추출
|
||||
|
||||
1. 다운로드한 `.nupkg` 파일의 확장자를 `.zip`으로 변경
|
||||
2. 압축 해제
|
||||
3. `lib\net40\` 폴더에서 DLL 파일 찾기
|
||||
4. 프로젝트 폴더에 `lib` 디렉토리 생성
|
||||
5. 모든 DLL을 `S:\Source\KICT\ECO2\lib\` 폴더에 복사
|
||||
|
||||
**필요한 DLL 목록:**
|
||||
- Owin.dll
|
||||
- Microsoft.Owin.dll
|
||||
- Microsoft.Owin.Host.HttpListener.dll
|
||||
- Microsoft.Owin.Hosting.dll
|
||||
- Microsoft.Owin.StaticFiles.dll
|
||||
- Microsoft.Owin.FileSystems.dll
|
||||
|
||||
### 3단계: Visual Studio 프로젝트에 참조 추가
|
||||
|
||||
1. 솔루션 탐색기에서 **ECO2_2025V1** 프로젝트 선택
|
||||
2. **참조** 폴더 우클릭 > **참조 추가**
|
||||
3. **찾아보기** 탭 선택
|
||||
4. `S:\Source\KICT\ECO2\lib\` 폴더로 이동
|
||||
5. 위의 모든 DLL 선택하여 추가
|
||||
|
||||
### 4단계: app.config에 바인딩 리디렉션 추가
|
||||
|
||||
`ArinWarev1\app.config` 파일을 열고 `</configuration>` 바로 앞에 추가:
|
||||
|
||||
```xml
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
```
|
||||
|
||||
## 방법 3: 스크립트로 자동 다운로드 (PowerShell)
|
||||
|
||||
프로젝트 루트에서 PowerShell 실행:
|
||||
|
||||
```powershell
|
||||
# lib 폴더 생성
|
||||
New-Item -ItemType Directory -Force -Path "lib"
|
||||
|
||||
# NuGet.exe 다운로드
|
||||
Invoke-WebRequest -Uri "https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe" -OutFile "nuget.exe"
|
||||
|
||||
# 패키지 다운로드
|
||||
.\nuget.exe install Owin -Version 1.0 -OutputDirectory packages
|
||||
.\nuget.exe install Microsoft.Owin -Version 2.1.0 -OutputDirectory packages
|
||||
.\nuget.exe install Microsoft.Owin.Host.HttpListener -Version 2.1.0 -OutputDirectory packages
|
||||
.\nuget.exe install Microsoft.Owin.Hosting -Version 2.1.0 -OutputDirectory packages
|
||||
.\nuget.exe install Microsoft.Owin.StaticFiles -Version 2.1.0 -OutputDirectory packages
|
||||
|
||||
# DLL 복사
|
||||
Copy-Item "packages\Owin.1.0\lib\net40\Owin.dll" -Destination "lib\"
|
||||
Copy-Item "packages\Microsoft.Owin.2.1.0\lib\net40\Microsoft.Owin.dll" -Destination "lib\"
|
||||
Copy-Item "packages\Microsoft.Owin.Host.HttpListener.2.1.0\lib\net40\Microsoft.Owin.Host.HttpListener.dll" -Destination "lib\"
|
||||
Copy-Item "packages\Microsoft.Owin.Hosting.2.1.0\lib\net40\Microsoft.Owin.Hosting.dll" -Destination "lib\"
|
||||
Copy-Item "packages\Microsoft.Owin.StaticFiles.2.1.0\lib\net40\Microsoft.Owin.StaticFiles.dll" -Destination "lib\"
|
||||
Copy-Item "packages\Microsoft.Owin.FileSystems.2.1.0\lib\net40\Microsoft.Owin.FileSystems.dll" -Destination "lib\"
|
||||
|
||||
Write-Host "DLL 다운로드 완료! lib 폴더를 확인하세요."
|
||||
```
|
||||
|
||||
## 방법 4: 미리 준비된 DLL 사용
|
||||
|
||||
팀원에게 이미 설치된 환경에서 다음 폴더의 DLL을 복사 받기:
|
||||
- `packages\Owin.1.0\lib\net40\`
|
||||
- `packages\Microsoft.Owin.2.1.0\lib\net40\`
|
||||
- `packages\Microsoft.Owin.Host.HttpListener.2.1.0\lib\net40\`
|
||||
- `packages\Microsoft.Owin.Hosting.2.1.0\lib\net40\`
|
||||
- `packages\Microsoft.Owin.StaticFiles.2.1.0\lib\net40\`
|
||||
- `packages\Microsoft.Owin.FileSystems.2.1.0\lib\net40\`
|
||||
|
||||
## 확인 방법
|
||||
|
||||
프로젝트를 빌드했을 때 다음 오류가 없으면 성공:
|
||||
- "형식 또는 네임스페이스 이름 'Owin'을 찾을 수 없습니다"
|
||||
- "형식 또는 네임스페이스 이름 'Microsoft'을 찾을 수 없습니다"
|
||||
|
||||
## 문제 해결
|
||||
|
||||
### "Could not load file or assembly" 오류
|
||||
- app.config에 바인딩 리디렉션 추가했는지 확인
|
||||
- DLL 버전이 2.1.0이 맞는지 확인 (2.x 버전만 .NET 4.0 호환)
|
||||
|
||||
### "파일을 찾을 수 없습니다" 오류
|
||||
- 출력 디렉토리에 DLL이 복사되는지 확인
|
||||
- 참조의 "로컬 복사" 속성이 True인지 확인
|
||||
190
ArinWarev1/WebServer/README.md
Normal file
190
ArinWarev1/WebServer/README.md
Normal file
@@ -0,0 +1,190 @@
|
||||
# OWIN 정적 파일 호스팅 서버
|
||||
|
||||
ECO2 프로젝트에 OWIN 기반 내장 웹 서버를 추가하여 HTML 리포트 및 정적 파일을 호스팅할 수 있습니다.
|
||||
|
||||
## 설치 방법
|
||||
|
||||
### 1. NuGet 패키지 설치
|
||||
|
||||
Visual Studio에서 Package Manager Console을 열고 다음 명령을 실행하세요:
|
||||
|
||||
```powershell
|
||||
# ECO2_2025V1 프로젝트를 기본 프로젝트로 선택 후 실행
|
||||
|
||||
Install-Package Microsoft.Owin -Version 2.1.0
|
||||
Install-Package Microsoft.Owin.Host.HttpListener -Version 2.1.0
|
||||
Install-Package Microsoft.Owin.Hosting -Version 2.1.0
|
||||
Install-Package Microsoft.Owin.StaticFiles -Version 2.1.0
|
||||
Install-Package Owin -Version 1.0
|
||||
```
|
||||
|
||||
또는 패키지 관리자 UI에서 다음 패키지를 검색하여 설치:
|
||||
- Microsoft.Owin (2.1.0)
|
||||
- Microsoft.Owin.Host.HttpListener (2.1.0)
|
||||
- Microsoft.Owin.Hosting (2.1.0)
|
||||
- Microsoft.Owin.StaticFiles (2.1.0)
|
||||
- Owin (1.0)
|
||||
|
||||
### 2. 프로젝트에 파일 추가
|
||||
|
||||
다음 파일들이 `WebServer` 폴더에 추가되었습니다:
|
||||
- `StaticFileServer.vb` - 메인 서버 클래스
|
||||
- `Startup.vb` - OWIN 시작 구성
|
||||
- `Example_WebServer_Usage.vb` - 사용 예제
|
||||
|
||||
Visual Studio에서 프로젝트를 다시 로드하면 자동으로 인식됩니다.
|
||||
|
||||
## 사용 방법
|
||||
|
||||
### 기본 사용법
|
||||
|
||||
```vb
|
||||
Imports Eco2Ar.WebServer
|
||||
Imports System.IO
|
||||
|
||||
' 1. 서버 인스턴스 생성
|
||||
Dim wwwrootPath As String = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
Dim server As New StaticFileServer(wwwrootPath, 58123)
|
||||
|
||||
' 2. 서버 시작
|
||||
server.Start()
|
||||
|
||||
' 3. 브라우저에서 열기
|
||||
server.OpenInBrowser()
|
||||
|
||||
' 4. 사용 후 서버 중지
|
||||
server.Stop()
|
||||
```
|
||||
|
||||
### MdiMain에 통합
|
||||
|
||||
`MdiMain.vb`에 다음 코드를 추가:
|
||||
|
||||
```vb
|
||||
Public Class MdiMain
|
||||
Private webServer As StaticFileServer
|
||||
|
||||
Private Sub MdiMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
' ... 기존 코드 ...
|
||||
|
||||
' 웹 서버 시작
|
||||
Try
|
||||
Dim wwwPath = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
webServer = New StaticFileServer(wwwPath)
|
||||
webServer.Start()
|
||||
Catch ex As Exception
|
||||
Debug.WriteLine("웹 서버 시작 실패: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub MdiMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
' ... 기존 코드 ...
|
||||
|
||||
' 웹 서버 정리
|
||||
If webServer IsNot Nothing Then
|
||||
webServer.Stop()
|
||||
webServer.Dispose()
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
```
|
||||
|
||||
### HTML 리포트 생성 및 표시
|
||||
|
||||
```vb
|
||||
' HTML 리포트 빌더 사용
|
||||
Dim builder As New HtmlReportBuilder("건물 에너지 분석 리포트")
|
||||
|
||||
builder.AddSection("1차 에너지 소요량")
|
||||
builder.StartTable("항목", "값", "단위")
|
||||
builder.AddRow("난방", "123.45", "kWh/m²·year")
|
||||
builder.AddRow("냉방", "67.89", "kWh/m²·year")
|
||||
builder.EndTable()
|
||||
builder.EndSection()
|
||||
|
||||
Dim html As String = builder.Build()
|
||||
|
||||
' 파일 저장
|
||||
Dim reportPath As String = Path.Combine(webServer.RootPath, "report.html")
|
||||
File.WriteAllText(reportPath, html, System.Text.Encoding.UTF8)
|
||||
|
||||
' 브라우저에서 열기
|
||||
webServer.OpenFileInBrowser("report.html")
|
||||
```
|
||||
|
||||
## 폴더 구조
|
||||
|
||||
```
|
||||
C:\eco2\debug_2016\
|
||||
├─ Eco2Ar.exe
|
||||
└─ wwwroot\ # 정적 파일 루트 디렉토리
|
||||
├─ index.html # 기본 페이지
|
||||
├─ report.html # 생성된 리포트
|
||||
├─ css\
|
||||
│ └─ styles.css
|
||||
├─ js\
|
||||
│ └─ scripts.js
|
||||
└─ images\
|
||||
└─ logo.png
|
||||
```
|
||||
|
||||
## 주요 기능
|
||||
|
||||
### StaticFileServer 클래스
|
||||
|
||||
- **Start()** - 웹 서버 시작
|
||||
- **Stop()** - 웹 서버 중지
|
||||
- **OpenInBrowser()** - 기본 브라우저에서 루트 URL 열기
|
||||
- **OpenFileInBrowser(relativePath)** - 특정 파일을 브라우저에서 열기
|
||||
- **GetFileUrl(relativePath)** - 파일의 전체 URL 반환
|
||||
- **IsRunning** - 서버 실행 상태 확인
|
||||
- **BaseUrl** - 서버 URL (http://localhost:58123)
|
||||
- **RootPath** - 정적 파일 루트 경로
|
||||
|
||||
### HtmlReportBuilder 클래스
|
||||
|
||||
간단한 HTML 리포트를 코드로 생성할 수 있는 헬퍼 클래스입니다.
|
||||
|
||||
## 포트 정보
|
||||
|
||||
- **기본 포트**: 58123 (일반적으로 사용하지 않는 포트)
|
||||
- 필요 시 생성자에서 다른 포트 지정 가능: `New StaticFileServer(path, 9999)`
|
||||
|
||||
## 보안 주의사항
|
||||
|
||||
- 이 웹 서버는 **localhost**에서만 접근 가능합니다 (외부 접근 불가)
|
||||
- 민감한 정보를 wwwroot에 저장하지 마세요
|
||||
- 필요한 경우에만 서버를 실행하고 사용 후 중지하세요
|
||||
|
||||
## 문제 해결
|
||||
|
||||
### "포트가 이미 사용 중입니다" 오류
|
||||
|
||||
다른 프로그램이 58123 포트를 사용 중일 수 있습니다. 다른 포트를 사용하세요:
|
||||
|
||||
```vb
|
||||
Dim server As New StaticFileServer(wwwrootPath, 58124)
|
||||
```
|
||||
|
||||
### "관리자 권한이 필요합니다" 오류
|
||||
|
||||
일부 환경에서는 HTTP.sys 리스너 등록에 관리자 권한이 필요할 수 있습니다.
|
||||
다음 명령을 관리자 권한 명령 프롬프트에서 실행:
|
||||
|
||||
```cmd
|
||||
netsh http add urlacl url=http://+:58123/ user=Everyone
|
||||
```
|
||||
|
||||
### 패키지 설치 오류
|
||||
|
||||
.NET Framework 4.0 타겟 프로젝트이므로 반드시 2.x 버전의 OWIN 패키지를 사용해야 합니다.
|
||||
최신 버전(4.x)은 .NET Framework 4.5 이상이 필요합니다.
|
||||
|
||||
## 예제 코드 위치
|
||||
|
||||
더 자세한 사용 예제는 `Example_WebServer_Usage.vb` 파일을 참고하세요.
|
||||
|
||||
## 참고 자료
|
||||
|
||||
- [OWIN 공식 문서](http://owin.org/)
|
||||
- [Microsoft.Owin 문서](https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/)
|
||||
93
ArinWarev1/WebServer/Startup.vb
Normal file
93
ArinWarev1/WebServer/Startup.vb
Normal file
@@ -0,0 +1,93 @@
|
||||
' OWIN Startup 클래스
|
||||
Imports Owin
|
||||
Imports Microsoft.Owin.StaticFiles
|
||||
Imports Microsoft.Owin.FileSystems
|
||||
|
||||
Namespace WebServer
|
||||
|
||||
''' <summary>
|
||||
''' OWIN 시작 구성 클래스
|
||||
''' </summary>
|
||||
Public Class Startup
|
||||
|
||||
' 정적 필드로 RootPath 저장
|
||||
Public Shared RootPath As String = String.Empty
|
||||
|
||||
''' <summary>
|
||||
''' OWIN 미들웨어 구성
|
||||
''' </summary>
|
||||
''' <param name="app">App builder</param>
|
||||
Public Sub Configuration(app As IAppBuilder)
|
||||
' 루트 경로 확인
|
||||
If String.IsNullOrEmpty(RootPath) Then
|
||||
RootPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot")
|
||||
End If
|
||||
|
||||
' 정적 파일 서빙을 위한 파일 시스템 설정
|
||||
Dim fileSystem = New PhysicalFileSystem(RootPath)
|
||||
|
||||
' 정적 파일 옵션 설정
|
||||
Dim options As New FileServerOptions() With {
|
||||
.RequestPath = New Microsoft.Owin.PathString(""),
|
||||
.FileSystem = fileSystem,
|
||||
.EnableDirectoryBrowsing = False
|
||||
}
|
||||
|
||||
' MIME 타입 매핑 추가 (필요한 경우)
|
||||
options.StaticFileOptions.ContentTypeProvider = New CustomContentTypeProvider()
|
||||
|
||||
' 정적 파일 미들웨어 사용
|
||||
app.UseFileServer(options)
|
||||
|
||||
' 기본 핸들러 (루트 경로 접근 시)
|
||||
app.Run(Function(context)
|
||||
' 루트 경로 접근 시 index.html로 리다이렉트
|
||||
If context.Request.Path.Value = "/" OrElse context.Request.Path.Value = "" Then
|
||||
Dim indexPath = System.IO.Path.Combine(RootPath, "index.html")
|
||||
If System.IO.File.Exists(indexPath) Then
|
||||
context.Response.Redirect("/index.html")
|
||||
Else
|
||||
context.Response.StatusCode = 200
|
||||
context.Response.ContentType = "text/html"
|
||||
Dim tcs = New System.Threading.Tasks.TaskCompletionSource(Of Integer)()
|
||||
context.Response.WriteAsync("<html><body><h1>ECO2 Web Server</h1><p>서버가 정상적으로 실행 중입니다.</p><p>루트 경로: " & RootPath & "</p></body></html>")
|
||||
tcs.SetResult(0)
|
||||
Return tcs.Task
|
||||
End If
|
||||
End If
|
||||
Dim tcs2 = New System.Threading.Tasks.TaskCompletionSource(Of Integer)()
|
||||
tcs2.SetResult(0)
|
||||
Return tcs2.Task
|
||||
End Function)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
''' <summary>
|
||||
''' 커스텀 Content Type Provider
|
||||
''' </summary>
|
||||
Public Class CustomContentTypeProvider
|
||||
Inherits Microsoft.Owin.StaticFiles.ContentTypes.FileExtensionContentTypeProvider
|
||||
|
||||
Public Sub New()
|
||||
MyBase.New()
|
||||
|
||||
' 추가 MIME 타입 매핑 (필요한 경우)
|
||||
' 기본적으로 일반적인 타입들은 이미 포함되어 있음
|
||||
If Not Me.Mappings.ContainsKey(".json") Then
|
||||
Me.Mappings.Add(".json", "application/json")
|
||||
End If
|
||||
If Not Me.Mappings.ContainsKey(".svg") Then
|
||||
Me.Mappings.Add(".svg", "image/svg+xml")
|
||||
End If
|
||||
If Not Me.Mappings.ContainsKey(".woff") Then
|
||||
Me.Mappings.Add(".woff", "font/woff")
|
||||
End If
|
||||
If Not Me.Mappings.ContainsKey(".woff2") Then
|
||||
Me.Mappings.Add(".woff2", "font/woff2")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
175
ArinWarev1/WebServer/StaticFileServer.vb
Normal file
175
ArinWarev1/WebServer/StaticFileServer.vb
Normal file
@@ -0,0 +1,175 @@
|
||||
' OWIN 기반 정적 파일 호스팅 서버
|
||||
'
|
||||
' 사용 방법:
|
||||
' Dim server As New StaticFileServer("C:\wwwroot", 58123)
|
||||
' server.Start()
|
||||
' ... 프로그램 실행 ...
|
||||
' server.Stop()
|
||||
|
||||
Imports System
|
||||
Imports System.IO
|
||||
Imports Microsoft.Owin.Hosting
|
||||
|
||||
Namespace WebServer
|
||||
|
||||
''' <summary>
|
||||
''' OWIN 기반 정적 파일 호스팅 서버
|
||||
''' 포트 58123 사용 (일반적으로 사용하지 않는 포트)
|
||||
''' </summary>
|
||||
Public Class StaticFileServer
|
||||
Implements IDisposable
|
||||
|
||||
Private _webApp As IDisposable
|
||||
Private _baseUrl As String
|
||||
Private _rootPath As String
|
||||
Private _isRunning As Boolean = False
|
||||
|
||||
''' <summary>
|
||||
''' 서버가 실행 중인지 여부
|
||||
''' </summary>
|
||||
Public ReadOnly Property IsRunning As Boolean
|
||||
Get
|
||||
Return _isRunning
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 서버 URL (예: http://localhost:58123)
|
||||
''' </summary>
|
||||
Public ReadOnly Property BaseUrl As String
|
||||
Get
|
||||
Return _baseUrl
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 정적 파일 루트 경로
|
||||
''' </summary>
|
||||
Public ReadOnly Property RootPath As String
|
||||
Get
|
||||
Return _rootPath
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' StaticFileServer 생성자
|
||||
''' </summary>
|
||||
''' <param name="rootPath">정적 파일을 서빙할 루트 디렉토리 경로</param>
|
||||
''' <param name="port">사용할 포트 번호 (기본값: 58123)</param>
|
||||
Public Sub New(rootPath As String, Optional port As Integer = 58123)
|
||||
If String.IsNullOrEmpty(rootPath) Then
|
||||
Throw New ArgumentException("rootPath는 비어있을 수 없습니다.", "rootPath")
|
||||
End If
|
||||
|
||||
If Not Directory.Exists(rootPath) Then
|
||||
Directory.CreateDirectory(rootPath)
|
||||
End If
|
||||
|
||||
_rootPath = Path.GetFullPath(rootPath)
|
||||
_baseUrl = String.Format("http://localhost:{0}", port)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 웹 서버 시작
|
||||
''' </summary>
|
||||
Public Sub Start()
|
||||
If _isRunning Then
|
||||
Throw New InvalidOperationException("서버가 이미 실행 중입니다.")
|
||||
End If
|
||||
|
||||
Try
|
||||
' OWIN 서버 시작
|
||||
_webApp = WebApp.Start(Of Startup)(_baseUrl)
|
||||
_isRunning = True
|
||||
|
||||
' 루트 경로를 Startup에서 접근할 수 있도록 설정
|
||||
Startup.RootPath = _rootPath
|
||||
|
||||
Console.WriteLine("웹 서버 시작: {0}", _baseUrl)
|
||||
Console.WriteLine("루트 경로: {0}", _rootPath)
|
||||
Catch ex As Exception
|
||||
_isRunning = False
|
||||
Throw New Exception("웹 서버 시작 실패: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 웹 서버 중지
|
||||
''' </summary>
|
||||
Public Sub [Stop]()
|
||||
If Not _isRunning Then
|
||||
Return
|
||||
End If
|
||||
|
||||
Try
|
||||
If _webApp IsNot Nothing Then
|
||||
_webApp.Dispose()
|
||||
_webApp = Nothing
|
||||
End If
|
||||
_isRunning = False
|
||||
Console.WriteLine("웹 서버 중지됨")
|
||||
Catch ex As Exception
|
||||
Throw New Exception("웹 서버 중지 실패: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 리소스 해제
|
||||
''' </summary>
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
[Stop]()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 특정 파일의 전체 URL 반환
|
||||
''' </summary>
|
||||
''' <param name="relativePath">상대 경로 (예: "index.html" 또는 "images/logo.png")</param>
|
||||
''' <returns>전체 URL</returns>
|
||||
Public Function GetFileUrl(relativePath As String) As String
|
||||
If String.IsNullOrEmpty(relativePath) Then
|
||||
Return _baseUrl & "/"
|
||||
End If
|
||||
|
||||
' 경로 정규화
|
||||
Dim normalizedPath As String = relativePath.Replace("\", "/")
|
||||
If Not normalizedPath.StartsWith("/") Then
|
||||
normalizedPath = "/" & normalizedPath
|
||||
End If
|
||||
|
||||
Return _baseUrl & normalizedPath
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 브라우저에서 루트 URL 열기
|
||||
''' </summary>
|
||||
Public Sub OpenInBrowser()
|
||||
If Not _isRunning Then
|
||||
Throw New InvalidOperationException("서버가 실행 중이 아닙니다.")
|
||||
End If
|
||||
|
||||
Try
|
||||
System.Diagnostics.Process.Start(_baseUrl)
|
||||
Catch ex As Exception
|
||||
Throw New Exception("브라우저 열기 실패: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 특정 파일을 브라우저에서 열기
|
||||
''' </summary>
|
||||
''' <param name="relativePath">상대 경로</param>
|
||||
Public Sub OpenFileInBrowser(relativePath As String)
|
||||
If Not _isRunning Then
|
||||
Throw New InvalidOperationException("서버가 실행 중이 아닙니다.")
|
||||
End If
|
||||
|
||||
Try
|
||||
Dim url As String = GetFileUrl(relativePath)
|
||||
System.Diagnostics.Process.Start(url)
|
||||
Catch ex As Exception
|
||||
Throw New Exception("브라우저 열기 실패: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
@@ -29,7 +29,7 @@
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup><userSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><userSettings>
|
||||
<Eco2Ar.My.MySettings>
|
||||
<setting name="xmlformat" serializeAs="String">
|
||||
<value><?xml version="1.0" standalone="yes"?>
|
||||
|
||||
9
ArinWarev1/packages.config
Normal file
9
ArinWarev1/packages.config
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Owin" version="2.1.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Owin.Host.HttpListener" version="2.1.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Owin.Hosting" version="2.1.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Owin.StaticFiles" version="2.1.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Web.WebView2" version="1.0.3537.50" targetFramework="net48" />
|
||||
<package id="Owin" version="1.0" targetFramework="net40" />
|
||||
</packages>
|
||||
@@ -36,7 +36,7 @@
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
@@ -25,4 +25,4 @@
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
|
||||
|
||||
381
CLAUDE.md
Normal file
381
CLAUDE.md
Normal file
@@ -0,0 +1,381 @@
|
||||
# CLAUDE.md
|
||||
|
||||
이 파일은 Claude Code (claude.ai/code)가 이 저장소에서 작업할 때 참고할 가이드를 제공합니다.
|
||||
|
||||
## 프로젝트 개요
|
||||
|
||||
**ECO2 (Energy Calculation Optimization 2)**는 한국 건축물 에너지효율등급 인증 기준(녹색건축인증)에 따라 건물의 1차 에너지 소요량, CO2 배출량, 신재생에너지 생산량을 계산하는 VB.NET 및 WinForms 기반 응용 프로그램입니다.
|
||||
|
||||
**주 언어**: Visual Basic .NET (VB.NET) with .NET Framework 4.0
|
||||
**추가 언어**: C# (유틸리티 라이브러리만)
|
||||
**플랫폼**: Windows 데스크톱 응용 프로그램 (x86 타겟)
|
||||
|
||||
## 솔루션 구조
|
||||
|
||||
솔루션 `ArinWareT4.sln`은 모듈화된 아키텍처로 구성된 6개의 프로젝트를 포함합니다:
|
||||
|
||||
### 메인 응용 프로그램
|
||||
- **ECO2_2025V1** (`ArinWarev1/`) - 주 WinForms 응용 프로그램
|
||||
- 진입점: `MdiMain.vb` - 메뉴 시스템을 갖춘 MDI 부모 폼
|
||||
- `Calculator/` 하위 디렉토리의 핵심 계산 엔진
|
||||
- 기능별 폼 구성: `Forms/`, `Forms_Input/`, `Forms_Report/`, `Forms_Basic/`
|
||||
- `Data/`의 기상 데이터 (XML 형식)
|
||||
- 타입 데이터셋: `eco2DataSet.xsd` (데이터 모델링용)
|
||||
|
||||
### 지원 라이브러리 (SubProject 폴더 그룹)
|
||||
- **CEnergy** (`CEnergy/ArinClassV2/`) - 핵심 비즈니스 로직 라이브러리
|
||||
- 공통 유틸리티, 데이터베이스 액세스, INI 파일 처리
|
||||
- 여러 프로젝트에서 공유
|
||||
|
||||
- **ArinNet** - 네트워크 통신 유틸리티
|
||||
|
||||
- **ArinLogin** - 인증 및 사용자 관리
|
||||
- 라이선스 검증, 암호화/복호화
|
||||
|
||||
- **ArinLog** - 로깅 기능
|
||||
|
||||
- **Utility** (C#) - 압축 유틸리티
|
||||
- 데이터 압축을 위한 MiniLZO 구현
|
||||
|
||||
### 배포
|
||||
- **Setup1** - 설치 프로그램 프로젝트 (`.vdproj`)
|
||||
|
||||
## 빌드 및 실행
|
||||
|
||||
### 솔루션 빌드
|
||||
|
||||
```bash
|
||||
# Visual Studio에서 솔루션 열기
|
||||
start ArinWareT4.sln
|
||||
|
||||
# 명령줄에서 빌드 (Visual Studio 필요)
|
||||
msbuild ArinWareT4.sln /p:Configuration=Debug /p:Platform="Any CPU"
|
||||
msbuild ArinWareT4.sln /p:Configuration=Release /p:Platform="Any CPU"
|
||||
```
|
||||
|
||||
### 출력 경로
|
||||
- **Debug**: `..\..\..\..\..\eco2\debug_2016\` (프로젝트 기준 상대 경로)
|
||||
- **Release**: `c:\eco2\debug_2016\`
|
||||
|
||||
### 플랫폼 설정
|
||||
- 타겟 플랫폼: **x86** (32비트)
|
||||
- 프레임워크: **.NET Framework 4.0**
|
||||
- Option Strict: **Off** (VB.NET 특성)
|
||||
|
||||
### 빌드 구성
|
||||
- Debug / Release (표준)
|
||||
- CD_ROM / DVD-5 / SingleImage (배포 구성)
|
||||
|
||||
## 아키텍처 개요
|
||||
|
||||
### 계산 엔진 (`ArinWarev1/Calculator/`)
|
||||
|
||||
계산 엔진은 건물 에너지 계산을 수행하는 전문 모듈로 구성됩니다:
|
||||
|
||||
**핵심 계산기 클래스**:
|
||||
- `Calculator.vb` - 모든 계산 모듈을 조율하는 메인 오케스트레이터
|
||||
- `CZone.vb` - 존 레벨 계산 (열존, 난방/냉방 부하)
|
||||
- `CAirHandling.vb` - 공조 시스템 계산
|
||||
- `CHeating.vb` - 난방 시스템 계산 (기기, 분배, 공급)
|
||||
- `CCooling.vb` - 냉방 시스템 계산 (기기, 분배)
|
||||
- `CRenewable.vb` - 신재생에너지 생산량 계산
|
||||
- `CSummary.vb` - 결과 집계 및 요약 생성
|
||||
- `CShared.vb` - 공유 계산 변수 및 유틸리티
|
||||
|
||||
**결과 처리** (`Calculator/Result/`):
|
||||
- `CResult.vb` - 결과 데이터 구조
|
||||
- `C1차소요량.vb` - 1차 에너지 소요량 계산
|
||||
- `CCo2발생량.vb` - CO2 배출량 계산
|
||||
- `C생산에너지.vb` - 에너지 생산량 계산
|
||||
- `C사용면적.vb` - 사용 면적 계산
|
||||
- `CZones.vb` - 존 결과 집계
|
||||
|
||||
### 데이터 흐름
|
||||
|
||||
```
|
||||
사용자 입력 폼 (Forms_Input/)
|
||||
↓
|
||||
DataSet (eco2DataSet - DS, DSR)
|
||||
↓
|
||||
계산 엔진 (Calculator)
|
||||
↓
|
||||
결과 클래스 (CResult, DSR)
|
||||
↓
|
||||
리포트 폼 (Forms_Report/)
|
||||
```
|
||||
|
||||
### 주요 데이터셋
|
||||
- `DS` (DSET) - 입력 데이터 (사용자 입력 건물 정보)
|
||||
- `DSR` (DSETR) - 결과 데이터 (계산된 에너지 값)
|
||||
- `CResult` - 구조화된 계산 결과
|
||||
|
||||
### 폼 구성
|
||||
|
||||
**Forms_Input/** - 데이터 입력 폼
|
||||
- `Frm_Desc.vb` - 건물 개요
|
||||
- `Frm_kongjo.vb` - 공조 처리 입력
|
||||
- `Frm_Bunbae.vb` - 분배 시스템 입력
|
||||
- `Frm_custom_profile.vb` - 커스텀 사용 프로파일
|
||||
|
||||
**Forms_Report/** - 출력 및 보고
|
||||
- `Frm_Upload.vb` - 인증 서버 업로드
|
||||
- `Frm_Macro.vb`, `Frm_Macro2.vb` - Excel 리포트 생성
|
||||
- `Frm_Export.vb` - 데이터 내보내기 기능
|
||||
|
||||
**Forms_Basic/** - 유틸리티 폼
|
||||
- `Frm_Calc.vb` - 계산 트리거
|
||||
- `Frm_Filter.vb` - 데이터 필터링
|
||||
- `Frm_FileInfo.vb` - 파일 메타데이터
|
||||
|
||||
**Forms/** - 일반 응용 프로그램 폼
|
||||
- `Frm_About.vb` - About 대화상자
|
||||
- `Frm_Common.vb` - 공통 대화상자
|
||||
|
||||
### 메뉴 시스템 (MdiMain.vb)
|
||||
|
||||
`E_MenuIdx` 열거형에 정의된 메뉴 인덱스:
|
||||
- 입력존
|
||||
- 입력면
|
||||
- 공조처리
|
||||
- 난방기기/공급/분배
|
||||
- 냉방기기/분배
|
||||
- 신재생및열병합
|
||||
- 열관류율
|
||||
- 건물개요
|
||||
- 월별에너지사용량
|
||||
|
||||
### 사용자 권한
|
||||
|
||||
`Prj.UserAuthType`을 통해 제어되는 사용자 유형:
|
||||
- `ADMIN` - 전체 액세스
|
||||
- `BOTH` - 전문 사용자 (계산 + 인증)
|
||||
- `BOTH0` - 일반 사용자 (제한된 액세스)
|
||||
- `BOTH1` - 확장 전문 사용자 액세스
|
||||
|
||||
## 외부 종속성
|
||||
|
||||
### FarPoint Spread (v5.0.3505.2008)
|
||||
- 데이터 입력을 위한 Excel 형식의 스프레드시트 컨트롤
|
||||
- 구성 요소: CalcEngine, Excel, PDF, Win, Chart
|
||||
- 입력 폼에서 광범위하게 사용
|
||||
|
||||
### Microsoft ReportViewer
|
||||
- `Microsoft.ReportViewer.Common.dll`
|
||||
- `Microsoft.ReportViewer.WinForms.dll`
|
||||
- 형식화된 보고서 생성에 사용
|
||||
|
||||
### Excel Interop
|
||||
- `Interop.Excel.dll` - Excel 자동화를 위한 COM interop
|
||||
- 매크로/내보내기 기능에 사용
|
||||
|
||||
### LOV 구성 요소
|
||||
- `Lov.dll` - 값 목록 컨트롤 라이브러리
|
||||
|
||||
## 파일 형식 및 데이터 저장
|
||||
|
||||
### 프로젝트 파일 (.tpl 파일)
|
||||
- LZO 압축 바이너리 형식 (Utility 프로젝트 사용)
|
||||
- 건물 데이터, 계산 입력값, 결과 포함
|
||||
- 사용자 지정 위치에 저장
|
||||
- 최근 파일은 응용 프로그램 설정에서 추적
|
||||
|
||||
### 기상 데이터 (Data/*.xml)
|
||||
- `weather_temp.xml` - 온도 데이터
|
||||
- `weather_supdo.xml` - 습도 데이터
|
||||
- `weather_ilsa.xml` - 일사량 데이터
|
||||
- `weather_group.xml` - 기상 관측소 그룹
|
||||
- `tbl_weather.xml` - 기상 위치 테이블
|
||||
|
||||
### 구성 파일
|
||||
- `Frm_Setting.ini` - UI 상태 지속성 (창 크기, 위치)
|
||||
- `login.dat` - 사용자 자격 증명 (암호화됨)
|
||||
- `app.config` - 응용 프로그램 설정
|
||||
|
||||
## 한국 건축물 에너지 기준
|
||||
|
||||
이 응용 프로그램은 한국 건축물 에너지효율등급 인증 기준을 구현합니다:
|
||||
|
||||
### 주요 용어
|
||||
- 건물개요
|
||||
- 1차 에너지 소요량
|
||||
- CO2 발생량
|
||||
- 난방 / 냉방
|
||||
- 급탕
|
||||
- 조명 / 환기
|
||||
- 신재생에너지
|
||||
- 열관류율
|
||||
- 공조
|
||||
- 용도지역
|
||||
|
||||
### 계산 버전 관리
|
||||
|
||||
`StartVersion` 상수를 통한 버전 제어:
|
||||
- 규제 준수를 위한 계산 엔진 버전 관리
|
||||
- `Calculator.New()` 생성자에서 버전 확인
|
||||
- 기준 버전 "2009123100"
|
||||
|
||||
## 개발 가이드라인
|
||||
|
||||
### VB.NET 규칙
|
||||
- Option Strict는 OFF - 암시적 형식 변환 허용
|
||||
- 한글 주석 및 변수명은 표준 관행
|
||||
- 명명: 클래스, 메서드는 PascalCase; 로컬 변수는 엄격한 규칙 없음
|
||||
|
||||
### DataSet 사용
|
||||
- 항상 타입 데이터셋 (`DS`, `DSR`) 사용
|
||||
- 모듈 수준 변수 `DSET1`, `DSETR1`을 통해 액세스
|
||||
- 타입 안전 액세스를 위해 DataRow 객체 사용
|
||||
|
||||
### 폼 관리
|
||||
- `MdiMain`을 통한 MDI 자식 폼 관리
|
||||
- `OpenedForm` 속성을 통해 열린 폼 추적
|
||||
- `Prj.Opened`를 사용하여 프로젝트 파일 로드 여부 확인
|
||||
|
||||
### 계산 흐름
|
||||
1. 프로젝트 파일 로드 → `DSET` 채우기
|
||||
2. 사용자가 입력 폼 수정 → `DSET` 업데이트
|
||||
3. 계산 트리거 → `Calculator` 클래스가 `DSET` 처리 → `DSETR` 및 `CResult` 채우기
|
||||
4. 리포트 폼에 결과 표시
|
||||
|
||||
### 파일 작업
|
||||
- 항상 MdiMain의 `Save_File()` / `Load_File()` 메서드 사용
|
||||
- Utility 라이브러리를 통한 파일 압축 처리
|
||||
- `PrjChanged` 플래그를 통한 파일 변경 추적
|
||||
|
||||
## 일반 작업
|
||||
|
||||
### 계산 실행
|
||||
|
||||
계산은 메뉴 또는 폼 버튼에서 트리거되고 `Calculator` 클래스를 통해 처리됩니다:
|
||||
|
||||
```vb
|
||||
' 데이터셋 및 결과 객체로 계산기 초기화
|
||||
Dim calc As New Calculator(version, DSET1, DSETR1, Result2, isSimulation)
|
||||
|
||||
' 초기화 오류 확인
|
||||
If calc.IsError Then
|
||||
' 오류 처리
|
||||
Return
|
||||
End If
|
||||
|
||||
' DSETR1 및 Result2에서 계산 결과 사용 가능
|
||||
```
|
||||
|
||||
### 새 입력 필드 추가
|
||||
|
||||
1. 적절한 테이블에 열을 추가하도록 `eco2DataSet.xsd` 수정
|
||||
2. 해당 입력 폼(`Forms_Input/*.vb`) 업데이트
|
||||
3. 관련 `Calculator/*.vb` 클래스의 계산 로직 업데이트
|
||||
4. 필요한 경우 리포트 폼 업데이트
|
||||
|
||||
### 새 계산 모듈 추가
|
||||
|
||||
1. `Calculator/` 디렉토리에 새 클래스 생성
|
||||
2. 기존 모듈의 계산 패턴 상속
|
||||
3. 생성자에서 `DS`, `DSR`, `CResult` 수락
|
||||
4. `Calculator.vb` 오케스트레이터에 연결
|
||||
5. `CSummary.vb`의 요약 집계 업데이트
|
||||
|
||||
### FarPoint Spread 컨트롤 작업
|
||||
|
||||
FarPoint 컨트롤은 그리드 기반 입력에 광범위하게 사용됩니다:
|
||||
|
||||
```vb
|
||||
' Spread 컨트롤 액세스
|
||||
Dim spread As FarPoint.Win.Spread.FpSpread = Me.FpSpread1
|
||||
|
||||
' 셀 값 설정
|
||||
spread.ActiveSheet.Cells(row, col).Value = value
|
||||
|
||||
' 셀 값 읽기
|
||||
Dim value = spread.ActiveSheet.Cells(row, col).Value
|
||||
|
||||
' 셀 속성 설정
|
||||
spread.ActiveSheet.Cells(row, col).BackColor = Color.Yellow
|
||||
```
|
||||
|
||||
## 알려진 패턴 및 규칙
|
||||
|
||||
### 전역 모듈 변수
|
||||
- `DSET1` - 전역 입력 데이터셋 (DS 타입)
|
||||
- `DSETR1` - 전역 결과 데이터셋 (DSR 타입)
|
||||
- `Result2` - 전역 결과 객체 (CResult 타입)
|
||||
- `Prj` - 전역 프로젝트 상태 객체
|
||||
- `CLang` - 언어/지역화 문자열
|
||||
|
||||
### 오류 처리
|
||||
- 계산 클래스의 `IsError` 속성 패턴
|
||||
- 사용자 대면 오류에 대한 메시지 박스
|
||||
- `On Error Resume Next`를 사용한 VB.NET 오류 처리 (레거시 패턴)
|
||||
|
||||
### 이벤트 처리
|
||||
- 클래스 수준 이벤트 핸들러를 위한 WithEvents 패턴
|
||||
- `Handles` 키워드를 통한 폼 이벤트 처리
|
||||
|
||||
### INI 파일 액세스
|
||||
```vb
|
||||
Dim ini As New MyINI(filePath)
|
||||
Dim value = ini.Read(section, key, defaultValue)
|
||||
ini.Write(section, key, value)
|
||||
```
|
||||
|
||||
## 테스트 및 디버깅
|
||||
|
||||
### 디버그 모드
|
||||
- Debug 구성으로 빌드
|
||||
- 로컬 디버그 폴더로 출력
|
||||
- 전체 심볼 정보 사용 가능
|
||||
|
||||
### 테스트 데이터
|
||||
사용 가능한 샘플 프로젝트 파일:
|
||||
- `sample.tpl` - 표준 샘플 건물
|
||||
- `sample_0307.tpl` - 대체 샘플
|
||||
- `sample_200.tpl` - 대형 건물 샘플
|
||||
|
||||
### 로깅
|
||||
응용 프로그램 로깅에 ArinLog 라이브러리 사용:
|
||||
```vb
|
||||
pLog.Add("이벤트 설명", includeStackTrace)
|
||||
```
|
||||
|
||||
## 언어 관련 참고사항
|
||||
|
||||
응용 프로그램은 한국 사용자를 위해 설계되었습니다:
|
||||
- 모든 UI 텍스트는 한글
|
||||
- 사용자 문서는 한글
|
||||
- 한국 건축 기준 및 용어
|
||||
- 날짜/시간 형식: 한국 표준
|
||||
- 인코딩: 소스 파일은 UTF-8
|
||||
|
||||
주석 및 변수명은 한글과 영어를 혼용합니다 - 이는 의도적이며 이 코드베이스의 표준입니다.
|
||||
|
||||
## 배포 참고사항
|
||||
|
||||
### 설치
|
||||
- 설치 프로그램 프로젝트: `Setup1/Setup1.vdproj`
|
||||
- 메인 프로젝트에 구성된 ClickOnce 배포
|
||||
- 게시 URL: `ftp://tindevil.com/www/mynetapp/t4/`
|
||||
- 설치 URL: `http://tindevil.com/mynetapp/t4/`
|
||||
|
||||
### 버전 관리
|
||||
- AssemblyInfo의 버전 정보
|
||||
- ArinLogin 라이브러리를 통한 버전 확인
|
||||
- 서버 측 버전 검증
|
||||
|
||||
### 업데이트
|
||||
- 시작 시 업데이트 확인
|
||||
- Foreground 업데이트 모드 (실행 전 업데이트)
|
||||
- 7일 업데이트 간격 구성
|
||||
|
||||
## 보안 참고사항
|
||||
|
||||
### 인증
|
||||
- ArinLogin 라이브러리를 통한 사용자 인증
|
||||
- MAC 주소 검증 (상태 표시줄의 `lbl_mac`)
|
||||
- 라이선스 관리 시스템
|
||||
- `login.dat`의 암호화된 자격 증명
|
||||
|
||||
### 데이터 보호
|
||||
- 데이터 보호를 위한 파일 압축
|
||||
- ArinLogin.EnDec 클래스를 통한 암호화/복호화
|
||||
- 라이선스 준수를 위한 네트워크 검증
|
||||
@@ -21,38 +21,8 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_10584CE7F8FD47259F831F473D3D7913"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_1AA7E48E3A814420BFA5BCC62CC0DFE2"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_24C470B7579047B7AD6A2ADB631CAD1C"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_271370FB671C416DA057E99D6AE7C02E"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_2D348C4D6D7B458BA9A2FB1B0DAA93B4"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -63,12 +33,6 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_337AEEB2D0B04E4F93037792EAD5F9C9"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3553677EF48046758F4A80B5C3FC17B4"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -93,14 +57,8 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3F9A398398684A14950BF369963A139D"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4608D921DC658CD173C039AF16C5E283"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -112,7 +70,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -160,7 +118,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_6BB2F49C9D04D801E8DE021D6CE20C22"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -171,18 +129,6 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_79E238A135B442D0A8F6C0F93216C05E"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_84A91CFD1A7C40E59B60E61C8A498EF0"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -190,13 +136,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8BDE3E37C576268C85BFD64B9B0E7E24"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8EC9C4E69441F73892A4C676310B7ABE"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -220,13 +166,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_ADE6E41741BD7CD14907A44E54816E0D"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_B56C68177A22463BB0BBFD7B6DF6DA83"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -244,7 +184,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_CE47408D9D1AC3C1A1C987DBD7CA7F43"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -255,8 +195,14 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_E5FD918B4BE4C70000A151506717226F"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -267,18 +213,6 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_E904F31D33784D7CA7A4C94E05D10A6D"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_EA4938B895C1481C8955D3F33247549E"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_ECC375834F59CEFC1D106FE35A78C9C5"
|
||||
"OwnerKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -291,8 +225,68 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4608D921DC658CD173C039AF16C5E283"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_36E293D174759AFAAD42CF70AA63402C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_ECC375834F59CEFC1D106FE35A78C9C5"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_F7DF6157CD83D46091E6404B3E2CE830"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_BFCB09EF0CA43B0269B207A4DB42D1BF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -304,12 +298,6 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_6BB2F49C9D04D801E8DE021D6CE20C22"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
@@ -337,66 +325,6 @@
|
||||
"OwnerKey" = "8:_CE47408D9D1AC3C1A1C987DBD7CA7F43"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_F7DF6157CD83D46091E6404B3E2CE830"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_ECC375834F59CEFC1D106FE35A78C9C5"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_BFCB09EF0CA43B0269B207A4DB42D1BF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4608D921DC658CD173C039AF16C5E283"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_36E293D174759AFAAD42CF70AA63402C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
}
|
||||
"Configurations"
|
||||
{
|
||||
@@ -532,86 +460,6 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_10584CE7F8FD47259F831F473D3D7913"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_sd.xml"
|
||||
"TargetName" = "8:weather_sd.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1AA7E48E3A814420BFA5BCC62CC0DFE2"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather.xml"
|
||||
"TargetName" = "8:weather.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_24C470B7579047B7AD6A2ADB631CAD1C"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_wind.xml"
|
||||
"TargetName" = "8:weather_wind.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_271370FB671C416DA057E99D6AE7C02E"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_water.xml"
|
||||
"TargetName" = "8:weather_water.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -643,26 +491,6 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2D348C4D6D7B458BA9A2FB1B0DAA93B4"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\new1"
|
||||
"TargetName" = "8:new1"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3273FC8CB0914298B621226C45585341"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\tbl_weather.dat"
|
||||
@@ -683,26 +511,6 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_337AEEB2D0B04E4F93037792EAD5F9C9"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\new"
|
||||
"TargetName" = "8:new"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3553677EF48046758F4A80B5C3FC17B4"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_temp.dat"
|
||||
@@ -794,26 +602,6 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3F9A398398684A14950BF369963A139D"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_is.xml"
|
||||
"TargetName" = "8:weather_is.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4608D921DC658CD173C039AF16C5E283"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -1049,46 +837,6 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_79E238A135B442D0A8F6C0F93216C05E"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_tp.xml"
|
||||
"TargetName" = "8:weather_tp.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_84A91CFD1A7C40E59B60E61C8A498EF0"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\newx1.ecox"
|
||||
"TargetName" = "8:newx1.ecox"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -1273,26 +1021,6 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B56C68177A22463BB0BBFD7B6DF6DA83"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_river.xml"
|
||||
"TargetName" = "8:weather_river.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BFCB09EF0CA43B0269B207A4DB42D1BF"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -1395,6 +1123,37 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Eco2Ar, Version=1.2017.122.1014, Culture=neutral, processorArchitecture=x86"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_DF16200C7C9B40998C022F2E37D1E143"
|
||||
{
|
||||
"Name" = "8:Eco2Ar.exe"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:C:\\ECO2\\dotfus_2016\\Eco2Ar.exe"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E5FD918B4BE4C70000A151506717226F"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -1426,46 +1185,6 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E904F31D33784D7CA7A4C94E05D10A6D"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_ch.xml"
|
||||
"TargetName" = "8:weather_ch.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA4938B895C1481C8955D3F33247549E"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_gr.xml"
|
||||
"TargetName" = "8:weather_gr.xml"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_ECC375834F59CEFC1D106FE35A78C9C5"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -1528,37 +1247,6 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Eco2Ar, Version=1.2017.122.1009, Culture=neutral, processorArchitecture=x86"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
{
|
||||
"Name" = "8:Eco2Ar.exe"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:C:\\ECO2\\dotfus_2016\\Eco2Ar.exe"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
}
|
||||
"FileType"
|
||||
{
|
||||
@@ -1638,7 +1326,7 @@
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:ECO2_2025V1"
|
||||
"ProductCode" = "8:{1C694875-DBD9-43E7-A9DC-0EEE63429810}"
|
||||
"PackageCode" = "8:{4ADF053D-B645-48FF-95E6-2F2224AA7A84}"
|
||||
"PackageCode" = "8:{172D8716-29F9-4949-8F2B-52F268078F21}"
|
||||
"UpgradeCode" = "8:{650A91F6-635B-4C09-8A64-C123C180E487}"
|
||||
"AspNetVersion" = "8:2.0.50727.0"
|
||||
"RestartWWWService" = "11:FALSE"
|
||||
@@ -1766,7 +1454,7 @@
|
||||
"ShowCmd" = "3:1"
|
||||
"IconIndex" = "3:0"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Target" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"Target" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"Folder" = "8:_89D815457C274E5890E728BDBFF2EA16"
|
||||
"WorkingFolder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Icon" = "8:_5D29234F4F444C9AAE7845416706303D"
|
||||
@@ -1780,7 +1468,7 @@
|
||||
"ShowCmd" = "3:1"
|
||||
"IconIndex" = "3:0"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Target" = "8:_FF450D40DC624BBDB22749D13FD2AC4C"
|
||||
"Target" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"Folder" = "8:_8ACC8683286847D288C7D970B3389046"
|
||||
"WorkingFolder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Icon" = "8:_5D29234F4F444C9AAE7845416706303D"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Utility</RootNamespace>
|
||||
<AssemblyName>Utility</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
68
download_owin_packages.bat
Normal file
68
download_owin_packages.bat
Normal file
@@ -0,0 +1,68 @@
|
||||
@echo off
|
||||
chcp 65001 > nul
|
||||
echo ========================================
|
||||
echo OWIN NuGet 패키지 다운로드
|
||||
echo (압축 해제는 수동으로 진행)
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 다운로드 폴더 생성
|
||||
echo [1/2] 다운로드 폴더 생성 중...
|
||||
if not exist "owin_packages" mkdir owin_packages
|
||||
cd owin_packages
|
||||
echo 완료
|
||||
echo.
|
||||
|
||||
REM NuGet 패키지 다운로드 (.zip으로 저장)
|
||||
echo [2/2] NuGet 패키지 다운로드 중...
|
||||
echo.
|
||||
|
||||
echo 다운로드: Owin.1.0.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Owin/1.0.0' -OutFile 'Owin.1.0.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin/2.1.0' -OutFile 'Microsoft.Owin.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.Host.HttpListener.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.Host.HttpListener/2.1.0' -OutFile 'Microsoft.Owin.Host.HttpListener.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.Hosting.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.Hosting/2.1.0' -OutFile 'Microsoft.Owin.Hosting.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.StaticFiles.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.StaticFiles/2.1.0' -OutFile 'Microsoft.Owin.StaticFiles.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.FileSystems.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.FileSystems/2.1.0' -OutFile 'Microsoft.Owin.FileSystems.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
cd ..
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 다운로드 완료!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 다운로드된 파일 목록:
|
||||
dir /b owin_packages\*.zip
|
||||
echo.
|
||||
echo 다음 단계:
|
||||
echo 1. owin_packages 폴더 열기
|
||||
echo 2. 각 .zip 파일을 압축 해제
|
||||
echo 3. 각 폴더의 lib\net40\ 경로에서 .dll 파일 찾기
|
||||
echo 4. 모든 .dll 파일을 lib 폴더로 복사
|
||||
echo.
|
||||
echo 필요한 DLL 파일 목록:
|
||||
echo - Owin.dll
|
||||
echo - Microsoft.Owin.dll
|
||||
echo - Microsoft.Owin.Host.HttpListener.dll
|
||||
echo - Microsoft.Owin.Hosting.dll
|
||||
echo - Microsoft.Owin.StaticFiles.dll
|
||||
echo - Microsoft.Owin.FileSystems.dll
|
||||
echo.
|
||||
pause
|
||||
143
host_eco2_guide_fixed.bat
Normal file
143
host_eco2_guide_fixed.bat
Normal file
@@ -0,0 +1,143 @@
|
||||
@echo off
|
||||
chcp 65001 > nul
|
||||
echo ========================================
|
||||
echo ECO2 Guide Center 로컬 호스팅
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 현재 디렉토리 확인
|
||||
set CURRENT_DIR=%CD%
|
||||
echo 현재 디렉토리: %CURRENT_DIR%
|
||||
echo.
|
||||
|
||||
REM eco2_guide_center 저장소 경로 확인
|
||||
set GUIDE_REPO=eco2_guide_center
|
||||
if not exist "%GUIDE_REPO%" (
|
||||
echo [1/4] 저장소 클론 중...
|
||||
git clone https://github.com/VeryColdplay/eco2_guide_center.git
|
||||
if errorlevel 1 (
|
||||
echo 오류: 저장소 클론 실패
|
||||
echo Git이 설치되어 있는지 확인하세요.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo 완료
|
||||
) else (
|
||||
echo [1/4] 저장소 업데이트 중...
|
||||
cd %GUIDE_REPO%
|
||||
git pull
|
||||
cd ..
|
||||
echo 완료
|
||||
)
|
||||
echo.
|
||||
|
||||
REM 필요한 패키지 설치
|
||||
echo [2/4] Python 패키지 설치 중...
|
||||
echo (네트워크 연결이 필요합니다. 시간이 걸릴 수 있습니다...)
|
||||
echo.
|
||||
|
||||
REM 방화벽이나 프록시 문제가 있을 수 있으므로 개별 설치 시도
|
||||
pip install mkdocs-material 2>nul
|
||||
if errorlevel 1 (
|
||||
echo 경고: mkdocs-material 설치 실패 - 이미 설치되어 있거나 네트워크 문제일 수 있습니다.
|
||||
)
|
||||
|
||||
pip install mkdocs-macros-plugin 2>nul
|
||||
pip install mkdocs-mermaid2-plugin 2>nul
|
||||
pip install mkdocs-table-reader-plugin 2>nul
|
||||
pip install mkdocs-glightbox 2>nul
|
||||
pip install mkdocs-git-revision-date-localized-plugin 2>nul
|
||||
pip install mkdocs-minify-plugin 2>nul
|
||||
pip install mkdocs-awesome-pages-plugin 2>nul
|
||||
|
||||
echo 패키지 설치 시도 완료
|
||||
echo.
|
||||
|
||||
REM MkDocs 빌드
|
||||
echo [3/4] MkDocs 빌드 중...
|
||||
cd %GUIDE_REPO%
|
||||
|
||||
REM mkdocs.yml에서 awesome-pages 플러그인 제거 (임시)
|
||||
echo awesome-pages 플러그인 비활성화 중...
|
||||
powershell -Command "(Get-Content mkdocs.yml) -replace ' - awesome-pages', ' # - awesome-pages' | Set-Content mkdocs_temp.yml"
|
||||
|
||||
REM 정적 사이트 빌드
|
||||
echo MkDocs 빌드 실행...
|
||||
mkdocs build -f mkdocs_temp.yml
|
||||
if errorlevel 1 (
|
||||
echo.
|
||||
echo 오류: MkDocs 빌드 실패
|
||||
echo.
|
||||
echo 해결 방법:
|
||||
echo 1. Python이 설치되어 있는지 확인
|
||||
echo 2. 인터넷 연결 확인
|
||||
echo 3. 방화벽/프록시 설정 확인
|
||||
echo 4. 관리자 권한으로 실행
|
||||
echo.
|
||||
echo 또는 수동 설치:
|
||||
echo pip install mkdocs-material mkdocs-awesome-pages-plugin
|
||||
echo.
|
||||
del mkdocs_temp.yml 2>nul
|
||||
cd ..
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
del mkdocs_temp.yml 2>nul
|
||||
echo 완료
|
||||
echo.
|
||||
|
||||
REM ECO2 wwwroot 폴더로 복사
|
||||
echo [4/4] ECO2 wwwroot로 복사 중...
|
||||
cd ..
|
||||
|
||||
REM wwwroot 폴더 생성
|
||||
if not exist "wwwroot" mkdir wwwroot
|
||||
|
||||
REM 기존 파일 백업 (선택사항)
|
||||
if exist "wwwroot\index.html" (
|
||||
echo 기존 파일 발견 - 백업 생성 중...
|
||||
if not exist "wwwroot_backup" mkdir wwwroot_backup
|
||||
xcopy /E /I /Y "wwwroot\*" "wwwroot_backup\" > nul
|
||||
)
|
||||
|
||||
REM site 폴더 내용 복사
|
||||
echo 빌드된 파일 복사 중...
|
||||
xcopy /E /I /Y "%GUIDE_REPO%\site\*" "wwwroot\" > nul
|
||||
if errorlevel 1 (
|
||||
echo 오류: 파일 복사 실패
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo 완료
|
||||
echo.
|
||||
|
||||
REM 파일 개수 확인
|
||||
for /f %%A in ('dir /b /s "wwwroot\*.html" ^| find /c ".html"') do set HTML_COUNT=%%A
|
||||
echo 복사된 HTML 파일: %HTML_COUNT%개
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 호스팅 준비 완료!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo wwwroot 폴더: %CURRENT_DIR%\wwwroot
|
||||
echo.
|
||||
echo 다음 중 한 가지 방법으로 접속:
|
||||
echo.
|
||||
echo [방법 1] ECO2 프로그램의 OWIN 서버 사용
|
||||
echo 1. ECO2 프로그램 실행
|
||||
echo 2. OWIN 서버 시작 (포트 58123)
|
||||
echo 3. 브라우저: http://localhost:58123
|
||||
echo.
|
||||
echo [방법 2] MkDocs 개발 서버 사용 (추천 - 자동 새로고침)
|
||||
echo 1. cd eco2_guide_center
|
||||
echo 2. mkdocs serve
|
||||
echo 3. 브라우저: http://127.0.0.1:8000
|
||||
echo.
|
||||
echo [방법 3] Python 간단 서버 사용
|
||||
echo 1. cd wwwroot
|
||||
echo 2. python -m http.server 8080
|
||||
echo 3. 브라우저: http://localhost:8080
|
||||
echo.
|
||||
pause
|
||||
BIN
lib/Microsoft.Owin.FileSystems.dll
Normal file
BIN
lib/Microsoft.Owin.FileSystems.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.Host.HttpListener.dll
Normal file
BIN
lib/Microsoft.Owin.Host.HttpListener.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.Hosting.dll
Normal file
BIN
lib/Microsoft.Owin.Hosting.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.StaticFiles.dll
Normal file
BIN
lib/Microsoft.Owin.StaticFiles.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.dll
Normal file
BIN
lib/Microsoft.Owin.dll
Normal file
Binary file not shown.
BIN
lib/Owin.dll
Normal file
BIN
lib/Owin.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user