initial commit
274
Cs_HMI/AGVCSharp.sln
Normal file
@@ -0,0 +1,274 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.9.34714.143
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGV4", "Project\AGV4.csproj", "{65F3E762-800C-499E-862F-A535642EC59F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "arControl", "SubProject\arCtl\arControl.csproj", "{F31C242C-1B15-4518-9733-48558499FE4B}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sub", "Sub", "{C423C39A-44E7-4F09-B2F7-7943975FF948}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "arFrameControl", "SubProject\arFrameControl\arFrameControl.csproj", "{A16C9667-5241-4313-888E-548375F85D29}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StateMachine", "StateMachine\StateMachine.csproj", "{BBC9BCCF-6262-4355-9CC2-37FF678AC499}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "agvControl", "SubProject\AGVControl\agvControl.csproj", "{8CB883C0-99C3-4DD4-B017-F9B92010A806}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_NLRF100", "TestProject\Test_NLRF100\Test_NLRF100.csproj", "{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_PLC", "TestProject\Test_ProPLC\Test_PLC.csproj", "{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_BMS", "TestProject\Test_BMS\Test_BMS.csproj", "{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BMS", "SubProject\BMS\BMS.csproj", "{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWPatch", "SubProject\Patch\SWPatch.csproj", "{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emulator", "Emulator\Emulator.csproj", "{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PLC.Net45", "SubProject\ProPLC\PLC.Net45.csproj", "{476C8E64-7B6B-4554-ACA2-04302715750F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NARUMI", "SubProject\AGV\NARUMI.csproj", "{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommData", "SubProject\CommData\CommData.csproj", "{14E8C9A5-013E-49BA-B435-EFEFC77DD623}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_Narumi", "TestProject\Test_Narumi\Test_Narumi.csproj", "{EB77976F-4DE4-46A5-8B25-D07226204C32}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSSQLCommand", "SubProject\MSSQLCommand\MSSQLCommand.csproj", "{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "arCommUtil", "SubProject\CommUtil\arCommUtil.csproj", "{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{65F3E762-800C-499E-862F-A535642EC59F}.Release|x86.Build.0 = Release|x86
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623}.Release|x86.Build.0 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{F31C242C-1B15-4518-9733-48558499FE4B} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{A16C9667-5241-4313-888E-548375F85D29} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{8CB883C0-99C3-4DD4-B017-F9B92010A806} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||||
|
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||||
|
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||||
|
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||||
|
{476C8E64-7B6B-4554-ACA2-04302715750F} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{14E8C9A5-013E-49BA-B435-EFEFC77DD623} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{EB77976F-4DE4-46A5-8B25-D07226204C32} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||||
|
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
{14E8C9A5-013E-49BA-B435-FFFFFF7DD623} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {B5B1FD72-356F-4840-83E8-B070AC21C8D9}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
BIN
Cs_HMI/DLL/ArLog.Net4.dll
Normal file
BIN
Cs_HMI/DLL/ArSetting.Net4.dll
Normal file
BIN
Cs_HMI/DLL/Winsock Orcas.dll
Normal file
BIN
Cs_HMI/DLL/arControl.Net4.dll
Normal file
538
Cs_HMI/Project/AGV4.csproj
Normal file
@@ -0,0 +1,538 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{65F3E762-800C-499E-862F-A535642EC59F}</ProjectGuid>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<RootNamespace>Project</RootNamespace>
|
||||||
|
<AssemblyName>Amkor</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<PublishUrl>게시\</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
|
<NoWin32Manifest>False</NoWin32Manifest>
|
||||||
|
<SignAssembly>False</SignAssembly>
|
||||||
|
<DelaySign>False</DelaySign>
|
||||||
|
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||||
|
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
|
||||||
|
<NoStdLib>False</NoStdLib>
|
||||||
|
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||||
|
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>Full</DebugType>
|
||||||
|
<Optimize>False</Optimize>
|
||||||
|
<OutputPath>..\..\..\..\..\Amkor\AGV4\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
<NoWarn>IDE1006</NoWarn>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>..\..\..\ManualMapEditor\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ApplicationIcon>icons8-split-64.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetZone>LocalIntranet</TargetZone>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<GenerateManifests>false</GenerateManifests>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>..\..\..\..\Amkor\OTP2DReading\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
|
<StartAction>Project</StartAction>
|
||||||
|
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
|
||||||
|
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
|
||||||
|
<BaseAddress>4194304</BaseAddress>
|
||||||
|
<RegisterForComInterop>False</RegisterForComInterop>
|
||||||
|
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="ArLog.Net4, Version=19.7.18.1730, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\DLL\ArLog.Net4.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="ArSetting.Net4, Version=19.7.3.2330, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\DLL\ArSetting.Net4.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Ionic.Zip.1.9.1.8\lib\Ionic.Zip.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Speech, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Assembly\Microsoft.Speech.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="PresentationCore" />
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Management" />
|
||||||
|
<Reference Include="System.Web" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="WindowsBase" />
|
||||||
|
<Reference Include="Winsock Orcas">
|
||||||
|
<HintPath>..\DLL\Winsock Orcas.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Class\EEMStatus.cs" />
|
||||||
|
<Compile Include="Class\Lang.cs" />
|
||||||
|
<Compile Include="CtlAuto.cs">
|
||||||
|
<SubType>Component</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="CtlAuto.Designer.cs">
|
||||||
|
<DependentUpon>CtlAuto.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="CtlPos.cs">
|
||||||
|
<SubType>Component</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="CtlPos.Designer.cs">
|
||||||
|
<DependentUpon>CtlPos.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Class\CParser.cs" />
|
||||||
|
<Compile Include="Class\EnumData.cs" />
|
||||||
|
<Compile Include="Class\CResult.cs" />
|
||||||
|
<Compile Include="DataSet1.cs">
|
||||||
|
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="DataSet1.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Device\CFlag.cs" />
|
||||||
|
<Compile Include="Device\Xbee.cs" />
|
||||||
|
<Compile Include="Device\Socket.cs" />
|
||||||
|
<Compile Include="Dialog\fCounter.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fCounter.Designer.cs">
|
||||||
|
<DependentUpon>fCounter.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fUpdateForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fUpdateForm.Designer.cs">
|
||||||
|
<DependentUpon>fUpdateForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fLog.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fLog.Designer.cs">
|
||||||
|
<DependentUpon>fLog.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fJobSelect.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fJobSelect.Designer.cs">
|
||||||
|
<DependentUpon>fJobSelect.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fSystem.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fSystem.Designer.cs">
|
||||||
|
<DependentUpon>fSystem.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\DriveDetector.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fVolume.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fVolume.Designer.cs">
|
||||||
|
<DependentUpon>fVolume.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MessageWindow\fMessageWindow.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MessageWindow\fMessageWindow.Designer.cs">
|
||||||
|
<DependentUpon>fMessageWindow.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fTouchKey.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fTouchKey.Designer.cs">
|
||||||
|
<DependentUpon>fTouchKey.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fTouchKeyFull.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fTouchKeyFull.Designer.cs">
|
||||||
|
<DependentUpon>fTouchKeyFull.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fTouchNumDot.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fTouchNumDot.Designer.cs">
|
||||||
|
<DependentUpon>fTouchNumDot.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fPassword.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fPassword.Designer.cs">
|
||||||
|
<DependentUpon>fPassword.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fErrorException.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Dialog\fErrorException.Designer.cs">
|
||||||
|
<DependentUpon>fErrorException.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="fMain.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="fMain.Designer.cs">
|
||||||
|
<DependentUpon>fMain.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Manager\DataBaseManager.cs" />
|
||||||
|
<Compile Include="MessageWindow\MessageWindow.cs" />
|
||||||
|
<Compile Include="MessageWindow\CMessageData.cs" />
|
||||||
|
<Compile Include="MethodExtentions.cs" />
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="PUB.cs" />
|
||||||
|
<Compile Include="CSetting.cs" />
|
||||||
|
<Compile Include="StateMachine\Display\GetErrorMessage.cs" />
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_CHGOFF.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_GOCHARGECHECK.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_GOCHARGE.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_READY.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_RESET.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_GOHOME.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_GOUP.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_GODOWN.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_SYNC.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_POSCHK.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN_INIT.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_DIO.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_Flag.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_STEP_CLOSE.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_BMS.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_AGV.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_SPS.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_Loop.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\Step\_SM_RUN.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\_TMDisplay.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StateMachine\DisplayTextHandler.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Util.cs" />
|
||||||
|
<Compile Include="Util_FG.cs" />
|
||||||
|
<Compile Include="ViewForm\fBms.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fBms.Designer.cs">
|
||||||
|
<DependentUpon>fBms.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fAuto.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fAuto.Designer.cs">
|
||||||
|
<DependentUpon>fAuto.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fAgv.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fAgv.Designer.cs">
|
||||||
|
<DependentUpon>fAgv.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fFlag.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fFlag.Designer.cs">
|
||||||
|
<DependentUpon>fFlag.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fIO.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fIO.Designer.cs">
|
||||||
|
<DependentUpon>fIO.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="fSetup.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="fSetup.Designer.cs">
|
||||||
|
<DependentUpon>fSetup.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fManual.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewForm\fManual.Designer.cs">
|
||||||
|
<DependentUpon>fManual.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<EmbeddedResource Include="Dialog\fCounter.resx">
|
||||||
|
<DependentUpon>fCounter.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fUpdateForm.resx">
|
||||||
|
<DependentUpon>fUpdateForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fLog.resx">
|
||||||
|
<DependentUpon>fLog.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fJobSelect.resx">
|
||||||
|
<DependentUpon>fJobSelect.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fSystem.resx">
|
||||||
|
<DependentUpon>fSystem.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fVolume.resx">
|
||||||
|
<DependentUpon>fVolume.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="MessageWindow\fMessageWindow.resx">
|
||||||
|
<DependentUpon>fMessageWindow.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fTouchKey.resx">
|
||||||
|
<DependentUpon>fTouchKey.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fTouchKeyFull.resx">
|
||||||
|
<DependentUpon>fTouchKeyFull.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fTouchNumDot.resx">
|
||||||
|
<DependentUpon>fTouchNumDot.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fPassword.resx">
|
||||||
|
<DependentUpon>fPassword.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Dialog\fErrorException.resx">
|
||||||
|
<DependentUpon>fErrorException.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="fMain.resx">
|
||||||
|
<DependentUpon>fMain.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
</Compile>
|
||||||
|
<EmbeddedResource Include="ViewForm\fBms.resx">
|
||||||
|
<DependentUpon>fBms.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ViewForm\fAuto.resx">
|
||||||
|
<DependentUpon>fAuto.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ViewForm\fAgv.resx">
|
||||||
|
<DependentUpon>fAgv.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ViewForm\fFlag.resx">
|
||||||
|
<DependentUpon>fFlag.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ViewForm\fIO.resx">
|
||||||
|
<DependentUpon>fIO.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="fSetup.resx">
|
||||||
|
<DependentUpon>fSetup.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ViewForm\fManual.resx">
|
||||||
|
<DependentUpon>fManual.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="DataSet1.xsc">
|
||||||
|
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="DataSet1.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSDataSetGenerator</Generator>
|
||||||
|
<LastGenOutput>DataSet1.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<None Include="DataSet1.xss">
|
||||||
|
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<None Include="Properties\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="ReadMe.txt" />
|
||||||
|
<Content Include="icons8-layers-30.ico" />
|
||||||
|
<Content Include="icons8-split-64.ico" />
|
||||||
|
<None Include="Resources\ChargeH.png" />
|
||||||
|
<None Include="Resources\icons8-charge-empty-battery-96.png" />
|
||||||
|
<None Include="Resources\icons8-automatic-gearbox-warning-80.png" />
|
||||||
|
<None Include="Resources\icons8-speed-80.png" />
|
||||||
|
<None Include="Resources\icons8-charged-battery-80.png" />
|
||||||
|
<None Include="Resources\icons8-checked-radio-button-48.png" />
|
||||||
|
<None Include="Resources\icons8-save-40.png" />
|
||||||
|
<None Include="Resources\icons8-unavailable-40.png" />
|
||||||
|
<None Include="Resources\icons8-new-40.png" />
|
||||||
|
<None Include="Resources\icons8-running-40.png" />
|
||||||
|
<None Include="Resources\icons8-no-running-40.png" />
|
||||||
|
<None Include="Resources\icons8-exercise-40.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Microsoft .NET Framework 4%28x86 및 x64%29</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Windows Installer 4.5</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\SubProject\AGVControl\agvControl.csproj">
|
||||||
|
<Project>{8cb883c0-99c3-4dd4-b017-f9b92010a806}</Project>
|
||||||
|
<Name>agvControl</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\AGV\NARUMI.csproj">
|
||||||
|
<Project>{8bae0eac-3d25-402f-9a65-2ba1ecfe28b7}</Project>
|
||||||
|
<Name>NARUMI</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\BMS\BMS.csproj">
|
||||||
|
<Project>{7a94c30c-6772-4f71-bf9c-0df071a1bc70}</Project>
|
||||||
|
<Name>BMS</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\StateMachine\StateMachine.csproj">
|
||||||
|
<Project>{bbc9bccf-6262-4355-9cc2-37ff678ac499}</Project>
|
||||||
|
<Name>StateMachine</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\arCtl\arControl.csproj">
|
||||||
|
<Project>{f31c242c-1b15-4518-9733-48558499fe4b}</Project>
|
||||||
|
<Name>arControl</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\arFrameControl\arFrameControl.csproj">
|
||||||
|
<Project>{a16c9667-5241-4313-888e-548375f85d29}</Project>
|
||||||
|
<Name>arFrameControl</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\CommData\CommData.csproj">
|
||||||
|
<Project>{14e8c9a5-013e-49ba-b435-efefc77dd623}</Project>
|
||||||
|
<Name>CommData</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\CommUtil\arCommUtil.csproj">
|
||||||
|
<Project>{14e8c9a5-013e-49ba-b435-ffffff7dd623}</Project>
|
||||||
|
<Name>arCommUtil</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SubProject\ProPLC\PLC.Net45.csproj">
|
||||||
|
<Project>{476c8e64-7b6b-4554-aca2-04302715750f}</Project>
|
||||||
|
<Name>PLC.Net45</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup />
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>rem xcopy "$(TargetDir)*.exe" "\\192.168.1.80\Amkor\AGV2" /Y
|
||||||
|
rem xcopy "$(TargetDir)*.dll" "\\192.168.1.80\Amkor\AGV2" /Y</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
580
Cs_HMI/Project/CSetting.cs
Normal file
@@ -0,0 +1,580 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing.Design;
|
||||||
|
using System.Management;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Security.RightsManagement;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public class MyUITypeEditor : UITypeEditor
|
||||||
|
{
|
||||||
|
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
|
||||||
|
{
|
||||||
|
using (var f = new System.Windows.Forms.Form
|
||||||
|
{
|
||||||
|
WindowState = System.Windows.Forms.FormWindowState.Normal,
|
||||||
|
StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen,
|
||||||
|
Size = new System.Drawing.Size(800, 400),
|
||||||
|
MaximizeBox = false,
|
||||||
|
MinimizeBox = false,
|
||||||
|
Text = "Select Port",
|
||||||
|
FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||||
|
})
|
||||||
|
{
|
||||||
|
var lst = new System.Windows.Forms.ListBox
|
||||||
|
{
|
||||||
|
Font = new System.Drawing.Font("Consolas", 15, System.Drawing.FontStyle.Bold),
|
||||||
|
Dock = System.Windows.Forms.DockStyle.Fill,
|
||||||
|
};
|
||||||
|
lst.DoubleClick += (s1, e1) =>
|
||||||
|
{
|
||||||
|
if (lst.SelectedItem != null) f.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||||
|
};
|
||||||
|
using (var searcher = new ManagementObjectSearcher("SELECT * FROM WIN32_SerialPort"))
|
||||||
|
{
|
||||||
|
var portnames = System.IO.Ports.SerialPort.GetPortNames().OrderBy(t => t);
|
||||||
|
var ports = searcher.Get().Cast<ManagementBaseObject>().ToList();
|
||||||
|
foreach (var port in portnames)
|
||||||
|
{
|
||||||
|
var desc = "";
|
||||||
|
var portInfo = ports.Where(t => t["DeviceId"].ToString() == port).FirstOrDefault();
|
||||||
|
if (portInfo != null) desc = portInfo["Caption"].ToString();
|
||||||
|
lst.Items.Add(string.Format("{0} - {1}", port, desc));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.Controls.Add(lst);
|
||||||
|
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||||
|
{
|
||||||
|
var name = lst.SelectedItem.ToString().Split('-');
|
||||||
|
return name[0].Trim();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return base.EditValue(context, provider, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
|
||||||
|
{
|
||||||
|
return UITypeEditorEditStyle.Modal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CSetting : arUtil.Setting
|
||||||
|
{
|
||||||
|
#region "log"
|
||||||
|
|
||||||
|
[Category("System Log"), DisplayName("Digital Input/Output"),
|
||||||
|
Description("입/출력 장치의 상태 변화를 기록 합니다.")]
|
||||||
|
public Boolean Log_IO { get; set; }
|
||||||
|
[Category("System Log"), DisplayName("Network Alive Check(Ping)"),
|
||||||
|
Description("서버와의 통신검사 로그를 기록 합니다")]
|
||||||
|
public Boolean Log_Ping { get; set; }
|
||||||
|
[Category("System Log"), DisplayName("S/M Step Change"),
|
||||||
|
Description("상태머신의 변화 상태를 기록 합니다.")]
|
||||||
|
public Boolean Log_StepChange { get; set; }
|
||||||
|
[Category("System Log"), DisplayName("Socket Recv Message"),
|
||||||
|
Description("서버 수신 메세지를 기록 합니다.")]
|
||||||
|
public Boolean LOg_SocketRecv { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "Communication"
|
||||||
|
|
||||||
|
[Category("Commnunication Setting"), DisplayName("XBee PortName"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||||
|
public string Port_XBE { get; set; }
|
||||||
|
|
||||||
|
[Category("Commnunication Setting"), DisplayName("RFID PortName"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||||
|
public string Port_AGV { get; set; }
|
||||||
|
|
||||||
|
[Category("Commnunication Setting"), DisplayName("PLC #1 PortName"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||||
|
public string Port_PLC { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[Category("Commnunication Setting"), DisplayName("BMS PortName"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
|
||||||
|
public string Port_BAT { get; set; }
|
||||||
|
|
||||||
|
public int ChargerID { get; set; }
|
||||||
|
|
||||||
|
public int Baud_AGV { get; set; }
|
||||||
|
public int Baud_BAT { get; set; }
|
||||||
|
public int Baud_PLC { get; set; }
|
||||||
|
public int Baud_XBE { get; set; }
|
||||||
|
|
||||||
|
//public int QueryInterval_BAT { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "Debug"
|
||||||
|
[Category("Developer Setting"), DisplayName("Listening Port"),
|
||||||
|
Description("서버와의 통신을 위한 대기 포트(TCP) - 기본값 : 7979")]
|
||||||
|
public int listenPort { get; set; }
|
||||||
|
|
||||||
|
[Category("Developer Setting")]
|
||||||
|
public Boolean UseDebugMode { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "Count Reset Setting"
|
||||||
|
|
||||||
|
[Category("Count Reset Setting"), DisplayName("A/M Clear Enable"),
|
||||||
|
Description("오전 초기화 여부\n작업수량을 초기화 하려면 True 로 설정하세요")]
|
||||||
|
public Boolean datetime_Check_1 { get; set; }
|
||||||
|
[Category("Count Reset Setting"), DisplayName("P/M Clear Enable"),
|
||||||
|
Description("오후 초기화 여부\n작업수량을 초기화 하려면 True 로 설정하세요")]
|
||||||
|
public Boolean datetime_Check_2 { get; set; }
|
||||||
|
[Category("Count Reset Setting"), DisplayName("A/M Clear Time(HH:mm)"),
|
||||||
|
Description("오전 초기화 시간(시:분)\n예) 09:00")]
|
||||||
|
public string datetime_Reset_1 { get; set; }
|
||||||
|
[Category("Count Reset Setting"), DisplayName("P/M Clear Time(HH:mm)"),
|
||||||
|
Description("오후 초기화 시간(시:분)\n예) 19:00")]
|
||||||
|
public string datetime_Reset_2 { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "general"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Category("General Setting"), DisplayName("Enable Popup Message"),
|
||||||
|
Description("오류 발생시 별도의 메세지 창으로 표시합니다. 사용하지 않을 경우에는 우측 상단의 결과창의 메세지를 확인합니다.")]
|
||||||
|
public Boolean ShowPopUpMessage { get; set; }
|
||||||
|
[Category("General Setting"), DisplayName("Asset Number"),
|
||||||
|
Description("자산번호(서버에 값 전송 시 사용됩니다)")]
|
||||||
|
public string Asset { get; set; }
|
||||||
|
|
||||||
|
[Category("General Setting"),
|
||||||
|
Description("데이터 자동 소거 기간(일) 비활성=0")]
|
||||||
|
public int AutoDeleteDay { get; set; }
|
||||||
|
[Category("General Setting"),
|
||||||
|
Description("데이터 자동 소거 조건(남은용량 %)")]
|
||||||
|
public int AutoDeleteThreshold { get; set; }
|
||||||
|
|
||||||
|
[Category("General Setting"), PasswordPropertyText(true)]
|
||||||
|
public string Password_Setup { get; set; }
|
||||||
|
|
||||||
|
[Category("General Setting"), Browsable(false)]
|
||||||
|
public string Language { get; set; }
|
||||||
|
|
||||||
|
[Category("General Setting"), DisplayName("Full Screen Window State"),
|
||||||
|
Description("화면을 전체화면으로 사용 합니다.")]
|
||||||
|
public Boolean FullScreen { get; set; }
|
||||||
|
public bool DetectManualCharge { get; set; }
|
||||||
|
public Boolean StartLog { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "TAGS"
|
||||||
|
public int TAGPOT { get; set; }
|
||||||
|
public int TAGNOT { get; set; }
|
||||||
|
public int TAG_F2_F3 { get; set; }
|
||||||
|
public int TAG_QC_F1 { get; set; }
|
||||||
|
public int TAG_F1_F2 { get; set; }
|
||||||
|
public int TAG_F3_F4 { get; set; }
|
||||||
|
public int TAG_F4_F5 { get; set; }
|
||||||
|
|
||||||
|
public int TAG_QA_QC { get; set; }
|
||||||
|
public int TAGQAB { get; set; }
|
||||||
|
public int TAGQAA { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public int TAGQCB { get; set; }
|
||||||
|
public int TAGQCA { get; set; }
|
||||||
|
public int TAGF1A { get; set; }
|
||||||
|
public int TAGF2A { get; set; }
|
||||||
|
public int TAGF3A { get; set; }
|
||||||
|
public int TAGF4A { get; set; }
|
||||||
|
public int TAGF5A { get; set; }
|
||||||
|
|
||||||
|
public int TAGF1B { get; set; }
|
||||||
|
public int TAGF2B { get; set; }
|
||||||
|
public int TAGF3B { get; set; }
|
||||||
|
public int TAGF4B { get; set; }
|
||||||
|
public int TAGF5B { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "Charge"
|
||||||
|
public int chargerpos { get; set; }
|
||||||
|
public int ChargetWaitSec { get; set; }
|
||||||
|
public int ChargeEmergencyLevel { get; set; }
|
||||||
|
public int ChargeMaxLevel { get; set; }
|
||||||
|
public int ChargeStartLevel { get; set; }
|
||||||
|
public Boolean Enable_AutoCharge { get; set; }
|
||||||
|
|
||||||
|
public int ChargeRetryTerm { get; set; }
|
||||||
|
//public int ChargeIdleInterval { get; set; }
|
||||||
|
public int ChargeMaxTime { get; set; }
|
||||||
|
public int ChargeSearchTime { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "AGV"
|
||||||
|
|
||||||
|
public bool AutoModeOffAndClearPosition { get; set; }
|
||||||
|
public string musicfile { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// FVI로 가능 방향이 Backward 인가?
|
||||||
|
/// Forward 방향이라면 false 를 한다
|
||||||
|
/// </summary>
|
||||||
|
public Boolean AGV_Direction_FVI_Backward { get; set; }
|
||||||
|
|
||||||
|
public Boolean Enable_Speak { get; set; }
|
||||||
|
|
||||||
|
//public Boolean Disable_BMS { get; set; }
|
||||||
|
//public Boolean Log_BMS_Tx { get; set; }
|
||||||
|
//public Boolean Log_BMS_Rx { get; set; }
|
||||||
|
//public double ChargeLimitLow { get; set; }
|
||||||
|
//public double ChargeLimitHigh { get; set; }
|
||||||
|
|
||||||
|
public string AGV_PANID { get; set; }
|
||||||
|
public string AGV_CHANNEL { get; set; }
|
||||||
|
public string AGV_ADDRESS { get; set; }
|
||||||
|
|
||||||
|
public int SCK { get; set; }
|
||||||
|
public int SSK { get; set; }
|
||||||
|
public int STT { get; set; }
|
||||||
|
public int SAD { get; set; }
|
||||||
|
|
||||||
|
public byte ZSpeed { get; set; }
|
||||||
|
public int SPD_L { get; set; }
|
||||||
|
public int SPD_M { get; set; }
|
||||||
|
public int SPD_H { get; set; }
|
||||||
|
public int SPD_DRIVE { get; set; }
|
||||||
|
|
||||||
|
public int SPD_S { get; set; }
|
||||||
|
public int SPD_R { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public int PID_PH { get; set; }
|
||||||
|
public int PID_PM { get; set; }
|
||||||
|
public int PID_PL { get; set; }
|
||||||
|
public int PID_IH { get; set; }
|
||||||
|
public int PID_IM { get; set; }
|
||||||
|
public int PID_IL { get; set; }
|
||||||
|
public int PID_DH { get; set; }
|
||||||
|
public int PID_DM { get; set; }
|
||||||
|
public int PID_DL { get; set; }
|
||||||
|
|
||||||
|
public int PID_PS { get; set; }
|
||||||
|
public int PID_IS { get; set; }
|
||||||
|
public int PID_DS { get; set; }
|
||||||
|
|
||||||
|
public double WheelSpeedCharge { get; set; }
|
||||||
|
|
||||||
|
//public byte MotorUpTime { get; set; }
|
||||||
|
//public double AlignSensorThreshold { get; set; }
|
||||||
|
// public byte BalanceThreshold { get; set; }
|
||||||
|
// public byte BalanceThresholdUp { get; set; }
|
||||||
|
// public byte MarkSensorThreshold { get; set; }
|
||||||
|
//public Boolean Opt_LidarStop { get; set; }
|
||||||
|
//public Boolean Opt_SlowUp { get; set; }
|
||||||
|
//public Boolean Opt_Magnet { get; set; }
|
||||||
|
public byte HomePositionValue { get; set; }
|
||||||
|
public byte HomeKitNo { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
//public Single interval_bms { get; set; }
|
||||||
|
public Single interval_xbe { get; set; }
|
||||||
|
public int interval_bms { get; set; }
|
||||||
|
public byte interval_iostate { get; set; }
|
||||||
|
//public Boolean Enable_AutoZDnUp { get; set; }
|
||||||
|
public int doorSoundTerm { get; set; }
|
||||||
|
public int musicvol { get; set; }
|
||||||
|
|
||||||
|
public bool Enable_Music { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
[Category("Report"),
|
||||||
|
Description("상태기록시 장비 식별코드(4자리)"),
|
||||||
|
DisplayName("M/C ID")]
|
||||||
|
public string MCID { get; set; }
|
||||||
|
|
||||||
|
[Category("Report"),
|
||||||
|
Description("작업 기록을 장비기술(EE) Database 에 기록 합니다. 원격으로 장비 현황을 모니터링 할 수 있습니다"),
|
||||||
|
DisplayName("SAVE EE-DB")]
|
||||||
|
public Boolean Save_EEDatabase { get; set; }
|
||||||
|
[Category("Report"), Description("상태값을 전송하는 간격(초)")]
|
||||||
|
public int StatusInterval { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[Category("AutoReboot"),
|
||||||
|
DisplayName("자동재부팅시간"),
|
||||||
|
Description("기본값 14:00:00~14:05:00 , 재부팅은 장비가 대기(IDLE)일 때에만 동작하며 지정 시간 범위를 벗어나면 동작하지 않습니다")]
|
||||||
|
public String AutoRebootTimeStart { get; set; }
|
||||||
|
[Category("AutoReboot")]
|
||||||
|
public string AUtoRebootLastTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public bool SetAutoModeOn { get; set; }
|
||||||
|
public override void AfterLoad()
|
||||||
|
{
|
||||||
|
if (StatusInterval < 10) StatusInterval = 300; //5분간격
|
||||||
|
|
||||||
|
if (SAD == 0) SAD = 999;
|
||||||
|
if (TAGF1A == 0)
|
||||||
|
{
|
||||||
|
TAGNOT = 9000;
|
||||||
|
|
||||||
|
TAGQAB = 9200;
|
||||||
|
TAGQCB = 9300;
|
||||||
|
TAGF1B = 9400;
|
||||||
|
TAGF2B = 9500;
|
||||||
|
TAGF3B = 9600;
|
||||||
|
TAGF4B = 9700;
|
||||||
|
TAGF5B = 9800;
|
||||||
|
|
||||||
|
TAGQAA = 9201;
|
||||||
|
TAGQCA = 9301;
|
||||||
|
TAGF1A = 9401;
|
||||||
|
TAGF2A = 9501;
|
||||||
|
TAGF3A = 9601;
|
||||||
|
TAGF4A = 9701;
|
||||||
|
TAGF5A = 9801;
|
||||||
|
|
||||||
|
TAGPOT = 9900;
|
||||||
|
|
||||||
|
TAG_QA_QC = 9250;
|
||||||
|
TAG_QC_F1 = 9350;
|
||||||
|
TAG_F1_F2 = 9450;
|
||||||
|
TAG_F2_F3 = 9550;
|
||||||
|
TAG_F3_F4 = 9650;
|
||||||
|
TAG_F4_F5 = 9750;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(TAG_F4_F5 == 0)
|
||||||
|
{
|
||||||
|
TAG_F4_F5 = 9750;
|
||||||
|
TAGF5B = 9800;
|
||||||
|
TAGF5A = 9801;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SCK == 0) SCK = 10;
|
||||||
|
if (SSK == 0) SSK = 10;
|
||||||
|
if (STT == 0) STT = 30;
|
||||||
|
if (ChargerID == 0) ChargerID = 203;
|
||||||
|
if (ChargerID < 200) ChargerID += 200;
|
||||||
|
|
||||||
|
//자동충전요건
|
||||||
|
if (ChargetWaitSec == 0) ChargetWaitSec = 3;
|
||||||
|
if (ChargeStartLevel == 0) ChargeStartLevel = 85;
|
||||||
|
if (ChargeMaxLevel == 0) ChargeMaxLevel = 85;
|
||||||
|
if (ChargeEmergencyLevel == 0) ChargeEmergencyLevel = 30;
|
||||||
|
|
||||||
|
if (interval_bms == 0) interval_bms = 1000;
|
||||||
|
//충전은 대기상태 5분이 경과하면 진행한다
|
||||||
|
|
||||||
|
|
||||||
|
//충전은 10분간격으로 재시도 한다
|
||||||
|
if (ChargeRetryTerm == 0) ChargeRetryTerm = 600;
|
||||||
|
if (doorSoundTerm == 0) doorSoundTerm = 15; //기본 15초
|
||||||
|
if (ChargeSearchTime == 0) ChargeSearchTime = 25;
|
||||||
|
//최대 충전진행 시간(기본 1시간)
|
||||||
|
if (ChargeMaxTime == 0) ChargeMaxTime = 3600;
|
||||||
|
if (interval_iostate == 0 || interval_iostate == 255) interval_iostate = 100;
|
||||||
|
if (ZSpeed == 0) ZSpeed = 20;
|
||||||
|
if (interval_xbe == 0) interval_xbe = 5.0f;
|
||||||
|
if (HomePositionValue == 0) HomePositionValue = 4;
|
||||||
|
if (HomeKitNo == 0) HomeKitNo = 2;
|
||||||
|
if (datetime_Reset_1 == "") datetime_Reset_1 = "00:00";
|
||||||
|
if (datetime_Reset_2 == "") datetime_Reset_2 = "00:00";
|
||||||
|
|
||||||
|
if (SPD_H == 0)
|
||||||
|
{
|
||||||
|
SPD_DRIVE = 200;
|
||||||
|
SPD_H = 110;
|
||||||
|
SPD_M = 70;
|
||||||
|
SPD_L = 30;
|
||||||
|
SPD_S = 61;
|
||||||
|
SPD_R = 70;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PID_PH == 0)
|
||||||
|
{
|
||||||
|
PID_PH = 180; PID_PM = 240; PID_PL = 260;
|
||||||
|
PID_IH = 610; PID_IM = 640; PID_IL = 660;
|
||||||
|
PID_DH = 110; PID_DM = 140; PID_DL = 160;
|
||||||
|
PID_PS = 200; PID_IS = 620; PID_DS = 120;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (WheelSpeedCharge == 0) WheelSpeedCharge = 10;
|
||||||
|
|
||||||
|
if (AutoDeleteThreshold == 0) AutoDeleteThreshold = 20;
|
||||||
|
if (Asset == "") Asset = "DEV_SPLIT";
|
||||||
|
if (listenPort == 0) listenPort = 7979;
|
||||||
|
if (Port_XBE == "") Port_XBE = "COM8";
|
||||||
|
|
||||||
|
if (Language.isEmpty()) Language = "Kor";
|
||||||
|
if (Password_Setup.isEmpty()) Password_Setup = "0000";
|
||||||
|
if (musicfile.isEmpty()) musicfile = Util.CurrentPath + "music.mp3";
|
||||||
|
if (musicvol == 0) musicvol = 50;
|
||||||
|
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(Port_AGV)) Port_AGV = "COM1";
|
||||||
|
if (string.IsNullOrEmpty(Port_PLC)) Port_PLC = "COM2";
|
||||||
|
if (string.IsNullOrEmpty(Port_XBE)) Port_XBE = "COM4";
|
||||||
|
if (string.IsNullOrEmpty(Port_BAT)) Port_BAT = "COM7";
|
||||||
|
|
||||||
|
if (Baud_AGV == 0) Baud_AGV = 57600;
|
||||||
|
if (Baud_PLC == 0) Baud_PLC = 19200;
|
||||||
|
if (Baud_XBE == 0) Baud_XBE = 9600;
|
||||||
|
if (Baud_BAT == 0) Baud_BAT = 9600;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public override void AfterSave()
|
||||||
|
{
|
||||||
|
//throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CopyTo(CSetting dest)
|
||||||
|
{
|
||||||
|
//이곳의 모든 쓰기가능한 속성값을 대상에 써준다.
|
||||||
|
Type thClass = this.GetType();
|
||||||
|
foreach (var method in thClass.GetMethods())
|
||||||
|
{
|
||||||
|
//var parameters = method.GetParameters();
|
||||||
|
if (!method.Name.StartsWith("get_")) continue;
|
||||||
|
|
||||||
|
string keyname = method.Name.Substring(4);
|
||||||
|
string methodName = method.Name;
|
||||||
|
|
||||||
|
object odata = GetType().GetMethod(methodName).Invoke(this, null);
|
||||||
|
var wMethod = dest.GetType().GetMethod(Convert.ToString("set_") + keyname);
|
||||||
|
if (wMethod != null) wMethod.Invoke(dest, new object[] { odata });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class CounterSetting : arUtil.Setting, INotifyPropertyChanged
|
||||||
|
{
|
||||||
|
public DateTime CountReset { get; set; }
|
||||||
|
|
||||||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
|
||||||
|
{
|
||||||
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||||
|
}
|
||||||
|
|
||||||
|
private int countUp1 = 0;
|
||||||
|
private int countUp2 = 0;
|
||||||
|
private int countUp3 = 0;
|
||||||
|
private int countUp4 = 0;
|
||||||
|
// private int countUp5 = 0;
|
||||||
|
private int countchgaerr = 0;
|
||||||
|
private int countchga = 0;
|
||||||
|
private int countchgm = 0;
|
||||||
|
//private int countdn = 0;
|
||||||
|
private int countqa = 0;
|
||||||
|
private int countqc = 0;
|
||||||
|
|
||||||
|
//메인카운터
|
||||||
|
public int CountUp1
|
||||||
|
{
|
||||||
|
get { return countUp1; }
|
||||||
|
set { if (value != countUp1) { countUp1 = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountUp2
|
||||||
|
{
|
||||||
|
get { return countUp2; }
|
||||||
|
set { if (value != countUp2) { countUp2 = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountUp3
|
||||||
|
{
|
||||||
|
get { return countUp3; }
|
||||||
|
set { if (value != countUp3) { countUp3 = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountUp4
|
||||||
|
{
|
||||||
|
get { return countUp4; }
|
||||||
|
set { if (value != countUp4) { countUp4 = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
//public int CountUp5
|
||||||
|
//{
|
||||||
|
// get { return countUp5; }
|
||||||
|
// set { if (value != countUp5) { countUp5 = value; NotifyPropertyChanged(); } }
|
||||||
|
//}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 상차수량(FVI 1+2+3+4)
|
||||||
|
/// </summary>
|
||||||
|
public int CountUp
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return CountUp1 + CountUp2 + CountUp3 + CountUp4;// + CountUp5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int CountChargeE
|
||||||
|
{
|
||||||
|
get { return this.countchgaerr; }
|
||||||
|
set { if (value != countchgaerr) { countchgaerr = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountChargeA
|
||||||
|
{
|
||||||
|
get { return this.countchga; }
|
||||||
|
set { if (value != countchga) { countchga = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountChargeM
|
||||||
|
{
|
||||||
|
get { return this.countchgm; }
|
||||||
|
set { if (value != countchgm) { countchgm = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 하차수량(QC+QA)
|
||||||
|
/// </summary>
|
||||||
|
public int CountDn
|
||||||
|
{
|
||||||
|
get { return this.countqa + this.countqc; }
|
||||||
|
//set { if (value != countdn) { countdn = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountQA
|
||||||
|
{
|
||||||
|
get { return this.countqa; }
|
||||||
|
set { if (value != countqa) { countqa = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public int CountQC
|
||||||
|
{
|
||||||
|
get { return this.countqc; }
|
||||||
|
set { if (value != countqc) { countqc = value; NotifyPropertyChanged(); } }
|
||||||
|
}
|
||||||
|
public void CountClear()
|
||||||
|
{
|
||||||
|
CountUp1 = 0;
|
||||||
|
CountUp2 = 0;
|
||||||
|
CountUp3 = 0;
|
||||||
|
CountUp4 = 0;
|
||||||
|
// CountUp5 = 0;
|
||||||
|
CountQC = 0;
|
||||||
|
CountQA = 0;
|
||||||
|
//CountQa2 = 0;
|
||||||
|
CountReset = DateTime.Now;
|
||||||
|
PUB.log.Add("Count Clear");
|
||||||
|
this.Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public CounterSetting()
|
||||||
|
{
|
||||||
|
this.filename = Util.CurrentPath + "counter.xml";
|
||||||
|
}
|
||||||
|
public override void AfterLoad()
|
||||||
|
{
|
||||||
|
if (CountReset == null) CountReset = DateTime.Parse("1982-11-23");
|
||||||
|
}
|
||||||
|
public override void AfterSave()
|
||||||
|
{
|
||||||
|
//throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
926
Cs_HMI/Project/Class/CParser.cs
Normal file
@@ -0,0 +1,926 @@
|
|||||||
|
//using System;
|
||||||
|
//using System.Collections.Generic;
|
||||||
|
//using System.Diagnostics;
|
||||||
|
//using System.Globalization;
|
||||||
|
//using System.IO;
|
||||||
|
//using System.Linq;
|
||||||
|
//using System.Reflection;
|
||||||
|
//using System.Runtime.CompilerServices;
|
||||||
|
//using System.Security;
|
||||||
|
//using System.Text;
|
||||||
|
//using System.Threading.Tasks;
|
||||||
|
//using System.Collections;
|
||||||
|
|
||||||
|
//namespace Project
|
||||||
|
//{
|
||||||
|
// public class CParser
|
||||||
|
// {
|
||||||
|
// private string SrcText;
|
||||||
|
// private ArrayList CommandList; // //여기엔 Scommand 가 들어있다.
|
||||||
|
// private System.Text.StringBuilder ErrMsg;
|
||||||
|
// // Public Log As System.Text.StringBuilder
|
||||||
|
|
||||||
|
// public event MessageEventHandler Message;
|
||||||
|
// public void raiseMessage(string m, Boolean err)
|
||||||
|
// {
|
||||||
|
// if (Message != null) Message(m, err);
|
||||||
|
// }
|
||||||
|
// public delegate void MessageEventHandler(string M, bool Err);
|
||||||
|
|
||||||
|
// public CParser()
|
||||||
|
// {
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public new string toString
|
||||||
|
// {
|
||||||
|
// get
|
||||||
|
// {
|
||||||
|
// if (this.isError == false)
|
||||||
|
// {
|
||||||
|
// object Value = ParseCommand(SrcText, true);
|
||||||
|
// return Value.ToString();
|
||||||
|
// }
|
||||||
|
// return "";
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// public new object GetData
|
||||||
|
// {
|
||||||
|
// get
|
||||||
|
// {
|
||||||
|
// if (this.isError == false)
|
||||||
|
// {
|
||||||
|
// object Value = ParseCommand(SrcText, true);
|
||||||
|
// return Value;
|
||||||
|
// }
|
||||||
|
// return null;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// public bool isError
|
||||||
|
// {
|
||||||
|
// get
|
||||||
|
// {
|
||||||
|
// if (this.ErrMsg.ToString() != "")
|
||||||
|
// return true;
|
||||||
|
// else
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// private void Check_error(string vSrcText)
|
||||||
|
// {
|
||||||
|
// // Return '//임시로 해제
|
||||||
|
|
||||||
|
// int Lcnt = 0;
|
||||||
|
// int Rcnt = 0;
|
||||||
|
|
||||||
|
// ErrMsg = new System.Text.StringBuilder();
|
||||||
|
|
||||||
|
// return; //
|
||||||
|
// foreach (string EXP_ in vSrcText.Split(';')) // //각명령을 ;로 구분되어잇기떄문에 구분됫것들이 각자의 명령이다.
|
||||||
|
// {
|
||||||
|
// var EXP = EXP_.Trim();
|
||||||
|
// Lcnt = EXP.ToCharArray().Where(t => t == '(').Count();// MyString.GetInCountChar(EXP, "("); // //파라미터 시작갯수
|
||||||
|
// Rcnt = EXP.ToCharArray().Where(t => t == ')').Count();// MyString.GetInCountChar(EXP, ")"); // //파라미터 종료갯수
|
||||||
|
// if (Lcnt != Rcnt)
|
||||||
|
// ErrMsg.AppendLine(EXP + "파라미터 시작기호 ( 와 종료기호 ) 가 일치하지 않습니다");
|
||||||
|
// Lcnt = EXP.ToCharArray().Where(t => t == '"').Count();// MyString.GetInCountChar(EXP, Strings.Chr(34)); // //파라미터 시작갯수
|
||||||
|
// Rcnt = EXP.ToCharArray().Where(t => t == '"').Count();// MyString.GetInCountChar(EXP, Strings.Chr(34)); // //파라미터 종료갯수
|
||||||
|
// if (Lcnt != Rcnt)
|
||||||
|
// ErrMsg.AppendLine(EXP + "문자열묶음기호(\")가 일치하지 않습니다");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public virtual void CommandText(string s)
|
||||||
|
// {
|
||||||
|
// SrcText = s;
|
||||||
|
// Check_error(SrcText);
|
||||||
|
// if (this.isError)
|
||||||
|
// Util.MsgE(ErrMsg.ToString());// Interaction.MsgBox(ErrMsg.ToString(), MsgBoxStyle.Critical, "오류");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// protected string Buffer1 = "";
|
||||||
|
// protected string Buffer2 = "";
|
||||||
|
// protected string Buffer3 = "";
|
||||||
|
// protected string Buffer4 = "";
|
||||||
|
|
||||||
|
// private object ParseCommand(string vSrcText, bool isfirst, object NEwValue = null)
|
||||||
|
// {
|
||||||
|
// // //각명령어를 쪼갠다.
|
||||||
|
// // //중첩명령어의 경우에도 쪼갠다.
|
||||||
|
|
||||||
|
// // Dim Cmd As String '//명령어
|
||||||
|
// // Dim Param As String '//명렁파라미터
|
||||||
|
// // Dim target As String '//타겏값
|
||||||
|
// // Dim Str As String
|
||||||
|
// // Dim Line As String
|
||||||
|
|
||||||
|
// if (isfirst)
|
||||||
|
// this.CommandList = new ArrayList();// //처음에만 이것을 초기화한다.
|
||||||
|
|
||||||
|
// vSrcText = vSrcText.Replace("\r\n","\n");//Constants.vbCrLf, Constants.vbLf);
|
||||||
|
// vSrcText = vSrcText.Replace("\r","\n");//Constants.vbCr, Constants.vbLf);
|
||||||
|
// vSrcText = vSrcText.Replace("\n\n","\n");//Constants.vbLf + Constants.vbLf, Constants.vbLf);
|
||||||
|
// vSrcText = vSrcText.Replace(";","\n");// Constants.vbLf);
|
||||||
|
|
||||||
|
// raiseMessage("Command Expression : " + vSrcText, false);
|
||||||
|
// foreach (string EXP_ in vSrcText.Split('\n')) // //각명령을 ;로 구분되어잇기떄문에 구분됫것들이 각자의 명령이다.
|
||||||
|
// {
|
||||||
|
// if (EXP_.Trim() == "")
|
||||||
|
// continue;
|
||||||
|
// if (EXP_.Length < 3)
|
||||||
|
// continue;
|
||||||
|
// if (EXP_.Substring(0, 2) == "//")
|
||||||
|
// continue;
|
||||||
|
|
||||||
|
// // Me.Log.AppendLine("New Line Value is : " & NEwValue.ToString)
|
||||||
|
|
||||||
|
// var EXP = EXP_.Trim();
|
||||||
|
// bool CmdFind = false; // //명령어를다 찾앗는가?
|
||||||
|
// bool ParamFind = false;
|
||||||
|
// System.Text.StringBuilder NewParam = new System.Text.StringBuilder();
|
||||||
|
// bool Isfunction = false;
|
||||||
|
// bool IsFunctionEnd = false;
|
||||||
|
// short InnerFuncCnt = 0;
|
||||||
|
// System.Text.StringBuilder NewCmd = new System.Text.StringBuilder();
|
||||||
|
// ArrayList ParamList = new ArrayList();
|
||||||
|
// bool IsTextInner = false;
|
||||||
|
|
||||||
|
// if (EXP != "")
|
||||||
|
// {
|
||||||
|
|
||||||
|
// // My.Computer.FileSystem.WriteAllText("c:\command.txT", "expressiong=" & EXP, True)
|
||||||
|
|
||||||
|
// if (EXP.Substring(0, 1) == "\"")//Strings.Chr(34))
|
||||||
|
// NEwValue = EXP; // //해당문자자체가 값이된다.
|
||||||
|
// else
|
||||||
|
// // //파라미터란 ()사이의 명령어이며, 콤마(,)로 분리된다
|
||||||
|
// // //단 "" 사이의 콤마는 인정하지않는다.
|
||||||
|
|
||||||
|
// foreach (char C in EXP.ToCharArray())
|
||||||
|
// {
|
||||||
|
// if (CmdFind == false)
|
||||||
|
// {
|
||||||
|
// if (C == '(')
|
||||||
|
// CmdFind = true;
|
||||||
|
// else
|
||||||
|
// NewCmd.Append(C);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// switch (C)
|
||||||
|
// {
|
||||||
|
// case ',':
|
||||||
|
// {
|
||||||
|
// if (IsTextInner)
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// else if (Isfunction == false)
|
||||||
|
// {
|
||||||
|
// if (IsFunctionEnd)
|
||||||
|
// ParamList.Add(NewParam.ToString()); // //파라미터를 찾았으므로 파람리스트에 추가한다.
|
||||||
|
// else
|
||||||
|
// ParamList.Add(NewParam.ToString());// //파라미터를 찾았으므로 파람리스트에 추가한다.
|
||||||
|
// NewParam = new System.Text.StringBuilder(); // //파라미터부분 초기화
|
||||||
|
// IsFunctionEnd = false;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case '(':
|
||||||
|
// {
|
||||||
|
// if (IsTextInner)
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// else if (Isfunction)
|
||||||
|
// {
|
||||||
|
// InnerFuncCnt += 1;
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Isfunction = true; // //이파라미터가 또 함수를 가지고있다 ㅠ_ㅠ;
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case ')':
|
||||||
|
// {
|
||||||
|
// if (IsTextInner)
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// else if (Isfunction)
|
||||||
|
// {
|
||||||
|
// if (InnerFuncCnt > 0)
|
||||||
|
// {
|
||||||
|
// InnerFuncCnt -= 1;
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Isfunction = false; // //이파라미터가 또 함수를 가지고있다 ㅠ_ㅠ;
|
||||||
|
// IsFunctionEnd = true;
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// if (NewParam.ToString() != "")
|
||||||
|
// ParamList.Add(NewParam.ToString()); // //파라미터를 찾았으므로 파람리스트에 추가한다.
|
||||||
|
// NewParam = new System.Text.StringBuilder(); // //파라미터부분 초기화
|
||||||
|
// IsFunctionEnd = false;
|
||||||
|
|
||||||
|
// // MsgBox("명령어실행 : " & NewCmd.ToString)
|
||||||
|
// // //각 파라미터들의 값을 가져온다
|
||||||
|
// raiseMessage("New COmmand : " + NewCmd.ToString() + " paramCount=" + ParamList.Count, false);
|
||||||
|
// switch (NewCmd.ToString().ToUpper())
|
||||||
|
// {
|
||||||
|
// case "MUL":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("MUL 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// // Me.Log.AppendLine("MUL " & Param1 & vbTab & Param2)
|
||||||
|
|
||||||
|
// if (Param1.ToString().IsNumeric()==false || Param2.ToString().IsNumeric()==false)
|
||||||
|
// // Me.Log.AppendLine("MUL param error support only number")
|
||||||
|
// return 0;
|
||||||
|
// else
|
||||||
|
// NEwValue = System.Convert.ToDecimal(Param1) * System.Convert.ToDecimal(Param2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "PLUS":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("PLUS 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
|
||||||
|
// if (Param1.ToString().IsNumeric()==false || Param2.ToString().IsNumeric()==false)
|
||||||
|
// return 0;
|
||||||
|
// else
|
||||||
|
// NEwValue = System.Convert.ToDecimal(Param1) + System.Convert.ToDecimal(Param2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "MINUS":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("MINUS 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// // Me.Log.AppendLine("PLUS " & Param1 & vbTab & Param2)
|
||||||
|
// if (Param1.ToString().IsNumeric()==false || Param2.ToString().IsNumeric()==false )
|
||||||
|
// // Me.Log.AppendLine("MINUS param error support only number")
|
||||||
|
// return 0;
|
||||||
|
// else
|
||||||
|
// NEwValue = System.Convert.ToDecimal(Param1) - System.Convert.ToDecimal(Param2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "ISEQULE":
|
||||||
|
// case "EQ" // //둘이 같은지 반환해준다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("ISEQULE 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// // MsgBox(ParamList[1].ToString & "/" & NewValue)
|
||||||
|
// // Me.Log.AppendLine("ISEQULE " & Param1 & vbTab & Param2)
|
||||||
|
// if (Param1 != Param2)
|
||||||
|
// {
|
||||||
|
// raiseMessage("ISEQULE RETURN FALSE", true);
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// raiseMessage("ISEQULE RETURN TRUE", true);
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "NEQ":
|
||||||
|
// case "DIFF" // //둘이 다르면 true 반환해준다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("DIFF(NEQ) 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// // MsgBox(ParamList[1].ToString & "/" & NewValue)
|
||||||
|
// // Me.Log.AppendLine("ISEQULE " & Param1 & vbTab & Param2)
|
||||||
|
// if (Param1 != Param2)
|
||||||
|
// {
|
||||||
|
// raiseMessage("DIFF RETURN True", true);
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// raiseMessage("DIFF RETURN False", true);
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "IF":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("IF 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// if (Param1.ToString().ToLower() != Param2.ToString().ToLower())
|
||||||
|
// {
|
||||||
|
// raiseMessage("IF문 조건이 서로 다르므로 실행을 종료합니다.", false);
|
||||||
|
// return ""; // //해당구문전체를 모두 FALSE한다.
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// // RaiseEvent RaiseMessage("IF문 조건이 동일 True Case IN(" & Param1 & " " & Param2 & ")")
|
||||||
|
// Console.WriteLine("sdf");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "IFNOT":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("IFNOT 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// if (Param1 == Param2)
|
||||||
|
// {
|
||||||
|
// raiseMessage("IF문 조건이 서로 같으므로 실행을 종료합니다.", true);
|
||||||
|
// return ""; // //해당구문전체를 모두 FALSE한다.
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "MSGBOX":
|
||||||
|
// case "MSG":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("MSGBOX 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// Util.MsgE(Param1, MsgBoxStyle.Information, "확인");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "ISNUM":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("ISNUM 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Information.IsNumeric(Param1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "NVL":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("ISEMPTY 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// if (Param1.Trim() == "")
|
||||||
|
// NEwValue = Param2;
|
||||||
|
// else
|
||||||
|
// NEwValue = Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "INDEXOF":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("INDEXOF 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.IndexOf(Param2) + 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "LINDEXOF":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("LINDEXOF 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.LastIndexOf(Param2) + 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "REPLACE":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 3)
|
||||||
|
// raiseMessage("REPLACE 함수에 3개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// object Param3 = RunParam(ParamList[2].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.ToString().Replace(Param2, Param3);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "REMOVECHAR":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("REMOVESPACE 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.Trim(Param2.ToCharArray()).ToString().Trim();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "REMOVESCHAR" // //특수기호삭제한다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("REMOVESCHAR 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// System.Text.StringBuilder NewString = new System.Text.StringBuilder();
|
||||||
|
// foreach (char Cc in Param1.ToCharArray())
|
||||||
|
// {
|
||||||
|
// switch (Strings.Asc(Cc))
|
||||||
|
// {
|
||||||
|
// case object _ when 65 <= Strings.Asc(Cc) && Strings.Asc(Cc) <= 90:
|
||||||
|
// case object _ when 48 <= Strings.Asc(Cc) && Strings.Asc(Cc) <= 57:
|
||||||
|
// case object _ when 97 <= Strings.Asc(Cc) && Strings.Asc(Cc) <= 122:
|
||||||
|
// case object _ when Strings.Asc(Cc) < 0:
|
||||||
|
// case 32:
|
||||||
|
// {
|
||||||
|
// NewString.Append(Cc);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// NEwValue = NewString.ToString();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "REMOVESPACE":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("REMOVESPACE 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.Replace(Strings.Space(1), Constants.vbNullString);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "TOUPPER":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("TOUPPER 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.ToUpper();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "TRIM":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("TRIM 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.Trim();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "TOLOWER":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("TOLOWER 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.ToLower();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "LENB":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("LENB 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = System.Text.Encoding.Default.GetByteCount(Param1.ToString());
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "LEN":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("LEN 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1.Length;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "RIGHTADD":
|
||||||
|
// case "ADDRIGHT":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("RIGHTADD 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1 + Param2;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "ADDNUM":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("ADDNUM 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1 + Param2;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "LEFTADD":
|
||||||
|
// case "ADDLEFT":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("LEFTADD 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param2 + Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "TODATE":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("TODATE 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = ((DateTime)Param1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "TOSTRING":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("TOSTRING 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = (System.Convert.ToString(Param1));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "TOINT":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 1)
|
||||||
|
// raiseMessage("TOINT 함수에 1개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "NOW":
|
||||||
|
// {
|
||||||
|
// NEwValue = DateTime.Now;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "SUBSTRING":
|
||||||
|
// case "SUBSTR" // //2개의 파라미터를 사용한다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count < 2)
|
||||||
|
// raiseMessage("SUBSTRING 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// object param3 = "";
|
||||||
|
// if (ParamList.Count == 3)
|
||||||
|
// param3 = RunParam(ParamList[2].ToString(), NEwValue.ToString());
|
||||||
|
// if (Param1.Trim() == "" || Information.IsNumeric(Param2) == false || System.Convert.ToInt32(Param2) < 0)
|
||||||
|
// NEwValue = "";
|
||||||
|
// else if (param3 != "")
|
||||||
|
// {
|
||||||
|
// // //길이를 참고한다. 너무 긴건 처리하지 못하므로
|
||||||
|
// if (System.Convert.ToInt32(Param2) + System.Convert.ToInt32(param3) > Param1.Length)
|
||||||
|
// NEwValue = Param1.Substring(Param2, (Param1.Length - System.Convert.ToInt32(Param2)));
|
||||||
|
// else
|
||||||
|
// NEwValue = Param1.Substring(Param2, param3);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// NEwValue = Param1.Substring(Param2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "SAVE1":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count < 1)
|
||||||
|
// Util.MsgE("SAVE1 함수에 1개의 파라미터가 없습니다");
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// Buffer1 = Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "SAVE2":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count < 1)
|
||||||
|
// Util.MsgE("SAVE1 함수에 1개의 파라미터가 없습니다");
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// Buffer2 = Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "SAVE3":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count < 1)
|
||||||
|
// Util.MsgE("SAVE1 함수에 1개의 파라미터가 없습니다");
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// Buffer3 = Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "SAVE4":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count < 1)
|
||||||
|
// Util.MsgE("SAVE1 함수에 1개의 파라미터가 없습니다");
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// Buffer4 = Param1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "LEFT" // //2개의 파라미터를 사용한다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("LEFT 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// NEwValue = Strings.Left(Param1, Param2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "RIGHT" // //2개의 파라미터를 사용한다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("RIGHT 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// var Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString()).ToString();
|
||||||
|
// var Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString()).ToString();
|
||||||
|
// NEwValue = Param1.Substring(Param1.Length-int.Parse(Param2));// Strings.Right(Param1, Param2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "MID": // //2개의 파라미터를 사용한다.
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 3)
|
||||||
|
// raiseMessage("MID 함수에 3개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// var Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// var Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
// var Param3 = RunParam(ParamList[2].ToString(), NEwValue.ToString());
|
||||||
|
// if (Param2 == "-1" || int.Parse(Param3.ToString()) < 1)
|
||||||
|
// {
|
||||||
|
// raiseMessage("MID 함수의 시작위치값은 0이상이여야합니다\nMID 함수의 추출길이는 1이상이여야합니다", true);
|
||||||
|
// NEwValue = "";
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// NEwValue = Param1.ToString().Substring(int.Parse(Param2.ToString()), int.Parse(Param3.ToString()));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// case "FORMAT":
|
||||||
|
// {
|
||||||
|
// if (ParamList.Count != 2)
|
||||||
|
// raiseMessage("FORMAT 함수에 2개의 파라미터가 없습니다", true);
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// object Param1 = RunParam(ParamList[0].ToString(), NEwValue.ToString());
|
||||||
|
// object Param2 = RunParam(ParamList[1].ToString(), NEwValue.ToString());
|
||||||
|
|
||||||
|
// // MsgBox(Param1 & "/" & Param2)
|
||||||
|
// if(Param1.GetType()== typeof(int))
|
||||||
|
// NEwValue = ((int)Param1).ToString(Param2.ToString());
|
||||||
|
// else
|
||||||
|
// NEwValue = Param1.ToString();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// default:
|
||||||
|
// {
|
||||||
|
// //raiseMessage("미지원 함수 입니다")
|
||||||
|
// raiseMessage("미지원 : " + NewCmd.ToString(),true);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// default:
|
||||||
|
// {
|
||||||
|
// if (C == '"')
|
||||||
|
// {
|
||||||
|
// IsTextInner = !IsTextInner;
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// }
|
||||||
|
// else if (IsFunctionEnd)
|
||||||
|
// raiseMessage("내부한수 종결문다음에 , 가 와야하는데 " + C + "가 왔습니다", true);
|
||||||
|
// else
|
||||||
|
// NewParam.Append(C);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// // Me.Log.AppendLine("ParseCOmmand Return : " & NEwValue.ToString)
|
||||||
|
// return NEwValue;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public object RunParam(string vParam, string SrcValue)
|
||||||
|
// {
|
||||||
|
// // My.Computer.FileSystem.WriteAllText("c:\log.txT", "runparam param=" & vParam, True)
|
||||||
|
// vParam = vParam.Trim();
|
||||||
|
// if (vParam == "")
|
||||||
|
// return "";
|
||||||
|
// if (vParam.Substring(0, 1) == "\"")
|
||||||
|
// return vParam.Replace("\"", "");
|
||||||
|
// if (vParam.ToUpper() == "TRUE")
|
||||||
|
// return true;
|
||||||
|
// if (vParam.ToUpper() == "FALSE")
|
||||||
|
// return false;
|
||||||
|
|
||||||
|
// // //시작값이 숫자라면 이건 숫자값이다.
|
||||||
|
// if (vParam.Substring(0, 1).IsNumeric() == true)
|
||||||
|
// return vParam;
|
||||||
|
|
||||||
|
// // //시작값이 # 라면 원본 데이터이다.
|
||||||
|
// if (vParam == "#")
|
||||||
|
// return SrcValue;
|
||||||
|
// if (vParam == "#1")
|
||||||
|
// return Buffer1;
|
||||||
|
// if (vParam == "#2")
|
||||||
|
// return Buffer2;
|
||||||
|
// if (vParam == "#3")
|
||||||
|
// return Buffer3;
|
||||||
|
// if (vParam == "#4")
|
||||||
|
// return Buffer4;
|
||||||
|
|
||||||
|
// // //시작값이 숫자도 일반 문자도 공백도 아니라면 영문단어이다.
|
||||||
|
// // // ( 가 있다면 함수이므로 함수를 실행한다.
|
||||||
|
// switch (vParam.ToUpper())
|
||||||
|
// {
|
||||||
|
// case "NOW" // //date 타입을 반환한다.
|
||||||
|
// :
|
||||||
|
// {
|
||||||
|
// return DateTime.Now;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// default:
|
||||||
|
// {
|
||||||
|
// if (vParam.IndexOf("(") != -1)
|
||||||
|
// return this.ParseCommand(vParam, false, SrcValue);
|
||||||
|
// else
|
||||||
|
// return "";// return RunUnknown(vParam, SrcValue);// //비지원 목록으로 반환한다.
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return "";
|
||||||
|
// }
|
||||||
|
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
236
Cs_HMI/Project/Class/CResult.cs
Normal file
@@ -0,0 +1,236 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public class CResult
|
||||||
|
{
|
||||||
|
|
||||||
|
public bool SMSG_ProgressEnable = false;
|
||||||
|
//public string SMSG_Text = string.Empty;
|
||||||
|
public float SMSG_ProgressMax = 0;
|
||||||
|
public int SMSG_ProgressMin = 0;
|
||||||
|
public Color SMSG_ProgressForeColor = Color.Red;
|
||||||
|
public Color SMSG_ForeColor = Color.Black;
|
||||||
|
public Color SMSG_BackColor = Color.White;
|
||||||
|
public Color SMSG_BackColor2 = Color.White;
|
||||||
|
public Color SMSG_ShadowColor = Color.Transparent;
|
||||||
|
public float SMSG_ProgressValue = 0;
|
||||||
|
public string SMSG_Tag = string.Empty;
|
||||||
|
//public event EventHandler SMSG_Update;
|
||||||
|
//public void UpdateStatusMessage()
|
||||||
|
//{
|
||||||
|
// SMSG_Update?.Invoke(null, null);
|
||||||
|
//}
|
||||||
|
/// <summary>
|
||||||
|
/// 작업시작시간
|
||||||
|
/// </summary>
|
||||||
|
public DateTime JobStartTime;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 작업종료시간
|
||||||
|
/// </summary>
|
||||||
|
public DateTime JobEndTime;
|
||||||
|
|
||||||
|
//public DateTime IdleStartTime = DateTime.Parse("1982-11-23");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 작업진행시간
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan JobRunTime
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (JobStartTime.Year == 1982) return new TimeSpan(0);
|
||||||
|
if (JobEndTime.Year == 1982) return DateTime.Now - JobStartTime;
|
||||||
|
else return JobEndTime - JobStartTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//public DateTime ChargeStartTime = DateTime.Parse("1982-11-23");
|
||||||
|
|
||||||
|
|
||||||
|
#region "AGV Status Value"
|
||||||
|
public string PLC1_RawData { get; set; }
|
||||||
|
public string PLC2_RawData { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 이동대상위치(상차,하차,충전)
|
||||||
|
/// </summary>
|
||||||
|
private ePosition _targetPos = ePosition.NONE;
|
||||||
|
|
||||||
|
public event EventHandler TargetPosSet;
|
||||||
|
|
||||||
|
public string result_message = "";
|
||||||
|
public double result_progressmax = 0;
|
||||||
|
public double result_progressvalue = 0;
|
||||||
|
|
||||||
|
|
||||||
|
public DateTime StopMessageTimePLC = DateTime.Parse("1982-11-23");
|
||||||
|
public DateTime StopMessageTimeSWR = DateTime.Parse("1982-11-23");
|
||||||
|
public string StopMessagePLC = string.Empty;
|
||||||
|
public string StopMessageSWR = string.Empty;
|
||||||
|
//public DateTime LastChar
|
||||||
|
//geTime = DateTime.Parse("1982-11-23");
|
||||||
|
|
||||||
|
public ePosition NextPos = ePosition.NONE;
|
||||||
|
public ePosition TargetPos
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _targetPos;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_targetPos = value;
|
||||||
|
TargetPosSet?.Invoke(this, null);
|
||||||
|
|
||||||
|
PUB.log.Add(string.Format("대상위치설정:{0}", value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private char _comandKit { get; set; }
|
||||||
|
public char CommandKit
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _comandKit;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_comandKit = value;
|
||||||
|
|
||||||
|
PUB.log.Add(string.Format("명령을 내린 KIT 설정 No={0}", value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//private ePosition _currentPos = ePosition.NONE;
|
||||||
|
//public ePosition CurrentPos
|
||||||
|
//{
|
||||||
|
// get
|
||||||
|
// {
|
||||||
|
// return _currentPos;
|
||||||
|
// }
|
||||||
|
// set
|
||||||
|
// {
|
||||||
|
// if (_currentPos != value) //값이바뀔떄만 메세지 220628
|
||||||
|
// PUB.log.Add(string.Format("현재위치 설정:{0}->{1}", _currentPos, value));
|
||||||
|
|
||||||
|
// _currentPos = value;
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
private ePosition _currentpos = ePosition.NONE;
|
||||||
|
private string _currentposcw = string.Empty;
|
||||||
|
|
||||||
|
// public ePosition LastPos = ePosition.NONE;
|
||||||
|
public string LastTAG { get; set; } = string.Empty;
|
||||||
|
public ePosition CurrentPos
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _currentpos; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
|
||||||
|
if (_currentpos != value) //값이 바뀔때만 메세지 220628
|
||||||
|
PUB.log.Add(string.Format("TAG위치 설정:{0}->{1}", _currentpos, value));
|
||||||
|
_currentpos = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public string CurrentPosCW
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
|
||||||
|
return _currentposcw;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
|
||||||
|
if (_currentposcw != value) //값이바뀔때만 메세지 220628
|
||||||
|
PUB.log.Add(string.Format("TAG방향 설정:{0}->{1}", _currentposcw, value));
|
||||||
|
_currentposcw = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public string Memo;
|
||||||
|
|
||||||
|
public eResult ResultCode { get; set; }
|
||||||
|
public eECode ResultErrorCode;
|
||||||
|
public string ResultMessage { get; set; }
|
||||||
|
|
||||||
|
#region "SetResultMessage"
|
||||||
|
|
||||||
|
public void SetResultMessage(eResult code, eECode err, eNextStep systempause, params object[] args)
|
||||||
|
{
|
||||||
|
|
||||||
|
var rltMsg = UTIL.GetResultCodeMessage(code);
|
||||||
|
var codeMSg = $"[E{(int)err}] ";// + Util.GetResultCodeMessage(code);
|
||||||
|
if (err == eECode.MESSAGE_ERROR)
|
||||||
|
{
|
||||||
|
codeMSg = $"[{rltMsg} ERROR MESSAGE]\n";
|
||||||
|
}
|
||||||
|
else if (err == eECode.MESSAGE_INFO)
|
||||||
|
{
|
||||||
|
codeMSg = $"[{rltMsg} INFORMATION]\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var erMsg = UTIL.GetErrorMessage(err, args);
|
||||||
|
var msg = codeMSg + erMsg;
|
||||||
|
|
||||||
|
this.ResultCode = code;
|
||||||
|
this.ResultErrorCode = err;
|
||||||
|
this.ResultMessage = msg;
|
||||||
|
|
||||||
|
if (systempause == eNextStep.PAUSENOMESAGE) this.ResultMessage = string.Empty; //210129
|
||||||
|
|
||||||
|
PUB.log.AddE(msg);
|
||||||
|
if (systempause == eNextStep.PAUSE) PUB.sm.SetNewStep(eSMStep.PAUSE);
|
||||||
|
else if (systempause == eNextStep.PAUSENOMESAGE) PUB.sm.SetNewStep(eSMStep.PAUSE);
|
||||||
|
else if (systempause == eNextStep.ERROR) PUB.sm.SetNewStep(eSMStep.ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Boolean isError { get; set; }
|
||||||
|
|
||||||
|
public int retry = 0;
|
||||||
|
public DateTime retryTime;
|
||||||
|
public Device.Socket.Message RecvMessage;
|
||||||
|
|
||||||
|
public CResult()
|
||||||
|
{
|
||||||
|
this.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void Clear()
|
||||||
|
{
|
||||||
|
JobStartTime = DateTime.Parse("1982-11-23");
|
||||||
|
JobEndTime = DateTime.Parse("1982-11-23");
|
||||||
|
|
||||||
|
Memo = string.Empty;
|
||||||
|
isError = false;
|
||||||
|
ResultCode = eResult.NoError;
|
||||||
|
ResultMessage = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
379
Cs_HMI/Project/Class/EEMStatus.cs
Normal file
@@ -0,0 +1,379 @@
|
|||||||
|
using Project;
|
||||||
|
using Project.Device;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Management;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ============================================================================
|
||||||
|
/// 장비기술 상태 모니터링 관련 클래스
|
||||||
|
/// 이 클래스는 SQLfiletoDB 프로그램과 같이 사용하는 것을 권장합니다.
|
||||||
|
/// 현재 실행 중인 프로그램의 하위 폴더 Status 에 입력된 상태값을 SQL 파일로 기록합니다.
|
||||||
|
/// SQLfiletoDB는 SQL파일을 실제 DB에 기록하는 프로그램입니다.
|
||||||
|
/// ============================================================================
|
||||||
|
/// 작성자 : chi
|
||||||
|
/// 작성일 : 202-06-15
|
||||||
|
/// GIT : (none)
|
||||||
|
/// </summary>
|
||||||
|
public static partial class EEMStatus
|
||||||
|
{
|
||||||
|
static System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(true);
|
||||||
|
static string ip = string.Empty;
|
||||||
|
static string mac = string.Empty;
|
||||||
|
static DateTime StatusChecktime = DateTime.Now;
|
||||||
|
static DateTime MonitorChecktime = DateTime.Now.AddYears(-1);
|
||||||
|
static DateTime FileCheckTime = DateTime.Now;
|
||||||
|
static string monitorfile = string.Empty;
|
||||||
|
/// <summary>
|
||||||
|
/// UpdateStatusSQL 명령이 동작하는 간격이며 기본 180초(=3분)로 되어 있습니다.
|
||||||
|
/// </summary>
|
||||||
|
public static int UpdateStatusInterval { get; set; } = 180;
|
||||||
|
public static int UpdateFileInterval { get; set; } = 3;
|
||||||
|
static bool queryok = false;
|
||||||
|
static bool UpdateRun = false;
|
||||||
|
|
||||||
|
public static string IP
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (queryok == false) GetNetworkInfo();
|
||||||
|
return ip;
|
||||||
|
}
|
||||||
|
set { ip = value; }
|
||||||
|
}
|
||||||
|
public static string MAC
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (queryok == false) GetNetworkInfo();
|
||||||
|
return mac;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
mac = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 현재 시스템의 IP/MAC정보를 취득합니다.
|
||||||
|
/// </summary>
|
||||||
|
static void GetNetworkInfo()
|
||||||
|
{
|
||||||
|
|
||||||
|
ip = "";
|
||||||
|
mac = "";
|
||||||
|
// string prgmName = Application.ProductName;
|
||||||
|
|
||||||
|
var nif = NetworkInterface.GetAllNetworkInterfaces();
|
||||||
|
var host = Dns.GetHostEntry(Dns.GetHostName());
|
||||||
|
string fullname = System.Net.Dns.GetHostEntry("").HostName;
|
||||||
|
foreach (IPAddress r in host.AddressList)
|
||||||
|
{
|
||||||
|
string str = r.ToString();
|
||||||
|
|
||||||
|
if (str != "" && str.Substring(0, 3) == "10.")
|
||||||
|
{
|
||||||
|
ip = str;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string rtn = string.Empty;
|
||||||
|
ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
|
||||||
|
ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
|
||||||
|
foreach (ManagementObject mo in query1.Get())
|
||||||
|
{
|
||||||
|
string[] address = (string[])mo["IPAddress"];
|
||||||
|
if (address[0] == ip && mo["MACAddress"] != null)
|
||||||
|
{
|
||||||
|
mac = mo["MACAddress"].ToString();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
queryok = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateStatusSQL(eSMStep status, bool _extrun = false, string remark = "")
|
||||||
|
{
|
||||||
|
var tsrun = DateTime.Now - StatusChecktime;
|
||||||
|
if (tsrun.TotalSeconds >= UpdateStatusInterval)
|
||||||
|
{
|
||||||
|
AddStatusSQL(status, "UPDATE", extrun: _extrun);
|
||||||
|
StatusChecktime = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
//내부실행모드일때에만 파일을 처리한다
|
||||||
|
if (_extrun == false)
|
||||||
|
{
|
||||||
|
var tsfile = DateTime.Now - FileCheckTime;
|
||||||
|
if (tsfile.TotalSeconds >= UpdateFileInterval)
|
||||||
|
{
|
||||||
|
if (UpdateRun == false)
|
||||||
|
{
|
||||||
|
UpdateRun = true;
|
||||||
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
UpdateFileToDB();
|
||||||
|
UpdateRun = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
FileCheckTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 상태모니터링 프로그램의 실행파일 명
|
||||||
|
/// </summary>
|
||||||
|
static string StatusMonitorFile
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(monitorfile))
|
||||||
|
monitorfile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status", "SQLFileToDB.exe");
|
||||||
|
return monitorfile;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static System.Diagnostics.Process CheckMonitor()
|
||||||
|
{
|
||||||
|
if (System.IO.File.Exists(StatusMonitorFile) == false) return null;
|
||||||
|
|
||||||
|
var prcs = System.Diagnostics.Process.GetProcesses();
|
||||||
|
return prcs.Where(t => t.ProcessName.ToLower().StartsWith("sqlfiletodb")).FirstOrDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool RunStatusMonitor()
|
||||||
|
{
|
||||||
|
//파일이 없으면 실행 불가
|
||||||
|
if (System.IO.File.Exists(StatusMonitorFile) == false) return false;
|
||||||
|
|
||||||
|
//실행프로세스 검사
|
||||||
|
var prc = CheckMonitor();
|
||||||
|
if (prc == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
prc = new System.Diagnostics.Process();
|
||||||
|
prc.StartInfo = new System.Diagnostics.ProcessStartInfo
|
||||||
|
{
|
||||||
|
Arguments = string.Empty,
|
||||||
|
FileName = StatusMonitorFile,
|
||||||
|
};
|
||||||
|
prc.Start();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 작업수량을 입력합니다
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="cnt"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string AddStatusCount(int cnt, string remark = "")
|
||||||
|
{
|
||||||
|
if (remark.isEmpty()) remark = $"Count Set : {cnt}";
|
||||||
|
return AddStatusSQL(PUB.sm.Step, remark, count: cnt);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 상태메세지를 status 폴더에 기록합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="status">상태머신의 상태값</param>
|
||||||
|
/// <param name="remark">비고</param>
|
||||||
|
/// <param name="wdate">기록일시</param>
|
||||||
|
/// <returns>오류발생시 오류메세지가 반환 됩니다</returns>
|
||||||
|
public static string AddStatusSQL(eSMStep status, string remark = "", DateTime? wdate = null, bool extrun = false, int? count = null)
|
||||||
|
{
|
||||||
|
if (queryok == false || MAC.isEmpty()) GetNetworkInfo();
|
||||||
|
if (status == eSMStep.CLOSEWAIT || status == eSMStep.CLOSED) return string.Empty;
|
||||||
|
|
||||||
|
if (extrun)
|
||||||
|
{
|
||||||
|
//상태모니터링 프로그램을 실행합니다.
|
||||||
|
var tsMon = DateTime.Now - MonitorChecktime;
|
||||||
|
if (tsMon.TotalMinutes > 5) RunStatusMonitor();
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var state = 0;
|
||||||
|
string cntstr = "null";
|
||||||
|
if (count != null) cntstr = count.ToString();
|
||||||
|
var alarmid = string.Empty;
|
||||||
|
var alarmmsg = string.Empty;
|
||||||
|
if (string.IsNullOrEmpty(remark)) remark = $"STS:{status}";
|
||||||
|
|
||||||
|
if (status == eSMStep.RUN) state = 1;
|
||||||
|
else if (status == eSMStep.ERROR || status == eSMStep.EMERGENCY)
|
||||||
|
{
|
||||||
|
state = 2;
|
||||||
|
alarmid = PUB.Result.ResultErrorCode.ToString();
|
||||||
|
alarmmsg = PUB.Result.ResultMessage;
|
||||||
|
}
|
||||||
|
else if (status == eSMStep.PAUSE) //일시중지도 오류코드가 포함된다,
|
||||||
|
{
|
||||||
|
if (PUB.Result.ResultErrorCode == eECode.USER_STEP || PUB.Result.ResultErrorCode == eECode.USER_STOP || PUB.Result.ResultErrorCode.ToString().StartsWith("MESSAGE"))
|
||||||
|
{
|
||||||
|
//사용자에의해 멈추는 것은 오류코드를 넣지 않는다.
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
alarmid = PUB.Result.ResultErrorCode.ToString();
|
||||||
|
alarmmsg = PUB.Result.ResultMessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (status == eSMStep.INIT) state = 3; //시작
|
||||||
|
else if (status == eSMStep.CLOSING) state = 4; //종료
|
||||||
|
|
||||||
|
//length check
|
||||||
|
if (alarmid.Length > 10) alarmid = alarmid.Substring(0, 10);
|
||||||
|
if (remark.Length > 99) remark = remark.Substring(0, 99);
|
||||||
|
if (alarmmsg.Length > 250) alarmmsg = alarmmsg.Substring(0, 50);
|
||||||
|
|
||||||
|
var mcid = Project.PUB.setting.MCID;//.Data.MCID;
|
||||||
|
var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status");
|
||||||
|
var file = System.IO.Path.Combine(path, $"{DateTime.Now.ToString("HHmmssfff")}_{status}.sql");
|
||||||
|
var sql = "insert into MCMonitor_Rawdata(Model,status,remark,ip,mac,time,alarmid,alarmmsg,count,version) " +
|
||||||
|
" values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',{8},'{9}')";
|
||||||
|
|
||||||
|
var timestr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
if (wdate != null) timestr = ((DateTime)wdate).ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
var VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
|
sql = string.Format(sql, mcid, state, remark.Replace("'", "''"), IP, MAC, timestr, alarmid, alarmmsg, cntstr, VersionNumber);
|
||||||
|
System.IO.File.WriteAllText(file, sql, System.Text.Encoding.Default);
|
||||||
|
|
||||||
|
////만들어진지 3분이 지난 파일은 삭제한다.
|
||||||
|
//var di = new System.IO.DirectoryInfo(path);
|
||||||
|
//var fi = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly).Where(t => t.LastWriteTime < DateTime.Now.AddMinutes(-3)).FirstOrDefault();
|
||||||
|
//if (fi != null) fi.Delete();
|
||||||
|
if (state == 4 && extrun == false) UpdateFileToDB();
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return ex.Message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void UpdateFileToDB()
|
||||||
|
{
|
||||||
|
if (mre.WaitOne(1000) == false) return;
|
||||||
|
mre.Reset();
|
||||||
|
var cs = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||||
|
var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Status");
|
||||||
|
var di = new System.IO.DirectoryInfo(path);
|
||||||
|
if (di.Exists == false) return;
|
||||||
|
var file = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly)
|
||||||
|
.Where(t => t.LastWriteTime < DateTime.Now.AddSeconds(-3))
|
||||||
|
.OrderByDescending(t => t.LastWriteTime).FirstOrDefault();
|
||||||
|
|
||||||
|
if (file == null)
|
||||||
|
{
|
||||||
|
mre.Set();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//파일을 찾아야한다
|
||||||
|
// PUB.log.Add($">> {file.FullName}");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = System.IO.File.ReadAllText(file.FullName, System.Text.Encoding.Default);
|
||||||
|
if (string.IsNullOrEmpty(sql))
|
||||||
|
{
|
||||||
|
//비어잇다면
|
||||||
|
var errpath = System.IO.Path.Combine(di.FullName, "Error");
|
||||||
|
var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||||
|
if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||||
|
System.IO.File.Move(file.FullName, errfile);// file.MoveTo(errfile);
|
||||||
|
// ecnt += 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// var csstr = PUB.setting.ConnectionString;
|
||||||
|
// if (string.IsNullOrEmpty(csstr)) csstr = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||||
|
var cn = new System.Data.SqlClient.SqlConnection(cs);
|
||||||
|
var cmd = new System.Data.SqlClient.SqlCommand(sql, cn);
|
||||||
|
cn.Open();
|
||||||
|
var cnt = cmd.ExecuteNonQuery();
|
||||||
|
//if (cnt == 0) PUB.log.Add($"Result Empty : {sql}");
|
||||||
|
cn.Close();
|
||||||
|
cnt += 1;
|
||||||
|
|
||||||
|
var errpath = System.IO.Path.Combine(di.FullName, "Complete");
|
||||||
|
var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||||
|
if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||||
|
//file.MoveTo(errfile);
|
||||||
|
System.IO.File.Move(file.FullName, errfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
var errpath = System.IO.Path.Combine(di.FullName, "Error");
|
||||||
|
var errfile = System.IO.Path.Combine(errpath, file.Name);
|
||||||
|
if (System.IO.Directory.Exists(errpath) == false) System.IO.Directory.CreateDirectory(errpath);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//file.MoveTo(errfile);
|
||||||
|
System.IO.File.Move(file.FullName, errfile);
|
||||||
|
}
|
||||||
|
catch (Exception ex2)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"move error : {ex2.Message} : {errfile}");
|
||||||
|
}
|
||||||
|
|
||||||
|
//ecnt += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//생성된지 10일이 넘은 자료는 삭제한다.
|
||||||
|
//시간소비를 피해서 1개의 파일만 작업한다
|
||||||
|
var sqlfiles = di.GetFiles("*.sql", System.IO.SearchOption.AllDirectories);
|
||||||
|
//총3번의 데이터를 처리한다
|
||||||
|
var files = sqlfiles.Where(t => t.LastWriteTime < DateTime.Now.AddDays(-10)).Select(t => t.FullName);
|
||||||
|
int i = 0;
|
||||||
|
var dellist = files.TakeWhile(t => i++ < 3);
|
||||||
|
foreach (var delfile in dellist)
|
||||||
|
System.IO.File.Delete(delfile);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
mre.Set();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
=================================================
|
||||||
|
변경내역
|
||||||
|
=================================================
|
||||||
|
230619 chi UpdateFileToDB 에서 폴더가 없다면 return 하도록 함
|
||||||
|
230615 chi UpdateFiletoDB의 ManualResetEvent적용
|
||||||
|
Version 항목 추가
|
||||||
|
230612 chi 프로그램 시작/종료 alarmid항목 추가
|
||||||
|
완료된 파일 10일간 보존하도록 함
|
||||||
|
230522 chi extrun 모드 추가(agv용 - SQL파일을 외부 프로그램에서 처리하도록 함)
|
||||||
|
230617 chi 파일쓰기함수를 Task 로 처리
|
||||||
|
3분지난데이터 삭제기능 제거
|
||||||
|
230516 chi initial commit
|
||||||
|
*/
|
||||||
108
Cs_HMI/Project/Class/EnumData.cs
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public enum StepResult
|
||||||
|
{
|
||||||
|
Wait = 0,
|
||||||
|
Complete,
|
||||||
|
Error,
|
||||||
|
Cancel,
|
||||||
|
}
|
||||||
|
public enum eNextStep : byte
|
||||||
|
{
|
||||||
|
NOTHING = 0,
|
||||||
|
PAUSE,
|
||||||
|
PAUSENOMESAGE,
|
||||||
|
ERROR
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum EFlag : byte
|
||||||
|
{
|
||||||
|
MINSPACE = 0,
|
||||||
|
|
||||||
|
MOTZ_LIMD,
|
||||||
|
MOTZ_LIMU,
|
||||||
|
WAIT_COVER_DOWN,
|
||||||
|
WAIT_COVER_UP,
|
||||||
|
POSITION_OUT,
|
||||||
|
FLAG_CHARGEALIGN,
|
||||||
|
//FLAG_AUTORUN,
|
||||||
|
FLAG_MOVING,
|
||||||
|
FLAG_NEXTSTOP_MARK,
|
||||||
|
FLAG_DIR_BW,
|
||||||
|
FLAG_SETUP,
|
||||||
|
FLAG_GATEOUT,
|
||||||
|
FLAG_STOP,
|
||||||
|
FLAG_LIMITHIGH,
|
||||||
|
FLAG_LIMITHIGHL,
|
||||||
|
FLAG_LIMITHIGHR,
|
||||||
|
FLAG_LIMITLOW,
|
||||||
|
FLAG_LIMITLOWL,
|
||||||
|
FLAG_LIMITLOWR,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum eECode : byte
|
||||||
|
{
|
||||||
|
NOERROR,
|
||||||
|
EMERGENCY,
|
||||||
|
NOMODELV,
|
||||||
|
USER_STOP ,
|
||||||
|
USER_STEP,
|
||||||
|
|
||||||
|
AGVCONN,
|
||||||
|
PLCCONN,
|
||||||
|
|
||||||
|
MESSAGE_INFO,
|
||||||
|
MESSAGE_ERROR,
|
||||||
|
|
||||||
|
DOOFF,
|
||||||
|
DOON,
|
||||||
|
DIOFF,
|
||||||
|
DION,
|
||||||
|
|
||||||
|
NOTALLOWUP,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public enum eResult : byte
|
||||||
|
{
|
||||||
|
TimeOut,
|
||||||
|
Dio,
|
||||||
|
NoError,
|
||||||
|
Setting,
|
||||||
|
NoModel,
|
||||||
|
Emergency,
|
||||||
|
Sensor,
|
||||||
|
Hardware,
|
||||||
|
Motion,
|
||||||
|
HomeTimeout,
|
||||||
|
PCBDetect,
|
||||||
|
Vision,
|
||||||
|
LOT,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum ePosition : byte
|
||||||
|
{
|
||||||
|
NONE = 0,
|
||||||
|
NOT,
|
||||||
|
QA,
|
||||||
|
QA_QC,
|
||||||
|
QC,
|
||||||
|
CHARGE,
|
||||||
|
QC_F1,
|
||||||
|
F1,
|
||||||
|
F1_F2,
|
||||||
|
F2,
|
||||||
|
F2_F3,
|
||||||
|
F3,
|
||||||
|
F3_F4,
|
||||||
|
F4,
|
||||||
|
F4_F5,
|
||||||
|
F5,
|
||||||
|
POT,
|
||||||
|
}
|
||||||
|
}
|
||||||
75
Cs_HMI/Project/Class/Lang.cs
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Policy;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public static class Lang
|
||||||
|
{
|
||||||
|
public static string 상차 = "상차";
|
||||||
|
public static string 하차 = "하차";
|
||||||
|
public static string 연결실패 = "연결 실패";
|
||||||
|
public static string 비상정지 = "비상 정지";
|
||||||
|
public static string 홈검색완료 = "홈 검색 완료";
|
||||||
|
public static string 현재위치를검색합니다 = "현재 위치를 검색 합니다";
|
||||||
|
public static string 충전완료로해제합니다 = "충전 완료로 해제 합니다";
|
||||||
|
public static string 오버로드감지 = "오버로드 감지";
|
||||||
|
public static string 상차작업을시작합니다 { get { return string.Format("{0} 작업을 시작 합니다",상차); } }
|
||||||
|
public static string 하차작업을시작합니다 { get { return string.Format("{0} 작업을 시작 합니다", 하차); } }
|
||||||
|
public static string 안전커버를내려주세요 = "안전 커버를 내려 주세요";
|
||||||
|
public static string 안전커버를올려주세요 = "안전 커버를 올려 주세요";
|
||||||
|
public static string 안전커버를올리면하차가완료됩니다 = "안전 커버를 올리면 하차가 완료 됩니다";
|
||||||
|
public static string 안전커버를올리면상차가완료됩니다 = "안전 커버를 올리면 상차가 완료 됩니다";
|
||||||
|
public static string 안전커버를내립니다 = "안전 커버를 내립니다";
|
||||||
|
public static string 장비상태초기화 = "장비 상태 초기화";
|
||||||
|
public static string 충전을시작합니다 = "충전을 시작 합니다";
|
||||||
|
public static string 충전을해제합니다 = "충전을 해제 합니다";
|
||||||
|
public static string 충전을위해홈위치로이동합니다 = "충전을 위해 홈 위치로 이동 합니다";
|
||||||
|
public static string 충전기검색실패 = "충전기 검색 실패";
|
||||||
|
public static string 충전기를검색합니다 = "충전기를 검색 합니다";
|
||||||
|
public static string 수동충전을시작합니다 = "수동충전을 시작 합니다";
|
||||||
|
public static string 수동충전을해제합니다 = "수동충전을 해제 합니다";
|
||||||
|
public static string 하드웨어오류발생 = "하드웨어 오류 발생";
|
||||||
|
public static string 하드웨어오류로인해진행할수없습니다 = "하드웨어 오류로 인해 진행할 수 없습니다";
|
||||||
|
public static string 초기화완료 = "초기화 완료";
|
||||||
|
public static string 자동재부팅을실행합니다 = "자동 재부팅을 실행 합니다";
|
||||||
|
public static string 충전기작동확인이오버되어홈으로이동조치합니다 = "충전기 작동 확인이 30초 이내로 확인이 안되어 홈으로 이동 합니다";
|
||||||
|
public static string 충전시작명령을전송합니다 = "충전 시작명령을 전송 합니다";
|
||||||
|
public static string 충전기위치오류로작업을취소합니다 = "충전기 위치 오류로 인해 작업을 취소 합니다";
|
||||||
|
public static string 프로그램이초기화되었습니다 = "프로그램이 초기화 되었습니다";
|
||||||
|
public static string 홈으로이동합니다 = "홈 으로 이동 합니다";
|
||||||
|
public static string 전방에물체가감지되었습니다 = "전방에 물체가 감지 되었습니다";
|
||||||
|
public static string 비상정지신호가감지되었습니다 = "비상정지 신호가 감지 되었습니다";
|
||||||
|
public static string 비상정지로인해작업을중단합니다 = "비상정지로 인해 작업을 중단 합니다";
|
||||||
|
public static string 선로를이탈했습니다 = "선로를 이탈 했습니다";
|
||||||
|
public static string 충전이필요합니다자동모드로전환하세요 = "충전이 필요 합니다. 자동모드로 전환 하세요";
|
||||||
|
public static string 충전이필요합니다 = "충전이 필요 합니다";
|
||||||
|
public static string 배터리통신에문제가있습니다 = "배터리 통신에 문제가 있습니다";
|
||||||
|
public static string 자동운전상태가아닙니다 = "자동운전 상태가 아닙니다";
|
||||||
|
public static string 위치로이동합니다 = "위치로 이동 합니다";
|
||||||
|
public static string 대기상태로전환합니다 = "대기 상태로 전환 합니다";
|
||||||
|
public static string 홈이동완료대기상태로전환합니다 = "홈 이동이 완료 되었습니다. 대기 상태로 전환 합니다";
|
||||||
|
public static string 커버를내립니다 = "커버를 내립니다";
|
||||||
|
public static string 커버를올립니다 = "커버를 올립니다";
|
||||||
|
public static string 홈검색을시작합니다 = "홈 검색을 시작 합니다";
|
||||||
|
public static string 홈위치로이동합니다 = "홈 위치로 이동 합니다";
|
||||||
|
public static string 하차작업이완료되었습니다 = "하차 작업이 완료 되었습니다";
|
||||||
|
public static string 상차작업이완료되었습니다 = "상차 작업이 완료 되었습니다";
|
||||||
|
public static string 작업종료 = "작업 종료";
|
||||||
|
public static string 자동전환 = "자동 전환";
|
||||||
|
public static string 충전기위치오류 = "충전기 위치 오류";
|
||||||
|
public static string 다음마크위치에서정지합니다 = "다음 마크위치에서 정지 합니다";
|
||||||
|
public static string 충전이감지되어수동충전으로전환합니다 = "충전이 감지되어 수동충전으로 전환 합니다";
|
||||||
|
public static string 커버업대기상태가아닙니다 = "커버 업 대기 상태가 아닙니다";
|
||||||
|
public static string QC이동버튼은상하차에서만사용가능합니다 = "QC이동 버튼은 상,하차 에서만 사용 가능합니다";
|
||||||
|
public static string QA이동버튼은상하차에서만사용가능합니다 = "QA이동 버튼은 상,하차 에서만 사용 가능합니다";
|
||||||
|
public static string 하차상태에서만사용가능합니다 = "하차 상태에서만 사용가능 합니다";
|
||||||
|
|
||||||
|
public static string PLC연결실패 { get { return string.Format("PLC {0}", 연결실패); } }
|
||||||
|
public static string PLC통신실패 = "PLC 통신실패";
|
||||||
|
public static string AGV연결실패 { get { return string.Format("AGV {0}",연결실패); } }
|
||||||
|
}
|
||||||
|
}
|
||||||
36
Cs_HMI/Project/CtlAuto.Designer.cs
generated
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
partial class CtlAuto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 필수 디자이너 변수입니다.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 사용 중인 모든 리소스를 정리합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 구성 요소 디자이너에서 생성한 코드
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 디자이너 지원에 필요한 메서드입니다.
|
||||||
|
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
components = new System.ComponentModel.Container();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
1096
Cs_HMI/Project/CtlAuto.cs
Normal file
36
Cs_HMI/Project/CtlPos.Designer.cs
generated
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
partial class CtlPos
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 필수 디자이너 변수입니다.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 사용 중인 모든 리소스를 정리합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 구성 요소 디자이너에서 생성한 코드
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 디자이너 지원에 필요한 메서드입니다.
|
||||||
|
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
components = new System.ComponentModel.Container();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
586
Cs_HMI/Project/CtlPos.cs
Normal file
@@ -0,0 +1,586 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Data;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 2017-04-13 13:26:00 : 라벨이므로 커서 IN 시 Hand 에서 Default로 변경함
|
||||||
|
/// </summary>
|
||||||
|
public partial class CtlPos : Control
|
||||||
|
{
|
||||||
|
#region "Enum & Structure"
|
||||||
|
public enum eColorTheme : byte
|
||||||
|
{
|
||||||
|
DaeHyun = 0,
|
||||||
|
eGrayBlue,
|
||||||
|
eDarkBlue,
|
||||||
|
TopMenu,
|
||||||
|
GrayButton,
|
||||||
|
GrayTitleBar,
|
||||||
|
IOStatus,
|
||||||
|
IOStatusDepp,
|
||||||
|
BlackButton,
|
||||||
|
RedButton,
|
||||||
|
GrayOmokButton,
|
||||||
|
Stepbar,
|
||||||
|
RobotStatus,
|
||||||
|
NewGray_Group,
|
||||||
|
NewGray_BG,
|
||||||
|
NewGray_Button,
|
||||||
|
NewBlue_Button,
|
||||||
|
Custom,
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public string[] msg { get; set; }
|
||||||
|
public event EventHandler<ItemClickEventArgs> ItemClick;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//public new event EventHandler Click;
|
||||||
|
public CtlPos()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
// Set Optimized Double Buffer to reduce flickering
|
||||||
|
this.SetStyle(ControlStyles.UserPaint, true);
|
||||||
|
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||||
|
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
|
||||||
|
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
|
||||||
|
|
||||||
|
// Redraw when resized
|
||||||
|
this.SetStyle(ControlStyles.ResizeRedraw, true);
|
||||||
|
|
||||||
|
this.MouseDown += arButton_MouseDown;
|
||||||
|
this.MouseUp += arButton_MouseUp;
|
||||||
|
this.MouseEnter += arButton_MouseEnter;
|
||||||
|
this.MouseLeave += arButton_MouseLeave;
|
||||||
|
this.Resize += arLabel_Resize;
|
||||||
|
|
||||||
|
base.BackColor = Color.FromArgb(32, 32, 32);
|
||||||
|
ForeColor = Color.White;
|
||||||
|
}
|
||||||
|
|
||||||
|
~CtlPos()
|
||||||
|
{
|
||||||
|
this.MouseDown -= arButton_MouseDown;
|
||||||
|
this.MouseUp -= arButton_MouseUp;
|
||||||
|
this.MouseEnter -= arButton_MouseEnter;
|
||||||
|
this.MouseLeave -= arButton_MouseLeave;
|
||||||
|
this.Resize -= arLabel_Resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ClearData()
|
||||||
|
{
|
||||||
|
foreach (var item in Items)
|
||||||
|
{
|
||||||
|
item.Direction = '0';
|
||||||
|
item.Active = false;
|
||||||
|
item.Focus = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PerformClick()
|
||||||
|
{
|
||||||
|
if (Enabled == false) return; //171126
|
||||||
|
this.InvokeOnClick(this, new EventArgs());
|
||||||
|
}
|
||||||
|
|
||||||
|
void arLabel_Resize(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (this.MinimumSize.Width == 0 || this.MinimumSize.Height == 0)
|
||||||
|
this.MinimumSize = new Size(100, 30);
|
||||||
|
|
||||||
|
bRemakeRect = true;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public new Padding Padding
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return base.Padding;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
base.Padding = value;
|
||||||
|
this.Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Color BorderColor { get; set; }
|
||||||
|
private int _itemgap = 0;
|
||||||
|
public int ItemGap { get { return _itemgap; } set { _itemgap = value; Invalidate(); } }
|
||||||
|
Boolean bRemakeRect = true;
|
||||||
|
public item[] Items { get; set; }
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
//Set Optimized Double Buffer to reduce flickering
|
||||||
|
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||||
|
e.Graphics.InterpolationMode = InterpolationMode.High;
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
if (Items == null) e.Graphics.DrawString("No Item", this.Font, Brushes.Red, 10, 10);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//영역변경시새로한다
|
||||||
|
if (bRemakeRect == true) makeRect();
|
||||||
|
|
||||||
|
//아이템그리기
|
||||||
|
var sf = new StringFormat
|
||||||
|
{
|
||||||
|
Alignment = StringAlignment.Center,
|
||||||
|
LineAlignment = StringAlignment.Center
|
||||||
|
};
|
||||||
|
foreach (var item in Items)
|
||||||
|
{
|
||||||
|
item.Draw(e.Graphics, this.Font, sf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//전체테두리
|
||||||
|
e.Graphics.DrawRectangle(new Pen(BorderColor), DisplayRectangle.Left, DisplayRectangle.Top, DisplayRectangle.Width - 1, DisplayRectangle.Height - 1);
|
||||||
|
}
|
||||||
|
void makeRect()
|
||||||
|
{
|
||||||
|
var indiheight = (int)(DisplayRectangle.Height * 0.15);
|
||||||
|
var fullrect = new Rectangle(
|
||||||
|
DisplayRectangle.Left + Padding.Left,
|
||||||
|
DisplayRectangle.Top + Padding.Top,
|
||||||
|
DisplayRectangle.Width - Padding.Left - Padding.Right,
|
||||||
|
DisplayRectangle.Height - Padding.Top - Padding.Bottom - 1 - indiheight);
|
||||||
|
|
||||||
|
var itemCountS = this.Items.Where(t => t.ItemType != itemtype.Hidden && t.ItemType != itemtype.Item).Count();
|
||||||
|
var itemCountI = this.Items.Where(t => t.ItemType == itemtype.Item).Count();
|
||||||
|
|
||||||
|
var GapWidth = ItemGap * ((itemCountI + itemCountS) - 1);
|
||||||
|
var itemWidthS = (ItemGap * 2); //spacer width
|
||||||
|
var itemWidthI = (fullrect.Width - GapWidth - (itemWidthS * itemCountS)) / itemCountI;
|
||||||
|
var itemHeight = fullrect.Height;
|
||||||
|
|
||||||
|
var i = 0;
|
||||||
|
var x = fullrect.Left;
|
||||||
|
foreach (var item in Items)
|
||||||
|
{
|
||||||
|
if (item.ItemType == itemtype.Hidden) continue;
|
||||||
|
if (item.ItemType == itemtype.Spacer)
|
||||||
|
{
|
||||||
|
var y = fullrect.Top;
|
||||||
|
var w = (int)itemWidthS;
|
||||||
|
var h = DisplayRectangle.Height - Padding.Top - Padding.Bottom + 3;
|
||||||
|
var rectf = new Rectangle(x, y, w, h);
|
||||||
|
item.fullrect = rectf;
|
||||||
|
item.leftrect = Rectangle.Empty;
|
||||||
|
item.rightrect = Rectangle.Empty;
|
||||||
|
x += w + ItemGap;
|
||||||
|
}
|
||||||
|
else if (item.ItemType == itemtype.NLimit || item.ItemType == itemtype.PLimit)
|
||||||
|
{
|
||||||
|
var y = fullrect.Top;
|
||||||
|
var w = (int)itemWidthS;
|
||||||
|
var h = DisplayRectangle.Height - Padding.Top - Padding.Bottom + 3;
|
||||||
|
var rectf = new Rectangle(x, y, w, h);
|
||||||
|
item.fullrect = rectf;
|
||||||
|
item.leftrect = Rectangle.Empty;
|
||||||
|
item.rightrect = Rectangle.Empty;
|
||||||
|
x += w + ItemGap;
|
||||||
|
}
|
||||||
|
else if (item.Enable_Direction)
|
||||||
|
{
|
||||||
|
//var x = (int)(fullrect.Left + i * itemWidth) + (i * ItemGap);
|
||||||
|
var y = fullrect.Top;
|
||||||
|
var w = (int)itemWidthI;
|
||||||
|
var h = itemHeight;
|
||||||
|
var rectf = new Rectangle(x, y, w, h);
|
||||||
|
item.fullrect = rectf;
|
||||||
|
var indiWidth = (int)((rectf.Width - 4) / 2.0);
|
||||||
|
item.leftrect = new Rectangle(rectf.Left, rectf.Bottom + 4, indiWidth, indiheight);
|
||||||
|
item.rightrect = new Rectangle(rectf.Left + indiWidth + 4, rectf.Bottom + 4, indiWidth, indiheight);
|
||||||
|
x += itemWidthI + ItemGap;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//var x = (int)(fullrect.Left + i * itemWidth) + (i * ItemGap);
|
||||||
|
var y = fullrect.Top;
|
||||||
|
var w = (int)itemWidthI;
|
||||||
|
var h = DisplayRectangle.Height - Padding.Top - Padding.Bottom + 3;
|
||||||
|
var rectf = new Rectangle(x, y, w, h);
|
||||||
|
item.fullrect = rectf;
|
||||||
|
item.leftrect = Rectangle.Empty;
|
||||||
|
item.rightrect = Rectangle.Empty;
|
||||||
|
x += itemWidthI + ItemGap;
|
||||||
|
}
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
|
bRemakeRect = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// private int LastPosition = -1;
|
||||||
|
//private string LastDir = "";
|
||||||
|
//public void SetPositionOut(Boolean value)
|
||||||
|
//{
|
||||||
|
// if (LastPosition < 0 || LastPosition >= Items.Length) return;
|
||||||
|
|
||||||
|
// if (value == true)
|
||||||
|
// {
|
||||||
|
// this.Items[LastPosition].BackColor1 = Color.SkyBlue;
|
||||||
|
// this.Items[LastPosition].BackColor2 = Color.DeepSkyBlue;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// this.Invalidate();
|
||||||
|
//}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 지정한 개체를 선택합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idx"></param>
|
||||||
|
public void SetPosition(ePosition idx)
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach (var item in Items)
|
||||||
|
item.Focus = false;
|
||||||
|
if (idx == ePosition.NONE) return;
|
||||||
|
var pos = Items.Where(t => t.Position == idx).First();
|
||||||
|
pos.Focus = true;
|
||||||
|
}
|
||||||
|
public bool GetPositionActive(ePosition idx)
|
||||||
|
{
|
||||||
|
if (idx == ePosition.NONE) return false;
|
||||||
|
var pos = Items.Where(t => t.Position == idx).First();
|
||||||
|
return pos.Active;
|
||||||
|
}
|
||||||
|
public void SetPositionActive(ePosition idx)
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach (var item in Items)
|
||||||
|
item.Active = false;
|
||||||
|
if (idx == ePosition.NONE) return;
|
||||||
|
var pos = Items.Where(t => t.Position == idx).First();
|
||||||
|
pos.Active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 활성화된 위치를 모두 초기화 한다
|
||||||
|
/// </summary>
|
||||||
|
public void SetPositionDeActive()
|
||||||
|
{
|
||||||
|
foreach (var item in Items)
|
||||||
|
item.Active = false;
|
||||||
|
}
|
||||||
|
public void SetTargetPosition(ePosition idx)
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach (var item in Items)
|
||||||
|
item.Target = false;
|
||||||
|
if (idx == ePosition.NONE) return;
|
||||||
|
var pos = Items.Where(t => t.Position == idx).First();
|
||||||
|
pos.Target = true;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 지정한 개체의 left,right 값을 바꿉니다 .rfid값이 변경되었을때 처리합니다. dir=0이면 왼쪽이 켜집니다)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idx"></param>
|
||||||
|
/// <param name="dir"></param>
|
||||||
|
public void SetDirection(string dir)
|
||||||
|
{
|
||||||
|
//모든 위치값이 초기화 된다.
|
||||||
|
foreach (var item in Items)
|
||||||
|
item.Direction = '0';
|
||||||
|
|
||||||
|
var selectitem = this.Items.Where(t => t.Focus).FirstOrDefault();
|
||||||
|
if (selectitem != null)
|
||||||
|
{
|
||||||
|
if (dir.isEmpty()) selectitem.Direction = '0';
|
||||||
|
else selectitem.Direction = (dir == "0" ? '1' : '2');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum itemtype
|
||||||
|
{
|
||||||
|
Hidden,
|
||||||
|
NLimit,
|
||||||
|
PLimit,
|
||||||
|
Spacer,
|
||||||
|
Item,
|
||||||
|
}
|
||||||
|
|
||||||
|
public class item
|
||||||
|
{
|
||||||
|
public ePosition Position { get; set; }
|
||||||
|
public itemtype ItemType { get; set; }
|
||||||
|
// public bool Hidden { get; set; }
|
||||||
|
public bool Enable_Direction { get; set; }
|
||||||
|
|
||||||
|
#region Colorlist
|
||||||
|
public Color BackColor2
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (Active)
|
||||||
|
{
|
||||||
|
if (ItemType == itemtype.NLimit || ItemType == itemtype.PLimit)
|
||||||
|
return Color.Tomato;
|
||||||
|
else
|
||||||
|
return Color.Lime;
|
||||||
|
}
|
||||||
|
else if (Focus)
|
||||||
|
{
|
||||||
|
if (ItemType == itemtype.NLimit || ItemType == itemtype.PLimit)
|
||||||
|
return Color.Tomato;
|
||||||
|
else
|
||||||
|
return Color.Yellow;
|
||||||
|
}
|
||||||
|
else return Color.FromArgb(82, 82, 82);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Color BackColor1
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (Active)
|
||||||
|
{
|
||||||
|
if (ItemType == itemtype.NLimit || ItemType == itemtype.PLimit)
|
||||||
|
return Color.Red;
|
||||||
|
else
|
||||||
|
return Color.Green;
|
||||||
|
}
|
||||||
|
else if (Focus)
|
||||||
|
{
|
||||||
|
if (ItemType == itemtype.NLimit || ItemType == itemtype.PLimit)
|
||||||
|
return Color.Red;
|
||||||
|
else
|
||||||
|
return Color.Gold;
|
||||||
|
}
|
||||||
|
else return Color.FromArgb(64, 64, 64);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Color ForeColor
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (this.Target) return Color.DarkMagenta;
|
||||||
|
else return Color.Black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Color ShadowColor { get { return Color.DimGray; } }
|
||||||
|
public Color BorderColor { get { return Color.Black; } }
|
||||||
|
public Color RightColor
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (Direction == '2')
|
||||||
|
{
|
||||||
|
if (Active) return Color.Lime;
|
||||||
|
else return Color.Gold;
|
||||||
|
}
|
||||||
|
else return Color.Transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Color LeftColor
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (Direction == '1')
|
||||||
|
{
|
||||||
|
if (Active) return Color.Lime;
|
||||||
|
else return Color.Gold;
|
||||||
|
}
|
||||||
|
else return Color.Transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
[Browsable(false)]
|
||||||
|
public Rectangle fullrect { get; set; }
|
||||||
|
[Browsable(false)]
|
||||||
|
public Rectangle leftrect { get; set; }
|
||||||
|
[Browsable(false)]
|
||||||
|
public Rectangle rightrect { get; set; }
|
||||||
|
|
||||||
|
public bool Active { get; set; }
|
||||||
|
public bool Focus { get; set; }
|
||||||
|
public char Direction { get; set; }
|
||||||
|
public bool Target { get; set; }
|
||||||
|
|
||||||
|
public string Title { get; set; }
|
||||||
|
|
||||||
|
// public bool Spacer { get; set; }
|
||||||
|
|
||||||
|
public item()
|
||||||
|
{
|
||||||
|
Position = ePosition.NONE;
|
||||||
|
ItemType = itemtype.Item;
|
||||||
|
// Spacer = false;
|
||||||
|
fullrect = Rectangle.Empty;
|
||||||
|
leftrect = Rectangle.Empty;
|
||||||
|
rightrect = Rectangle.Empty;
|
||||||
|
Enable_Direction = true;
|
||||||
|
Active = false;
|
||||||
|
Focus = false;
|
||||||
|
Target = false;
|
||||||
|
Direction = '0';
|
||||||
|
// Hidden = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
if (this.ItemType == itemtype.Hidden)
|
||||||
|
return $"{Title}(숨김)";
|
||||||
|
else if (this.ItemType == itemtype.Spacer)
|
||||||
|
return $"(SPACER)";
|
||||||
|
else if (this.ItemType == itemtype.NLimit)
|
||||||
|
return $"N-LIMIT";
|
||||||
|
else if (this.ItemType == itemtype.PLimit)
|
||||||
|
return $"P-LIMIT";
|
||||||
|
else
|
||||||
|
return $"{Title}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Draw(Graphics g, Font font, StringFormat sf)
|
||||||
|
{
|
||||||
|
Pen pen_border = null;
|
||||||
|
LinearGradientBrush br_back = null;
|
||||||
|
SolidBrush br_text = null;
|
||||||
|
|
||||||
|
//배경색
|
||||||
|
|
||||||
|
//펜
|
||||||
|
if (pen_border == null) pen_border = new Pen(this.BorderColor);
|
||||||
|
else pen_border.Color = this.BorderColor;
|
||||||
|
|
||||||
|
//배경브러쉬
|
||||||
|
if (br_back == null) br_back = new LinearGradientBrush(this.fullrect, this.BackColor1, this.BackColor2, LinearGradientMode.Vertical);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
br_back.LinearColors[0] = this.BackColor1;
|
||||||
|
br_back.LinearColors[1] = this.BackColor2;
|
||||||
|
}
|
||||||
|
|
||||||
|
//제목브러쉬
|
||||||
|
if (br_text == null) br_text = new SolidBrush(this.ForeColor);
|
||||||
|
else br_text.Color = this.ForeColor;
|
||||||
|
|
||||||
|
//배경표시
|
||||||
|
g.FillRectangle(br_back, this.fullrect);
|
||||||
|
|
||||||
|
//제목표시
|
||||||
|
if (this.Title.isEmpty() == false && this.ItemType == itemtype.Item)
|
||||||
|
{
|
||||||
|
if (this.ShadowColor != Color.Transparent && this.ShadowColor != this.ForeColor)
|
||||||
|
{
|
||||||
|
using (var brShadow = new SolidBrush(this.ShadowColor))
|
||||||
|
g.DrawString(
|
||||||
|
this.Title,
|
||||||
|
font, brShadow,
|
||||||
|
new Rectangle(
|
||||||
|
this.fullrect.Left + 1,
|
||||||
|
this.fullrect.Top + 1,
|
||||||
|
this.fullrect.Width,
|
||||||
|
this.fullrect.Height),
|
||||||
|
sf);
|
||||||
|
}
|
||||||
|
|
||||||
|
g.DrawString(this.Title, font, br_text, this.fullrect, sf);
|
||||||
|
g.DrawString(this.Title, font, br_text, this.fullrect, sf);
|
||||||
|
}
|
||||||
|
|
||||||
|
//테두리표시
|
||||||
|
g.DrawRectangle(pen_border, this.fullrect);
|
||||||
|
|
||||||
|
if (Enable_Direction)
|
||||||
|
{
|
||||||
|
|
||||||
|
//좌측테두리
|
||||||
|
if (this.leftrect.IsEmpty == false)
|
||||||
|
{
|
||||||
|
if (this.LeftColor != Color.Transparent)
|
||||||
|
{
|
||||||
|
using (SolidBrush sb = new SolidBrush(this.LeftColor))
|
||||||
|
g.FillRectangle(sb, this.leftrect);
|
||||||
|
}
|
||||||
|
g.DrawRectangle(pen_border, this.leftrect);
|
||||||
|
}
|
||||||
|
//우측테두리
|
||||||
|
if (this.rightrect.IsEmpty == false)
|
||||||
|
{
|
||||||
|
if (this.RightColor != Color.Transparent)
|
||||||
|
{
|
||||||
|
using (SolidBrush sb = new SolidBrush(this.RightColor))
|
||||||
|
g.FillRectangle(sb, this.rightrect);
|
||||||
|
}
|
||||||
|
g.DrawRectangle(pen_border, this.rightrect);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pen_border != null) pen_border.Dispose();
|
||||||
|
if (br_back != null) br_back.Dispose();
|
||||||
|
if (br_text != null) br_text.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ItemClickEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public item Item { get; set; }
|
||||||
|
public ItemClickEventArgs(item item)
|
||||||
|
{
|
||||||
|
this.Item = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void arButton_MouseLeave(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//isMouseOver = false;
|
||||||
|
this.Cursor = Cursors.Default;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
void arButton_MouseEnter(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//isMouseOver = true;
|
||||||
|
this.Cursor = Cursors.Hand;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
void arButton_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//isMouseDown = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void arButton_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (Enabled == false || Enabled == false) return;
|
||||||
|
// isMouseDown = true;
|
||||||
|
|
||||||
|
//item fullrect 에서 클릭위치를 찾아야함
|
||||||
|
if (Items != null && Items.Length > 0)
|
||||||
|
{
|
||||||
|
//마우스위치가 아이템에 포함되어있다면
|
||||||
|
var focusItem = Items.Where(t => t.fullrect.Contains(e.Location)).FirstOrDefault();
|
||||||
|
if (focusItem != null)
|
||||||
|
{
|
||||||
|
ItemClick?.Invoke(this, new ItemClickEventArgs(focusItem));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
1390
Cs_HMI/Project/DataSet1.Designer.cs
generated
Normal file
11
Cs_HMI/Project/DataSet1.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public partial class DataSet1
|
||||||
|
{
|
||||||
|
partial class ModelDataTable
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Cs_HMI/Project/DataSet1.xsc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--<autogenerated>
|
||||||
|
This code was generated by a tool.
|
||||||
|
Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
the code is regenerated.
|
||||||
|
</autogenerated>-->
|
||||||
|
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TableUISettings />
|
||||||
|
</DataSetUISetting>
|
||||||
52
Cs_HMI/Project/DataSet1.xsd
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema id="DataSet1" targetNamespace="http://tempuri.org/DataSet1.xsd" xmlns:mstns="http://tempuri.org/DataSet1.xsd" xmlns="http://tempuri.org/DataSet1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<Connections />
|
||||||
|
<Tables />
|
||||||
|
<Sources />
|
||||||
|
</DataSource>
|
||||||
|
</xs:appinfo>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:element name="DataSet1" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DataSet1" msprop:Generator_UserDSName="DataSet1">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element name="ResultData" msprop:Generator_TableClassName="ResultDataDataTable" msprop:Generator_TableVarName="tableResultData" msprop:Generator_TablePropName="ResultData" msprop:Generator_RowDeletingName="ResultDataRowDeleting" msprop:Generator_RowChangingName="ResultDataRowChanging" msprop:Generator_RowEvHandlerName="ResultDataRowChangeEventHandler" msprop:Generator_RowDeletedName="ResultDataRowDeleted" msprop:Generator_UserTableName="ResultData" msprop:Generator_RowChangedName="ResultDataRowChanged" msprop:Generator_RowEvArgName="ResultDataRowChangeEvent" msprop:Generator_RowClassName="ResultDataRow">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="idx" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||||
|
<xs:element name="info_job" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_job" msprop:Generator_ColumnVarNameInTable="columninfo_job" msprop:Generator_ColumnPropNameInTable="info_jobColumn" msprop:Generator_UserColumnName="info_job" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="info_start" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_start" msprop:Generator_ColumnVarNameInTable="columninfo_start" msprop:Generator_ColumnPropNameInTable="info_startColumn" msprop:Generator_UserColumnName="info_start" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="info_end" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_end" msprop:Generator_ColumnVarNameInTable="columninfo_end" msprop:Generator_ColumnPropNameInTable="info_endColumn" msprop:Generator_UserColumnName="info_end" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="info_result" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_result" msprop:Generator_ColumnVarNameInTable="columninfo_result" msprop:Generator_ColumnPropNameInTable="info_resultColumn" msprop:Generator_UserColumnName="info_result" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="info_iserror" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_iserror" msprop:Generator_ColumnVarNameInTable="columninfo_iserror" msprop:Generator_ColumnPropNameInTable="info_iserrorColumn" msprop:Generator_UserColumnName="info_iserror" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="info_resultcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_resultcode" msprop:Generator_ColumnVarNameInTable="columninfo_resultcode" msprop:Generator_ColumnPropNameInTable="info_resultcodeColumn" msprop:Generator_UserColumnName="info_resultcode" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="info_filename" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="info_filename" msprop:Generator_ColumnVarNameInTable="columninfo_filename" msprop:Generator_ColumnPropNameInTable="info_filenameColumn" msprop:Generator_UserColumnName="info_filename" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="time_start" msprop:Generator_ColumnVarNameInTable="columntime_start" msprop:Generator_ColumnPropNameInRow="time_start" msprop:Generator_ColumnPropNameInTable="time_startColumn" msprop:Generator_UserColumnName="time_start" type="xs:dateTime" minOccurs="0" />
|
||||||
|
<xs:element name="time_end" msprop:Generator_ColumnVarNameInTable="columntime_end" msprop:Generator_ColumnPropNameInRow="time_end" msprop:Generator_ColumnPropNameInTable="time_endColumn" msprop:Generator_UserColumnName="time_end" type="xs:dateTime" minOccurs="0" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="language" msprop:Generator_TableClassName="languageDataTable" msprop:Generator_TableVarName="tablelanguage" msprop:Generator_RowChangedName="languageRowChanged" msprop:Generator_TablePropName="language" msprop:Generator_RowDeletingName="languageRowDeleting" msprop:Generator_RowChangingName="languageRowChanging" msprop:Generator_RowEvHandlerName="languageRowChangeEventHandler" msprop:Generator_RowDeletedName="languageRowDeleted" msprop:Generator_RowClassName="languageRow" msprop:Generator_UserTableName="language" msprop:Generator_RowEvArgName="languageRowChangeEvent">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Section" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Section" msprop:Generator_ColumnVarNameInTable="columnSection" msprop:Generator_ColumnPropNameInTable="SectionColumn" msprop:Generator_UserColumnName="Section" type="xs:string" />
|
||||||
|
<xs:element name="Key" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Key" msprop:Generator_ColumnVarNameInTable="columnKey" msprop:Generator_ColumnPropNameInTable="KeyColumn" msprop:Generator_UserColumnName="Key" type="xs:string" />
|
||||||
|
<xs:element name="Value" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Value" msprop:Generator_ColumnVarNameInTable="columnValue" msprop:Generator_ColumnPropNameInTable="ValueColumn" msprop:Generator_UserColumnName="Value" type="xs:string" minOccurs="0" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:unique name="Constraint11">
|
||||||
|
<xs:selector xpath=".//mstns:ResultData" />
|
||||||
|
<xs:field xpath="mstns:idx" />
|
||||||
|
</xs:unique>
|
||||||
|
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||||
|
<xs:selector xpath=".//mstns:language" />
|
||||||
|
<xs:field xpath="mstns:Key" />
|
||||||
|
<xs:field xpath="mstns:Section" />
|
||||||
|
</xs:unique>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
13
Cs_HMI/Project/DataSet1.xss
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--<autogenerated>
|
||||||
|
This code was generated by a tool to store the dataset designer's layout information.
|
||||||
|
Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
the code is regenerated.
|
||||||
|
</autogenerated>-->
|
||||||
|
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="81" ViewPortY="1" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||||
|
<Shapes>
|
||||||
|
<Shape ID="DesignTable:ResultData" ZOrder="2" X="604" Y="12" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
|
||||||
|
<Shape ID="DesignTable:language" ZOrder="1" X="770" Y="11" Height="657" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="653" />
|
||||||
|
</Shapes>
|
||||||
|
<Connectors />
|
||||||
|
</DiagramLayout>
|
||||||
37
Cs_HMI/Project/Device/CFlag.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Project.Device
|
||||||
|
{
|
||||||
|
public class CFlag : COMM.Flag
|
||||||
|
{
|
||||||
|
public CFlag() : base(64)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public bool get(EFlag flag)
|
||||||
|
{
|
||||||
|
return Get((int)flag);
|
||||||
|
}
|
||||||
|
public void set(EFlag flag, bool value)
|
||||||
|
{
|
||||||
|
var idx = (int)flag;
|
||||||
|
Set(idx, value);
|
||||||
|
}
|
||||||
|
public void Toggle(EFlag flag)
|
||||||
|
{
|
||||||
|
int idx = (int)flag;
|
||||||
|
var curValue = Get(idx);
|
||||||
|
Set(idx, !curValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Toggle(int idx)
|
||||||
|
{
|
||||||
|
var curValue = Get(idx);
|
||||||
|
Set(idx, !curValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
427
Cs_HMI/Project/Device/Socket.cs
Normal file
@@ -0,0 +1,427 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Project.Device
|
||||||
|
{
|
||||||
|
public class Socket
|
||||||
|
{
|
||||||
|
public enum eType
|
||||||
|
{
|
||||||
|
REQUEST,
|
||||||
|
REPLY,
|
||||||
|
}
|
||||||
|
public enum eSType
|
||||||
|
{
|
||||||
|
STATUS,
|
||||||
|
GEN,
|
||||||
|
SPL
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct Message
|
||||||
|
{
|
||||||
|
public Boolean isError;
|
||||||
|
public string ErrorMessage;
|
||||||
|
public string Asset;
|
||||||
|
public eType Type;
|
||||||
|
public eSType SType;
|
||||||
|
public string Body;
|
||||||
|
public string timeStamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Winsock_Orcas.Winsock wsListen;
|
||||||
|
private Winsock_Orcas.Winsock wsData;
|
||||||
|
private char sepMsg = (char)0x07;
|
||||||
|
private char sepBody = (char)0x09;
|
||||||
|
|
||||||
|
public int ListenPort { get; set; }
|
||||||
|
public string errorMessage { get; set; }
|
||||||
|
public event EventHandler<SocketMessageEventArgs> RecvMessage;
|
||||||
|
public event EventHandler<SocketMessageEventArgs> SendMessage;
|
||||||
|
public event EventHandler<MesasgeEventArgs> GetMessage;
|
||||||
|
|
||||||
|
private void RaiseMessage(string msg, Boolean isErr = false)
|
||||||
|
{
|
||||||
|
if (GetMessage != null) GetMessage(this, new MesasgeEventArgs(msg, isErr));
|
||||||
|
}
|
||||||
|
private void RaiseSendMessage(Message msg, string raw)
|
||||||
|
{
|
||||||
|
if (SendMessage != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SendMessage(this, new SocketMessageEventArgs(msg, raw));
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.errorMessage = ex.Message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void RaiseRecvMessage(Message msg, string raw)
|
||||||
|
{
|
||||||
|
if (RecvMessage != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RecvMessage(this, new SocketMessageEventArgs(msg, raw));
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.errorMessage = ex.Message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Socket()
|
||||||
|
{
|
||||||
|
wsListen = new Winsock_Orcas.Winsock();
|
||||||
|
wsData = new Winsock_Orcas.Winsock();
|
||||||
|
wsListen.LegacySupport = true;
|
||||||
|
wsData.LegacySupport = true;
|
||||||
|
wsData.Connected += wsData_Connected;
|
||||||
|
wsData.Disconnected += wsData_Disconnected;
|
||||||
|
wsData.DataArrival += wsData_DataArrival;
|
||||||
|
wsData.ErrorReceived += wsData_ErrorReceived;
|
||||||
|
wsListen.ConnectionRequest += wsListen_ConnectionRequest;
|
||||||
|
wsListen.ErrorReceived += wsListen_ErrorReceived;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsListen_ErrorReceived(object sender, Winsock_Orcas.WinsockErrorReceivedEventArgs e)
|
||||||
|
{
|
||||||
|
RaiseMessage("LTERR:" + e.Details, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsData_ErrorReceived(object sender, Winsock_Orcas.WinsockErrorReceivedEventArgs e)
|
||||||
|
{
|
||||||
|
RaiseMessage("RXERR:"+e.Details, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsData_Disconnected(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
RaiseMessage("Disconnected");
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsData_Connected(object sender, Winsock_Orcas.WinsockConnectedEventArgs e)
|
||||||
|
{
|
||||||
|
RaiseMessage("Conncted");
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsListen_ConnectionRequest(object sender, Winsock_Orcas.WinsockConnectionRequestEventArgs e)
|
||||||
|
{
|
||||||
|
if (wsData.State != Winsock_Orcas.WinsockStates.Closed)
|
||||||
|
{
|
||||||
|
wsData.Close();
|
||||||
|
System.Threading.Thread.Sleep(500);
|
||||||
|
}
|
||||||
|
RaiseMessage("Connection Request " + e.ClientIP);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
wsData.Accept(e.Client);
|
||||||
|
}catch (Exception ex)
|
||||||
|
{
|
||||||
|
RaiseMessage("Connection Request\n"+ex.Message, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
~Socket()
|
||||||
|
{
|
||||||
|
if (wsData != null)
|
||||||
|
{
|
||||||
|
wsData.DataArrival -= wsData_DataArrival;
|
||||||
|
wsData.Connected += wsData_Connected;
|
||||||
|
wsData.Disconnected += wsData_Disconnected;
|
||||||
|
}
|
||||||
|
if (wsListen != null)
|
||||||
|
{
|
||||||
|
wsListen.ConnectionRequest += wsListen_ConnectionRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (wsListen != null && wsListen.State != Winsock_Orcas.WinsockStates.Closed)
|
||||||
|
wsListen.Close();
|
||||||
|
if (wsData != null && wsData.State != Winsock_Orcas.WinsockStates.Closed)
|
||||||
|
wsData.Close();
|
||||||
|
wsData.Dispose();
|
||||||
|
wsListen.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean Listen(int port)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ListenPort = port;
|
||||||
|
wsListen.Listen(this.ListenPort);
|
||||||
|
this.errorMessage = string.Empty;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.errorMessage = ex.Message;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Boolean isListen
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return wsListen.State == Winsock_Orcas.WinsockStates.Listening;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public Boolean isConn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return wsData.State == Winsock_Orcas.WinsockStates.Connected;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Message LastSendMessage = new Message();
|
||||||
|
private Message makeMessage(string Asset, eType type, eSType subtype, string body)
|
||||||
|
{
|
||||||
|
Message retval = new Message();
|
||||||
|
retval.Asset = Asset;
|
||||||
|
retval.Type = type;
|
||||||
|
retval.SType = subtype;
|
||||||
|
retval.Body = body;
|
||||||
|
retval.isError = true;
|
||||||
|
retval.ErrorMessage = string.Empty;
|
||||||
|
retval.timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Body문자열을 구분자를 기준으로 한 배열로 반환 함
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="bodyMessage"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string[] getBodyArray(string bodyMessage)
|
||||||
|
{
|
||||||
|
return bodyMessage.Split(sepBody);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 패킷의 내용을 메세지로 분리한다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="PacketMessage"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private Message ParseMessage(string PacketMessage)
|
||||||
|
{
|
||||||
|
Message retval = new Message();
|
||||||
|
retval.isError = false;
|
||||||
|
retval.ErrorMessage = string.Empty;
|
||||||
|
|
||||||
|
var buffer = PacketMessage.Split(sepMsg);
|
||||||
|
if (buffer.Length != 5)
|
||||||
|
{
|
||||||
|
retval.isError = true;
|
||||||
|
retval.ErrorMessage = "Packet Size Error : Expect 5 Array";
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
retval.Asset = buffer[0];
|
||||||
|
if (!getType(buffer[1], out retval.Type))
|
||||||
|
{
|
||||||
|
retval.isError = true;
|
||||||
|
retval.ErrorMessage = "지정된 Type 이 아닙니다(" + buffer[1] + ")";
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
if (!getSType(buffer[2], out retval.SType))
|
||||||
|
{
|
||||||
|
retval.isError = true;
|
||||||
|
retval.ErrorMessage = "지정된 SubType 이 아닙니다(" + buffer[2] + ")";
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
retval.timeStamp = buffer[3];
|
||||||
|
//DateTime timeStamp;
|
||||||
|
//if (!DateTime.TryParse(retval.timeStamp, out timeStamp))
|
||||||
|
//{
|
||||||
|
// retval.isError = true;
|
||||||
|
// retval.ErrorMessage = "timeStamp 해석 오류(" + retval.timeStamp + ")";
|
||||||
|
// return retval;
|
||||||
|
//}
|
||||||
|
retval.Body = buffer[4];
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Boolean getType(string strType, out eType type)
|
||||||
|
{
|
||||||
|
type = eType.REPLY;
|
||||||
|
var list = Enum.GetNames(typeof(eType));
|
||||||
|
int value = -1;
|
||||||
|
for (int i = 0; i < list.Length; i++)
|
||||||
|
{
|
||||||
|
if (list[i].ToUpper() == strType.ToUpper())
|
||||||
|
{
|
||||||
|
value = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (value == -1) return false;
|
||||||
|
type = (eType)value;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
private Boolean getSType(string strSType, out eSType stype)
|
||||||
|
{
|
||||||
|
stype = eSType.GEN;
|
||||||
|
var list = Enum.GetNames(typeof(eSType));
|
||||||
|
int value = -1;
|
||||||
|
for (int i = 0; i < list.Length; i++)
|
||||||
|
{
|
||||||
|
if (list[i].ToUpper() == strSType.ToUpper())
|
||||||
|
{
|
||||||
|
value = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (value == -1) return false;
|
||||||
|
stype = (eSType)value;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string makePacket(Message msg)
|
||||||
|
{
|
||||||
|
//프레임구조 asset chr(7) + type + chr(7) + stype + char(7) + timeStamp + char(7) + body"
|
||||||
|
//timestamp = yyyymmddhhmmss
|
||||||
|
//sepChar = (char)0x07;
|
||||||
|
|
||||||
|
System.Text.StringBuilder buffer = new StringBuilder();
|
||||||
|
buffer.Append(msg.Asset);
|
||||||
|
buffer.Append(sepMsg);
|
||||||
|
buffer.Append(msg.Type.ToString());
|
||||||
|
buffer.Append(sepMsg);
|
||||||
|
buffer.Append(msg.SType.ToString());
|
||||||
|
buffer.Append(sepMsg);
|
||||||
|
buffer.Append(msg.timeStamp);
|
||||||
|
buffer.Append(sepMsg);
|
||||||
|
buffer.Append(msg.Body);
|
||||||
|
return buffer.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string makeLotSplitPacket( string fcst, string tcst, string slot, string wafer)
|
||||||
|
{
|
||||||
|
System.Text.StringBuilder buffer = new StringBuilder();
|
||||||
|
buffer.Append(fcst);
|
||||||
|
buffer.Append(sepBody);
|
||||||
|
buffer.Append(tcst);
|
||||||
|
buffer.Append(sepBody);
|
||||||
|
buffer.Append(slot);
|
||||||
|
buffer.Append(sepBody);
|
||||||
|
buffer.Append(wafer);
|
||||||
|
return buffer.ToString();
|
||||||
|
}
|
||||||
|
public string makeLotGenPacket(string Lot, string cst, string slot, string wafer)
|
||||||
|
{
|
||||||
|
System.Text.StringBuilder buffer = new StringBuilder();
|
||||||
|
buffer.Append(Lot);
|
||||||
|
buffer.Append(sepBody);
|
||||||
|
buffer.Append(cst);
|
||||||
|
buffer.Append(sepBody);
|
||||||
|
buffer.Append(slot);
|
||||||
|
buffer.Append(sepBody);
|
||||||
|
buffer.Append(wafer);
|
||||||
|
return buffer.ToString();
|
||||||
|
}
|
||||||
|
public enum eStatus
|
||||||
|
{
|
||||||
|
RUN =0,
|
||||||
|
IDLE ,
|
||||||
|
ALARM,
|
||||||
|
}
|
||||||
|
public string makeReplyStatus(eStatus Status)
|
||||||
|
{
|
||||||
|
System.Text.StringBuilder buffer = new StringBuilder();
|
||||||
|
buffer.Append(((int)Status).ToString());
|
||||||
|
return buffer.ToString();
|
||||||
|
}
|
||||||
|
public Boolean Send(string Asset, eType type, eSType subtype, string body)
|
||||||
|
{
|
||||||
|
var msg = makeMessage(Asset, type, subtype, body);
|
||||||
|
var isStatus = subtype == eSType.STATUS;
|
||||||
|
return Send(msg, isStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean isReplyRecv = false;
|
||||||
|
public Boolean Send(Message msg,Boolean isStatus)
|
||||||
|
{
|
||||||
|
|
||||||
|
var packet = makePacket(msg);
|
||||||
|
if (wsData.State != Winsock_Orcas.WinsockStates.Connected)
|
||||||
|
{
|
||||||
|
errorMessage = "Not Connected";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if(isStatus==false) isReplyRecv = false; //190129
|
||||||
|
wsData.Send(packet + "\r\n");
|
||||||
|
errorMessage = string.Empty;
|
||||||
|
LastSendMessage = msg;
|
||||||
|
RaiseSendMessage(msg, packet);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
errorMessage = ex.Message;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Message LastReplyMessage = new Message();
|
||||||
|
public Message LastRecvMessage = new Message();
|
||||||
|
void wsData_DataArrival(object sender, Winsock_Orcas.WinsockDataArrivalEventArgs e)
|
||||||
|
{
|
||||||
|
var sock = sender as Winsock_Orcas.Winsock;
|
||||||
|
var data = sock.Get<String>();
|
||||||
|
if(PUB.setting.LOg_SocketRecv)
|
||||||
|
{
|
||||||
|
if (data.IndexOf("REQUEST") != -1 && data.IndexOf("STATUS") != -1)
|
||||||
|
{
|
||||||
|
//핑 명령
|
||||||
|
}
|
||||||
|
else PUB.log.AddE("Socket Recv : " + data); //190129
|
||||||
|
}
|
||||||
|
|
||||||
|
LastRecvMessage = ParseMessage(data);
|
||||||
|
if (LastRecvMessage.isError) PUB.log.AddE("Socket Message error" + LastRecvMessage.ErrorMessage);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//190129 - reply만 별도 처리함
|
||||||
|
if (LastRecvMessage.Type == eType.REPLY)
|
||||||
|
{
|
||||||
|
LastReplyMessage = ParseMessage(data);
|
||||||
|
isReplyRecv = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RaiseRecvMessage(LastRecvMessage, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class SocketMessageEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public string rawData { get; set; }
|
||||||
|
public Device.Socket.Message Message { get; set; }
|
||||||
|
public SocketMessageEventArgs(Device.Socket.Message msg, string raw)
|
||||||
|
{
|
||||||
|
this.Message = msg;
|
||||||
|
this.rawData = raw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public class MesasgeEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public string Message { get; set; }
|
||||||
|
public Boolean isError { get; set; }
|
||||||
|
public MesasgeEventArgs(string msg, Boolean iserr)
|
||||||
|
{
|
||||||
|
this.Message = msg;
|
||||||
|
this.isError = iserr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
400
Cs_HMI/Project/Device/Xbee.cs
Normal file
@@ -0,0 +1,400 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Threading;
|
||||||
|
using COMM;
|
||||||
|
using System.Runtime.Remoting.Messaging;
|
||||||
|
|
||||||
|
namespace Project.Device
|
||||||
|
{
|
||||||
|
public class Xbee : arDev.arRS232
|
||||||
|
{
|
||||||
|
public Xbee()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public string buffer = string.Empty;
|
||||||
|
public System.Text.StringBuilder newbuffer = new StringBuilder();
|
||||||
|
protected override bool CustomParser(byte[] buf, out byte[] remainBuffer)
|
||||||
|
{
|
||||||
|
//일반 kit 명령은 0x02 kit번호, kit값 0x03
|
||||||
|
//상태 명령은 0x04 메세지데이터 0x05
|
||||||
|
|
||||||
|
Console.WriteLine("custom parse len=" + buf.Length.ToString());
|
||||||
|
|
||||||
|
List<byte> sparebuffer = new List<byte>();
|
||||||
|
Boolean bComplete = false;
|
||||||
|
for (int i = 0; i < buf.Length; i++)
|
||||||
|
{
|
||||||
|
var incomByte = buf[i];
|
||||||
|
if (bComplete == true) sparebuffer.Add(incomByte);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (findSTX == false)
|
||||||
|
{
|
||||||
|
if (incomByte != 0x02)
|
||||||
|
{
|
||||||
|
//버리는데이터
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
findSTX = true;
|
||||||
|
tempBuffer.Clear();
|
||||||
|
tempBuffer.Add(incomByte);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tempBuffer.Add(incomByte);
|
||||||
|
|
||||||
|
if (incomByte == 0x03)
|
||||||
|
{
|
||||||
|
//데이터가 맞게 수신됨
|
||||||
|
LastReceiveBuffer = tempBuffer.ToArray();
|
||||||
|
bComplete = true;
|
||||||
|
findSTX = false;
|
||||||
|
}
|
||||||
|
else if (tempBuffer.Count > 30)
|
||||||
|
{
|
||||||
|
tempBuffer.Clear();
|
||||||
|
findSTX = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
remainBuffer = sparebuffer.ToArray();
|
||||||
|
return bComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override bool ProcessRecvData(byte[] data)
|
||||||
|
{
|
||||||
|
var kitno = (char)(data[1]);
|
||||||
|
var kitval = (char)(data[2]);
|
||||||
|
NewMsgEvent(kitno, kitval);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void NewMsgEvent(char kitNo, char kitVal)
|
||||||
|
{
|
||||||
|
//대상위치 확인
|
||||||
|
ePosition kitPos = ePosition.NONE;
|
||||||
|
if (kitNo == '9') kitPos = ePosition.QC;
|
||||||
|
else if (kitNo == '1') kitPos = ePosition.F1;
|
||||||
|
else if (kitNo == '2') kitPos = ePosition.F2;
|
||||||
|
else if (kitNo == '3') kitPos = ePosition.F3;
|
||||||
|
else if (kitNo == '4') kitPos = ePosition.F4;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (kitNo == '0') return;
|
||||||
|
PUB.log.Add($"비허가 키트번호 무시 번호={kitNo},값={kitVal}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//if (kitNo= 'F')
|
||||||
|
//{
|
||||||
|
// PUB.Speak("알 수 없는 키트번호 입니다");
|
||||||
|
// PUB.logsys.Add($"키트번호별위치확인실패 값={kitNo}");
|
||||||
|
// return;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//(ePosition)int.Parse(kitNo.ToString());
|
||||||
|
PUB.logcal.Add(string.Format("Xbee:newMsgEvent:{0},{1}=>{2}", kitNo, kitVal, kitPos));
|
||||||
|
if (PUB.CheckManualChargeMode() == false)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"수동 충전 중이라 콜 기능을 취소 합니다");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FixButton = kitPos == ePosition.NONE;
|
||||||
|
if (kitPos == ePosition.NONE)
|
||||||
|
{
|
||||||
|
if (kitVal == '1') kitPos = ePosition.QC;
|
||||||
|
else if (kitVal == '2') kitPos = ePosition.CHARGE;
|
||||||
|
else if (kitVal == '4') kitPos = ePosition.QC;
|
||||||
|
//else if (kitVal == '3') kitPos = ePosition.QA;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.log.Add($"AGV버튼 이벤트 실행 값:{kitVal} 취소");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
kitVal = '1'; //버튼은 무조건 ON상태로 한다
|
||||||
|
}
|
||||||
|
|
||||||
|
//자동상태가 아니라면 오류처리
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false || PUB.sm.Step != StateMachine.eSMStep.RUN)
|
||||||
|
{
|
||||||
|
PUB.log.AddE("'자동실행' 상태가 아니므로 콜/취소 작업을 할 수 없습니다 콜:" + kitPos.ToString() + ",값=" + kitVal.ToString());
|
||||||
|
PUB.Speak(Lang.자동운전상태가아닙니다);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//충전기를 제외하고 '1'의 값은 호출을 원하는값이다.('0'=취소)
|
||||||
|
if (kitVal == '1')
|
||||||
|
{
|
||||||
|
//qA혹은 Pack 에서 해당 버튼을 눌렀을때의 처리방법
|
||||||
|
//if (PUB.Result.CurrentPos == ePosition.QA && kitPos == ePosition.QA)
|
||||||
|
//{
|
||||||
|
// PUB.logsys.AddE("QA위치에서 QA버튼을 눌렀음 명령 취소함");
|
||||||
|
// PUB.Speak("현재 위치는 QA 입니다.");
|
||||||
|
// return;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//상/하차 작업중이 아니라면 콜을 받는다
|
||||||
|
if (PUB.sm.RunStep != StateMachine.ERunStep.GOUP && PUB.sm.RunStep != StateMachine.ERunStep.GODOWN)
|
||||||
|
{
|
||||||
|
//call을 받으려면 대상위 (2=QC,3,4,5,6,7)
|
||||||
|
//콜을 요청하는 곳 (2=QC,3=FVI-1,4,5,6,7==FVI-5)
|
||||||
|
//1번은 충전기
|
||||||
|
|
||||||
|
//콜버튼으로 대상위치를 다시 결정한다.
|
||||||
|
//대상번호는 콜번호에서 +2을 하면 된다.
|
||||||
|
//대상번호 PK=1,QA2=2,QA1=3,QC=4
|
||||||
|
//QC의경우 콜Kit번호는 2이므로, 이동대상은 +2인 4가 되어야 함
|
||||||
|
//콜번호와 RFID대상번호는 2의 오차가 발생함, 현재 설치된 RFID를 모두 변경할 수 없어서 이렇게 운용함
|
||||||
|
|
||||||
|
|
||||||
|
RaiseMessage(MessageType.Normal, string.Format("CALL확정 Kit={0},대상위치={1}", kitNo, kitPos));
|
||||||
|
|
||||||
|
PUB.AGV.data.CallNo = int.Parse(kitNo.ToString());
|
||||||
|
PUB.AGV.data.CallString = kitNo.ToString();
|
||||||
|
|
||||||
|
PUB.Result.CommandKit = kitNo;
|
||||||
|
PUB.Result.TargetPos = kitPos;
|
||||||
|
SendToKit(kitNo, '1', (PUB.IsCanCALL() ? '1' : '0')); //콜확정을 클라이언트에 알림
|
||||||
|
|
||||||
|
PUB.Speak(kitPos.ToString() + Lang.위치로이동합니다);
|
||||||
|
|
||||||
|
//상태머신을 변경한다 (충전 OFF상태로 간다, 충전상태가 아니면 바로 이동하게됨)
|
||||||
|
//Pub.sm.ResetRunStep();
|
||||||
|
//Pub.sm.setNewStep(StateMachine.eSMStep.RUN);
|
||||||
|
|
||||||
|
//qa, pack 은 하차 전용이다
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(StateMachine.ERunStep.GOUP);
|
||||||
|
PUB.sm.SetNewStep(StateMachine.eSMStep.RUN);
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN && VAR.BOOL[eVarBool.WAIT_COVER_DOWN] == false && VAR.BOOL[eVarBool.WAIT_COVER_UP] == false)
|
||||||
|
{
|
||||||
|
//하차중에 받을 수 있게하자 (단 FVi1 이하일때에는 무시하자) 230710 - 김수곤
|
||||||
|
if (PUB.Result.TargetPos == ePosition.QC && PUB.Result.CurrentPos < ePosition.F1)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"하차중이지만 FVI #1 아래에 있으니 콜을 취소 합니다");
|
||||||
|
SendToKit(kitNo, '0', '0');
|
||||||
|
RaiseMessage(MessageType.Normal, $"QC 추가 콜이지만 위치가 #1번 이하이므로 취소 됩니다. Kit={kitNo},현재={PUB.Result.CurrentPos},대상={PUB.Result.TargetPos}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RaiseMessage(MessageType.Normal, string.Format("CALL확정(추가) Kit={0},대상위치={1}", kitNo, kitPos));
|
||||||
|
|
||||||
|
PUB.AGV.data.CallNo = int.Parse(kitNo.ToString());
|
||||||
|
PUB.AGV.data.CallString = kitNo.ToString();
|
||||||
|
|
||||||
|
PUB.Result.CommandKit = kitNo;
|
||||||
|
PUB.Result.TargetPos = kitPos;
|
||||||
|
|
||||||
|
SendToKit(kitNo, '1', (PUB.IsCanCALL() ? '1' : '0')); //콜확정을 클라이언트에 알림
|
||||||
|
|
||||||
|
PUB.Speak(kitPos.ToString() + Lang.위치로이동합니다);
|
||||||
|
|
||||||
|
//상태머신을 변경한다 (충전 OFF상태로 간다, 충전상태가 아니면 바로 이동하게됨)
|
||||||
|
//Pub.sm.ResetRunStep();
|
||||||
|
//Pub.sm.setNewStep(StateMachine.eSMStep.RUN);
|
||||||
|
|
||||||
|
//qa, pack 은 하차 전용이다
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(StateMachine.ERunStep.GOUP);
|
||||||
|
PUB.sm.SetNewStep(StateMachine.eSMStep.RUN);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN && PUB.Result.CurrentPos == ePosition.QA)
|
||||||
|
//{
|
||||||
|
// RaiseMessage(MessageType.Normal, string.Format("CALL확정 Kit={0},대상위치={1}", kitNo, kitPos));
|
||||||
|
|
||||||
|
// PUB.Result.CommandKit = kitNo;
|
||||||
|
// PUB.Result.TargetPos = kitPos;
|
||||||
|
// SendToKit(kitNo, '1'); //콜확정을 클라이언트에 알림
|
||||||
|
|
||||||
|
// PUB.Speak(kitPos.ToString() + "위치로 이동 합니다");
|
||||||
|
|
||||||
|
// //상태머신을 변경한다 (충전 OFF상태로 간다, 충전상태가 아니면 바로 이동하게됨)
|
||||||
|
// // Pub.sm.ResetRunStep();
|
||||||
|
// // Pub.sm.setNewStep(StateMachine.eSMStep.RUN);
|
||||||
|
|
||||||
|
// //qa => pack 은 하차 전용이다
|
||||||
|
// //QA에서 PACK이동시에는 바로 N극 멈춤 기능을 사용해도도된다.(자재가 있으며, 커버가 내려가 있으므로 느리게 동작해야함)
|
||||||
|
// PUB.sm.ClearRunStep();
|
||||||
|
// PUB.sm.SetNewRunStep(StateMachine.ERunStep.GODOWN);
|
||||||
|
// PUB.sm.SetNewStep(StateMachine.ESMStep.RUN);
|
||||||
|
|
||||||
|
// PUB.AGV.AGVMoveStop("xbee_newmsgevent", arDev.Narumi.eStopOpt.MarkStop);// (arDev.Narumi.eAgvCmd.MoveStop,.SetNextStop_Mark(true, "xbee godn,qa,pack");
|
||||||
|
// PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
//}
|
||||||
|
else if (PUB.Result.TargetPos == kitPos) ////현재 지정된 클라이언트가 또 눌렀다
|
||||||
|
{
|
||||||
|
PUB.Result.TargetPos = kitPos;
|
||||||
|
PUB.AGV.data.CallNo = int.Parse(kitNo.ToString());
|
||||||
|
PUB.AGV.data.CallString = kitNo.ToString();
|
||||||
|
|
||||||
|
//상차 대기 중이라면 커버를 자동 올려준다
|
||||||
|
//이것은 QC만 가능하다
|
||||||
|
//QC가 QA혹은 PACK으로 보낼때 사용함
|
||||||
|
if (kitPos == ePosition.QC &&
|
||||||
|
VAR.BOOL[eVarBool.FLAG_LIMITLOW] == true)
|
||||||
|
{
|
||||||
|
RaiseMessage(MessageType.Normal, "QC위치에서 자동으로 커버를 올립니다");
|
||||||
|
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//커버대기상태라면 커버를 자동으로 처리해준다.
|
||||||
|
if (PUB.sm.Step == StateMachine.eSMStep.RUN && (PUB.sm.RunStep == StateMachine.ERunStep.GOUP || PUB.sm.RunStep == StateMachine.ERunStep.GODOWN))
|
||||||
|
{
|
||||||
|
|
||||||
|
if (VAR.BOOL[eVarBool.WAIT_COVER_DOWN] == true)
|
||||||
|
{
|
||||||
|
var ld = PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LD);
|
||||||
|
var rd = PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RD);
|
||||||
|
if (ld == false || rd == false)
|
||||||
|
{
|
||||||
|
PUB.log.Add("사용자 콜버튼 추가 동작 - Z내림");
|
||||||
|
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Down);
|
||||||
|
PUB.Speak(Lang.커버를내립니다);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (VAR.BOOL[eVarBool.WAIT_COVER_UP] == true)
|
||||||
|
{
|
||||||
|
var lu = PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU);
|
||||||
|
var ru = PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU);
|
||||||
|
|
||||||
|
if (lu == false || ru == false)
|
||||||
|
{
|
||||||
|
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
PUB.log.Add("사용자 콜버튼 추가 동작 - Z올림");
|
||||||
|
PUB.Speak(Lang.커버를올립니다);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else RaiseMessage(MessageType.Normal, string.Format("이미 CALL이 확정되었습니다 No={0},Pos={1}", kitNo, kitPos));
|
||||||
|
}
|
||||||
|
else RaiseMessage(MessageType.Normal, string.Format("이미 CALL이 확정되었습니다 No={0},Pos={1}", kitNo, kitPos));
|
||||||
|
}
|
||||||
|
SendToKit(kitNo, '1', (PUB.IsCanCALL() ? '1' : '0')); //콜확정을 클라이언트에 알림
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//다른대상이 이미 선택된 상태이므로 CANCEL 한다.
|
||||||
|
SendToKit(kitNo, '0', (PUB.IsCanCALL() ? '1' : '0'));
|
||||||
|
RaiseMessage(MessageType.Normal, string.Format("다른 CALL이 확정된 상태입니다. 요청KIT={2},확정KIT={0},위치={1}", PUB.Result.TargetPos - 2, PUB.Result.TargetPos, kitNo));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (kitVal == '0') //캔슬버튼을 눌렀다
|
||||||
|
{
|
||||||
|
//목표번호가 캔슬버튼을 눌렀다
|
||||||
|
if (PUB.Result.TargetPos == kitPos)
|
||||||
|
{
|
||||||
|
//상차가 완료되면 TargetPos 가 변경되어 ,더이상 해당 버튼으로는 취소하지 못한다
|
||||||
|
PUB.AGV.data.CallNo = 0;
|
||||||
|
PUB.AGV.data.CallString = "--";
|
||||||
|
|
||||||
|
SendToKit(kitNo, '0', (PUB.IsCanCALL() ? '1' : '0'));
|
||||||
|
RaiseMessage(MessageType.Normal, string.Format("콜 취소 Kit={0}", kitNo));
|
||||||
|
if (PUB.sm.RunStep != StateMachine.ERunStep.GOHOME)
|
||||||
|
{
|
||||||
|
PUB.Result.CommandKit = kitNo;
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(StateMachine.ERunStep.GOHOME);
|
||||||
|
PUB.sm.SetNewStep(StateMachine.eSMStep.RUN);
|
||||||
|
RaiseMessage(MessageType.Normal, string.Format("콜 취소로 인해 홈으로 이동합니다 Kit={0}", kitNo));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//다른놈이 취소 버튼을 눌렀다. ㅋㅋ
|
||||||
|
//아무~ 의미 없다.
|
||||||
|
SendToKit(kitNo, '0', (PUB.IsCanCALL() ? '1' : '0'));
|
||||||
|
RaiseMessage(MessageType.Normal, string.Format("해당 콜취소는 유효하지 않습니다 요청KIT={0},확정KIT={1}", kitNo, PUB.Result.TargetPos - 2));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (kitVal == '2') //BACKWORK시에만 이 값이 전송되게 한다
|
||||||
|
{
|
||||||
|
//QA 이동 명령
|
||||||
|
//발동조건 1. QC 위치에서 GOUP(대기 혹은 상차완료)상태일때 (일반적인경우)
|
||||||
|
//발동조건 2. QC 위치에서 IDLE 상태일때 (GOUP상태로 하지 않고 바로 싫어버린경우)
|
||||||
|
//발동조건 3. 충전중일때
|
||||||
|
|
||||||
|
//if (kitPos != ePosition.QC)
|
||||||
|
//{
|
||||||
|
// RaiseMessage(MessageType.Error, $"back 버튼은 QC버튼만 사용 가능 합니다");
|
||||||
|
// return;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//if (kitPos == ePosition.QC && PUB.Result.CurrentPos != ePosition.QC)
|
||||||
|
//{
|
||||||
|
// RaiseMessage(MessageType.Error, string.Format("QC의 QA버튼은 홈위치에 있어야 사용이 가능 합니다"));
|
||||||
|
// return;
|
||||||
|
//}
|
||||||
|
|
||||||
|
////명령송신은 QC로 고정한다
|
||||||
|
//PUB.Result.CommandKit = '2';
|
||||||
|
//PUB.Result.TargetPos = ePosition.QA;
|
||||||
|
//PUB.sm.ClearRunStep();
|
||||||
|
//PUB.sm.SetNewRunStep(StateMachine.ERunStep.GODOWN);
|
||||||
|
//PUB.sm.SetNewStep(StateMachine.ESMStep.RUN);
|
||||||
|
//RaiseMessage(MessageType.Normal, string.Format("후진하차 모드 대상위치={0}", ePosition.QA));
|
||||||
|
//PUB.logsys.AddI("QC의 QA리모콘 버튼 작업 입니다");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void SendToKit(char kitNo, char Value, char enbcall)
|
||||||
|
{
|
||||||
|
List<byte> buffer = new List<byte>
|
||||||
|
{
|
||||||
|
0x02,
|
||||||
|
(byte)kitNo,
|
||||||
|
(byte)Value,
|
||||||
|
(byte)enbcall,
|
||||||
|
0x03
|
||||||
|
};
|
||||||
|
WriteData(buffer.ToArray());
|
||||||
|
//RaiseMessage(MessageType.Normal, $"지그비전송 {kitNo}:{Value}:{enbcall}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetStatusString()
|
||||||
|
{
|
||||||
|
return DateTime.Now.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendStatus(String StatusString)
|
||||||
|
{
|
||||||
|
|
||||||
|
////IO
|
||||||
|
|
||||||
|
char kitno = '0';
|
||||||
|
char kitval = '1';
|
||||||
|
if (PUB.Result.TargetPos == ePosition.F1) kitno = '1';
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.F2) kitno = '2';
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.F3) kitno = '3';
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.F4) kitno = '4';
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.QC) kitno = '9';
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//충전기 충전하는 것으로한다
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA] == false && VAR.BOOL[eVarBool.FLAG_CHARGEONM] == false)
|
||||||
|
kitval = '0';
|
||||||
|
}
|
||||||
|
|
||||||
|
//콜가능여부도 전송한다
|
||||||
|
var enbcall = PUB.IsCanCALL() ? '1' : '0';
|
||||||
|
SendToKit(kitno, kitval, enbcall);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
815
Cs_HMI/Project/Dialog/DriveDetector.cs
Normal file
@@ -0,0 +1,815 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms; // required for Message
|
||||||
|
using System.Runtime.InteropServices; // required for Marshal
|
||||||
|
using System.IO;
|
||||||
|
using Microsoft.Win32.SafeHandles;
|
||||||
|
// DriveDetector - rev. 1, Oct. 31 2007
|
||||||
|
|
||||||
|
namespace usbdetect
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Hidden Form which we use to receive Windows messages about flash drives
|
||||||
|
/// </summary>
|
||||||
|
internal class DetectorForm : Form
|
||||||
|
{
|
||||||
|
private Label label1;
|
||||||
|
private DriveDetector mDetector = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set up the hidden form.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="detector">DriveDetector object which will receive notification about USB drives, see WndProc</param>
|
||||||
|
public DetectorForm(DriveDetector detector)
|
||||||
|
{
|
||||||
|
mDetector = detector;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.ShowInTaskbar = false;
|
||||||
|
this.ShowIcon = false;
|
||||||
|
this.FormBorderStyle = FormBorderStyle.None;
|
||||||
|
this.Load += new System.EventHandler(this.Load_Form);
|
||||||
|
this.Activated += new EventHandler(this.Form_Activated);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Load_Form(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
// We don't really need this, just to display the label in designer ...
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
// Create really small form, invisible anyway.
|
||||||
|
this.Size = new System.Drawing.Size(5, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Form_Activated(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This function receives all the windows messages for this window (form).
|
||||||
|
/// We call the DriveDetector from here so that is can pick up the messages about
|
||||||
|
/// drives arrived and removed.
|
||||||
|
/// </summary>
|
||||||
|
protected override void WndProc(ref Message m)
|
||||||
|
{
|
||||||
|
base.WndProc(ref m);
|
||||||
|
|
||||||
|
if (mDetector != null)
|
||||||
|
{
|
||||||
|
mDetector.WndProc(ref m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(13, 30);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(377, 12);
|
||||||
|
this.label1.TabIndex = 0;
|
||||||
|
this.label1.Text = "This is invisible form. To see DriveDetector code click View Code";
|
||||||
|
//
|
||||||
|
// DetectorForm
|
||||||
|
//
|
||||||
|
this.ClientSize = new System.Drawing.Size(435, 80);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Name = "DetectorForm";
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
} // class DetectorForm
|
||||||
|
|
||||||
|
|
||||||
|
// Delegate for event handler to handle the device events
|
||||||
|
public delegate void DriveDetectorEventHandler(Object sender, DriveDetectorEventArgs e);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Our class for passing in custom arguments to our event handlers
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class DriveDetectorEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public DriveDetectorEventArgs()
|
||||||
|
{
|
||||||
|
Cancel = false;
|
||||||
|
Drive = "";
|
||||||
|
HookQueryRemove = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get/Set the value indicating that the event should be cancelled
|
||||||
|
/// Only in QueryRemove handler.
|
||||||
|
/// </summary>
|
||||||
|
public bool Cancel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Drive letter for the device which caused this event
|
||||||
|
/// </summary>
|
||||||
|
public string Drive;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set to true in your DeviceArrived event handler if you wish to receive the
|
||||||
|
/// QueryRemove event for this drive.
|
||||||
|
/// </summary>
|
||||||
|
public bool HookQueryRemove;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Detects insertion or removal of removable drives.
|
||||||
|
/// Use it in 1 or 2 steps:
|
||||||
|
/// 1) Create instance of this class in your project and add handlers for the
|
||||||
|
/// DeviceArrived, DeviceRemoved and QueryRemove events.
|
||||||
|
/// AND (if you do not want drive detector to creaate a hidden form))
|
||||||
|
/// 2) Override WndProc in your form and call DriveDetector's WndProc from there.
|
||||||
|
/// If you do not want to do step 2, just use the DriveDetector constructor without arguments and
|
||||||
|
/// it will create its own invisible form to receive messages from Windows.
|
||||||
|
/// </summary>
|
||||||
|
class DriveDetector : IDisposable
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Events signalized to the client app.
|
||||||
|
/// Add handlers for these events in your form to be notified of removable device events
|
||||||
|
/// </summary>
|
||||||
|
public event DriveDetectorEventHandler DeviceArrived;
|
||||||
|
public event DriveDetectorEventHandler DeviceRemoved;
|
||||||
|
public event DriveDetectorEventHandler QueryRemove;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The easiest way to use DriveDetector.
|
||||||
|
/// It will create hidden form for processing Windows messages about USB drives
|
||||||
|
/// You do not need to override WndProc in your form.
|
||||||
|
/// </summary>
|
||||||
|
public DriveDetector()
|
||||||
|
{
|
||||||
|
DetectorForm frm = new DetectorForm(this);
|
||||||
|
frm.Show(); // will be hidden immediatelly
|
||||||
|
Init(frm, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Alternate constructor.
|
||||||
|
/// Pass in your Form and DriveDetector will not create hidden form.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="control">object which will receive Windows messages.
|
||||||
|
/// Pass "this" as this argument from your form class.</param>
|
||||||
|
public DriveDetector(Control control)
|
||||||
|
{
|
||||||
|
Init(control, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Consructs DriveDetector object setting also path to file which should be opened
|
||||||
|
/// when registering for query remove.
|
||||||
|
/// </summary>
|
||||||
|
///<param name="control">object which will receive Windows messages.
|
||||||
|
/// Pass "this" as this argument from your form class.</param>
|
||||||
|
/// <param name="FileToOpen">Optional. Name of a file on the removable drive which should be opened.
|
||||||
|
/// If null, root directory of the drive will be opened. Opening a file is needed for us
|
||||||
|
/// to be able to register for the query remove message. TIP: For files use relative path without drive letter.
|
||||||
|
/// e.g. "SomeFolder\file_on_flash.txt"</param>
|
||||||
|
public DriveDetector(Control control, string FileToOpen)
|
||||||
|
{
|
||||||
|
Init(control, FileToOpen);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// init the DriveDetector object
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="intPtr"></param>
|
||||||
|
private void Init(Control control, string fileToOpen)
|
||||||
|
{
|
||||||
|
mFileToOpen = fileToOpen;
|
||||||
|
mFileOnFlash = null;
|
||||||
|
mDeviceNotifyHandle = IntPtr.Zero;
|
||||||
|
mRecipientHandle = control.Handle;
|
||||||
|
mDirHandle = IntPtr.Zero; // handle to the root directory of the flash drive which we open
|
||||||
|
mCurrentDrive = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the value indicating whether the query remove event will be fired.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsQueryHooked
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (mDeviceNotifyHandle == IntPtr.Zero)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets letter of drive which is currently hooked. Empty string if none.
|
||||||
|
/// See also IsQueryHooked.
|
||||||
|
/// </summary>
|
||||||
|
public string HookedDrive
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return mCurrentDrive;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the file stream for file which this class opened on a drive to be notified
|
||||||
|
/// about it's removal.
|
||||||
|
/// This will be null unless you specified a file to open (DriveDetector opens root directory of the flash drive)
|
||||||
|
/// </summary>
|
||||||
|
public FileStream OpenedFile
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return mFileOnFlash;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Hooks specified drive to receive a message when it is being removed.
|
||||||
|
/// This can be achieved also by setting e.HookQueryRemove to true in your
|
||||||
|
/// DeviceArrived event handler.
|
||||||
|
/// By default DriveDetector will open the root directory of the flash drive to obtain notification handle
|
||||||
|
/// from Windows (to learn when the drive is about to be removed).
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="fileOnDrive">Drive letter or relative path to a file on the drive which should be
|
||||||
|
/// used to get a handle - required for registering to receive query remove messages.
|
||||||
|
/// If only drive letter is specified (e.g. "D:\\", root directory of the drive will be opened.</param>
|
||||||
|
/// <returns>true if hooked ok, false otherwise</returns>
|
||||||
|
public bool EnableQueryRemove(string fileOnDrive)
|
||||||
|
{
|
||||||
|
if (fileOnDrive == null || fileOnDrive.Length == 0)
|
||||||
|
throw new ArgumentException("Drive path must be supplied to register for Query remove.");
|
||||||
|
|
||||||
|
if ( fileOnDrive.Length == 2 && fileOnDrive[1] == ':' )
|
||||||
|
fileOnDrive += '\\'; // append "\\" if only drive letter with ":" was passed in.
|
||||||
|
|
||||||
|
if (mDeviceNotifyHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
// Unregister first...
|
||||||
|
RegisterForDeviceChange(false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Path.GetFileName(fileOnDrive).Length == 0 ||!File.Exists(fileOnDrive))
|
||||||
|
mFileToOpen = null; // use root directory...
|
||||||
|
else
|
||||||
|
mFileToOpen = fileOnDrive;
|
||||||
|
|
||||||
|
RegisterQuery(Path.GetPathRoot(fileOnDrive));
|
||||||
|
if (mDeviceNotifyHandle == IntPtr.Zero)
|
||||||
|
return false; // failed to register
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Unhooks any currently hooked drive so that the query remove
|
||||||
|
/// message is not generated for it.
|
||||||
|
/// </summary>
|
||||||
|
public void DisableQueryRemove()
|
||||||
|
{
|
||||||
|
if (mDeviceNotifyHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
RegisterForDeviceChange(false, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Unregister and close the file we may have opened on the removable drive.
|
||||||
|
/// Garbage collector will call this method.
|
||||||
|
/// </summary>
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
RegisterForDeviceChange(false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region WindowProc
|
||||||
|
/// <summary>
|
||||||
|
/// Message handler which must be called from client form.
|
||||||
|
/// Processes Windows messages and calls event handlers.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="m"></param>
|
||||||
|
public void WndProc(ref Message m)
|
||||||
|
{
|
||||||
|
int devType;
|
||||||
|
char c;
|
||||||
|
|
||||||
|
if (m.Msg == WM_DEVICECHANGE)
|
||||||
|
{
|
||||||
|
// WM_DEVICECHANGE can have several meanings depending on the WParam value...
|
||||||
|
switch (m.WParam.ToInt32())
|
||||||
|
{
|
||||||
|
|
||||||
|
//
|
||||||
|
// New device has just arrived
|
||||||
|
//
|
||||||
|
case DBT_DEVICEARRIVAL:
|
||||||
|
|
||||||
|
devType = Marshal.ReadInt32(m.LParam, 4);
|
||||||
|
if (devType == DBT_DEVTYP_VOLUME)
|
||||||
|
{
|
||||||
|
DEV_BROADCAST_VOLUME vol;
|
||||||
|
vol = (DEV_BROADCAST_VOLUME)
|
||||||
|
Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));
|
||||||
|
|
||||||
|
// Get the drive letter
|
||||||
|
c = DriveMaskToLetter(vol.dbcv_unitmask);
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Call the client event handler
|
||||||
|
//
|
||||||
|
// We should create copy of the event before testing it and
|
||||||
|
// calling the delegate - if any
|
||||||
|
DriveDetectorEventHandler tempDeviceArrived = DeviceArrived;
|
||||||
|
if ( tempDeviceArrived != null )
|
||||||
|
{
|
||||||
|
DriveDetectorEventArgs e = new DriveDetectorEventArgs();
|
||||||
|
e.Drive = c + ":\\";
|
||||||
|
tempDeviceArrived(this, e);
|
||||||
|
|
||||||
|
// Register for query remove if requested
|
||||||
|
if (e.HookQueryRemove)
|
||||||
|
{
|
||||||
|
// If something is already hooked, unhook it now
|
||||||
|
if (mDeviceNotifyHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
RegisterForDeviceChange(false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
RegisterQuery(c + ":\\");
|
||||||
|
}
|
||||||
|
} // if has event handler
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Device is about to be removed
|
||||||
|
// Any application can cancel the removal
|
||||||
|
//
|
||||||
|
case DBT_DEVICEQUERYREMOVE:
|
||||||
|
|
||||||
|
devType = Marshal.ReadInt32(m.LParam, 4);
|
||||||
|
if (devType == DBT_DEVTYP_HANDLE)
|
||||||
|
{
|
||||||
|
// TODO: we could get the handle for which this message is sent
|
||||||
|
// from vol.dbch_handle and compare it against a list of handles for
|
||||||
|
// which we have registered the query remove message (?)
|
||||||
|
//DEV_BROADCAST_HANDLE vol;
|
||||||
|
//vol = (DEV_BROADCAST_HANDLE)
|
||||||
|
// Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HANDLE));
|
||||||
|
// if ( vol.dbch_handle ....
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Call the event handler in client
|
||||||
|
//
|
||||||
|
DriveDetectorEventHandler tempQuery = QueryRemove;
|
||||||
|
if (tempQuery != null)
|
||||||
|
{
|
||||||
|
DriveDetectorEventArgs e = new DriveDetectorEventArgs();
|
||||||
|
e.Drive = mCurrentDrive; // drive which is hooked
|
||||||
|
tempQuery(this, e);
|
||||||
|
|
||||||
|
// If the client wants to cancel, let Windows know
|
||||||
|
if (e.Cancel)
|
||||||
|
{
|
||||||
|
m.Result = (IntPtr)BROADCAST_QUERY_DENY;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Change 28.10.2007: Unregister the notification, this will
|
||||||
|
// close the handle to file or root directory also.
|
||||||
|
// We have to close it anyway to allow the removal so
|
||||||
|
// even if some other app cancels the removal we would not know about it...
|
||||||
|
RegisterForDeviceChange(false, null); // will also close the mFileOnFlash
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Device has been removed
|
||||||
|
//
|
||||||
|
case DBT_DEVICEREMOVECOMPLETE:
|
||||||
|
|
||||||
|
devType = Marshal.ReadInt32(m.LParam, 4);
|
||||||
|
if (devType == DBT_DEVTYP_VOLUME)
|
||||||
|
{
|
||||||
|
devType = Marshal.ReadInt32(m.LParam, 4);
|
||||||
|
if (devType == DBT_DEVTYP_VOLUME)
|
||||||
|
{
|
||||||
|
DEV_BROADCAST_VOLUME vol;
|
||||||
|
vol = (DEV_BROADCAST_VOLUME)
|
||||||
|
Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));
|
||||||
|
c = DriveMaskToLetter(vol.dbcv_unitmask);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Call the client event handler
|
||||||
|
//
|
||||||
|
DriveDetectorEventHandler tempDeviceRemoved = DeviceRemoved;
|
||||||
|
if (tempDeviceRemoved != null)
|
||||||
|
{
|
||||||
|
DriveDetectorEventArgs e = new DriveDetectorEventArgs();
|
||||||
|
e.Drive = c + ":\\";
|
||||||
|
tempDeviceRemoved(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: we could unregister the notify handle here if we knew it is the
|
||||||
|
// right drive which has been just removed
|
||||||
|
//RegisterForDeviceChange(false, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#region Private Area
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// New: 28.10.2007 - handle to root directory of flash drive which is opened
|
||||||
|
/// for device notification
|
||||||
|
/// </summary>
|
||||||
|
private IntPtr mDirHandle = IntPtr.Zero;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class which contains also handle to the file opened on the flash drive
|
||||||
|
/// </summary>
|
||||||
|
private FileStream mFileOnFlash = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Name of the file to try to open on the removable drive for query remove registration
|
||||||
|
/// </summary>
|
||||||
|
private string mFileToOpen;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Handle to file which we keep opened on the drive if query remove message is required by the client
|
||||||
|
/// </summary>
|
||||||
|
private IntPtr mDeviceNotifyHandle;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Handle of the window which receives messages from Windows. This will be a form.
|
||||||
|
/// </summary>
|
||||||
|
private IntPtr mRecipientHandle;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Drive which is currently hooked for query remove
|
||||||
|
/// </summary>
|
||||||
|
private string mCurrentDrive;
|
||||||
|
|
||||||
|
|
||||||
|
// Win32 constants
|
||||||
|
private const int DBT_DEVTYP_DEVICEINTERFACE = 5;
|
||||||
|
private const int DBT_DEVTYP_HANDLE = 6;
|
||||||
|
private const int BROADCAST_QUERY_DENY = 0x424D5144;
|
||||||
|
private const int WM_DEVICECHANGE = 0x0219;
|
||||||
|
private const int DBT_DEVICEARRIVAL = 0x8000; // system detected a new device
|
||||||
|
private const int DBT_DEVICEQUERYREMOVE = 0x8001; // Preparing to remove (any program can disable the removal)
|
||||||
|
private const int DBT_DEVICEREMOVECOMPLETE = 0x8004; // removed
|
||||||
|
private const int DBT_DEVTYP_VOLUME = 0x00000002; // drive type is logical volume
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Registers for receiving the query remove message for a given drive.
|
||||||
|
/// We need to open a handle on that drive and register with this handle.
|
||||||
|
/// Client can specify this file in mFileToOpen or we will open root directory of the drive
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="drive">drive for which to register. </param>
|
||||||
|
private void RegisterQuery(string drive)
|
||||||
|
{
|
||||||
|
bool register = true;
|
||||||
|
|
||||||
|
if (mFileToOpen == null)
|
||||||
|
{
|
||||||
|
// Change 28.10.2007 - Open the root directory if no file specified - leave mFileToOpen null
|
||||||
|
// If client gave us no file, let's pick one on the drive...
|
||||||
|
//mFileToOpen = GetAnyFile(drive);
|
||||||
|
//if (mFileToOpen.Length == 0)
|
||||||
|
// return; // no file found on the flash drive
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Make sure the path in mFileToOpen contains valid drive
|
||||||
|
// If there is a drive letter in the path, it may be different from the actual
|
||||||
|
// letter assigned to the drive now. We will cut it off and merge the actual drive
|
||||||
|
// with the rest of the path.
|
||||||
|
if (mFileToOpen.Contains(":"))
|
||||||
|
{
|
||||||
|
string tmp = mFileToOpen.Substring(3);
|
||||||
|
string root = Path.GetPathRoot(drive);
|
||||||
|
mFileToOpen = Path.Combine(root, tmp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
mFileToOpen = Path.Combine(drive, mFileToOpen);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//mFileOnFlash = new FileStream(mFileToOpen, FileMode.Open);
|
||||||
|
// Change 28.10.2007 - Open the root directory
|
||||||
|
if (mFileToOpen == null) // open root directory
|
||||||
|
mFileOnFlash = null;
|
||||||
|
else
|
||||||
|
mFileOnFlash = new FileStream(mFileToOpen, FileMode.Open);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
// just do not register if the file could not be opened
|
||||||
|
register = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (register)
|
||||||
|
{
|
||||||
|
//RegisterForDeviceChange(true, mFileOnFlash.SafeFileHandle);
|
||||||
|
//mCurrentDrive = drive;
|
||||||
|
// Change 28.10.2007 - Open the root directory
|
||||||
|
if (mFileOnFlash == null)
|
||||||
|
RegisterForDeviceChange(drive);
|
||||||
|
else
|
||||||
|
// old version
|
||||||
|
RegisterForDeviceChange(true, mFileOnFlash.SafeFileHandle);
|
||||||
|
|
||||||
|
mCurrentDrive = drive;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// New version which gets the handle automatically for specified directory
|
||||||
|
/// Only for registering! Unregister with the old version of this function...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="register"></param>
|
||||||
|
/// <param name="dirPath">e.g. C:\\dir</param>
|
||||||
|
private void RegisterForDeviceChange(string dirPath)
|
||||||
|
{
|
||||||
|
IntPtr handle = Native.OpenDirectory(dirPath);
|
||||||
|
if (handle == IntPtr.Zero)
|
||||||
|
{
|
||||||
|
mDeviceNotifyHandle = IntPtr.Zero;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
mDirHandle = handle; // save handle for closing it when unregistering
|
||||||
|
|
||||||
|
// Register for handle
|
||||||
|
DEV_BROADCAST_HANDLE data = new DEV_BROADCAST_HANDLE();
|
||||||
|
data.dbch_devicetype = DBT_DEVTYP_HANDLE;
|
||||||
|
data.dbch_reserved = 0;
|
||||||
|
data.dbch_nameoffset = 0;
|
||||||
|
//data.dbch_data = null;
|
||||||
|
//data.dbch_eventguid = 0;
|
||||||
|
data.dbch_handle = handle;
|
||||||
|
data.dbch_hdevnotify = (IntPtr)0;
|
||||||
|
int size = Marshal.SizeOf(data);
|
||||||
|
data.dbch_size = size;
|
||||||
|
IntPtr buffer = Marshal.AllocHGlobal(size);
|
||||||
|
Marshal.StructureToPtr(data, buffer, true);
|
||||||
|
|
||||||
|
mDeviceNotifyHandle = Native.RegisterDeviceNotification(mRecipientHandle, buffer, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Registers to be notified when the volume is about to be removed
|
||||||
|
/// This is requierd if you want to get the QUERY REMOVE messages
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="register">true to register, false to unregister</param>
|
||||||
|
/// <param name="fileHandle">handle of a file opened on the removable drive</param>
|
||||||
|
private void RegisterForDeviceChange(bool register, SafeFileHandle fileHandle)
|
||||||
|
{
|
||||||
|
if (register)
|
||||||
|
{
|
||||||
|
// Register for handle
|
||||||
|
DEV_BROADCAST_HANDLE data = new DEV_BROADCAST_HANDLE();
|
||||||
|
data.dbch_devicetype = DBT_DEVTYP_HANDLE;
|
||||||
|
data.dbch_reserved = 0;
|
||||||
|
data.dbch_nameoffset = 0;
|
||||||
|
//data.dbch_data = null;
|
||||||
|
//data.dbch_eventguid = 0;
|
||||||
|
data.dbch_handle = fileHandle.DangerousGetHandle(); //Marshal. fileHandle;
|
||||||
|
data.dbch_hdevnotify = (IntPtr)0;
|
||||||
|
int size = Marshal.SizeOf(data);
|
||||||
|
data.dbch_size = size;
|
||||||
|
IntPtr buffer = Marshal.AllocHGlobal(size);
|
||||||
|
Marshal.StructureToPtr(data, buffer, true);
|
||||||
|
|
||||||
|
mDeviceNotifyHandle = Native.RegisterDeviceNotification(mRecipientHandle, buffer, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// close the directory handle
|
||||||
|
if (mDirHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
Native.CloseDirectoryHandle(mDirHandle);
|
||||||
|
// string er = Marshal.GetLastWin32Error().ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
// unregister
|
||||||
|
if (mDeviceNotifyHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
Native.UnregisterDeviceNotification(mDeviceNotifyHandle);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mDeviceNotifyHandle = IntPtr.Zero;
|
||||||
|
mDirHandle = IntPtr.Zero;
|
||||||
|
|
||||||
|
mCurrentDrive = "";
|
||||||
|
if (mFileOnFlash != null)
|
||||||
|
{
|
||||||
|
mFileOnFlash.Close();
|
||||||
|
mFileOnFlash = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets drive letter from a bit mask where bit 0 = A, bit 1 = B etc.
|
||||||
|
/// There can actually be more than one drive in the mask but we
|
||||||
|
/// just use the last one in this case.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="mask"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private static char DriveMaskToLetter(int mask)
|
||||||
|
{
|
||||||
|
char letter;
|
||||||
|
string drives = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
// 1 = A
|
||||||
|
// 2 = B
|
||||||
|
// 4 = C...
|
||||||
|
int cnt = 0;
|
||||||
|
int pom = mask / 2;
|
||||||
|
while (pom != 0)
|
||||||
|
{
|
||||||
|
// while there is any bit set in the mask
|
||||||
|
// shift it to the righ...
|
||||||
|
pom = pom / 2;
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cnt < drives.Length)
|
||||||
|
letter = drives[cnt];
|
||||||
|
else
|
||||||
|
letter = '?';
|
||||||
|
|
||||||
|
return letter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 28.10.2007 - no longer needed
|
||||||
|
/// <summary>
|
||||||
|
/// Searches for any file in a given path and returns its full path
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="drive">drive to search</param>
|
||||||
|
/// <returns>path of the file or empty string</returns>
|
||||||
|
private string GetAnyFile(string drive)
|
||||||
|
{
|
||||||
|
string file = "";
|
||||||
|
// First try files in the root
|
||||||
|
string[] files = Directory.GetFiles(drive);
|
||||||
|
if (files.Length == 0)
|
||||||
|
{
|
||||||
|
// if no file in the root, search whole drive
|
||||||
|
files = Directory.GetFiles(drive, "*.*", SearchOption.AllDirectories);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (files.Length > 0)
|
||||||
|
file = files[0]; // get the first file
|
||||||
|
|
||||||
|
// return empty string if no file found
|
||||||
|
return file;
|
||||||
|
}*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region Native Win32 API
|
||||||
|
/// <summary>
|
||||||
|
/// WinAPI functions
|
||||||
|
/// </summary>
|
||||||
|
private class Native
|
||||||
|
{
|
||||||
|
// HDEVNOTIFY RegisterDeviceNotification(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
|
||||||
|
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||||
|
public static extern IntPtr RegisterDeviceNotification(IntPtr hRecipient, IntPtr NotificationFilter, uint Flags);
|
||||||
|
|
||||||
|
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||||
|
public static extern uint UnregisterDeviceNotification(IntPtr hHandle);
|
||||||
|
|
||||||
|
//
|
||||||
|
// CreateFile - MSDN
|
||||||
|
const uint GENERIC_READ = 0x80000000;
|
||||||
|
const uint OPEN_EXISTING = 3;
|
||||||
|
const uint FILE_SHARE_READ = 0x00000001;
|
||||||
|
const uint FILE_SHARE_WRITE = 0x00000002;
|
||||||
|
const uint FILE_ATTRIBUTE_NORMAL = 128;
|
||||||
|
const uint FILE_FLAG_BACKUP_SEMANTICS = 0x02000000;
|
||||||
|
static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
|
||||||
|
|
||||||
|
|
||||||
|
// should be "static extern unsafe"
|
||||||
|
[DllImport("kernel32", SetLastError = true)]
|
||||||
|
static extern IntPtr CreateFile(
|
||||||
|
string FileName, // file name
|
||||||
|
uint DesiredAccess, // access mode
|
||||||
|
uint ShareMode, // share mode
|
||||||
|
uint SecurityAttributes, // Security Attributes
|
||||||
|
uint CreationDisposition, // how to create
|
||||||
|
uint FlagsAndAttributes, // file attributes
|
||||||
|
int hTemplateFile // handle to template file
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
[DllImport("kernel32", SetLastError = true)]
|
||||||
|
static extern bool CloseHandle(
|
||||||
|
IntPtr hObject // handle to object
|
||||||
|
);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Opens a directory, returns it's handle or zero.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dirPath">path to the directory, e.g. "C:\\dir"</param>
|
||||||
|
/// <returns>handle to the directory. Close it with CloseHandle().</returns>
|
||||||
|
static public IntPtr OpenDirectory(string dirPath)
|
||||||
|
{
|
||||||
|
// open the existing file for reading
|
||||||
|
IntPtr handle = CreateFile(
|
||||||
|
dirPath,
|
||||||
|
GENERIC_READ,
|
||||||
|
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||||
|
0,
|
||||||
|
OPEN_EXISTING,
|
||||||
|
FILE_FLAG_BACKUP_SEMANTICS | FILE_ATTRIBUTE_NORMAL,
|
||||||
|
0);
|
||||||
|
|
||||||
|
if ( handle == INVALID_HANDLE_VALUE)
|
||||||
|
return IntPtr.Zero;
|
||||||
|
else
|
||||||
|
return handle;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool CloseDirectoryHandle(IntPtr handle)
|
||||||
|
{
|
||||||
|
return CloseHandle(handle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Structure with information for RegisterDeviceNotification.
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public struct DEV_BROADCAST_HANDLE
|
||||||
|
{
|
||||||
|
public int dbch_size;
|
||||||
|
public int dbch_devicetype;
|
||||||
|
public int dbch_reserved;
|
||||||
|
public IntPtr dbch_handle;
|
||||||
|
public IntPtr dbch_hdevnotify;
|
||||||
|
public Guid dbch_eventguid;
|
||||||
|
public long dbch_nameoffset;
|
||||||
|
//public byte[] dbch_data[1]; // = new byte[1];
|
||||||
|
public byte dbch_data;
|
||||||
|
public byte dbch_data1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Struct for parameters of the WM_DEVICECHANGE message
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public struct DEV_BROADCAST_VOLUME
|
||||||
|
{
|
||||||
|
public int dbcv_size;
|
||||||
|
public int dbcv_devicetype;
|
||||||
|
public int dbcv_reserved;
|
||||||
|
public int dbcv_unitmask;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
687
Cs_HMI/Project/Dialog/fCounter.Designer.cs
generated
Normal file
@@ -0,0 +1,687 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fCounter
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
|
this.label9 = new System.Windows.Forms.Label();
|
||||||
|
this.label10 = new System.Windows.Forms.Label();
|
||||||
|
this.lbcnt1 = new arCtl.arLabel();
|
||||||
|
this.lbcnt2 = new arCtl.arLabel();
|
||||||
|
this.lbcnt3 = new arCtl.arLabel();
|
||||||
|
this.lbcnt4 = new arCtl.arLabel();
|
||||||
|
this.lbcnt5 = new arCtl.arLabel();
|
||||||
|
this.lbcnta = new arCtl.arLabel();
|
||||||
|
this.lbcntm = new arCtl.arLabel();
|
||||||
|
this.lbcnte = new arCtl.arLabel();
|
||||||
|
this.lbcntqa = new arCtl.arLabel();
|
||||||
|
this.lbcntqc = new arCtl.arLabel();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tableLayoutPanel1
|
||||||
|
//
|
||||||
|
this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
|
||||||
|
this.tableLayoutPanel1.ColumnCount = 5;
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label2, 1, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label3, 2, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label4, 3, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label5, 4, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label6, 4, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label7, 3, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label8, 2, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label9, 1, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.label10, 0, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnt1, 0, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnt2, 1, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnt3, 2, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnt4, 3, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnt5, 4, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnta, 0, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcntm, 1, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcnte, 2, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcntqa, 3, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lbcntqc, 4, 3);
|
||||||
|
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
this.tableLayoutPanel1.RowCount = 4;
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.tableLayoutPanel1.Size = new System.Drawing.Size(392, 135);
|
||||||
|
this.tableLayoutPanel1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label1.Location = new System.Drawing.Point(4, 1);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label1.TabIndex = 0;
|
||||||
|
this.label1.Text = "FVI-1";
|
||||||
|
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label2.Location = new System.Drawing.Point(82, 1);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label2.TabIndex = 0;
|
||||||
|
this.label2.Text = "FVI-2";
|
||||||
|
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label3.Location = new System.Drawing.Point(160, 1);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label3.TabIndex = 0;
|
||||||
|
this.label3.Text = "FVI-3";
|
||||||
|
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label4.Location = new System.Drawing.Point(238, 1);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label4.TabIndex = 0;
|
||||||
|
this.label4.Text = "FVI-4";
|
||||||
|
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label5.Location = new System.Drawing.Point(316, 1);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(72, 20);
|
||||||
|
this.label5.TabIndex = 0;
|
||||||
|
this.label5.Text = "--";
|
||||||
|
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label6
|
||||||
|
//
|
||||||
|
this.label6.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label6.Location = new System.Drawing.Point(316, 68);
|
||||||
|
this.label6.Name = "label6";
|
||||||
|
this.label6.Size = new System.Drawing.Size(72, 20);
|
||||||
|
this.label6.TabIndex = 0;
|
||||||
|
this.label6.Text = "QC";
|
||||||
|
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label7
|
||||||
|
//
|
||||||
|
this.label7.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label7.Location = new System.Drawing.Point(238, 68);
|
||||||
|
this.label7.Name = "label7";
|
||||||
|
this.label7.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label7.TabIndex = 0;
|
||||||
|
this.label7.Text = "QA";
|
||||||
|
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label8
|
||||||
|
//
|
||||||
|
this.label8.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label8.Location = new System.Drawing.Point(160, 68);
|
||||||
|
this.label8.Name = "label8";
|
||||||
|
this.label8.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label8.TabIndex = 0;
|
||||||
|
this.label8.Text = "충전실패";
|
||||||
|
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label9
|
||||||
|
//
|
||||||
|
this.label9.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label9.Location = new System.Drawing.Point(82, 68);
|
||||||
|
this.label9.Name = "label9";
|
||||||
|
this.label9.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label9.TabIndex = 0;
|
||||||
|
this.label9.Text = "충전(수동)";
|
||||||
|
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// label10
|
||||||
|
//
|
||||||
|
this.label10.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.label10.Location = new System.Drawing.Point(4, 68);
|
||||||
|
this.label10.Name = "label10";
|
||||||
|
this.label10.Size = new System.Drawing.Size(71, 20);
|
||||||
|
this.label10.TabIndex = 0;
|
||||||
|
this.label10.Text = "충전(자동)";
|
||||||
|
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// lbcnt1
|
||||||
|
//
|
||||||
|
this.lbcnt1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnt1.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnt1.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnt1.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnt1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnt1.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnt1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnt1.GradientEnable = true;
|
||||||
|
this.lbcnt1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnt1.GradientRepeatBG = false;
|
||||||
|
this.lbcnt1.isButton = false;
|
||||||
|
this.lbcnt1.Location = new System.Drawing.Point(1, 22);
|
||||||
|
this.lbcnt1.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnt1.msg = null;
|
||||||
|
this.lbcnt1.Name = "lbcnt1";
|
||||||
|
this.lbcnt1.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnt1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnt1.ProgressEnable = false;
|
||||||
|
this.lbcnt1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnt1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt1.ProgressMax = 100F;
|
||||||
|
this.lbcnt1.ProgressMin = 0F;
|
||||||
|
this.lbcnt1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt1.ProgressValue = 0F;
|
||||||
|
this.lbcnt1.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnt1.Sign = "";
|
||||||
|
this.lbcnt1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnt1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnt1.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcnt1.TabIndex = 5;
|
||||||
|
this.lbcnt1.Text = "99";
|
||||||
|
this.lbcnt1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnt1.TextShadow = true;
|
||||||
|
this.lbcnt1.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcnt2
|
||||||
|
//
|
||||||
|
this.lbcnt2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt2.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnt2.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnt2.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnt2.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnt2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnt2.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnt2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnt2.GradientEnable = true;
|
||||||
|
this.lbcnt2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnt2.GradientRepeatBG = false;
|
||||||
|
this.lbcnt2.isButton = false;
|
||||||
|
this.lbcnt2.Location = new System.Drawing.Point(79, 22);
|
||||||
|
this.lbcnt2.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnt2.msg = null;
|
||||||
|
this.lbcnt2.Name = "lbcnt2";
|
||||||
|
this.lbcnt2.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnt2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnt2.ProgressEnable = false;
|
||||||
|
this.lbcnt2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnt2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt2.ProgressMax = 100F;
|
||||||
|
this.lbcnt2.ProgressMin = 0F;
|
||||||
|
this.lbcnt2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt2.ProgressValue = 0F;
|
||||||
|
this.lbcnt2.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnt2.Sign = "";
|
||||||
|
this.lbcnt2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnt2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnt2.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcnt2.TabIndex = 5;
|
||||||
|
this.lbcnt2.Text = "99";
|
||||||
|
this.lbcnt2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnt2.TextShadow = true;
|
||||||
|
this.lbcnt2.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcnt3
|
||||||
|
//
|
||||||
|
this.lbcnt3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt3.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnt3.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnt3.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnt3.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnt3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnt3.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnt3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnt3.GradientEnable = true;
|
||||||
|
this.lbcnt3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnt3.GradientRepeatBG = false;
|
||||||
|
this.lbcnt3.isButton = false;
|
||||||
|
this.lbcnt3.Location = new System.Drawing.Point(157, 22);
|
||||||
|
this.lbcnt3.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnt3.msg = null;
|
||||||
|
this.lbcnt3.Name = "lbcnt3";
|
||||||
|
this.lbcnt3.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnt3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnt3.ProgressEnable = false;
|
||||||
|
this.lbcnt3.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnt3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt3.ProgressMax = 100F;
|
||||||
|
this.lbcnt3.ProgressMin = 0F;
|
||||||
|
this.lbcnt3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt3.ProgressValue = 0F;
|
||||||
|
this.lbcnt3.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnt3.Sign = "";
|
||||||
|
this.lbcnt3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnt3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnt3.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcnt3.TabIndex = 5;
|
||||||
|
this.lbcnt3.Text = "99";
|
||||||
|
this.lbcnt3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnt3.TextShadow = true;
|
||||||
|
this.lbcnt3.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcnt4
|
||||||
|
//
|
||||||
|
this.lbcnt4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt4.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt4.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnt4.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnt4.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt4.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnt4.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnt4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnt4.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnt4.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnt4.GradientEnable = true;
|
||||||
|
this.lbcnt4.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnt4.GradientRepeatBG = false;
|
||||||
|
this.lbcnt4.isButton = false;
|
||||||
|
this.lbcnt4.Location = new System.Drawing.Point(235, 22);
|
||||||
|
this.lbcnt4.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt4.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt4.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnt4.msg = null;
|
||||||
|
this.lbcnt4.Name = "lbcnt4";
|
||||||
|
this.lbcnt4.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt4.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnt4.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnt4.ProgressEnable = false;
|
||||||
|
this.lbcnt4.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnt4.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt4.ProgressMax = 100F;
|
||||||
|
this.lbcnt4.ProgressMin = 0F;
|
||||||
|
this.lbcnt4.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt4.ProgressValue = 0F;
|
||||||
|
this.lbcnt4.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnt4.Sign = "";
|
||||||
|
this.lbcnt4.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnt4.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt4.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnt4.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcnt4.TabIndex = 5;
|
||||||
|
this.lbcnt4.Text = "99";
|
||||||
|
this.lbcnt4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnt4.TextShadow = true;
|
||||||
|
this.lbcnt4.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcnt5
|
||||||
|
//
|
||||||
|
this.lbcnt5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt5.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnt5.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt5.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnt5.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnt5.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt5.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnt5.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnt5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnt5.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnt5.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnt5.GradientEnable = true;
|
||||||
|
this.lbcnt5.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnt5.GradientRepeatBG = false;
|
||||||
|
this.lbcnt5.isButton = false;
|
||||||
|
this.lbcnt5.Location = new System.Drawing.Point(313, 22);
|
||||||
|
this.lbcnt5.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt5.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt5.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnt5.msg = null;
|
||||||
|
this.lbcnt5.Name = "lbcnt5";
|
||||||
|
this.lbcnt5.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt5.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnt5.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnt5.ProgressEnable = false;
|
||||||
|
this.lbcnt5.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnt5.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnt5.ProgressMax = 100F;
|
||||||
|
this.lbcnt5.ProgressMin = 0F;
|
||||||
|
this.lbcnt5.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnt5.ProgressValue = 0F;
|
||||||
|
this.lbcnt5.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnt5.Sign = "";
|
||||||
|
this.lbcnt5.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnt5.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnt5.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnt5.Size = new System.Drawing.Size(78, 45);
|
||||||
|
this.lbcnt5.TabIndex = 5;
|
||||||
|
this.lbcnt5.Text = "--";
|
||||||
|
this.lbcnt5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnt5.TextShadow = true;
|
||||||
|
this.lbcnt5.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcnta
|
||||||
|
//
|
||||||
|
this.lbcnta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnta.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnta.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnta.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnta.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnta.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnta.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnta.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnta.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnta.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnta.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnta.GradientEnable = true;
|
||||||
|
this.lbcnta.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnta.GradientRepeatBG = false;
|
||||||
|
this.lbcnta.isButton = false;
|
||||||
|
this.lbcnta.Location = new System.Drawing.Point(1, 89);
|
||||||
|
this.lbcnta.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnta.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnta.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnta.msg = null;
|
||||||
|
this.lbcnta.Name = "lbcnta";
|
||||||
|
this.lbcnta.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnta.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnta.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnta.ProgressEnable = false;
|
||||||
|
this.lbcnta.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnta.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnta.ProgressMax = 100F;
|
||||||
|
this.lbcnta.ProgressMin = 0F;
|
||||||
|
this.lbcnta.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnta.ProgressValue = 0F;
|
||||||
|
this.lbcnta.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnta.Sign = "";
|
||||||
|
this.lbcnta.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnta.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnta.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnta.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcnta.TabIndex = 5;
|
||||||
|
this.lbcnta.Text = "99";
|
||||||
|
this.lbcnta.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnta.TextShadow = true;
|
||||||
|
this.lbcnta.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcntm
|
||||||
|
//
|
||||||
|
this.lbcntm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcntm.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcntm.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntm.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcntm.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcntm.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntm.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcntm.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcntm.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcntm.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcntm.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcntm.GradientEnable = true;
|
||||||
|
this.lbcntm.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcntm.GradientRepeatBG = false;
|
||||||
|
this.lbcntm.isButton = false;
|
||||||
|
this.lbcntm.Location = new System.Drawing.Point(79, 89);
|
||||||
|
this.lbcntm.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntm.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcntm.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcntm.msg = null;
|
||||||
|
this.lbcntm.Name = "lbcntm";
|
||||||
|
this.lbcntm.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcntm.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcntm.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcntm.ProgressEnable = false;
|
||||||
|
this.lbcntm.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcntm.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcntm.ProgressMax = 100F;
|
||||||
|
this.lbcntm.ProgressMin = 0F;
|
||||||
|
this.lbcntm.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntm.ProgressValue = 0F;
|
||||||
|
this.lbcntm.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcntm.Sign = "";
|
||||||
|
this.lbcntm.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcntm.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcntm.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcntm.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcntm.TabIndex = 5;
|
||||||
|
this.lbcntm.Text = "99";
|
||||||
|
this.lbcntm.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcntm.TextShadow = true;
|
||||||
|
this.lbcntm.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcnte
|
||||||
|
//
|
||||||
|
this.lbcnte.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnte.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcnte.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnte.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcnte.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcnte.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnte.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcnte.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcnte.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcnte.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcnte.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcnte.GradientEnable = true;
|
||||||
|
this.lbcnte.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcnte.GradientRepeatBG = false;
|
||||||
|
this.lbcnte.isButton = false;
|
||||||
|
this.lbcnte.Location = new System.Drawing.Point(157, 89);
|
||||||
|
this.lbcnte.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnte.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnte.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcnte.msg = null;
|
||||||
|
this.lbcnte.Name = "lbcnte";
|
||||||
|
this.lbcnte.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnte.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcnte.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcnte.ProgressEnable = false;
|
||||||
|
this.lbcnte.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcnte.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcnte.ProgressMax = 100F;
|
||||||
|
this.lbcnte.ProgressMin = 0F;
|
||||||
|
this.lbcnte.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcnte.ProgressValue = 0F;
|
||||||
|
this.lbcnte.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcnte.Sign = "";
|
||||||
|
this.lbcnte.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcnte.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcnte.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcnte.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcnte.TabIndex = 5;
|
||||||
|
this.lbcnte.Text = "99";
|
||||||
|
this.lbcnte.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcnte.TextShadow = true;
|
||||||
|
this.lbcnte.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcntqa
|
||||||
|
//
|
||||||
|
this.lbcntqa.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcntqa.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcntqa.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqa.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcntqa.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcntqa.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqa.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcntqa.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcntqa.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcntqa.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcntqa.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcntqa.GradientEnable = true;
|
||||||
|
this.lbcntqa.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcntqa.GradientRepeatBG = false;
|
||||||
|
this.lbcntqa.isButton = false;
|
||||||
|
this.lbcntqa.Location = new System.Drawing.Point(235, 89);
|
||||||
|
this.lbcntqa.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqa.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcntqa.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcntqa.msg = null;
|
||||||
|
this.lbcntqa.Name = "lbcntqa";
|
||||||
|
this.lbcntqa.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcntqa.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcntqa.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcntqa.ProgressEnable = false;
|
||||||
|
this.lbcntqa.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcntqa.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcntqa.ProgressMax = 100F;
|
||||||
|
this.lbcntqa.ProgressMin = 0F;
|
||||||
|
this.lbcntqa.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqa.ProgressValue = 0F;
|
||||||
|
this.lbcntqa.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcntqa.Sign = "";
|
||||||
|
this.lbcntqa.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcntqa.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcntqa.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcntqa.Size = new System.Drawing.Size(77, 45);
|
||||||
|
this.lbcntqa.TabIndex = 5;
|
||||||
|
this.lbcntqa.Text = "99";
|
||||||
|
this.lbcntqa.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcntqa.TextShadow = true;
|
||||||
|
this.lbcntqa.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbcntqc
|
||||||
|
//
|
||||||
|
this.lbcntqc.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcntqc.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.lbcntqc.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqc.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbcntqc.BorderColorOver = System.Drawing.Color.DodgerBlue;
|
||||||
|
this.lbcntqc.BorderSize = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqc.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbcntqc.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbcntqc.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lbcntqc.Font = new System.Drawing.Font("Consolas", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbcntqc.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbcntqc.GradientEnable = true;
|
||||||
|
this.lbcntqc.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbcntqc.GradientRepeatBG = false;
|
||||||
|
this.lbcntqc.isButton = false;
|
||||||
|
this.lbcntqc.Location = new System.Drawing.Point(313, 89);
|
||||||
|
this.lbcntqc.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqc.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcntqc.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbcntqc.msg = null;
|
||||||
|
this.lbcntqc.Name = "lbcntqc";
|
||||||
|
this.lbcntqc.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcntqc.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbcntqc.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbcntqc.ProgressEnable = false;
|
||||||
|
this.lbcntqc.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbcntqc.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbcntqc.ProgressMax = 100F;
|
||||||
|
this.lbcntqc.ProgressMin = 0F;
|
||||||
|
this.lbcntqc.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbcntqc.ProgressValue = 0F;
|
||||||
|
this.lbcntqc.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbcntqc.Sign = "";
|
||||||
|
this.lbcntqc.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbcntqc.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbcntqc.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbcntqc.Size = new System.Drawing.Size(78, 45);
|
||||||
|
this.lbcntqc.TabIndex = 5;
|
||||||
|
this.lbcntqc.Text = "99";
|
||||||
|
this.lbcntqc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbcntqc.TextShadow = true;
|
||||||
|
this.lbcntqc.TextVisible = true;
|
||||||
|
this.lbcntqc.Click += new System.EventHandler(this.lbcntpk_Click);
|
||||||
|
//
|
||||||
|
// fCounter
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(392, 135);
|
||||||
|
this.Controls.Add(this.tableLayoutPanel1);
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "fCounter";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "fCounter";
|
||||||
|
this.Load += new System.EventHandler(this.fCounter_Load);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
|
private System.Windows.Forms.Label label7;
|
||||||
|
private System.Windows.Forms.Label label8;
|
||||||
|
private System.Windows.Forms.Label label9;
|
||||||
|
private System.Windows.Forms.Label label10;
|
||||||
|
private arCtl.arLabel lbcnt1;
|
||||||
|
private arCtl.arLabel lbcnt2;
|
||||||
|
private arCtl.arLabel lbcnt3;
|
||||||
|
private arCtl.arLabel lbcnt4;
|
||||||
|
private arCtl.arLabel lbcnt5;
|
||||||
|
private arCtl.arLabel lbcnta;
|
||||||
|
private arCtl.arLabel lbcntm;
|
||||||
|
private arCtl.arLabel lbcnte;
|
||||||
|
private arCtl.arLabel lbcntqa;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private arCtl.arLabel lbcntqc;
|
||||||
|
}
|
||||||
|
}
|
||||||
39
Cs_HMI/Project/Dialog/fCounter.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fCounter : Form
|
||||||
|
{
|
||||||
|
public fCounter()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fCounter_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
lbcnt1.Text = PUB.counter.CountUp1.ToString();
|
||||||
|
lbcnt2.Text = PUB.counter.CountUp2.ToString();
|
||||||
|
lbcnt3.Text = PUB.counter.CountUp3.ToString();
|
||||||
|
lbcnt4.Text = PUB.counter.CountUp4.ToString();
|
||||||
|
//lbcnt5.Text = PUB.counter.CountUp5.ToString();
|
||||||
|
lbcnta.Text = PUB.counter.CountChargeA.ToString();
|
||||||
|
lbcntm.Text = PUB.counter.CountChargeM.ToString();
|
||||||
|
lbcnte.Text = PUB.counter.CountChargeE.ToString();
|
||||||
|
lbcntqa.Text = PUB.counter.CountQA.ToString();
|
||||||
|
lbcntqc.Text = PUB.counter.CountQC.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void lbcntpk_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fCounter.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>
|
||||||
127
Cs_HMI/Project/Dialog/fErrorException.Designer.cs
generated
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
partial class fErrorException
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fErrorException));
|
||||||
|
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||||
|
this.button2 = new System.Windows.Forms.Button();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// pictureBox1
|
||||||
|
//
|
||||||
|
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
|
||||||
|
this.pictureBox1.Location = new System.Drawing.Point(160, 23);
|
||||||
|
this.pictureBox1.Name = "pictureBox1";
|
||||||
|
this.pictureBox1.Size = new System.Drawing.Size(80, 80);
|
||||||
|
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||||
|
this.pictureBox1.TabIndex = 0;
|
||||||
|
this.pictureBox1.TabStop = false;
|
||||||
|
//
|
||||||
|
// button2
|
||||||
|
//
|
||||||
|
this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image")));
|
||||||
|
this.button2.Location = new System.Drawing.Point(30, 491);
|
||||||
|
this.button2.Name = "button2";
|
||||||
|
this.button2.Size = new System.Drawing.Size(355, 54);
|
||||||
|
this.button2.TabIndex = 2;
|
||||||
|
this.button2.Text = "종료";
|
||||||
|
this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||||
|
this.button2.UseVisualStyleBackColor = true;
|
||||||
|
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.BackColor = System.Drawing.Color.Brown;
|
||||||
|
this.label1.Font = new System.Drawing.Font("맑은 고딕", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.label1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.label1.Location = new System.Drawing.Point(30, 117);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Padding = new System.Windows.Forms.Padding(10);
|
||||||
|
this.label1.Size = new System.Drawing.Size(355, 50);
|
||||||
|
this.label1.TabIndex = 3;
|
||||||
|
this.label1.Text = "미처리 오류로 인한 프로그램 중단";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.label2.ForeColor = System.Drawing.Color.Blue;
|
||||||
|
this.label2.Location = new System.Drawing.Point(30, 182);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(311, 45);
|
||||||
|
this.label2.TabIndex = 4;
|
||||||
|
this.label2.Text = "오류보고를 위한 정보가 수집되었습니다.\r\n수집된 정보는 아래와 같고 오류가 발생하기 전의 상황을\r\n적어서 메일을 전송하면 버그 수정에 도움이 됩니" +
|
||||||
|
"다.";
|
||||||
|
//
|
||||||
|
// textBox1
|
||||||
|
//
|
||||||
|
this.textBox1.Location = new System.Drawing.Point(30, 240);
|
||||||
|
this.textBox1.Multiline = true;
|
||||||
|
this.textBox1.Name = "textBox1";
|
||||||
|
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||||
|
this.textBox1.Size = new System.Drawing.Size(355, 241);
|
||||||
|
this.textBox1.TabIndex = 5;
|
||||||
|
//
|
||||||
|
// fErrorException
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.ClientSize = new System.Drawing.Size(418, 560);
|
||||||
|
this.Controls.Add(this.textBox1);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.button2);
|
||||||
|
this.Controls.Add(this.pictureBox1);
|
||||||
|
this.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "fErrorException";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Error Report";
|
||||||
|
this.Load += new System.EventHandler(this.fErrorException_Load);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.PictureBox pictureBox1;
|
||||||
|
private System.Windows.Forms.Button button2;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.TextBox textBox1;
|
||||||
|
}
|
||||||
|
}
|
||||||
39
Cs_HMI/Project/Dialog/fErrorException.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fErrorException : Form
|
||||||
|
{
|
||||||
|
public fErrorException(string err)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
System.Text.StringBuilder sb = new StringBuilder();
|
||||||
|
sb.AppendLine("To : ChiKyun.kim@amkor.co.kr");
|
||||||
|
sb.AppendLine("Description : ?");
|
||||||
|
sb.AppendLine();
|
||||||
|
sb.AppendLine("=========================");
|
||||||
|
sb.AppendLine(" ERROR MESSAGE");
|
||||||
|
sb.AppendLine("=========================");
|
||||||
|
sb.AppendLine();
|
||||||
|
sb.AppendLine(err);
|
||||||
|
this.textBox1.Text = sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fErrorException_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button2_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
163
Cs_HMI/Project/Dialog/fErrorException.resx
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
<?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>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAb
|
||||||
|
rwAAG68BXhqRHAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPnSURBVHhe7dzJ
|
||||||
|
TttQFAbgdNFKnZ6GFWKDfCNGsWRRddO+ATwBo5g2iNdopU7LqlXVFgUa2LDoE7TbQoEIFpVw72/5EOdw
|
||||||
|
INO919fx/aVfiuwTD58chcFyJSQkJJu4Urm3H0Uv95Wq7VWrx2jyOopeYF06FiLlcGbmkQZ7v6dULFav
|
||||||
|
w0w6HpINYGpKfQbUj/Hx+Pf8fHy2thafra8nr7EsQYyiT7Xh4Yfp20KQLF59cjI+XlqKL7e3W4plWBcQ
|
||||||
|
WXZHRp5qkF3AHE5NxScrKzfwqFiHmRRxF+9NN1POdINHDYhpesGjlh6xHzxqaRE53t/VVRGok5YO0SQe
|
||||||
|
tTSINvCoLYhKfR84RJt41IFFdIFHxbYHCtElHpUjfhkdfZIeTrGS4OkTcIlHLTxinnjUwiLiQPPGoxYO
|
||||||
|
0Sc8amEQTePxSDOd1ntEG1cejzTTTb1FbMGbnjaCh/JIM93WO0RbeCiPNNNLs4g1pb7lhmgTD+WRZnpt
|
||||||
|
7oi28VAeaaaf5oaIHWGHNvFQHmmm3yaI+hycIbrCQ3mkGRN1hugSD+WRZkzVOqJrPJRHmjFZa4h54KE8
|
||||||
|
0ozpGkfMCw/lkWZs1BhinngojzRjq30j5o2H8kgzNptF3Ffqa8eIPuChPNKM7XaN6AseyiPNuChHPBob
|
||||||
|
e5xytQZ3f2q81xg80L/inCwvixt0VR5pxlVhAZMEsVp9Jd4pq1c+xwBuZMwbD+WRZlwWJnSTZy2KnqVs
|
||||||
|
zegVyR8Hfs3NiRtwXR5pxnVhAyN8lFO2ZvSKc6w839gQ3+y6PNKM68IGRrpnKVszemEjAN5d3K99F2D4
|
||||||
|
CLdpu49w+BK5o22/RMKPMbcXFm1/jEEOh4bu68vzLQbrExPx8eKiuEEX5ZFmXBQGsICJ7hsYpVxyfEHk
|
||||||
|
kWZst2s8ik9XYl7tGY9SZsQsHgy6xqOUEdEYHqVMiMbxKGVAtIZHcYq4sxP/q9fjq9PTpHiNZeKsgVrH
|
||||||
|
o/ycnX3gAhFgPAmiMNtv/ywsuMGjuEC8ajRStmawTJrtp87xKEDUv/a9s4XoAjA3PIpNRNsfYY6Hc0lP
|
||||||
|
y22sIdKXyMVF0gTP0JeIN3gUjogDlA7ch3qHRykCYhYPx+oNHsVnRO/xKD4iFgaPggOkpw/ljVg4PIoP
|
||||||
|
iIXFo+SJWHg8Ch7PpE/iI07kAI90cvCPKuwD+8I+se/CPyLK5ZWYvfKwz8JeeTwuEAcWj2ITceDxKDYQ
|
||||||
|
S4NHMYlYOjyKCcTS4lESRKU+9IKI2etHgpYRj9ILYsBj6QYx4N2S8BBaA5Eeg9zY3IwbW1vhMcidBoj0
|
||||||
|
7SxWr8NMOh4iBXd/Xj8KXqlLNHkdHgUfEnIjlcp/1rPAKpMPkMkAAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
|
||||||
|
iQAAC4kBN8nLrQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAALmSURBVFhH7ZjL
|
||||||
|
ahRREIbLW7yLGxcq4k7cCaJLFwoiKAqKt5dQI4JLFZ8h4gMY0RF30YgbgwsRRYiZ3IzBG9lF3RgXXsDx
|
||||||
|
q1AtlTPTPefMtDLCfFBk5tRff1e65vR0j3TpUsALkVXjIvsmRHqJvjGRWxr6mjjH670zIitN/m+oiSym
|
||||||
|
qZPEPeI7UWsS32h2gL8ntNZs/g6ckcMcaMIdPDXGafaQ2ZXHtMg6zO8GB/MxR0wSjy30ta410mpUXoms
|
||||||
|
Nfv24D/eimGjs/aauDQqsovRLTL5H3ScnPHdaK4Q01bjY4zaLSZvDWtuJjD+RJxhgywzWVPQ9+DVy9/P
|
||||||
|
5pHFh5abtLGGZ+4po9lkkmSmRLbjEY5+lFhjkngoqjgTjQpNL7d0MnZJehR4ZtFvsjgYxylvwPuhlJGG
|
||||||
|
6DTweOI9iS/+PaM+ZvJihkSWUvDGFc9ivtHSyeQ099zGrZ/nbG2KjbXEyvLB7LQr0jhrqWTymhsWWa95
|
||||||
|
dvn5IHd8vrAIDB+6grdEj6WSaNacop9p1t67/H1LNUZNEf10BZctlURMcxnorjrNDyJ/RyM+6MQ1RrDD
|
||||||
|
UtGkNKeg3em1HPOApepBfNGJP9pyNKnNKfothMZfwC9Yqh6S153wpS1H0UpzGeiqWQ0efbZcD4L+TEgM
|
||||||
|
2nJT2mlOQfvA1d2w5XpI3nTCqAbbbU5BH92gHzHHKKaM5hQ8RrJ6Nsk1W64HYfQmKau5pE3CAaMuM2U1
|
||||||
|
p+ATf5nRAyMqvFCX2ZyCV/yFWkEw6AoWfNWV3Rx+C77q8B6wVD6IjmYFFvM3C2U3pzDO8GbhiKXy0WcJ
|
||||||
|
hP5OenZSZFvZzemdOR7+dquqG8bSxdDMfleo8TV431ZzIyKr8Rh2fr+IPZaOg4LbzsBHlXFvMFky70RW
|
||||||
|
4HEn8My/OOehnzkKw4emOb0TNkky1G7G41ng2dpDk8KoO/exM8Oa7MwH9wwbd2f+9OHhjHTmj0ceu052
|
||||||
|
5s9vIR35A2aX/wuR3/n+YvqZGUimAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
558
Cs_HMI/Project/Dialog/fJobSelect.Designer.cs
generated
Normal file
@@ -0,0 +1,558 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fJobSelect
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
|
this.tmBlink = new System.Windows.Forms.Timer(this.components);
|
||||||
|
this.arPanel1 = new arCtl.arPanel();
|
||||||
|
this.panButton = new System.Windows.Forms.Panel();
|
||||||
|
this.btYes = new arCtl.arLabel();
|
||||||
|
this.btNo = new arCtl.arLabel();
|
||||||
|
this.panel7 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb5 = new arCtl.arLabel();
|
||||||
|
this.panel3 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb4 = new arCtl.arLabel();
|
||||||
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb3 = new arCtl.arLabel();
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb2 = new arCtl.arLabel();
|
||||||
|
this.panel4 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb1 = new arCtl.arLabel();
|
||||||
|
this.panel8 = new System.Windows.Forms.Panel();
|
||||||
|
this.lbTitle = new arCtl.arLabel();
|
||||||
|
this.arPanel1.SuspendLayout();
|
||||||
|
this.panButton.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tmBlink
|
||||||
|
//
|
||||||
|
this.tmBlink.Enabled = true;
|
||||||
|
this.tmBlink.Interval = 300;
|
||||||
|
this.tmBlink.Tick += new System.EventHandler(this.tmBlink_Tick);
|
||||||
|
//
|
||||||
|
// arPanel1
|
||||||
|
//
|
||||||
|
this.arPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BorderColor = System.Drawing.Color.DimGray;
|
||||||
|
this.arPanel1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arPanel1.Controls.Add(this.panButton);
|
||||||
|
this.arPanel1.Controls.Add(this.panel7);
|
||||||
|
this.arPanel1.Controls.Add(this.lb5);
|
||||||
|
this.arPanel1.Controls.Add(this.panel3);
|
||||||
|
this.arPanel1.Controls.Add(this.lb4);
|
||||||
|
this.arPanel1.Controls.Add(this.panel2);
|
||||||
|
this.arPanel1.Controls.Add(this.lb3);
|
||||||
|
this.arPanel1.Controls.Add(this.panel1);
|
||||||
|
this.arPanel1.Controls.Add(this.lb2);
|
||||||
|
this.arPanel1.Controls.Add(this.panel4);
|
||||||
|
this.arPanel1.Controls.Add(this.lb1);
|
||||||
|
this.arPanel1.Controls.Add(this.panel8);
|
||||||
|
this.arPanel1.Controls.Add(this.lbTitle);
|
||||||
|
this.arPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arPanel1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arPanel1.ForeColor = System.Drawing.Color.Khaki;
|
||||||
|
this.arPanel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arPanel1.GradientRepeatBG = false;
|
||||||
|
this.arPanel1.Location = new System.Drawing.Point(5, 5);
|
||||||
|
this.arPanel1.Name = "arPanel1";
|
||||||
|
this.arPanel1.Padding = new System.Windows.Forms.Padding(6);
|
||||||
|
this.arPanel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arPanel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arPanel1.ProgressMax = 100F;
|
||||||
|
this.arPanel1.ProgressMin = 0F;
|
||||||
|
this.arPanel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arPanel1.ProgressValue = 0F;
|
||||||
|
this.arPanel1.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arPanel1.ShowBorder = true;
|
||||||
|
this.arPanel1.Size = new System.Drawing.Size(508, 405);
|
||||||
|
this.arPanel1.TabIndex = 0;
|
||||||
|
this.arPanel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.arPanel1.TextShadow = false;
|
||||||
|
this.arPanel1.UseProgressBar = false;
|
||||||
|
//
|
||||||
|
// panButton
|
||||||
|
//
|
||||||
|
this.panButton.Controls.Add(this.btYes);
|
||||||
|
this.panButton.Controls.Add(this.btNo);
|
||||||
|
this.panButton.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.panButton.Location = new System.Drawing.Point(6, 353);
|
||||||
|
this.panButton.Name = "panButton";
|
||||||
|
this.panButton.Size = new System.Drawing.Size(496, 46);
|
||||||
|
this.panButton.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// btYes
|
||||||
|
//
|
||||||
|
this.btYes.BackColor = System.Drawing.Color.SeaGreen;
|
||||||
|
this.btYes.BackColor2 = System.Drawing.Color.SeaGreen;
|
||||||
|
this.btYes.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btYes.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btYes.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btYes.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.btYes.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.btYes.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btYes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.btYes.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.btYes.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btYes.GradientEnable = true;
|
||||||
|
this.btYes.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.btYes.GradientRepeatBG = false;
|
||||||
|
this.btYes.isButton = true;
|
||||||
|
this.btYes.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.btYes.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.MouseOverColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.msg = null;
|
||||||
|
this.btYes.Name = "btYes";
|
||||||
|
this.btYes.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.btYes.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.btYes.ProgressEnable = false;
|
||||||
|
this.btYes.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.btYes.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btYes.ProgressMax = 100F;
|
||||||
|
this.btYes.ProgressMin = 0F;
|
||||||
|
this.btYes.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btYes.ProgressValue = 0F;
|
||||||
|
this.btYes.ShadowColor = System.Drawing.Color.Gray;
|
||||||
|
this.btYes.Sign = "";
|
||||||
|
this.btYes.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.btYes.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.btYes.Size = new System.Drawing.Size(267, 46);
|
||||||
|
this.btYes.TabIndex = 0;
|
||||||
|
this.btYes.Text = "예(F5)";
|
||||||
|
this.btYes.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.btYes.TextShadow = true;
|
||||||
|
this.btYes.TextVisible = true;
|
||||||
|
this.btYes.Click += new System.EventHandler(this.btYes_Click);
|
||||||
|
//
|
||||||
|
// btNo
|
||||||
|
//
|
||||||
|
this.btNo.BackColor = System.Drawing.Color.Goldenrod;
|
||||||
|
this.btNo.BackColor2 = System.Drawing.Color.Goldenrod;
|
||||||
|
this.btNo.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btNo.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btNo.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btNo.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.btNo.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.btNo.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btNo.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.btNo.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.btNo.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btNo.GradientEnable = true;
|
||||||
|
this.btNo.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.btNo.GradientRepeatBG = false;
|
||||||
|
this.btNo.isButton = true;
|
||||||
|
this.btNo.Location = new System.Drawing.Point(267, 0);
|
||||||
|
this.btNo.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.MouseOverColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.msg = null;
|
||||||
|
this.btNo.Name = "btNo";
|
||||||
|
this.btNo.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.btNo.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.btNo.ProgressEnable = false;
|
||||||
|
this.btNo.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.btNo.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btNo.ProgressMax = 100F;
|
||||||
|
this.btNo.ProgressMin = 0F;
|
||||||
|
this.btNo.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btNo.ProgressValue = 0F;
|
||||||
|
this.btNo.ShadowColor = System.Drawing.Color.Gray;
|
||||||
|
this.btNo.Sign = "";
|
||||||
|
this.btNo.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.btNo.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.btNo.Size = new System.Drawing.Size(229, 46);
|
||||||
|
this.btNo.TabIndex = 1;
|
||||||
|
this.btNo.Text = "아니오(ESC)";
|
||||||
|
this.btNo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.btNo.TextShadow = true;
|
||||||
|
this.btNo.TextVisible = true;
|
||||||
|
this.btNo.Click += new System.EventHandler(this.btNo_Click);
|
||||||
|
//
|
||||||
|
// panel7
|
||||||
|
//
|
||||||
|
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel7.Location = new System.Drawing.Point(6, 348);
|
||||||
|
this.panel7.Name = "panel7";
|
||||||
|
this.panel7.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel7.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lb5
|
||||||
|
//
|
||||||
|
this.lb5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb5.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb5.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb5.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb5.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb5.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb5.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb5.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb5.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb5.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb5.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb5.GradientEnable = true;
|
||||||
|
this.lb5.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb5.GradientRepeatBG = false;
|
||||||
|
this.lb5.isButton = false;
|
||||||
|
this.lb5.Location = new System.Drawing.Point(6, 298);
|
||||||
|
this.lb5.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb5.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb5.msg = null;
|
||||||
|
this.lb5.Name = "lb5";
|
||||||
|
this.lb5.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb5.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb5.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb5.ProgressEnable = false;
|
||||||
|
this.lb5.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb5.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb5.ProgressMax = 100F;
|
||||||
|
this.lb5.ProgressMin = 0F;
|
||||||
|
this.lb5.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb5.ProgressValue = 0F;
|
||||||
|
this.lb5.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb5.Sign = "";
|
||||||
|
this.lb5.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb5.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb5.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb5.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb5.TabIndex = 7;
|
||||||
|
this.lb5.Text = "*";
|
||||||
|
this.lb5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb5.TextShadow = true;
|
||||||
|
this.lb5.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel3
|
||||||
|
//
|
||||||
|
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel3.Location = new System.Drawing.Point(6, 293);
|
||||||
|
this.panel3.Name = "panel3";
|
||||||
|
this.panel3.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel3.TabIndex = 13;
|
||||||
|
//
|
||||||
|
// lb4
|
||||||
|
//
|
||||||
|
this.lb4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb4.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb4.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb4.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb4.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb4.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb4.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb4.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb4.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb4.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb4.GradientEnable = true;
|
||||||
|
this.lb4.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb4.GradientRepeatBG = false;
|
||||||
|
this.lb4.isButton = false;
|
||||||
|
this.lb4.Location = new System.Drawing.Point(6, 243);
|
||||||
|
this.lb4.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb4.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb4.msg = null;
|
||||||
|
this.lb4.Name = "lb4";
|
||||||
|
this.lb4.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb4.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb4.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb4.ProgressEnable = false;
|
||||||
|
this.lb4.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb4.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb4.ProgressMax = 100F;
|
||||||
|
this.lb4.ProgressMin = 0F;
|
||||||
|
this.lb4.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb4.ProgressValue = 0F;
|
||||||
|
this.lb4.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb4.Sign = "";
|
||||||
|
this.lb4.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb4.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb4.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb4.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb4.TabIndex = 6;
|
||||||
|
this.lb4.Text = "*";
|
||||||
|
this.lb4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb4.TextShadow = true;
|
||||||
|
this.lb4.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel2
|
||||||
|
//
|
||||||
|
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel2.Location = new System.Drawing.Point(6, 238);
|
||||||
|
this.panel2.Name = "panel2";
|
||||||
|
this.panel2.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel2.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// lb3
|
||||||
|
//
|
||||||
|
this.lb3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb3.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb3.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb3.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb3.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb3.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb3.GradientEnable = true;
|
||||||
|
this.lb3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb3.GradientRepeatBG = false;
|
||||||
|
this.lb3.isButton = false;
|
||||||
|
this.lb3.Location = new System.Drawing.Point(6, 188);
|
||||||
|
this.lb3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb3.msg = null;
|
||||||
|
this.lb3.Name = "lb3";
|
||||||
|
this.lb3.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb3.ProgressEnable = false;
|
||||||
|
this.lb3.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb3.ProgressMax = 100F;
|
||||||
|
this.lb3.ProgressMin = 0F;
|
||||||
|
this.lb3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.ProgressValue = 0F;
|
||||||
|
this.lb3.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb3.Sign = "";
|
||||||
|
this.lb3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb3.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb3.TabIndex = 5;
|
||||||
|
this.lb3.Text = "* 현재 위치 : ";
|
||||||
|
this.lb3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb3.TextShadow = true;
|
||||||
|
this.lb3.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel1.Location = new System.Drawing.Point(6, 183);
|
||||||
|
this.panel1.Name = "panel1";
|
||||||
|
this.panel1.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel1.TabIndex = 11;
|
||||||
|
//
|
||||||
|
// lb2
|
||||||
|
//
|
||||||
|
this.lb2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb2.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb2.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb2.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb2.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb2.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb2.GradientEnable = true;
|
||||||
|
this.lb2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb2.GradientRepeatBG = false;
|
||||||
|
this.lb2.isButton = false;
|
||||||
|
this.lb2.Location = new System.Drawing.Point(6, 133);
|
||||||
|
this.lb2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb2.msg = null;
|
||||||
|
this.lb2.Name = "lb2";
|
||||||
|
this.lb2.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb2.ProgressEnable = false;
|
||||||
|
this.lb2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb2.ProgressMax = 100F;
|
||||||
|
this.lb2.ProgressMin = 0F;
|
||||||
|
this.lb2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.ProgressValue = 0F;
|
||||||
|
this.lb2.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb2.Sign = "";
|
||||||
|
this.lb2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb2.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb2.TabIndex = 4;
|
||||||
|
this.lb2.Text = "* 호출 위치 : F1";
|
||||||
|
this.lb2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb2.TextShadow = true;
|
||||||
|
this.lb2.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel4
|
||||||
|
//
|
||||||
|
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel4.Location = new System.Drawing.Point(6, 128);
|
||||||
|
this.panel4.Name = "panel4";
|
||||||
|
this.panel4.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel4.TabIndex = 14;
|
||||||
|
//
|
||||||
|
// lb1
|
||||||
|
//
|
||||||
|
this.lb1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb1.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb1.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb1.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb1.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb1.GradientEnable = true;
|
||||||
|
this.lb1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb1.GradientRepeatBG = false;
|
||||||
|
this.lb1.isButton = false;
|
||||||
|
this.lb1.Location = new System.Drawing.Point(6, 78);
|
||||||
|
this.lb1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb1.msg = null;
|
||||||
|
this.lb1.Name = "lb1";
|
||||||
|
this.lb1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb1.ProgressEnable = false;
|
||||||
|
this.lb1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb1.ProgressMax = 100F;
|
||||||
|
this.lb1.ProgressMin = 0F;
|
||||||
|
this.lb1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.ProgressValue = 0F;
|
||||||
|
this.lb1.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb1.Sign = "";
|
||||||
|
this.lb1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb1.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb1.TabIndex = 2;
|
||||||
|
this.lb1.Text = "* 작업 : 상차";
|
||||||
|
this.lb1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb1.TextShadow = true;
|
||||||
|
this.lb1.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel8
|
||||||
|
//
|
||||||
|
this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel8.Location = new System.Drawing.Point(6, 73);
|
||||||
|
this.panel8.Name = "panel8";
|
||||||
|
this.panel8.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel8.TabIndex = 18;
|
||||||
|
//
|
||||||
|
// lbTitle
|
||||||
|
//
|
||||||
|
this.lbTitle.BackColor = System.Drawing.Color.Brown;
|
||||||
|
this.lbTitle.BackColor2 = System.Drawing.Color.Tomato;
|
||||||
|
this.lbTitle.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lbTitle.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.lbTitle.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lbTitle.Font = new System.Drawing.Font("맑은 고딕", 22F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lbTitle.ForeColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.lbTitle.GradientEnable = true;
|
||||||
|
this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Horizontal;
|
||||||
|
this.lbTitle.GradientRepeatBG = false;
|
||||||
|
this.lbTitle.isButton = true;
|
||||||
|
this.lbTitle.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.lbTitle.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbTitle.msg = null;
|
||||||
|
this.lbTitle.Name = "lbTitle";
|
||||||
|
this.lbTitle.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbTitle.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbTitle.ProgressEnable = false;
|
||||||
|
this.lbTitle.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbTitle.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbTitle.ProgressMax = 100F;
|
||||||
|
this.lbTitle.ProgressMin = 0F;
|
||||||
|
this.lbTitle.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.ProgressValue = 0F;
|
||||||
|
this.lbTitle.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||||
|
this.lbTitle.Sign = "";
|
||||||
|
this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbTitle.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbTitle.Size = new System.Drawing.Size(496, 67);
|
||||||
|
this.lbTitle.TabIndex = 3;
|
||||||
|
this.lbTitle.Text = "작업 설정";
|
||||||
|
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbTitle.TextShadow = true;
|
||||||
|
this.lbTitle.TextVisible = true;
|
||||||
|
this.lbTitle.Click += new System.EventHandler(this.lbTitle_Click);
|
||||||
|
//
|
||||||
|
// fJobSelect
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(518, 415);
|
||||||
|
this.Controls.Add(this.arPanel1);
|
||||||
|
this.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "fJobSelect";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(5);
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Message Window";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.fMsg_Load);
|
||||||
|
this.arPanel1.ResumeLayout(false);
|
||||||
|
this.panButton.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public arCtl.arLabel lb1;
|
||||||
|
private arCtl.arPanel arPanel1;
|
||||||
|
public arCtl.arLabel lbTitle;
|
||||||
|
public arCtl.arLabel lb5;
|
||||||
|
public arCtl.arLabel lb4;
|
||||||
|
public arCtl.arLabel lb3;
|
||||||
|
public arCtl.arLabel lb2;
|
||||||
|
private System.Windows.Forms.Timer tmBlink;
|
||||||
|
public arCtl.arLabel btYes;
|
||||||
|
public arCtl.arLabel btNo;
|
||||||
|
private System.Windows.Forms.Panel panButton;
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private System.Windows.Forms.Panel panel7;
|
||||||
|
private System.Windows.Forms.Panel panel3;
|
||||||
|
private System.Windows.Forms.Panel panel2;
|
||||||
|
private System.Windows.Forms.Panel panel4;
|
||||||
|
private System.Windows.Forms.Panel panel8;
|
||||||
|
}
|
||||||
|
}
|
||||||
169
Cs_HMI/Project/Dialog/fJobSelect.cs
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fJobSelect : Form
|
||||||
|
{
|
||||||
|
private Boolean fMove = false;
|
||||||
|
private Point MDownPos;
|
||||||
|
private string _msg = string.Empty;
|
||||||
|
|
||||||
|
public fJobSelect()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public fJobSelect(string msg)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.FormClosing += fMsgWindow_FormClosing;
|
||||||
|
this.KeyDown += FJobSelect_KeyDown;
|
||||||
|
this._msg = msg;
|
||||||
|
setMessage(msg);
|
||||||
|
this.lbTitle.MouseMove += label1_MouseMove;
|
||||||
|
lbTitle.MouseUp += label1_MouseUp;
|
||||||
|
lbTitle.MouseDown += label1_MouseDown;
|
||||||
|
lbTitle.MouseDoubleClick += label1_MouseDoubleClick;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fMsgWindow_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fMsg_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
private void FJobSelect_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.KeyCode == Keys.Escape)
|
||||||
|
{
|
||||||
|
e.Handled = true;
|
||||||
|
e.SuppressKeyPress = false;
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
else if (e.KeyCode == Keys.F5)
|
||||||
|
btYes.PerformClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(string msg)
|
||||||
|
{
|
||||||
|
//msg를 분리해서 표시를 한다.
|
||||||
|
var lbs = new arCtl.arLabel[] { lbTitle, lb1, lb2, lb3, lb4, lb5 };
|
||||||
|
var lineBuf = msg.Replace("\r", "").Split('\n');
|
||||||
|
int maxLine = Math.Min(lbs.Length, lineBuf.Length);
|
||||||
|
|
||||||
|
for (int i = 0; i < lbs.Length; i++) //최대줄을 넘어가는건 표시불가
|
||||||
|
{
|
||||||
|
if (i >= lineBuf.Length)
|
||||||
|
{
|
||||||
|
lbs[i].Text = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (i > 0) lbs[i].Text = string.Format("{0}. {1}", i, lineBuf[i]);
|
||||||
|
else lbs[i].Text = lineBuf[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void label1_MouseMove(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (fMove)
|
||||||
|
{
|
||||||
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
||||||
|
this.Left += offset.X;
|
||||||
|
this.Top += offset.Y;
|
||||||
|
offset = new Point(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
fMove = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
MDownPos = new Point(e.X, e.Y);
|
||||||
|
fMove = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public enum EWinColor
|
||||||
|
{
|
||||||
|
Attention = 0,
|
||||||
|
Error,
|
||||||
|
Information
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetWindowColor(EWinColor wincolor)
|
||||||
|
{
|
||||||
|
switch (wincolor)
|
||||||
|
{
|
||||||
|
case EWinColor.Attention:
|
||||||
|
lbTitle.BackColor = Color.Gold;
|
||||||
|
lbTitle.BackColor2 = Color.Orange;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(150, 150, 150);
|
||||||
|
lbTitle.ForeColor = Color.FromArgb(50, 50, 50);
|
||||||
|
break;
|
||||||
|
case EWinColor.Error:
|
||||||
|
lbTitle.BackColor = Color.Brown;
|
||||||
|
lbTitle.BackColor2 = Color.Tomato;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(50, 50, 50);
|
||||||
|
lbTitle.ForeColor = Color.WhiteSmoke;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
lbTitle.BackColor = Color.DarkTurquoise;
|
||||||
|
lbTitle.BackColor2 = Color.LightSkyBlue;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(50, 50, 50);
|
||||||
|
lbTitle.ForeColor = Color.WhiteSmoke;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void lbTitle_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.DialogResult = DialogResult.Cancel;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tmBlink_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var bg1 = lbTitle.BackColor;
|
||||||
|
var bg2 = lbTitle.BackColor2;
|
||||||
|
lbTitle.BackColor = bg2;
|
||||||
|
lbTitle.BackColor2 = bg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btYes_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.Yes;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btNo_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
this.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
123
Cs_HMI/Project/Dialog/fJobSelect.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="tmBlink.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
||||||
211
Cs_HMI/Project/Dialog/fLog.Designer.cs
generated
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fLog
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.rtsys = new arCtl.LogTextBox();
|
||||||
|
this.rtTx = new arCtl.LogTextBox();
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.rtAGV = new arCtl.LogTextBox();
|
||||||
|
this.rtPLC = new arCtl.LogTextBox();
|
||||||
|
this.rtBMS = new arCtl.LogTextBox();
|
||||||
|
this.rtCAL = new arCtl.LogTextBox();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// rtsys
|
||||||
|
//
|
||||||
|
this.rtsys.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||||
|
this.rtsys.ColorList = new arCtl.sLogMessageColor[0];
|
||||||
|
this.tableLayoutPanel1.SetColumnSpan(this.rtsys, 2);
|
||||||
|
this.rtsys.DateFormat = "mm:ss.fff";
|
||||||
|
this.rtsys.DefaultColor = System.Drawing.Color.LightGray;
|
||||||
|
this.rtsys.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtsys.EnableDisplayTimer = false;
|
||||||
|
this.rtsys.EnableGubunColor = true;
|
||||||
|
this.rtsys.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.rtsys.ListFormat = "[{0}] {1}";
|
||||||
|
this.rtsys.Location = new System.Drawing.Point(3, 3);
|
||||||
|
this.rtsys.MaxListCount = ((ushort)(1000));
|
||||||
|
this.rtsys.MaxTextLength = ((uint)(400000u));
|
||||||
|
this.rtsys.MessageInterval = 50;
|
||||||
|
this.rtsys.Name = "rtsys";
|
||||||
|
this.rtsys.Size = new System.Drawing.Size(334, 340);
|
||||||
|
this.rtsys.TabIndex = 0;
|
||||||
|
this.rtsys.Text = "";
|
||||||
|
//
|
||||||
|
// rtTx
|
||||||
|
//
|
||||||
|
this.rtTx.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||||
|
this.rtTx.ColorList = new arCtl.sLogMessageColor[0];
|
||||||
|
this.tableLayoutPanel1.SetColumnSpan(this.rtTx, 2);
|
||||||
|
this.rtTx.DateFormat = "mm:ss.fff";
|
||||||
|
this.rtTx.DefaultColor = System.Drawing.Color.LightGray;
|
||||||
|
this.rtTx.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtTx.EnableDisplayTimer = false;
|
||||||
|
this.rtTx.EnableGubunColor = true;
|
||||||
|
this.rtTx.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.rtTx.ListFormat = "[{0}] {1}";
|
||||||
|
this.rtTx.Location = new System.Drawing.Point(343, 3);
|
||||||
|
this.rtTx.MaxListCount = ((ushort)(1000));
|
||||||
|
this.rtTx.MaxTextLength = ((uint)(400000u));
|
||||||
|
this.rtTx.MessageInterval = 50;
|
||||||
|
this.rtTx.Name = "rtTx";
|
||||||
|
this.rtTx.Size = new System.Drawing.Size(335, 340);
|
||||||
|
this.rtTx.TabIndex = 1;
|
||||||
|
this.rtTx.Text = "";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel1
|
||||||
|
//
|
||||||
|
this.tableLayoutPanel1.ColumnCount = 4;
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.rtAGV, 0, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.rtsys, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.rtTx, 2, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.rtPLC, 1, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.rtBMS, 2, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.rtCAL, 3, 1);
|
||||||
|
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
this.tableLayoutPanel1.RowCount = 2;
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 70F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F));
|
||||||
|
this.tableLayoutPanel1.Size = new System.Drawing.Size(681, 495);
|
||||||
|
this.tableLayoutPanel1.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// rtAGV
|
||||||
|
//
|
||||||
|
this.rtAGV.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||||
|
this.rtAGV.ColorList = new arCtl.sLogMessageColor[0];
|
||||||
|
this.rtAGV.DateFormat = "mm:ss.fff";
|
||||||
|
this.rtAGV.DefaultColor = System.Drawing.Color.LightGray;
|
||||||
|
this.rtAGV.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtAGV.EnableDisplayTimer = false;
|
||||||
|
this.rtAGV.EnableGubunColor = true;
|
||||||
|
this.rtAGV.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.rtAGV.ListFormat = "[{0}] {1}";
|
||||||
|
this.rtAGV.Location = new System.Drawing.Point(3, 349);
|
||||||
|
this.rtAGV.MaxListCount = ((ushort)(1000));
|
||||||
|
this.rtAGV.MaxTextLength = ((uint)(400000u));
|
||||||
|
this.rtAGV.MessageInterval = 50;
|
||||||
|
this.rtAGV.Name = "rtAGV";
|
||||||
|
this.rtAGV.Size = new System.Drawing.Size(164, 143);
|
||||||
|
this.rtAGV.TabIndex = 2;
|
||||||
|
this.rtAGV.Text = "";
|
||||||
|
//
|
||||||
|
// rtPLC
|
||||||
|
//
|
||||||
|
this.rtPLC.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||||
|
this.rtPLC.ColorList = new arCtl.sLogMessageColor[0];
|
||||||
|
this.rtPLC.DateFormat = "mm:ss.fff";
|
||||||
|
this.rtPLC.DefaultColor = System.Drawing.Color.LightGray;
|
||||||
|
this.rtPLC.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtPLC.EnableDisplayTimer = false;
|
||||||
|
this.rtPLC.EnableGubunColor = true;
|
||||||
|
this.rtPLC.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.rtPLC.ListFormat = "[{0}] {1}";
|
||||||
|
this.rtPLC.Location = new System.Drawing.Point(173, 349);
|
||||||
|
this.rtPLC.MaxListCount = ((ushort)(1000));
|
||||||
|
this.rtPLC.MaxTextLength = ((uint)(400000u));
|
||||||
|
this.rtPLC.MessageInterval = 50;
|
||||||
|
this.rtPLC.Name = "rtPLC";
|
||||||
|
this.rtPLC.Size = new System.Drawing.Size(164, 143);
|
||||||
|
this.rtPLC.TabIndex = 2;
|
||||||
|
this.rtPLC.Text = "";
|
||||||
|
//
|
||||||
|
// rtBMS
|
||||||
|
//
|
||||||
|
this.rtBMS.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||||
|
this.rtBMS.ColorList = new arCtl.sLogMessageColor[0];
|
||||||
|
this.rtBMS.DateFormat = "mm:ss.fff";
|
||||||
|
this.rtBMS.DefaultColor = System.Drawing.Color.LightGray;
|
||||||
|
this.rtBMS.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtBMS.EnableDisplayTimer = false;
|
||||||
|
this.rtBMS.EnableGubunColor = true;
|
||||||
|
this.rtBMS.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.rtBMS.ListFormat = "[{0}] {1}";
|
||||||
|
this.rtBMS.Location = new System.Drawing.Point(343, 349);
|
||||||
|
this.rtBMS.MaxListCount = ((ushort)(1000));
|
||||||
|
this.rtBMS.MaxTextLength = ((uint)(400000u));
|
||||||
|
this.rtBMS.MessageInterval = 50;
|
||||||
|
this.rtBMS.Name = "rtBMS";
|
||||||
|
this.rtBMS.Size = new System.Drawing.Size(164, 143);
|
||||||
|
this.rtBMS.TabIndex = 2;
|
||||||
|
this.rtBMS.Text = "";
|
||||||
|
//
|
||||||
|
// rtCAL
|
||||||
|
//
|
||||||
|
this.rtCAL.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||||
|
this.rtCAL.ColorList = new arCtl.sLogMessageColor[0];
|
||||||
|
this.rtCAL.DateFormat = "mm:ss.fff";
|
||||||
|
this.rtCAL.DefaultColor = System.Drawing.Color.LightGray;
|
||||||
|
this.rtCAL.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rtCAL.EnableDisplayTimer = false;
|
||||||
|
this.rtCAL.EnableGubunColor = true;
|
||||||
|
this.rtCAL.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.rtCAL.ListFormat = "[{0}] {1}";
|
||||||
|
this.rtCAL.Location = new System.Drawing.Point(513, 349);
|
||||||
|
this.rtCAL.MaxListCount = ((ushort)(1000));
|
||||||
|
this.rtCAL.MaxTextLength = ((uint)(400000u));
|
||||||
|
this.rtCAL.MessageInterval = 50;
|
||||||
|
this.rtCAL.Name = "rtCAL";
|
||||||
|
this.rtCAL.Size = new System.Drawing.Size(165, 143);
|
||||||
|
this.rtCAL.TabIndex = 2;
|
||||||
|
this.rtCAL.Text = "";
|
||||||
|
//
|
||||||
|
// fLog
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(681, 495);
|
||||||
|
this.Controls.Add(this.tableLayoutPanel1);
|
||||||
|
this.Name = "fLog";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "fLog";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.fLog_Load);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private arCtl.LogTextBox rtsys;
|
||||||
|
private arCtl.LogTextBox rtTx;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private arCtl.LogTextBox rtAGV;
|
||||||
|
private arCtl.LogTextBox rtPLC;
|
||||||
|
private arCtl.LogTextBox rtBMS;
|
||||||
|
private arCtl.LogTextBox rtCAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
83
Cs_HMI/Project/Dialog/fLog.cs
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fLog : Form
|
||||||
|
{
|
||||||
|
public fLog()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.FormClosed += FLog_FormClosed;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FLog_FormClosed(object sender, FormClosedEventArgs e)
|
||||||
|
{
|
||||||
|
PUB.log.RaiseMsg -= Log_RaiseMsg;
|
||||||
|
PUB.logagv.RaiseMsg -= Log_RaiseMsgagv;
|
||||||
|
PUB.logplc.RaiseMsg -= Log_RaiseMsgplc;
|
||||||
|
PUB.logbms.RaiseMsg -= Log_RaiseMsgbms;
|
||||||
|
PUB.logcal.RaiseMsg -= Log_RaiseMsgcal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fLog_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
var colorlist = new arCtl.sLogMessageColor[]
|
||||||
|
{
|
||||||
|
new arCtl.sLogMessageColor("NOR",Color.Black),
|
||||||
|
new arCtl.sLogMessageColor("NORM",Color.Black),
|
||||||
|
new arCtl.sLogMessageColor("NORMAL",Color.Black),
|
||||||
|
new arCtl.sLogMessageColor("ERR",Color.Red),
|
||||||
|
new arCtl.sLogMessageColor("FLAG",Color.Magenta),
|
||||||
|
new arCtl.sLogMessageColor("TX",Color.SkyBlue),
|
||||||
|
new arCtl.sLogMessageColor("SETUP",Color.Gold),
|
||||||
|
new arCtl.sLogMessageColor("MFLAG",Color.BlueViolet),
|
||||||
|
};
|
||||||
|
this.rtsys.ColorList = colorlist;
|
||||||
|
this.rtTx.ColorList = colorlist;
|
||||||
|
this.rtAGV.ColorList = colorlist;
|
||||||
|
|
||||||
|
PUB.log.RaiseMsg += Log_RaiseMsg;
|
||||||
|
PUB.logagv.RaiseMsg += Log_RaiseMsgagv;
|
||||||
|
PUB.logplc.RaiseMsg += Log_RaiseMsgplc;
|
||||||
|
PUB.logbms.RaiseMsg += Log_RaiseMsgbms;
|
||||||
|
PUB.logcal.RaiseMsg += Log_RaiseMsgcal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Log_RaiseMsg(DateTime LogTime, string TypeStr, string Message)
|
||||||
|
{
|
||||||
|
showlog(rtsys,LogTime, TypeStr, Message);
|
||||||
|
}
|
||||||
|
private void Log_RaiseMsgagv(DateTime LogTime, string TypeStr, string Message)
|
||||||
|
{
|
||||||
|
showlog(rtAGV, LogTime, TypeStr, Message);
|
||||||
|
}
|
||||||
|
private void Log_RaiseMsgplc(DateTime LogTime, string TypeStr, string Message)
|
||||||
|
{
|
||||||
|
showlog(rtPLC, LogTime, TypeStr, Message);
|
||||||
|
}
|
||||||
|
private void Log_RaiseMsgbms(DateTime LogTime, string TypeStr, string Message)
|
||||||
|
{
|
||||||
|
showlog(rtBMS, LogTime, TypeStr, Message);
|
||||||
|
}
|
||||||
|
private void Log_RaiseMsgcal(DateTime LogTime, string TypeStr, string Message)
|
||||||
|
{
|
||||||
|
showlog(rtCAL, LogTime, TypeStr, Message);
|
||||||
|
}
|
||||||
|
void showlog(arCtl.LogTextBox rtRx, DateTime LogTime, string TypeStr, string Message)
|
||||||
|
{
|
||||||
|
if (rtRx.Visible)
|
||||||
|
{
|
||||||
|
rtRx.AddMsg(LogTime, TypeStr, Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fLog.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>
|
||||||
93
Cs_HMI/Project/Dialog/fPassword.Designer.cs
generated
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fPassword
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fPassword));
|
||||||
|
this.tbInput = new System.Windows.Forms.TextBox();
|
||||||
|
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||||
|
this.touchKey1 = new arCtl.TouchKey();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tbInput
|
||||||
|
//
|
||||||
|
this.tbInput.Font = new System.Drawing.Font("Calibri", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.tbInput.Location = new System.Drawing.Point(26, 140);
|
||||||
|
this.tbInput.Name = "tbInput";
|
||||||
|
this.tbInput.PasswordChar = '●';
|
||||||
|
this.tbInput.Size = new System.Drawing.Size(235, 40);
|
||||||
|
this.tbInput.TabIndex = 1;
|
||||||
|
this.tbInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||||
|
//
|
||||||
|
// pictureBox1
|
||||||
|
//
|
||||||
|
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
|
||||||
|
this.pictureBox1.Location = new System.Drawing.Point(91, 23);
|
||||||
|
this.pictureBox1.Name = "pictureBox1";
|
||||||
|
this.pictureBox1.Size = new System.Drawing.Size(96, 96);
|
||||||
|
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||||
|
this.pictureBox1.TabIndex = 3;
|
||||||
|
this.pictureBox1.TabStop = false;
|
||||||
|
//
|
||||||
|
// touchKey1
|
||||||
|
//
|
||||||
|
this.touchKey1.Location = new System.Drawing.Point(26, 194);
|
||||||
|
this.touchKey1.Margin = new System.Windows.Forms.Padding(6, 11, 6, 11);
|
||||||
|
this.touchKey1.Name = "touchKey1";
|
||||||
|
this.touchKey1.Size = new System.Drawing.Size(235, 260);
|
||||||
|
this.touchKey1.TabIndex = 5;
|
||||||
|
this.touchKey1.keyClick += new arCtl.TouchKey.KeyClickHandler(this.touchKey1_keyClick);
|
||||||
|
//
|
||||||
|
// fPassword
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.ClientSize = new System.Drawing.Size(284, 470);
|
||||||
|
this.Controls.Add(this.touchKey1);
|
||||||
|
this.Controls.Add(this.pictureBox1);
|
||||||
|
this.Controls.Add(this.tbInput);
|
||||||
|
this.Font = new System.Drawing.Font("Calibri", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "fPassword";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Enter Password";
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.PictureBox pictureBox1;
|
||||||
|
public System.Windows.Forms.TextBox tbInput;
|
||||||
|
private arCtl.TouchKey touchKey1;
|
||||||
|
}
|
||||||
|
}
|
||||||
74
Cs_HMI/Project/Dialog/fPassword.cs
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fPassword : Form
|
||||||
|
{
|
||||||
|
public fPassword()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.tbInput.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Enter) Confirm(); };
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.KeyDown += (s1, e1) => {
|
||||||
|
if (e1.KeyCode == Keys.Escape) this.Close();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Confirm()
|
||||||
|
{
|
||||||
|
string id = tbInput.Text.Trim();
|
||||||
|
if (id.isEmpty())
|
||||||
|
{
|
||||||
|
tbInput.Focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void touchKey1_keyClick(string key)
|
||||||
|
{
|
||||||
|
if (key == "BACK" || key == "◁")
|
||||||
|
{
|
||||||
|
if (!tbInput.Text.isEmpty())
|
||||||
|
{
|
||||||
|
if (tbInput.Text.Length == 1) tbInput.Text = "";
|
||||||
|
else tbInput.Text = tbInput.Text.Substring(0, tbInput.Text.Length - 1);
|
||||||
|
}
|
||||||
|
//if (tbInput.Text == "") tbInput.Text = "0";
|
||||||
|
}
|
||||||
|
else if (key == "CLEAR" || key == "RESET" || key == "◀")
|
||||||
|
{
|
||||||
|
tbInput.Text = "0";
|
||||||
|
}
|
||||||
|
else if (key == "ENTER" || key == "ENT")
|
||||||
|
{
|
||||||
|
Confirm();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (tbInput.SelectionLength > 0 && tbInput.Text.Length == tbInput.SelectionLength)
|
||||||
|
{
|
||||||
|
tbInput.Text = key;
|
||||||
|
}
|
||||||
|
else if (tbInput.SelectionLength > 0)
|
||||||
|
{
|
||||||
|
//선택된 영역을 대체해준다.
|
||||||
|
tbInput.SelectedText = key;
|
||||||
|
}
|
||||||
|
else tbInput.Text += key;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
tbInput.SelectionLength = 0;
|
||||||
|
if (!tbInput.Text.isEmpty())
|
||||||
|
tbInput.SelectionStart = tbInput.Text.Length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
160
Cs_HMI/Project/Dialog/fPassword.resx
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
<?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>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAb
|
||||||
|
rwAAG68BXhqRHAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAeoSURBVHhe7Z1r
|
||||||
|
bBRVFMfr+xHf8RUTHx/UoHwpLDMLLdHtzBSosWoijSZCq9GCRAN+I+oXwgfBqIgYXzF+gMT4KIoRgloM
|
||||||
|
RhOQLbRSQSyoLZYIhEcpnZ3u0u7u9Zzd0wDT41Z2753O7s4/+aWb3TvnnvPf2bkzd6YzFYECBQoUKFCg
|
||||||
|
QIECBQrkJ/VPn36tbYZrHFOfHzP1N4ANMUvfAX+7gAPwui8Dvsb3sp9tiJnh1x0rPM+2pkYwBoULNJaO
|
||||||
|
VldfCYbPdgx9FRjZCaQAUSAYYyd8KW/ZVvjRI5HIFdRdIJSIRC60Db0BTFoPJMg0lSQcS//cMbR67JvS
|
||||||
|
KD+JhokXw5r+DBiy12WQl3TB5u1pzIXSKn2JadMuixnhF6B43G5zpowHvbapLcTcKM3SFAySjVDsQVfx
|
||||||
|
PkL7B3OkdEtHcaPqdijw69EF+xPb1NcNztBupfSLW7D3sQiKGnQXWQQMwC9iDpVRfMLdPfg5r2EKKy6g
|
||||||
|
hqLbdbVnVN1IB0V8UUVHODoQCV1P5flbA6Z+NyTdM7qIoqf7ZG34LirTn4Kj2HszexJ8AaXAAduaeg+V
|
||||||
|
6y/h2hEz9CNM0qXGwXhk6h1Utj8E28ib4IjyTybZksSx9D+wZip/fCXq7rwE9pu3cImWOD/5YgoDzH+f
|
||||||
|
Sa4scMzwO2TD+AgPVLjEygvtCbLDW+FABAn0j06ozLD0vrgVuo1s8U7wzbeyCZUn35It3sg2tceYJMoa
|
||||||
|
PNtG9qhVZo7H1HvdCXiB83i9OPXBKpFs2yrSfcdFemAgC7zG9/AzbMMt6wH7RX3ocrJJnRxDf5npXC0z
|
||||||
|
q8RQy8dCDA+LMQVtsC0uw8ZSiaEvJpvUiNb+Y6M6VojzkCGSne3k7v9Xcmd7ZlkupkIOKz2rRnP7XMdq
|
||||||
|
sMIi2bGdLD13JTvaMjHY2IqwzfBzZJdciSUV50MH3e4OVZJ4cxlZeVrpQwdFYuVyMdg0WziPmBnwNb6H
|
||||||
|
n7mVWPEKG1sVOE0hKirOI9vkKWZpFtehMmZNF+n+E2RjVqk9uzKGs+0B/Cy1Zze1zird3wfjQTXbXhV4
|
||||||
|
QRjZJk8QeLW7I5Uklr5EFmaVjtmwh/Mg2/ZMsE3aidFSWSWWvsi2VchHZJsc0eAbc3WilOFNG8m+rIY+
|
||||||
|
Wc224xj6dA0tldVw60a2nUJOSt0ldazww0wnSkn19pB9WcUXNrPtOOKLmmmprFJ/97DtVOLUhB8g+woX
|
||||||
|
XavJdqSK9OAg2ZeVU1/DtuPA3c8zlXYctp1SDH0F2Ve4INguthOFuMW1yYVbXBvF7CT7ChNeDQDB0q7g
|
||||||
|
ynGLa5MLt7g2ikmdnDntOrIxf8VMbRYTXCrx+Y0i2dIi0lujQrT/qpT0lmimr3jzXDYXuYRrycb8pfro
|
||||||
|
N77gKSF2dLJmKQX6jM9vYnOShW3oz5ON+QsG4He54LJIrfuKN8gDkl98yeYkCzgqfptszF8wAH/PBZeF
|
||||||
|
2NbOmuMJ23awOUnD0r8jG/MXBNo9KrBEWGM8hMtJIp1kY/6CIPtdQaXCmeIlXE4S6SYb8xcEOe4KKhXO
|
||||||
|
FC/hcpLIUbIxf0GQU66gUuFM8RIuJ4kkyMb8BUGGXEGlwpkyFonWzaJrbpNo07QMXXMaRXxjK9t2LLic
|
||||||
|
JCLlC/DVJgjNbwuFxNYJE84C3zu16Qd2mVxwOUlEyibIV4Mwrvlu80fY2/Qku0wuuJwkImEQVjwRx5mS
|
||||||
|
i2jlJNZ8JDp5MrtMLricJFL4hJzyAzHGlFxEKytZ85HoJJ99ATIOxPBwmg0uCc6UXHTNmcuaj/hvE6St
|
||||||
|
JBvzF04o8cHlwJmSi8H13/zHIDzFd4OwbWkLyMb8hVOqXHBZcKaMxchuKI4HuNnZ29iUl/kIl5MsYOU1
|
||||||
|
yMb8pfqEDGeKl3A5SULOCRkUBPvFFVwanClewuUkie1kX+HCE8xMB1LgTPESLidJvEr2FS6Vl6VwpngJ
|
||||||
|
l5MMpF6WIiKRSyHoCXcnMsCTIpwxnvDzdjYnCRyT/h+Utql/yHRUMHhakDXHA5Ita9mcCsW29PfINnmy
|
||||||
|
De0+rrNCic9rHL+T8oqujBgwtCqyTZ7w8nT4FfzFdVgomctS8JfQ1sGbJRPoA/tSZb6yy9NRjqE/y3Ua
|
||||||
|
cBrH0prJLvkSodBF0InS6ekipxs9IrvUSPXcUDGDWwiySZ3wn9BUjQVFzj68cQnZpFaqJ+iKklrNJHu8
|
||||||
|
kWNqa9lEyhFD/4xs8U7BzTqI8bpZBwrnOyAJz/93wEekHGNKHdkxPopZ2mtMYuWBpS8nG8ZPwS3LfKDj
|
||||||
|
deGrICFlJ218SAc+bILK94ec2upbILFSvGGrm3123aQbqGx/KXvjVl89F0A2vb69ceuIYhHt5piptTPJ
|
||||||
|
FzeZe2H75F6hYwmfXARJ/ziqiOJlc58VuprKKw6JhoYLbEtfAsnLeBLSeJGEo9zFyub3vRBenASFHHYV
|
||||||
|
VgwcwmeYURnFreARJj4R3sgICvzNXbCP2G3XavdTuqWp4DFWPpEvHuRmhH8vuwe5cbJrtIk4sQWmePGM
|
||||||
|
sR7cO8M+qftAI8I1MXO2LftltAHJM4zLF4gRjsLavgxvPFj2a/u56ESk8hrcFTzrcbbZo+xuPBFCBmdO
|
||||||
|
imTey3521uNsMQaFCxQoUKBAgQIFChQoUCAfqKLiXwYEOVtR8EleAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
557
Cs_HMI/Project/Dialog/fSystem.Designer.cs
generated
Normal file
@@ -0,0 +1,557 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fSystem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.lbMsg = new arCtl.arLabel();
|
||||||
|
this.arLabel4 = new arCtl.arLabel();
|
||||||
|
this.arLabel9 = new arCtl.arLabel();
|
||||||
|
this.arLabel10 = new arCtl.arLabel();
|
||||||
|
this.arLabel1 = new arCtl.arLabel();
|
||||||
|
this.arLabel6 = new arCtl.arLabel();
|
||||||
|
this.arLabel2 = new arCtl.arLabel();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.arLabel3 = new arCtl.arLabel();
|
||||||
|
this.arLabel5 = new arCtl.arLabel();
|
||||||
|
this.arLabel7 = new arCtl.arLabel();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// lbMsg
|
||||||
|
//
|
||||||
|
this.lbMsg.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.lbMsg.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||||
|
this.lbMsg.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbMsg.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbMsg.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.lbMsg.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lbMsg.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbMsg.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.lbMsg.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.lbMsg.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbMsg.GradientEnable = true;
|
||||||
|
this.lbMsg.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lbMsg.GradientRepeatBG = true;
|
||||||
|
this.lbMsg.isButton = true;
|
||||||
|
this.lbMsg.Location = new System.Drawing.Point(9, 8);
|
||||||
|
this.lbMsg.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.lbMsg.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbMsg.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbMsg.msg = null;
|
||||||
|
this.lbMsg.Name = "lbMsg";
|
||||||
|
this.lbMsg.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.lbMsg.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbMsg.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbMsg.ProgressEnable = false;
|
||||||
|
this.lbMsg.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbMsg.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbMsg.ProgressMax = 100F;
|
||||||
|
this.lbMsg.ProgressMin = 0F;
|
||||||
|
this.lbMsg.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbMsg.ProgressValue = 0F;
|
||||||
|
this.lbMsg.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lbMsg.Sign = "";
|
||||||
|
this.lbMsg.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbMsg.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbMsg.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbMsg.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.lbMsg.TabIndex = 2;
|
||||||
|
this.lbMsg.Text = "폴더열기";
|
||||||
|
this.lbMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbMsg.TextShadow = true;
|
||||||
|
this.lbMsg.TextVisible = true;
|
||||||
|
this.lbMsg.Click += new System.EventHandler(this.lbMsg_Click);
|
||||||
|
//
|
||||||
|
// arLabel4
|
||||||
|
//
|
||||||
|
this.arLabel4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel4.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||||
|
this.arLabel4.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel4.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel4.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel4.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel4.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel4.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel4.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel4.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel4.GradientEnable = true;
|
||||||
|
this.arLabel4.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel4.GradientRepeatBG = true;
|
||||||
|
this.arLabel4.isButton = true;
|
||||||
|
this.arLabel4.Location = new System.Drawing.Point(9, 387);
|
||||||
|
this.arLabel4.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel4.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel4.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel4.msg = null;
|
||||||
|
this.arLabel4.Name = "arLabel4";
|
||||||
|
this.arLabel4.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel4.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel4.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel4.ProgressEnable = false;
|
||||||
|
this.arLabel4.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel4.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel4.ProgressMax = 100F;
|
||||||
|
this.arLabel4.ProgressMin = 0F;
|
||||||
|
this.arLabel4.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel4.ProgressValue = 0F;
|
||||||
|
this.arLabel4.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel4.Sign = "";
|
||||||
|
this.arLabel4.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel4.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel4.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel4.Size = new System.Drawing.Size(503, 51);
|
||||||
|
this.arLabel4.TabIndex = 2;
|
||||||
|
this.arLabel4.Text = "닫기";
|
||||||
|
this.arLabel4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel4.TextShadow = true;
|
||||||
|
this.arLabel4.TextVisible = true;
|
||||||
|
this.arLabel4.Click += new System.EventHandler(this.arLabel4_Click);
|
||||||
|
//
|
||||||
|
// arLabel9
|
||||||
|
//
|
||||||
|
this.arLabel9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel9.BackColor2 = System.Drawing.Color.Red;
|
||||||
|
this.arLabel9.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel9.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel9.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel9.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel9.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel9.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel9.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel9.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel9.GradientEnable = true;
|
||||||
|
this.arLabel9.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel9.GradientRepeatBG = true;
|
||||||
|
this.arLabel9.isButton = true;
|
||||||
|
this.arLabel9.Location = new System.Drawing.Point(9, 112);
|
||||||
|
this.arLabel9.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel9.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel9.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel9.msg = null;
|
||||||
|
this.arLabel9.Name = "arLabel9";
|
||||||
|
this.arLabel9.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel9.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel9.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel9.ProgressEnable = false;
|
||||||
|
this.arLabel9.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel9.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel9.ProgressMax = 100F;
|
||||||
|
this.arLabel9.ProgressMin = 0F;
|
||||||
|
this.arLabel9.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel9.ProgressValue = 0F;
|
||||||
|
this.arLabel9.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel9.Sign = "";
|
||||||
|
this.arLabel9.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel9.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel9.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel9.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel9.TabIndex = 2;
|
||||||
|
this.arLabel9.Text = "시스템 종료";
|
||||||
|
this.arLabel9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel9.TextShadow = true;
|
||||||
|
this.arLabel9.TextVisible = true;
|
||||||
|
this.arLabel9.Click += new System.EventHandler(this.arLabel9_Click);
|
||||||
|
//
|
||||||
|
// arLabel10
|
||||||
|
//
|
||||||
|
this.arLabel10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel10.BackColor2 = System.Drawing.Color.DarkBlue;
|
||||||
|
this.arLabel10.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel10.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel10.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel10.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel10.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel10.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel10.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel10.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel10.GradientEnable = true;
|
||||||
|
this.arLabel10.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel10.GradientRepeatBG = true;
|
||||||
|
this.arLabel10.isButton = true;
|
||||||
|
this.arLabel10.Location = new System.Drawing.Point(178, 112);
|
||||||
|
this.arLabel10.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel10.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel10.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel10.msg = null;
|
||||||
|
this.arLabel10.Name = "arLabel10";
|
||||||
|
this.arLabel10.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel10.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel10.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel10.ProgressEnable = false;
|
||||||
|
this.arLabel10.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel10.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel10.ProgressMax = 100F;
|
||||||
|
this.arLabel10.ProgressMin = 0F;
|
||||||
|
this.arLabel10.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel10.ProgressValue = 0F;
|
||||||
|
this.arLabel10.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel10.Sign = "";
|
||||||
|
this.arLabel10.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel10.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel10.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel10.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel10.TabIndex = 2;
|
||||||
|
this.arLabel10.Text = "시스템 재시작";
|
||||||
|
this.arLabel10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel10.TextShadow = true;
|
||||||
|
this.arLabel10.TextVisible = true;
|
||||||
|
this.arLabel10.Click += new System.EventHandler(this.arLabel10_Click);
|
||||||
|
//
|
||||||
|
// arLabel1
|
||||||
|
//
|
||||||
|
this.arLabel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||||
|
this.arLabel1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel1.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel1.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel1.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel1.GradientEnable = true;
|
||||||
|
this.arLabel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel1.GradientRepeatBG = true;
|
||||||
|
this.arLabel1.isButton = true;
|
||||||
|
this.arLabel1.Location = new System.Drawing.Point(347, 8);
|
||||||
|
this.arLabel1.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel1.msg = null;
|
||||||
|
this.arLabel1.Name = "arLabel1";
|
||||||
|
this.arLabel1.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel1.ProgressEnable = false;
|
||||||
|
this.arLabel1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel1.ProgressMax = 100F;
|
||||||
|
this.arLabel1.ProgressMin = 0F;
|
||||||
|
this.arLabel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.ProgressValue = 0F;
|
||||||
|
this.arLabel1.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel1.Sign = "";
|
||||||
|
this.arLabel1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel1.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel1.TabIndex = 2;
|
||||||
|
this.arLabel1.Text = "시작메뉴";
|
||||||
|
this.arLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel1.TextShadow = true;
|
||||||
|
this.arLabel1.TextVisible = true;
|
||||||
|
this.arLabel1.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel6
|
||||||
|
//
|
||||||
|
this.arLabel6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel6.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||||
|
this.arLabel6.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel6.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel6.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel6.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel6.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel6.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel6.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel6.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel6.GradientEnable = true;
|
||||||
|
this.arLabel6.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel6.GradientRepeatBG = true;
|
||||||
|
this.arLabel6.isButton = true;
|
||||||
|
this.arLabel6.Location = new System.Drawing.Point(178, 8);
|
||||||
|
this.arLabel6.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel6.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel6.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel6.msg = null;
|
||||||
|
this.arLabel6.Name = "arLabel6";
|
||||||
|
this.arLabel6.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel6.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel6.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel6.ProgressEnable = false;
|
||||||
|
this.arLabel6.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel6.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel6.ProgressMax = 100F;
|
||||||
|
this.arLabel6.ProgressMin = 0F;
|
||||||
|
this.arLabel6.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel6.ProgressValue = 0F;
|
||||||
|
this.arLabel6.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel6.Sign = "";
|
||||||
|
this.arLabel6.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel6.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel6.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel6.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel6.TabIndex = 2;
|
||||||
|
this.arLabel6.Text = "작업관리자";
|
||||||
|
this.arLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel6.TextShadow = true;
|
||||||
|
this.arLabel6.TextVisible = true;
|
||||||
|
this.arLabel6.Click += new System.EventHandler(this.arLabel6_Click);
|
||||||
|
//
|
||||||
|
// arLabel2
|
||||||
|
//
|
||||||
|
this.arLabel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel2.BackColor2 = System.Drawing.Color.DarkBlue;
|
||||||
|
this.arLabel2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel2.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel2.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel2.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel2.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel2.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel2.GradientEnable = true;
|
||||||
|
this.arLabel2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel2.GradientRepeatBG = true;
|
||||||
|
this.arLabel2.isButton = true;
|
||||||
|
this.arLabel2.Location = new System.Drawing.Point(347, 112);
|
||||||
|
this.arLabel2.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel2.msg = null;
|
||||||
|
this.arLabel2.Name = "arLabel2";
|
||||||
|
this.arLabel2.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel2.ProgressEnable = false;
|
||||||
|
this.arLabel2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel2.ProgressMax = 100F;
|
||||||
|
this.arLabel2.ProgressMin = 0F;
|
||||||
|
this.arLabel2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel2.ProgressValue = 0F;
|
||||||
|
this.arLabel2.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel2.Sign = "";
|
||||||
|
this.arLabel2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel2.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel2.TabIndex = 2;
|
||||||
|
this.arLabel2.Text = "Process List";
|
||||||
|
this.arLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel2.TextShadow = true;
|
||||||
|
this.arLabel2.TextVisible = true;
|
||||||
|
this.arLabel2.Click += new System.EventHandler(this.arLabel2_Click);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.label1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.label1.Location = new System.Drawing.Point(9, 327);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(515, 23);
|
||||||
|
this.label1.TabIndex = 3;
|
||||||
|
this.label1.Text = "label1";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.label2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.label2.Location = new System.Drawing.Point(9, 359);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(515, 23);
|
||||||
|
this.label2.TabIndex = 3;
|
||||||
|
this.label2.Text = "label1";
|
||||||
|
//
|
||||||
|
// arLabel3
|
||||||
|
//
|
||||||
|
this.arLabel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel3.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||||
|
this.arLabel3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel3.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel3.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel3.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel3.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel3.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel3.GradientEnable = true;
|
||||||
|
this.arLabel3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel3.GradientRepeatBG = true;
|
||||||
|
this.arLabel3.isButton = true;
|
||||||
|
this.arLabel3.Location = new System.Drawing.Point(9, 216);
|
||||||
|
this.arLabel3.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel3.msg = null;
|
||||||
|
this.arLabel3.Name = "arLabel3";
|
||||||
|
this.arLabel3.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel3.ProgressEnable = false;
|
||||||
|
this.arLabel3.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel3.ProgressMax = 100F;
|
||||||
|
this.arLabel3.ProgressMin = 0F;
|
||||||
|
this.arLabel3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel3.ProgressValue = 0F;
|
||||||
|
this.arLabel3.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel3.Sign = "";
|
||||||
|
this.arLabel3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel3.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel3.TabIndex = 4;
|
||||||
|
this.arLabel3.Text = "Emulator";
|
||||||
|
this.arLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel3.TextShadow = true;
|
||||||
|
this.arLabel3.TextVisible = true;
|
||||||
|
this.arLabel3.Click += new System.EventHandler(this.arLabel3_Click);
|
||||||
|
//
|
||||||
|
// arLabel5
|
||||||
|
//
|
||||||
|
this.arLabel5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel5.BackColor2 = System.Drawing.Color.Pink;
|
||||||
|
this.arLabel5.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel5.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel5.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel5.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel5.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel5.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel5.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel5.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel5.GradientEnable = true;
|
||||||
|
this.arLabel5.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel5.GradientRepeatBG = true;
|
||||||
|
this.arLabel5.isButton = true;
|
||||||
|
this.arLabel5.Location = new System.Drawing.Point(178, 216);
|
||||||
|
this.arLabel5.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel5.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel5.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel5.msg = null;
|
||||||
|
this.arLabel5.Name = "arLabel5";
|
||||||
|
this.arLabel5.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel5.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel5.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel5.ProgressEnable = false;
|
||||||
|
this.arLabel5.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel5.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel5.ProgressMax = 100F;
|
||||||
|
this.arLabel5.ProgressMin = 0F;
|
||||||
|
this.arLabel5.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel5.ProgressValue = 0F;
|
||||||
|
this.arLabel5.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel5.Sign = "";
|
||||||
|
this.arLabel5.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel5.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel5.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel5.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel5.TabIndex = 5;
|
||||||
|
this.arLabel5.Text = "패치파일 생성";
|
||||||
|
this.arLabel5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel5.TextShadow = true;
|
||||||
|
this.arLabel5.TextVisible = true;
|
||||||
|
this.arLabel5.Click += new System.EventHandler(this.arLabel5_Click);
|
||||||
|
//
|
||||||
|
// arLabel7
|
||||||
|
//
|
||||||
|
this.arLabel7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(72)))), ((int)(((byte)(72)))));
|
||||||
|
this.arLabel7.BackColor2 = System.Drawing.Color.DarkBlue;
|
||||||
|
this.arLabel7.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel7.BorderColor = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel7.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel7.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel7.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel7.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel7.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel7.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel7.GradientEnable = true;
|
||||||
|
this.arLabel7.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel7.GradientRepeatBG = true;
|
||||||
|
this.arLabel7.isButton = true;
|
||||||
|
this.arLabel7.Location = new System.Drawing.Point(347, 216);
|
||||||
|
this.arLabel7.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.arLabel7.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel7.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel7.msg = null;
|
||||||
|
this.arLabel7.Name = "arLabel7";
|
||||||
|
this.arLabel7.ProgressBorderColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel7.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel7.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel7.ProgressEnable = false;
|
||||||
|
this.arLabel7.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel7.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel7.ProgressMax = 100F;
|
||||||
|
this.arLabel7.ProgressMin = 0F;
|
||||||
|
this.arLabel7.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel7.ProgressValue = 0F;
|
||||||
|
this.arLabel7.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel7.Sign = "";
|
||||||
|
this.arLabel7.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel7.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel7.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel7.Size = new System.Drawing.Size(165, 100);
|
||||||
|
this.arLabel7.TabIndex = 6;
|
||||||
|
this.arLabel7.Text = "자동 재시작";
|
||||||
|
this.arLabel7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel7.TextShadow = true;
|
||||||
|
this.arLabel7.TextVisible = true;
|
||||||
|
this.arLabel7.Click += new System.EventHandler(this.arLabel7_Click);
|
||||||
|
//
|
||||||
|
// fSystem
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(519, 451);
|
||||||
|
this.Controls.Add(this.arLabel7);
|
||||||
|
this.Controls.Add(this.arLabel5);
|
||||||
|
this.Controls.Add(this.arLabel3);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.arLabel4);
|
||||||
|
this.Controls.Add(this.lbMsg);
|
||||||
|
this.Controls.Add(this.arLabel9);
|
||||||
|
this.Controls.Add(this.arLabel10);
|
||||||
|
this.Controls.Add(this.arLabel1);
|
||||||
|
this.Controls.Add(this.arLabel2);
|
||||||
|
this.Controls.Add(this.arLabel6);
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "fSystem";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "fSystem";
|
||||||
|
this.Load += new System.EventHandler(this.fSystem_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
private arCtl.arLabel lbMsg;
|
||||||
|
private arCtl.arLabel arLabel4;
|
||||||
|
private arCtl.arLabel arLabel6;
|
||||||
|
private arCtl.arLabel arLabel9;
|
||||||
|
private arCtl.arLabel arLabel10;
|
||||||
|
private arCtl.arLabel arLabel1;
|
||||||
|
private arCtl.arLabel arLabel2;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private arCtl.arLabel arLabel3;
|
||||||
|
private arCtl.arLabel arLabel5;
|
||||||
|
private arCtl.arLabel arLabel7;
|
||||||
|
}
|
||||||
|
}
|
||||||
144
Cs_HMI/Project/Dialog/fSystem.cs
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fSystem : Form
|
||||||
|
{
|
||||||
|
public bool shutdown = false;
|
||||||
|
public fSystem()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Util.RunProcess(@"c:\windows\system32\shutdown.exe", "-r -t 5");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button2_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Util.RunProcess(@"c:\windows\system32\shutdown.exe", "-s -t 5");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button3_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void lbMsg_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string path = AppDomain.CurrentDomain.BaseDirectory;
|
||||||
|
System.Diagnostics.Process prc = new System.Diagnostics.Process();
|
||||||
|
System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo("explorer")
|
||||||
|
{
|
||||||
|
Arguments = path
|
||||||
|
};
|
||||||
|
prc.StartInfo = si;
|
||||||
|
prc.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SendKeys.Send("^{ESC}");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel6_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SendKeys.Send("^+{ESC}");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel9_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
shutdown = true;
|
||||||
|
Util.SystemShutdown(10);
|
||||||
|
this.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel10_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
shutdown = true;
|
||||||
|
Util.SystemReboot(10);
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel4_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel2_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
System.Text.StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
|
sb.AppendLine("Current : " + System.Diagnostics.Process.GetCurrentProcess().ProcessName);
|
||||||
|
|
||||||
|
foreach (var prc in System.Diagnostics.Process.GetProcesses())
|
||||||
|
{
|
||||||
|
if (prc.ProcessName.StartsWith("svchost")) continue;
|
||||||
|
sb.Append(" " + prc.ProcessName);
|
||||||
|
}
|
||||||
|
Util.MsgI(sb.ToString(),true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fSystem_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.label1.Text = "Patch Version " + PUB.PatchVersion;
|
||||||
|
this.label2.Text = "HMI Version " + Application.ProductVersion.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel3_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var file = System.IO.Path.Combine( Util.CurrentPath, "Emulator.exe");
|
||||||
|
if(System.IO.File.Exists(file)==false)
|
||||||
|
{
|
||||||
|
Util.MsgE("에물레이터 실행 파일이 없습니다", true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.RunProcess(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel5_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//현재 폴더에서 dll 과, amkor.exe 파일을 압축한다
|
||||||
|
var path = new System.IO.DirectoryInfo( AppDomain.CurrentDomain.BaseDirectory);
|
||||||
|
var files_dll = path.GetFiles("*.dll");
|
||||||
|
var file_exe = System.IO.Path.Combine(path.FullName, "amkor.exe");
|
||||||
|
if(System.IO.File.Exists(file_exe)==false)
|
||||||
|
{
|
||||||
|
Util.MsgE("실행파일 amkor.exe 가 없습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var zipfile = new Ionic.Zip.ZipFile();
|
||||||
|
zipfile.AddFile(file_exe,"/");
|
||||||
|
foreach (var filedll in files_dll)
|
||||||
|
zipfile.AddFile(filedll.FullName,"/");
|
||||||
|
|
||||||
|
var veri = Application.ProductVersion.Split('.');
|
||||||
|
var newfilename = "Patch_AGV_" + veri[0] + veri[1]+ veri[2] + "_" +
|
||||||
|
veri[3] + ".zip";
|
||||||
|
zipfile.Save(newfilename);
|
||||||
|
|
||||||
|
Util.MsgI("다음 패치 파일이 생성됨\n" + newfilename);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel7_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Util.SystemReboot(5,true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fSystem.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>
|
||||||
60
Cs_HMI/Project/Dialog/fTouchKey.Designer.cs
generated
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fTouchKey
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.touchKeyCalc1 = new arCtl.TouchKeyCalc();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// touchKeyCalc1
|
||||||
|
//
|
||||||
|
this.touchKeyCalc1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.touchKeyCalc1.Font = new System.Drawing.Font("Consolas", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.touchKeyCalc1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.touchKeyCalc1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||||
|
this.touchKeyCalc1.Name = "touchKeyCalc1";
|
||||||
|
this.touchKeyCalc1.Size = new System.Drawing.Size(374, 330);
|
||||||
|
this.touchKeyCalc1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// fTouchKey
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(374, 330);
|
||||||
|
this.Controls.Add(this.touchKeyCalc1);
|
||||||
|
this.Name = "fTouchKey";
|
||||||
|
this.Text = "fTouchKey";
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private arCtl.TouchKeyCalc touchKeyCalc1;
|
||||||
|
}
|
||||||
|
}
|
||||||
19
Cs_HMI/Project/Dialog/fTouchKey.cs
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fTouchKey : Form
|
||||||
|
{
|
||||||
|
public fTouchKey()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fTouchKey.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>
|
||||||
147
Cs_HMI/Project/Dialog/fTouchKeyFull.Designer.cs
generated
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fTouchKeyFull
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.touchKeyFull1 = new arCtl.TouchKeyFull();
|
||||||
|
this.tbInput = new System.Windows.Forms.TextBox();
|
||||||
|
this.lbTitle = new arCtl.arLabel();
|
||||||
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// touchKeyFull1
|
||||||
|
//
|
||||||
|
this.touchKeyFull1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.touchKeyFull1.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.touchKeyFull1.Location = new System.Drawing.Point(6, 95);
|
||||||
|
this.touchKeyFull1.Name = "touchKeyFull1";
|
||||||
|
this.touchKeyFull1.Size = new System.Drawing.Size(788, 230);
|
||||||
|
this.touchKeyFull1.TabIndex = 0;
|
||||||
|
this.touchKeyFull1.keyClick += new arCtl.TouchKeyFull.KeyClickHandler(this.touchKeyFull1_keyClick);
|
||||||
|
//
|
||||||
|
// tbInput
|
||||||
|
//
|
||||||
|
this.tbInput.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.tbInput.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.tbInput.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.tbInput.Font = new System.Drawing.Font("맑은 고딕", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.tbInput.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.tbInput.Location = new System.Drawing.Point(6, 49);
|
||||||
|
this.tbInput.Name = "tbInput";
|
||||||
|
this.tbInput.Size = new System.Drawing.Size(788, 46);
|
||||||
|
this.tbInput.TabIndex = 0;
|
||||||
|
this.tbInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||||
|
//
|
||||||
|
// lbTitle
|
||||||
|
//
|
||||||
|
this.lbTitle.BackColor = System.Drawing.Color.Gray;
|
||||||
|
this.lbTitle.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lbTitle.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderColorOver = System.Drawing.Color.DarkBlue;
|
||||||
|
this.lbTitle.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbTitle.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lbTitle.Enabled = false;
|
||||||
|
this.lbTitle.Enabled = true;
|
||||||
|
this.lbTitle.Font = new System.Drawing.Font("Consolas", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lbTitle.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lbTitle.GradientEnable = true;
|
||||||
|
this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbTitle.GradientRepeatBG = false;
|
||||||
|
this.lbTitle.isButton = false;
|
||||||
|
this.lbTitle.Location = new System.Drawing.Point(6, 5);
|
||||||
|
this.lbTitle.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbTitle.msg = null;
|
||||||
|
this.lbTitle.Name = "lbTitle";
|
||||||
|
this.lbTitle.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbTitle.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbTitle.ProgressEnable = false;
|
||||||
|
this.lbTitle.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbTitle.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbTitle.ProgressMax = 100F;
|
||||||
|
this.lbTitle.ProgressMin = 0F;
|
||||||
|
this.lbTitle.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.ProgressValue = 0F;
|
||||||
|
this.lbTitle.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lbTitle.Sign = "";
|
||||||
|
this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbTitle.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbTitle.Size = new System.Drawing.Size(788, 44);
|
||||||
|
this.lbTitle.TabIndex = 2;
|
||||||
|
this.lbTitle.Text = "INPUT";
|
||||||
|
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbTitle.TextShadow = true;
|
||||||
|
this.lbTitle.TextVisible = true;
|
||||||
|
//
|
||||||
|
// button1
|
||||||
|
//
|
||||||
|
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.button1.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.button1.Location = new System.Drawing.Point(728, 11);
|
||||||
|
this.button1.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.button1.Name = "button1";
|
||||||
|
this.button1.Size = new System.Drawing.Size(60, 34);
|
||||||
|
this.button1.TabIndex = 3;
|
||||||
|
this.button1.Text = "CLOSE";
|
||||||
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
|
//
|
||||||
|
// fTouchKeyFull
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(800, 330);
|
||||||
|
this.Controls.Add(this.button1);
|
||||||
|
this.Controls.Add(this.touchKeyFull1);
|
||||||
|
this.Controls.Add(this.tbInput);
|
||||||
|
this.Controls.Add(this.lbTitle);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.Name = "fTouchKeyFull";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(6, 5, 6, 5);
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "fTouchKeyFull";
|
||||||
|
this.Load += new System.EventHandler(this.fTouchKeyFull_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private arCtl.TouchKeyFull touchKeyFull1;
|
||||||
|
private arCtl.arLabel lbTitle;
|
||||||
|
public System.Windows.Forms.TextBox tbInput;
|
||||||
|
private System.Windows.Forms.Button button1;
|
||||||
|
}
|
||||||
|
}
|
||||||
99
Cs_HMI/Project/Dialog/fTouchKeyFull.cs
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fTouchKeyFull : Form
|
||||||
|
{
|
||||||
|
public fTouchKeyFull(string title,string value)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.lbTitle.Text = title;
|
||||||
|
this.tbInput.Text = value;
|
||||||
|
this.KeyDown += (s1, e1) =>
|
||||||
|
{
|
||||||
|
if (e1.KeyCode == Keys.Escape)
|
||||||
|
this.Close();
|
||||||
|
};
|
||||||
|
this.lbTitle.MouseMove += LbTitle_MouseMove;
|
||||||
|
this.lbTitle.MouseUp += LbTitle_MouseUp;
|
||||||
|
this.lbTitle.MouseDown += LbTitle_MouseDown;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fTouchKeyFull_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Show();
|
||||||
|
Application.DoEvents();
|
||||||
|
this.tbInput.SelectAll();
|
||||||
|
this.tbInput.Focus();
|
||||||
|
}
|
||||||
|
#region "Mouse Form Move"
|
||||||
|
|
||||||
|
private Boolean fMove = false;
|
||||||
|
private Point MDownPos;
|
||||||
|
private void LbTitle_MouseMove(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (fMove)
|
||||||
|
{
|
||||||
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
||||||
|
this.Left += offset.X;
|
||||||
|
this.Top += offset.Y;
|
||||||
|
offset = new Point(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void LbTitle_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
fMove = false;
|
||||||
|
}
|
||||||
|
private void LbTitle_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
MDownPos = new Point(e.X, e.Y);
|
||||||
|
fMove = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void touchKeyFull1_keyClick(string key)
|
||||||
|
{
|
||||||
|
var seltext = tbInput.SelectedText;
|
||||||
|
switch(key)
|
||||||
|
{
|
||||||
|
|
||||||
|
case "CLR":
|
||||||
|
this.tbInput.Text = string.Empty;
|
||||||
|
break;
|
||||||
|
case "BACK":
|
||||||
|
if (this.tbInput.TextLength < 2) this.tbInput.Text = string.Empty;
|
||||||
|
else this.tbInput.Text = this.tbInput.Text.Substring(0,tbInput.TextLength-1);
|
||||||
|
this.tbInput.SelectionStart = this.tbInput.TextLength;
|
||||||
|
break;
|
||||||
|
case "ENTER":
|
||||||
|
this.DialogResult = DialogResult.OK;
|
||||||
|
break;
|
||||||
|
case "SPACE":
|
||||||
|
if (seltext.Length == tbInput.TextLength) tbInput.Text = "";
|
||||||
|
this.tbInput.Text += " ";
|
||||||
|
this.tbInput.SelectionStart = this.tbInput.TextLength;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
|
||||||
|
if (seltext.Length == tbInput.TextLength) tbInput.Text = "";
|
||||||
|
this.tbInput.Text += key;
|
||||||
|
this.tbInput.SelectionStart = this.tbInput.TextLength;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fTouchKeyFull.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>
|
||||||
835
Cs_HMI/Project/Dialog/fTouchNumDot.Designer.cs
generated
Normal file
@@ -0,0 +1,835 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fTouchNumDot
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.arLabel1 = new arCtl.arLabel();
|
||||||
|
this.arLabel2 = new arCtl.arLabel();
|
||||||
|
this.arLabel3 = new arCtl.arLabel();
|
||||||
|
this.arLabel4 = new arCtl.arLabel();
|
||||||
|
this.arLabel5 = new arCtl.arLabel();
|
||||||
|
this.arLabel6 = new arCtl.arLabel();
|
||||||
|
this.arLabel7 = new arCtl.arLabel();
|
||||||
|
this.arLabel8 = new arCtl.arLabel();
|
||||||
|
this.arLabel9 = new arCtl.arLabel();
|
||||||
|
this.arLabel11 = new arCtl.arLabel();
|
||||||
|
this.arLabel12 = new arCtl.arLabel();
|
||||||
|
this.arLabel13 = new arCtl.arLabel();
|
||||||
|
this.arLabel14 = new arCtl.arLabel();
|
||||||
|
this.arLabel15 = new arCtl.arLabel();
|
||||||
|
this.arLabel10 = new arCtl.arLabel();
|
||||||
|
this.tbInput = new System.Windows.Forms.TextBox();
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tableLayoutPanel1
|
||||||
|
//
|
||||||
|
this.tableLayoutPanel1.ColumnCount = 4;
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel1, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel2, 1, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel3, 2, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel4, 2, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel5, 1, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel6, 0, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel7, 0, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel8, 1, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel9, 2, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel11, 1, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel12, 3, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel13, 2, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel14, 0, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel15, 3, 1);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.arLabel10, 3, 2);
|
||||||
|
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tableLayoutPanel1.Location = new System.Drawing.Point(5, 50);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
this.tableLayoutPanel1.RowCount = 4;
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.Size = new System.Drawing.Size(324, 265);
|
||||||
|
this.tableLayoutPanel1.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// arLabel1
|
||||||
|
//
|
||||||
|
this.arLabel1.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel1.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel1.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel1.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel1.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel1.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel1.GradientEnable = false;
|
||||||
|
this.arLabel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel1.GradientRepeatBG = false;
|
||||||
|
this.arLabel1.isButton = true;
|
||||||
|
this.arLabel1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.arLabel1.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel1.msg = null;
|
||||||
|
this.arLabel1.Name = "arLabel1";
|
||||||
|
this.arLabel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel1.ProgressEnable = false;
|
||||||
|
this.arLabel1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel1.ProgressMax = 100F;
|
||||||
|
this.arLabel1.ProgressMin = 0F;
|
||||||
|
this.arLabel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.ProgressValue = 0F;
|
||||||
|
this.arLabel1.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel1.Sign = "";
|
||||||
|
this.arLabel1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel1.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel1.TabIndex = 0;
|
||||||
|
this.arLabel1.Tag = "1";
|
||||||
|
this.arLabel1.Text = "1";
|
||||||
|
this.arLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel1.TextShadow = false;
|
||||||
|
this.arLabel1.TextVisible = true;
|
||||||
|
this.arLabel1.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel2
|
||||||
|
//
|
||||||
|
this.arLabel2.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel2.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel2.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel2.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel2.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel2.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel2.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel2.GradientEnable = false;
|
||||||
|
this.arLabel2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel2.GradientRepeatBG = false;
|
||||||
|
this.arLabel2.isButton = true;
|
||||||
|
this.arLabel2.Location = new System.Drawing.Point(81, 0);
|
||||||
|
this.arLabel2.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel2.msg = null;
|
||||||
|
this.arLabel2.Name = "arLabel2";
|
||||||
|
this.arLabel2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel2.ProgressEnable = false;
|
||||||
|
this.arLabel2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel2.ProgressMax = 100F;
|
||||||
|
this.arLabel2.ProgressMin = 0F;
|
||||||
|
this.arLabel2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel2.ProgressValue = 0F;
|
||||||
|
this.arLabel2.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel2.Sign = "";
|
||||||
|
this.arLabel2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel2.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel2.TabIndex = 0;
|
||||||
|
this.arLabel2.Tag = "2";
|
||||||
|
this.arLabel2.Text = "2";
|
||||||
|
this.arLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel2.TextShadow = false;
|
||||||
|
this.arLabel2.TextVisible = true;
|
||||||
|
this.arLabel2.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel3
|
||||||
|
//
|
||||||
|
this.arLabel3.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel3.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel3.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel3.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel3.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel3.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel3.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel3.GradientEnable = false;
|
||||||
|
this.arLabel3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel3.GradientRepeatBG = false;
|
||||||
|
this.arLabel3.isButton = true;
|
||||||
|
this.arLabel3.Location = new System.Drawing.Point(162, 0);
|
||||||
|
this.arLabel3.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel3.msg = null;
|
||||||
|
this.arLabel3.Name = "arLabel3";
|
||||||
|
this.arLabel3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel3.ProgressEnable = false;
|
||||||
|
this.arLabel3.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel3.ProgressMax = 100F;
|
||||||
|
this.arLabel3.ProgressMin = 0F;
|
||||||
|
this.arLabel3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel3.ProgressValue = 0F;
|
||||||
|
this.arLabel3.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel3.Sign = "";
|
||||||
|
this.arLabel3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel3.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel3.TabIndex = 0;
|
||||||
|
this.arLabel3.Tag = "3";
|
||||||
|
this.arLabel3.Text = "3";
|
||||||
|
this.arLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel3.TextShadow = false;
|
||||||
|
this.arLabel3.TextVisible = true;
|
||||||
|
this.arLabel3.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel4
|
||||||
|
//
|
||||||
|
this.arLabel4.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel4.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel4.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel4.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel4.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel4.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel4.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel4.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel4.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel4.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel4.GradientEnable = false;
|
||||||
|
this.arLabel4.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel4.GradientRepeatBG = false;
|
||||||
|
this.arLabel4.isButton = true;
|
||||||
|
this.arLabel4.Location = new System.Drawing.Point(162, 66);
|
||||||
|
this.arLabel4.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel4.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel4.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel4.msg = null;
|
||||||
|
this.arLabel4.Name = "arLabel4";
|
||||||
|
this.arLabel4.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel4.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel4.ProgressEnable = false;
|
||||||
|
this.arLabel4.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel4.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel4.ProgressMax = 100F;
|
||||||
|
this.arLabel4.ProgressMin = 0F;
|
||||||
|
this.arLabel4.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel4.ProgressValue = 0F;
|
||||||
|
this.arLabel4.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel4.Sign = "";
|
||||||
|
this.arLabel4.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel4.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel4.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel4.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel4.TabIndex = 0;
|
||||||
|
this.arLabel4.Tag = "6";
|
||||||
|
this.arLabel4.Text = "6";
|
||||||
|
this.arLabel4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel4.TextShadow = false;
|
||||||
|
this.arLabel4.TextVisible = true;
|
||||||
|
this.arLabel4.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel5
|
||||||
|
//
|
||||||
|
this.arLabel5.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel5.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel5.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel5.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel5.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel5.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel5.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel5.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel5.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel5.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel5.GradientEnable = false;
|
||||||
|
this.arLabel5.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel5.GradientRepeatBG = false;
|
||||||
|
this.arLabel5.isButton = true;
|
||||||
|
this.arLabel5.Location = new System.Drawing.Point(81, 66);
|
||||||
|
this.arLabel5.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel5.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel5.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel5.msg = null;
|
||||||
|
this.arLabel5.Name = "arLabel5";
|
||||||
|
this.arLabel5.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel5.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel5.ProgressEnable = false;
|
||||||
|
this.arLabel5.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel5.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel5.ProgressMax = 100F;
|
||||||
|
this.arLabel5.ProgressMin = 0F;
|
||||||
|
this.arLabel5.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel5.ProgressValue = 0F;
|
||||||
|
this.arLabel5.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel5.Sign = "";
|
||||||
|
this.arLabel5.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel5.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel5.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel5.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel5.TabIndex = 0;
|
||||||
|
this.arLabel5.Tag = "5";
|
||||||
|
this.arLabel5.Text = "5";
|
||||||
|
this.arLabel5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel5.TextShadow = false;
|
||||||
|
this.arLabel5.TextVisible = true;
|
||||||
|
this.arLabel5.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel6
|
||||||
|
//
|
||||||
|
this.arLabel6.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel6.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel6.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel6.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel6.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel6.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel6.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel6.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel6.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel6.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel6.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel6.GradientEnable = false;
|
||||||
|
this.arLabel6.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel6.GradientRepeatBG = false;
|
||||||
|
this.arLabel6.isButton = true;
|
||||||
|
this.arLabel6.Location = new System.Drawing.Point(0, 66);
|
||||||
|
this.arLabel6.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel6.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel6.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel6.msg = null;
|
||||||
|
this.arLabel6.Name = "arLabel6";
|
||||||
|
this.arLabel6.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel6.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel6.ProgressEnable = false;
|
||||||
|
this.arLabel6.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel6.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel6.ProgressMax = 100F;
|
||||||
|
this.arLabel6.ProgressMin = 0F;
|
||||||
|
this.arLabel6.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel6.ProgressValue = 0F;
|
||||||
|
this.arLabel6.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel6.Sign = "";
|
||||||
|
this.arLabel6.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel6.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel6.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel6.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel6.TabIndex = 0;
|
||||||
|
this.arLabel6.Tag = "4";
|
||||||
|
this.arLabel6.Text = "4";
|
||||||
|
this.arLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel6.TextShadow = false;
|
||||||
|
this.arLabel6.TextVisible = true;
|
||||||
|
this.arLabel6.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel7
|
||||||
|
//
|
||||||
|
this.arLabel7.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel7.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel7.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel7.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel7.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel7.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel7.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel7.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel7.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel7.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel7.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel7.GradientEnable = false;
|
||||||
|
this.arLabel7.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel7.GradientRepeatBG = false;
|
||||||
|
this.arLabel7.isButton = true;
|
||||||
|
this.arLabel7.Location = new System.Drawing.Point(0, 132);
|
||||||
|
this.arLabel7.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel7.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel7.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel7.msg = null;
|
||||||
|
this.arLabel7.Name = "arLabel7";
|
||||||
|
this.arLabel7.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel7.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel7.ProgressEnable = false;
|
||||||
|
this.arLabel7.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel7.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel7.ProgressMax = 100F;
|
||||||
|
this.arLabel7.ProgressMin = 0F;
|
||||||
|
this.arLabel7.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel7.ProgressValue = 0F;
|
||||||
|
this.arLabel7.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel7.Sign = "";
|
||||||
|
this.arLabel7.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel7.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel7.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel7.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel7.TabIndex = 0;
|
||||||
|
this.arLabel7.Tag = "7";
|
||||||
|
this.arLabel7.Text = "7";
|
||||||
|
this.arLabel7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel7.TextShadow = false;
|
||||||
|
this.arLabel7.TextVisible = true;
|
||||||
|
this.arLabel7.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel8
|
||||||
|
//
|
||||||
|
this.arLabel8.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel8.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel8.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel8.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel8.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel8.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel8.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel8.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel8.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel8.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel8.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel8.GradientEnable = false;
|
||||||
|
this.arLabel8.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel8.GradientRepeatBG = false;
|
||||||
|
this.arLabel8.isButton = true;
|
||||||
|
this.arLabel8.Location = new System.Drawing.Point(81, 132);
|
||||||
|
this.arLabel8.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel8.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel8.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel8.msg = null;
|
||||||
|
this.arLabel8.Name = "arLabel8";
|
||||||
|
this.arLabel8.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel8.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel8.ProgressEnable = false;
|
||||||
|
this.arLabel8.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel8.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel8.ProgressMax = 100F;
|
||||||
|
this.arLabel8.ProgressMin = 0F;
|
||||||
|
this.arLabel8.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel8.ProgressValue = 0F;
|
||||||
|
this.arLabel8.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel8.Sign = "";
|
||||||
|
this.arLabel8.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel8.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel8.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel8.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel8.TabIndex = 0;
|
||||||
|
this.arLabel8.Tag = "8";
|
||||||
|
this.arLabel8.Text = "8";
|
||||||
|
this.arLabel8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel8.TextShadow = false;
|
||||||
|
this.arLabel8.TextVisible = true;
|
||||||
|
this.arLabel8.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel9
|
||||||
|
//
|
||||||
|
this.arLabel9.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel9.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel9.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel9.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel9.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel9.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel9.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel9.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel9.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel9.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel9.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel9.GradientEnable = false;
|
||||||
|
this.arLabel9.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel9.GradientRepeatBG = false;
|
||||||
|
this.arLabel9.isButton = true;
|
||||||
|
this.arLabel9.Location = new System.Drawing.Point(162, 132);
|
||||||
|
this.arLabel9.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel9.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel9.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel9.msg = null;
|
||||||
|
this.arLabel9.Name = "arLabel9";
|
||||||
|
this.arLabel9.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel9.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel9.ProgressEnable = false;
|
||||||
|
this.arLabel9.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel9.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel9.ProgressMax = 100F;
|
||||||
|
this.arLabel9.ProgressMin = 0F;
|
||||||
|
this.arLabel9.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel9.ProgressValue = 0F;
|
||||||
|
this.arLabel9.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel9.Sign = "";
|
||||||
|
this.arLabel9.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel9.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel9.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel9.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel9.TabIndex = 0;
|
||||||
|
this.arLabel9.Tag = "9";
|
||||||
|
this.arLabel9.Text = "9";
|
||||||
|
this.arLabel9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel9.TextShadow = false;
|
||||||
|
this.arLabel9.TextVisible = true;
|
||||||
|
this.arLabel9.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel11
|
||||||
|
//
|
||||||
|
this.arLabel11.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel11.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel11.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel11.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel11.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel11.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel11.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel11.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel11.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel11.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel11.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel11.GradientEnable = false;
|
||||||
|
this.arLabel11.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel11.GradientRepeatBG = false;
|
||||||
|
this.arLabel11.isButton = true;
|
||||||
|
this.arLabel11.Location = new System.Drawing.Point(81, 198);
|
||||||
|
this.arLabel11.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel11.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel11.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel11.msg = null;
|
||||||
|
this.arLabel11.Name = "arLabel11";
|
||||||
|
this.arLabel11.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel11.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel11.ProgressEnable = false;
|
||||||
|
this.arLabel11.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel11.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel11.ProgressMax = 100F;
|
||||||
|
this.arLabel11.ProgressMin = 0F;
|
||||||
|
this.arLabel11.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel11.ProgressValue = 0F;
|
||||||
|
this.arLabel11.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel11.Sign = "";
|
||||||
|
this.arLabel11.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel11.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel11.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel11.Size = new System.Drawing.Size(81, 67);
|
||||||
|
this.arLabel11.TabIndex = 0;
|
||||||
|
this.arLabel11.Tag = "0";
|
||||||
|
this.arLabel11.Text = "0";
|
||||||
|
this.arLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel11.TextShadow = false;
|
||||||
|
this.arLabel11.TextVisible = true;
|
||||||
|
this.arLabel11.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel12
|
||||||
|
//
|
||||||
|
this.arLabel12.BackColor = System.Drawing.Color.Gray;
|
||||||
|
this.arLabel12.BackColor2 = System.Drawing.Color.Gold;
|
||||||
|
this.arLabel12.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel12.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel12.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel12.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel12.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel12.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel12.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel12.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel12.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel12.GradientEnable = true;
|
||||||
|
this.arLabel12.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel12.GradientRepeatBG = false;
|
||||||
|
this.arLabel12.isButton = true;
|
||||||
|
this.arLabel12.Location = new System.Drawing.Point(243, 0);
|
||||||
|
this.arLabel12.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel12.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel12.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel12.msg = null;
|
||||||
|
this.arLabel12.Name = "arLabel12";
|
||||||
|
this.arLabel12.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel12.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel12.ProgressEnable = false;
|
||||||
|
this.arLabel12.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel12.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel12.ProgressMax = 100F;
|
||||||
|
this.arLabel12.ProgressMin = 0F;
|
||||||
|
this.arLabel12.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel12.ProgressValue = 0F;
|
||||||
|
this.arLabel12.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel12.Sign = "";
|
||||||
|
this.arLabel12.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel12.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel12.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel12.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel12.TabIndex = 0;
|
||||||
|
this.arLabel12.Tag = "B";
|
||||||
|
this.arLabel12.Text = "BACK";
|
||||||
|
this.arLabel12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel12.TextShadow = false;
|
||||||
|
this.arLabel12.TextVisible = true;
|
||||||
|
this.arLabel12.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel13
|
||||||
|
//
|
||||||
|
this.arLabel13.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel13.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel13.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel13.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel13.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel13.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel13.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel13.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel13.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel13.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel13.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel13.GradientEnable = false;
|
||||||
|
this.arLabel13.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel13.GradientRepeatBG = false;
|
||||||
|
this.arLabel13.isButton = true;
|
||||||
|
this.arLabel13.Location = new System.Drawing.Point(162, 198);
|
||||||
|
this.arLabel13.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel13.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel13.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel13.msg = null;
|
||||||
|
this.arLabel13.Name = "arLabel13";
|
||||||
|
this.arLabel13.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel13.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel13.ProgressEnable = false;
|
||||||
|
this.arLabel13.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel13.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel13.ProgressMax = 100F;
|
||||||
|
this.arLabel13.ProgressMin = 0F;
|
||||||
|
this.arLabel13.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel13.ProgressValue = 0F;
|
||||||
|
this.arLabel13.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel13.Sign = "";
|
||||||
|
this.arLabel13.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel13.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel13.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel13.Size = new System.Drawing.Size(81, 67);
|
||||||
|
this.arLabel13.TabIndex = 0;
|
||||||
|
this.arLabel13.Tag = ".";
|
||||||
|
this.arLabel13.Text = ".";
|
||||||
|
this.arLabel13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel13.TextShadow = false;
|
||||||
|
this.arLabel13.TextVisible = true;
|
||||||
|
this.arLabel13.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel14
|
||||||
|
//
|
||||||
|
this.arLabel14.BackColor = System.Drawing.Color.SkyBlue;
|
||||||
|
this.arLabel14.BackColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel14.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel14.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel14.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel14.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel14.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel14.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel14.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel14.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.arLabel14.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel14.GradientEnable = false;
|
||||||
|
this.arLabel14.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel14.GradientRepeatBG = false;
|
||||||
|
this.arLabel14.isButton = true;
|
||||||
|
this.arLabel14.Location = new System.Drawing.Point(0, 198);
|
||||||
|
this.arLabel14.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel14.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel14.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel14.msg = null;
|
||||||
|
this.arLabel14.Name = "arLabel14";
|
||||||
|
this.arLabel14.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel14.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel14.ProgressEnable = false;
|
||||||
|
this.arLabel14.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel14.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel14.ProgressMax = 100F;
|
||||||
|
this.arLabel14.ProgressMin = 0F;
|
||||||
|
this.arLabel14.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel14.ProgressValue = 0F;
|
||||||
|
this.arLabel14.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel14.Sign = "";
|
||||||
|
this.arLabel14.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel14.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel14.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel14.Size = new System.Drawing.Size(81, 67);
|
||||||
|
this.arLabel14.TabIndex = 0;
|
||||||
|
this.arLabel14.Tag = "-";
|
||||||
|
this.arLabel14.Text = "-";
|
||||||
|
this.arLabel14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel14.TextShadow = false;
|
||||||
|
this.arLabel14.TextVisible = true;
|
||||||
|
this.arLabel14.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel15
|
||||||
|
//
|
||||||
|
this.arLabel15.BackColor = System.Drawing.Color.Gray;
|
||||||
|
this.arLabel15.BackColor2 = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel15.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel15.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel15.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel15.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel15.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel15.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel15.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel15.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel15.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel15.GradientEnable = true;
|
||||||
|
this.arLabel15.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel15.GradientRepeatBG = false;
|
||||||
|
this.arLabel15.isButton = true;
|
||||||
|
this.arLabel15.Location = new System.Drawing.Point(243, 66);
|
||||||
|
this.arLabel15.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel15.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel15.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel15.msg = null;
|
||||||
|
this.arLabel15.Name = "arLabel15";
|
||||||
|
this.arLabel15.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel15.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel15.ProgressEnable = false;
|
||||||
|
this.arLabel15.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel15.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel15.ProgressMax = 100F;
|
||||||
|
this.arLabel15.ProgressMin = 0F;
|
||||||
|
this.arLabel15.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel15.ProgressValue = 0F;
|
||||||
|
this.arLabel15.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel15.Sign = "";
|
||||||
|
this.arLabel15.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel15.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel15.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel15.Size = new System.Drawing.Size(81, 66);
|
||||||
|
this.arLabel15.TabIndex = 0;
|
||||||
|
this.arLabel15.Tag = "C";
|
||||||
|
this.arLabel15.Text = "CLEAR";
|
||||||
|
this.arLabel15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel15.TextShadow = false;
|
||||||
|
this.arLabel15.TextVisible = true;
|
||||||
|
this.arLabel15.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// arLabel10
|
||||||
|
//
|
||||||
|
this.arLabel10.BackColor = System.Drawing.Color.CadetBlue;
|
||||||
|
this.arLabel10.BackColor2 = System.Drawing.Color.Lime;
|
||||||
|
this.arLabel10.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel10.BorderColor = System.Drawing.Color.SteelBlue;
|
||||||
|
this.arLabel10.BorderColorOver = System.Drawing.Color.Red;
|
||||||
|
this.arLabel10.BorderSize = new System.Windows.Forms.Padding(2);
|
||||||
|
this.arLabel10.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel10.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.arLabel10.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arLabel10.Font = new System.Drawing.Font("Consolas", 12F);
|
||||||
|
this.arLabel10.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel10.GradientEnable = true;
|
||||||
|
this.arLabel10.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arLabel10.GradientRepeatBG = false;
|
||||||
|
this.arLabel10.isButton = true;
|
||||||
|
this.arLabel10.Location = new System.Drawing.Point(243, 132);
|
||||||
|
this.arLabel10.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel10.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel10.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel10.msg = null;
|
||||||
|
this.arLabel10.Name = "arLabel10";
|
||||||
|
this.arLabel10.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel10.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel10.ProgressEnable = false;
|
||||||
|
this.arLabel10.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel10.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel10.ProgressMax = 100F;
|
||||||
|
this.arLabel10.ProgressMin = 0F;
|
||||||
|
this.arLabel10.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel10.ProgressValue = 0F;
|
||||||
|
this.tableLayoutPanel1.SetRowSpan(this.arLabel10, 2);
|
||||||
|
this.arLabel10.ShadowColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.arLabel10.Sign = "";
|
||||||
|
this.arLabel10.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel10.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel10.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel10.Size = new System.Drawing.Size(81, 133);
|
||||||
|
this.arLabel10.TabIndex = 0;
|
||||||
|
this.arLabel10.Tag = "E";
|
||||||
|
this.arLabel10.Text = "ENTER";
|
||||||
|
this.arLabel10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.arLabel10.TextShadow = false;
|
||||||
|
this.arLabel10.TextVisible = true;
|
||||||
|
this.arLabel10.Click += new System.EventHandler(this.arLabel1_Click);
|
||||||
|
//
|
||||||
|
// tbInput
|
||||||
|
//
|
||||||
|
this.tbInput.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.tbInput.Font = new System.Drawing.Font("Calibri", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.tbInput.Location = new System.Drawing.Point(5, 5);
|
||||||
|
this.tbInput.Name = "tbInput";
|
||||||
|
this.tbInput.Size = new System.Drawing.Size(324, 40);
|
||||||
|
this.tbInput.TabIndex = 2;
|
||||||
|
this.tbInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||||
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel1.Location = new System.Drawing.Point(5, 45);
|
||||||
|
this.panel1.Name = "panel1";
|
||||||
|
this.panel1.Size = new System.Drawing.Size(324, 5);
|
||||||
|
this.panel1.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// fTouchNumDot
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(334, 320);
|
||||||
|
this.Controls.Add(this.tableLayoutPanel1);
|
||||||
|
this.Controls.Add(this.panel1);
|
||||||
|
this.Controls.Add(this.tbInput);
|
||||||
|
this.Name = "fTouchNumDot";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(5);
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Input Value";
|
||||||
|
this.Load += new System.EventHandler(this.fTouchNumDot_Load);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private arCtl.arLabel arLabel1;
|
||||||
|
private arCtl.arLabel arLabel2;
|
||||||
|
private arCtl.arLabel arLabel3;
|
||||||
|
private arCtl.arLabel arLabel4;
|
||||||
|
private arCtl.arLabel arLabel5;
|
||||||
|
private arCtl.arLabel arLabel6;
|
||||||
|
private arCtl.arLabel arLabel7;
|
||||||
|
private arCtl.arLabel arLabel8;
|
||||||
|
private arCtl.arLabel arLabel9;
|
||||||
|
private arCtl.arLabel arLabel10;
|
||||||
|
private arCtl.arLabel arLabel11;
|
||||||
|
private arCtl.arLabel arLabel12;
|
||||||
|
public System.Windows.Forms.TextBox tbInput;
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private arCtl.arLabel arLabel13;
|
||||||
|
private arCtl.arLabel arLabel14;
|
||||||
|
private arCtl.arLabel arLabel15;
|
||||||
|
}
|
||||||
|
}
|
||||||
85
Cs_HMI/Project/Dialog/fTouchNumDot.cs
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fTouchNumDot : Form
|
||||||
|
{
|
||||||
|
public fTouchNumDot(string value)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.tbInput.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Enter) Confirm(); };
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.tbInput.Text = value;
|
||||||
|
this.KeyDown += (s1, e1) =>
|
||||||
|
{
|
||||||
|
if (e1.KeyCode == Keys.Escape) this.Close();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fTouchNumDot_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.tbInput.SelectAll();
|
||||||
|
this.tbInput.Focus();
|
||||||
|
}
|
||||||
|
private void Confirm()
|
||||||
|
{
|
||||||
|
string id = tbInput.Text.Trim();
|
||||||
|
if (id.isEmpty())
|
||||||
|
{
|
||||||
|
tbInput.Focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void ProcessKey(ref TextBox cmb_rfid, string key)
|
||||||
|
{
|
||||||
|
if (key == "B")
|
||||||
|
{
|
||||||
|
if (cmb_rfid.Text != "")
|
||||||
|
cmb_rfid.Text = cmb_rfid.Text.Substring(0, cmb_rfid.Text.Length - 1);
|
||||||
|
}
|
||||||
|
else if (key == "C")
|
||||||
|
{
|
||||||
|
cmb_rfid.Text = "";
|
||||||
|
}
|
||||||
|
else if (key == "E")
|
||||||
|
{
|
||||||
|
Confirm();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (cmb_rfid.SelectionLength > 0 && cmb_rfid.TextLength == cmb_rfid.SelectionLength)
|
||||||
|
{
|
||||||
|
cmb_rfid.Text = key;
|
||||||
|
}
|
||||||
|
else if (cmb_rfid.SelectionLength > 0)
|
||||||
|
{
|
||||||
|
//선택된 영역을 대체해준다.
|
||||||
|
cmb_rfid.SelectedText = key;
|
||||||
|
}
|
||||||
|
else cmb_rfid.Text += key;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmb_rfid.SelectionLength = 0;
|
||||||
|
if (cmb_rfid.Text != "")
|
||||||
|
cmb_rfid.SelectionStart = cmb_rfid.Text.Length;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void arLabel1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var ctl = sender as arCtl.arLabel;
|
||||||
|
ProcessKey(ref tbInput, ctl.Tag.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fTouchNumDot.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>
|
||||||
500
Cs_HMI/Project/Dialog/fUpdateForm.Designer.cs
generated
Normal file
@@ -0,0 +1,500 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fUpdateForm
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
|
this.tmBlink = new System.Windows.Forms.Timer(this.components);
|
||||||
|
this.arPanel1 = new arCtl.arPanel();
|
||||||
|
this.panButton = new System.Windows.Forms.Panel();
|
||||||
|
this.btYes = new arCtl.arLabel();
|
||||||
|
this.btNo = new arCtl.arLabel();
|
||||||
|
this.panel7 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb3 = new arCtl.arLabel();
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb2 = new arCtl.arLabel();
|
||||||
|
this.panel4 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb1 = new arCtl.arLabel();
|
||||||
|
this.panel8 = new System.Windows.Forms.Panel();
|
||||||
|
this.lbTitle = new arCtl.arLabel();
|
||||||
|
this.arLabel1 = new arCtl.arLabel();
|
||||||
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.arPanel1.SuspendLayout();
|
||||||
|
this.panButton.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tmBlink
|
||||||
|
//
|
||||||
|
this.tmBlink.Enabled = true;
|
||||||
|
this.tmBlink.Interval = 300;
|
||||||
|
this.tmBlink.Tick += new System.EventHandler(this.tmBlink_Tick);
|
||||||
|
//
|
||||||
|
// arPanel1
|
||||||
|
//
|
||||||
|
this.arPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BorderColor = System.Drawing.Color.DimGray;
|
||||||
|
this.arPanel1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arPanel1.Controls.Add(this.panButton);
|
||||||
|
this.arPanel1.Controls.Add(this.panel7);
|
||||||
|
this.arPanel1.Controls.Add(this.lb3);
|
||||||
|
this.arPanel1.Controls.Add(this.panel2);
|
||||||
|
this.arPanel1.Controls.Add(this.arLabel1);
|
||||||
|
this.arPanel1.Controls.Add(this.panel1);
|
||||||
|
this.arPanel1.Controls.Add(this.lb2);
|
||||||
|
this.arPanel1.Controls.Add(this.panel4);
|
||||||
|
this.arPanel1.Controls.Add(this.lb1);
|
||||||
|
this.arPanel1.Controls.Add(this.panel8);
|
||||||
|
this.arPanel1.Controls.Add(this.lbTitle);
|
||||||
|
this.arPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arPanel1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arPanel1.ForeColor = System.Drawing.Color.Khaki;
|
||||||
|
this.arPanel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arPanel1.GradientRepeatBG = false;
|
||||||
|
this.arPanel1.Location = new System.Drawing.Point(5, 5);
|
||||||
|
this.arPanel1.Name = "arPanel1";
|
||||||
|
this.arPanel1.Padding = new System.Windows.Forms.Padding(6);
|
||||||
|
this.arPanel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arPanel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arPanel1.ProgressMax = 100F;
|
||||||
|
this.arPanel1.ProgressMin = 0F;
|
||||||
|
this.arPanel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arPanel1.ProgressValue = 0F;
|
||||||
|
this.arPanel1.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arPanel1.ShowBorder = true;
|
||||||
|
this.arPanel1.Size = new System.Drawing.Size(508, 358);
|
||||||
|
this.arPanel1.TabIndex = 0;
|
||||||
|
this.arPanel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.arPanel1.TextShadow = false;
|
||||||
|
this.arPanel1.UseProgressBar = false;
|
||||||
|
//
|
||||||
|
// panButton
|
||||||
|
//
|
||||||
|
this.panButton.Controls.Add(this.btYes);
|
||||||
|
this.panButton.Controls.Add(this.btNo);
|
||||||
|
this.panButton.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.panButton.Location = new System.Drawing.Point(6, 298);
|
||||||
|
this.panButton.Name = "panButton";
|
||||||
|
this.panButton.Size = new System.Drawing.Size(496, 54);
|
||||||
|
this.panButton.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// btYes
|
||||||
|
//
|
||||||
|
this.btYes.BackColor = System.Drawing.Color.SeaGreen;
|
||||||
|
this.btYes.BackColor2 = System.Drawing.Color.SeaGreen;
|
||||||
|
this.btYes.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btYes.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btYes.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btYes.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.btYes.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.btYes.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btYes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.btYes.Enabled = false;
|
||||||
|
this.btYes.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.btYes.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btYes.GradientEnable = true;
|
||||||
|
this.btYes.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.btYes.GradientRepeatBG = false;
|
||||||
|
this.btYes.isButton = true;
|
||||||
|
this.btYes.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.btYes.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.MouseOverColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.msg = null;
|
||||||
|
this.btYes.Name = "btYes";
|
||||||
|
this.btYes.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.btYes.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.btYes.ProgressEnable = false;
|
||||||
|
this.btYes.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.btYes.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btYes.ProgressMax = 100F;
|
||||||
|
this.btYes.ProgressMin = 0F;
|
||||||
|
this.btYes.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btYes.ProgressValue = 0F;
|
||||||
|
this.btYes.ShadowColor = System.Drawing.Color.Gray;
|
||||||
|
this.btYes.Sign = "";
|
||||||
|
this.btYes.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.btYes.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.btYes.Size = new System.Drawing.Size(267, 54);
|
||||||
|
this.btYes.TabIndex = 0;
|
||||||
|
this.btYes.Text = "예(F5)";
|
||||||
|
this.btYes.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.btYes.TextShadow = true;
|
||||||
|
this.btYes.TextVisible = true;
|
||||||
|
this.btYes.Click += new System.EventHandler(this.btYes_Click);
|
||||||
|
//
|
||||||
|
// btNo
|
||||||
|
//
|
||||||
|
this.btNo.BackColor = System.Drawing.Color.Goldenrod;
|
||||||
|
this.btNo.BackColor2 = System.Drawing.Color.Goldenrod;
|
||||||
|
this.btNo.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btNo.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btNo.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btNo.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.btNo.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.btNo.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btNo.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.btNo.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.btNo.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btNo.GradientEnable = true;
|
||||||
|
this.btNo.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.btNo.GradientRepeatBG = false;
|
||||||
|
this.btNo.isButton = true;
|
||||||
|
this.btNo.Location = new System.Drawing.Point(267, 0);
|
||||||
|
this.btNo.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.MouseOverColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.msg = null;
|
||||||
|
this.btNo.Name = "btNo";
|
||||||
|
this.btNo.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.btNo.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.btNo.ProgressEnable = false;
|
||||||
|
this.btNo.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.btNo.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btNo.ProgressMax = 100F;
|
||||||
|
this.btNo.ProgressMin = 0F;
|
||||||
|
this.btNo.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btNo.ProgressValue = 0F;
|
||||||
|
this.btNo.ShadowColor = System.Drawing.Color.Gray;
|
||||||
|
this.btNo.Sign = "";
|
||||||
|
this.btNo.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.btNo.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.btNo.Size = new System.Drawing.Size(229, 54);
|
||||||
|
this.btNo.TabIndex = 1;
|
||||||
|
this.btNo.Text = "아니오(ESC)";
|
||||||
|
this.btNo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.btNo.TextShadow = true;
|
||||||
|
this.btNo.TextVisible = true;
|
||||||
|
this.btNo.Click += new System.EventHandler(this.btNo_Click);
|
||||||
|
//
|
||||||
|
// panel7
|
||||||
|
//
|
||||||
|
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel7.Location = new System.Drawing.Point(6, 293);
|
||||||
|
this.panel7.Name = "panel7";
|
||||||
|
this.panel7.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel7.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lb3
|
||||||
|
//
|
||||||
|
this.lb3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb3.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb3.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb3.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb3.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb3.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb3.GradientEnable = true;
|
||||||
|
this.lb3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb3.GradientRepeatBG = false;
|
||||||
|
this.lb3.isButton = false;
|
||||||
|
this.lb3.Location = new System.Drawing.Point(6, 243);
|
||||||
|
this.lb3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb3.msg = null;
|
||||||
|
this.lb3.Name = "lb3";
|
||||||
|
this.lb3.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb3.ProgressEnable = true;
|
||||||
|
this.lb3.ProgressFont = new System.Drawing.Font("Consolas", 20F);
|
||||||
|
this.lb3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb3.ProgressMax = 100F;
|
||||||
|
this.lb3.ProgressMin = 0F;
|
||||||
|
this.lb3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.ProgressValue = 50F;
|
||||||
|
this.lb3.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb3.Sign = "";
|
||||||
|
this.lb3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb3.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb3.TabIndex = 5;
|
||||||
|
this.lb3.Text = "0%";
|
||||||
|
this.lb3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lb3.TextShadow = true;
|
||||||
|
this.lb3.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel1.Location = new System.Drawing.Point(6, 183);
|
||||||
|
this.panel1.Name = "panel1";
|
||||||
|
this.panel1.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel1.TabIndex = 11;
|
||||||
|
//
|
||||||
|
// lb2
|
||||||
|
//
|
||||||
|
this.lb2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb2.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb2.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb2.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb2.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb2.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb2.GradientEnable = true;
|
||||||
|
this.lb2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb2.GradientRepeatBG = false;
|
||||||
|
this.lb2.isButton = false;
|
||||||
|
this.lb2.Location = new System.Drawing.Point(6, 133);
|
||||||
|
this.lb2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb2.msg = null;
|
||||||
|
this.lb2.Name = "lb2";
|
||||||
|
this.lb2.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb2.ProgressEnable = false;
|
||||||
|
this.lb2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb2.ProgressMax = 100F;
|
||||||
|
this.lb2.ProgressMin = 0F;
|
||||||
|
this.lb2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.ProgressValue = 0F;
|
||||||
|
this.lb2.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb2.Sign = "";
|
||||||
|
this.lb2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb2.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb2.TabIndex = 4;
|
||||||
|
this.lb2.Text = "현재버젼 : {0}";
|
||||||
|
this.lb2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb2.TextShadow = true;
|
||||||
|
this.lb2.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel4
|
||||||
|
//
|
||||||
|
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel4.Location = new System.Drawing.Point(6, 128);
|
||||||
|
this.panel4.Name = "panel4";
|
||||||
|
this.panel4.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel4.TabIndex = 14;
|
||||||
|
//
|
||||||
|
// lb1
|
||||||
|
//
|
||||||
|
this.lb1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb1.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb1.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb1.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb1.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb1.GradientEnable = true;
|
||||||
|
this.lb1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb1.GradientRepeatBG = false;
|
||||||
|
this.lb1.isButton = false;
|
||||||
|
this.lb1.Location = new System.Drawing.Point(6, 78);
|
||||||
|
this.lb1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb1.msg = null;
|
||||||
|
this.lb1.Name = "lb1";
|
||||||
|
this.lb1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb1.ProgressEnable = false;
|
||||||
|
this.lb1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb1.ProgressMax = 100F;
|
||||||
|
this.lb1.ProgressMin = 0F;
|
||||||
|
this.lb1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.ProgressValue = 0F;
|
||||||
|
this.lb1.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb1.Sign = "";
|
||||||
|
this.lb1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb1.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.lb1.TabIndex = 2;
|
||||||
|
this.lb1.Text = "드라이브 : {0}";
|
||||||
|
this.lb1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb1.TextShadow = true;
|
||||||
|
this.lb1.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel8
|
||||||
|
//
|
||||||
|
this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel8.Location = new System.Drawing.Point(6, 73);
|
||||||
|
this.panel8.Name = "panel8";
|
||||||
|
this.panel8.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel8.TabIndex = 18;
|
||||||
|
//
|
||||||
|
// lbTitle
|
||||||
|
//
|
||||||
|
this.lbTitle.BackColor = System.Drawing.Color.Brown;
|
||||||
|
this.lbTitle.BackColor2 = System.Drawing.Color.Tomato;
|
||||||
|
this.lbTitle.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lbTitle.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.lbTitle.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lbTitle.Font = new System.Drawing.Font("맑은 고딕", 22F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lbTitle.ForeColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.lbTitle.GradientEnable = true;
|
||||||
|
this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Horizontal;
|
||||||
|
this.lbTitle.GradientRepeatBG = false;
|
||||||
|
this.lbTitle.isButton = true;
|
||||||
|
this.lbTitle.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.lbTitle.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbTitle.msg = null;
|
||||||
|
this.lbTitle.Name = "lbTitle";
|
||||||
|
this.lbTitle.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbTitle.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbTitle.ProgressEnable = false;
|
||||||
|
this.lbTitle.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbTitle.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbTitle.ProgressMax = 100F;
|
||||||
|
this.lbTitle.ProgressMin = 0F;
|
||||||
|
this.lbTitle.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.ProgressValue = 0F;
|
||||||
|
this.lbTitle.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||||
|
this.lbTitle.Sign = "";
|
||||||
|
this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbTitle.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbTitle.Size = new System.Drawing.Size(496, 67);
|
||||||
|
this.lbTitle.TabIndex = 3;
|
||||||
|
this.lbTitle.Text = "프로그램 업데이트";
|
||||||
|
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbTitle.TextShadow = true;
|
||||||
|
this.lbTitle.TextVisible = true;
|
||||||
|
this.lbTitle.Click += new System.EventHandler(this.lbTitle_Click);
|
||||||
|
//
|
||||||
|
// arLabel1
|
||||||
|
//
|
||||||
|
this.arLabel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arLabel1.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.arLabel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.arLabel1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.arLabel1.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.arLabel1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arLabel1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.arLabel1.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.arLabel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.arLabel1.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.arLabel1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.arLabel1.GradientEnable = true;
|
||||||
|
this.arLabel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.arLabel1.GradientRepeatBG = false;
|
||||||
|
this.arLabel1.isButton = false;
|
||||||
|
this.arLabel1.Location = new System.Drawing.Point(6, 188);
|
||||||
|
this.arLabel1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.arLabel1.msg = null;
|
||||||
|
this.arLabel1.Name = "arLabel1";
|
||||||
|
this.arLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.arLabel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arLabel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arLabel1.ProgressEnable = false;
|
||||||
|
this.arLabel1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.arLabel1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.arLabel1.ProgressMax = 100F;
|
||||||
|
this.arLabel1.ProgressMin = 0F;
|
||||||
|
this.arLabel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arLabel1.ProgressValue = 0F;
|
||||||
|
this.arLabel1.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.arLabel1.Sign = "";
|
||||||
|
this.arLabel1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.arLabel1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.arLabel1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arLabel1.Size = new System.Drawing.Size(496, 50);
|
||||||
|
this.arLabel1.TabIndex = 19;
|
||||||
|
this.arLabel1.Text = "패치버젼 : {0}";
|
||||||
|
this.arLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.arLabel1.TextShadow = true;
|
||||||
|
this.arLabel1.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel2
|
||||||
|
//
|
||||||
|
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel2.Location = new System.Drawing.Point(6, 238);
|
||||||
|
this.panel2.Name = "panel2";
|
||||||
|
this.panel2.Size = new System.Drawing.Size(496, 5);
|
||||||
|
this.panel2.TabIndex = 20;
|
||||||
|
//
|
||||||
|
// fUpdateForm
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(518, 368);
|
||||||
|
this.Controls.Add(this.arPanel1);
|
||||||
|
this.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "fUpdateForm";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(5);
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Message Window";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.fMsg_Load);
|
||||||
|
this.arPanel1.ResumeLayout(false);
|
||||||
|
this.panButton.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public arCtl.arLabel lb1;
|
||||||
|
private arCtl.arPanel arPanel1;
|
||||||
|
public arCtl.arLabel lbTitle;
|
||||||
|
public arCtl.arLabel lb3;
|
||||||
|
public arCtl.arLabel lb2;
|
||||||
|
private System.Windows.Forms.Timer tmBlink;
|
||||||
|
public arCtl.arLabel btYes;
|
||||||
|
public arCtl.arLabel btNo;
|
||||||
|
private System.Windows.Forms.Panel panButton;
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private System.Windows.Forms.Panel panel7;
|
||||||
|
private System.Windows.Forms.Panel panel4;
|
||||||
|
private System.Windows.Forms.Panel panel8;
|
||||||
|
private System.Windows.Forms.Panel panel2;
|
||||||
|
public arCtl.arLabel arLabel1;
|
||||||
|
}
|
||||||
|
}
|
||||||
256
Cs_HMI/Project/Dialog/fUpdateForm.cs
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fUpdateForm : Form
|
||||||
|
{
|
||||||
|
private Boolean fMove = false;
|
||||||
|
private Point MDownPos;
|
||||||
|
private string _drive = string.Empty;
|
||||||
|
|
||||||
|
public fUpdateForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public fUpdateForm(string drvName)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
_drive = drvName;
|
||||||
|
this.FormClosing += fMsgWindow_FormClosing;
|
||||||
|
this.KeyDown += FJobSelect_KeyDown;
|
||||||
|
this.lbTitle.MouseMove += label1_MouseMove;
|
||||||
|
lbTitle.MouseUp += label1_MouseUp;
|
||||||
|
lbTitle.MouseDown += label1_MouseDown;
|
||||||
|
lbTitle.MouseDoubleClick += label1_MouseDoubleClick;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void fMsgWindow_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fMsg_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//해당드라이브에서 패치를 체크한다.
|
||||||
|
// AGV폴더 아래에 Patch_AGV_20200407.zip 식으로 파일을 처리한다
|
||||||
|
|
||||||
|
lb3.ProgressValue = 0;
|
||||||
|
lb3.Text = "--";
|
||||||
|
lb1.Text = string.Format("드라이브 : {0}", _drive);
|
||||||
|
lb2.Text = "현재버젼 : " + PUB.PatchVersion;
|
||||||
|
var dir = System.IO.Path.Combine(this._drive, "AGV");
|
||||||
|
if(System.IO.Directory.Exists(dir))
|
||||||
|
{
|
||||||
|
//폴더는 있다
|
||||||
|
var files = System.IO.Directory.GetFiles(dir, "Patch_AGV_*.zip");
|
||||||
|
if(files == null || files.Length == 0)
|
||||||
|
{
|
||||||
|
arLabel1.Text = "패치파일이 없습니다";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var LastFile = files.OrderByDescending(t => t).FirstOrDefault();
|
||||||
|
var splbuf = LastFile.Split('_');
|
||||||
|
|
||||||
|
patchversion = splbuf[2] + splbuf[3].ToUpper().Replace(".ZIP", "");
|
||||||
|
arLabel1.Text = "패치버젼 : " + patchversion;
|
||||||
|
arLabel1.Tag = LastFile;
|
||||||
|
btYes.Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
arLabel1.Text = "패치폴더("+dir +")가 없습니다";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
string patchversion = "";
|
||||||
|
private void FJobSelect_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.KeyCode == Keys.Escape)
|
||||||
|
{
|
||||||
|
e.Handled = true;
|
||||||
|
e.SuppressKeyPress = false;
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
else if (e.KeyCode == Keys.F5)
|
||||||
|
btYes.PerformClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
//public void setMessage(string msg)
|
||||||
|
//{
|
||||||
|
// //msg를 분리해서 표시를 한다.
|
||||||
|
// var lbs = new arCtl.arLabel[] { lbTitle, lb1, lb2, lb3 };
|
||||||
|
// var lineBuf = msg.Replace("\r", "").Split('\n');
|
||||||
|
// int maxLine = Math.Min(lbs.Length, lineBuf.Length);
|
||||||
|
|
||||||
|
// for (int i = 0; i < lbs.Length; i++) //최대줄을 넘어가는건 표시불가
|
||||||
|
// {
|
||||||
|
// if (i >= lineBuf.Length)
|
||||||
|
// {
|
||||||
|
// lbs[i].Text = string.Empty;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// if (i > 0) lbs[i].Text = string.Format("{0}. {1}", i, lineBuf[i]);
|
||||||
|
// else lbs[i].Text = lineBuf[i];
|
||||||
|
// }
|
||||||
|
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void label1_MouseMove(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (fMove)
|
||||||
|
{
|
||||||
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
||||||
|
this.Left += offset.X;
|
||||||
|
this.Top += offset.Y;
|
||||||
|
offset = new Point(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
fMove = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
MDownPos = new Point(e.X, e.Y);
|
||||||
|
fMove = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public enum EWinColor
|
||||||
|
{
|
||||||
|
Attention = 0,
|
||||||
|
Error,
|
||||||
|
Information
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetWindowColor(EWinColor wincolor)
|
||||||
|
{
|
||||||
|
switch (wincolor)
|
||||||
|
{
|
||||||
|
case EWinColor.Attention:
|
||||||
|
lbTitle.BackColor = Color.Gold;
|
||||||
|
lbTitle.BackColor2 = Color.Orange;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(150, 150, 150);
|
||||||
|
lbTitle.ForeColor = Color.FromArgb(50, 50, 50);
|
||||||
|
break;
|
||||||
|
case EWinColor.Error:
|
||||||
|
lbTitle.BackColor = Color.Brown;
|
||||||
|
lbTitle.BackColor2 = Color.Tomato;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(50, 50, 50);
|
||||||
|
lbTitle.ForeColor = Color.WhiteSmoke;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
lbTitle.BackColor = Color.DarkTurquoise;
|
||||||
|
lbTitle.BackColor2 = Color.LightSkyBlue;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(50, 50, 50);
|
||||||
|
lbTitle.ForeColor = Color.WhiteSmoke;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void lbTitle_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.DialogResult = DialogResult.Cancel;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tmBlink_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var bg1 = lbTitle.BackColor;
|
||||||
|
var bg2 = lbTitle.BackColor2;
|
||||||
|
lbTitle.BackColor = bg2;
|
||||||
|
lbTitle.BackColor2 = bg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btYes_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//파일
|
||||||
|
var file = arLabel1.Tag.ToString();
|
||||||
|
if(System.IO.File.Exists(file))
|
||||||
|
{
|
||||||
|
//이 파일을 _patch 폴더에 압축해제한다.
|
||||||
|
var dir_path = new System.IO.DirectoryInfo(System.IO.Path.Combine(Util.CurrentPath,"_patch"));
|
||||||
|
if (dir_path.Exists == true)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
dir_path.Delete(true);
|
||||||
|
} catch (Exception ex)
|
||||||
|
{
|
||||||
|
Util.MsgE(ex.Message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dir_path.Create(); //폴더를 생성해준다.
|
||||||
|
}
|
||||||
|
|
||||||
|
//해당폴더에 압축을 해제해준다.
|
||||||
|
var f = new Ionic.Zip.ZipFile(file);
|
||||||
|
f.ExtractProgress += F_ExtractProgress;
|
||||||
|
f.ExtractAll(dir_path.FullName);
|
||||||
|
f.ExtractProgress -= F_ExtractProgress;
|
||||||
|
|
||||||
|
//패치정보파일 추가
|
||||||
|
var infofile = System.IO.Path.Combine(dir_path.FullName, "version.txt");
|
||||||
|
System.IO.File.WriteAllText(infofile, patchversion, System.Text.Encoding.UTF8);
|
||||||
|
|
||||||
|
DialogResult = DialogResult.Yes;
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Util.MsgE("패치파일이 없습니다\n" + file);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void F_ExtractProgress(object sender, Ionic.Zip.ExtractProgressEventArgs e)
|
||||||
|
{
|
||||||
|
if(e.TotalBytesToTransfer < 1)
|
||||||
|
{
|
||||||
|
lb3.ProgressValue = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var perc = (e.BytesTransferred / e.TotalBytesToTransfer) * 100.0;
|
||||||
|
this.lb3.ProgressValue = (float)perc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btNo_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
this.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
123
Cs_HMI/Project/Dialog/fUpdateForm.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="tmBlink.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
||||||
168
Cs_HMI/Project/Dialog/fVolume.Designer.cs
generated
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
partial class fVolume
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
|
this.button2 = new System.Windows.Forms.Button();
|
||||||
|
this.button3 = new System.Windows.Forms.Button();
|
||||||
|
this.button4 = new System.Windows.Forms.Button();
|
||||||
|
this.button5 = new System.Windows.Forms.Button();
|
||||||
|
this.button6 = new System.Windows.Forms.Button();
|
||||||
|
this.button7 = new System.Windows.Forms.Button();
|
||||||
|
this.button8 = new System.Windows.Forms.Button();
|
||||||
|
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// button1
|
||||||
|
//
|
||||||
|
this.button1.Location = new System.Drawing.Point(10, 9);
|
||||||
|
this.button1.Name = "button1";
|
||||||
|
this.button1.Size = new System.Drawing.Size(169, 103);
|
||||||
|
this.button1.TabIndex = 0;
|
||||||
|
this.button1.Text = "up";
|
||||||
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
|
//
|
||||||
|
// button2
|
||||||
|
//
|
||||||
|
this.button2.Location = new System.Drawing.Point(185, 9);
|
||||||
|
this.button2.Name = "button2";
|
||||||
|
this.button2.Size = new System.Drawing.Size(169, 103);
|
||||||
|
this.button2.TabIndex = 1;
|
||||||
|
this.button2.Text = "down";
|
||||||
|
this.button2.UseVisualStyleBackColor = true;
|
||||||
|
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||||
|
//
|
||||||
|
// button3
|
||||||
|
//
|
||||||
|
this.button3.Location = new System.Drawing.Point(360, 9);
|
||||||
|
this.button3.Name = "button3";
|
||||||
|
this.button3.Size = new System.Drawing.Size(169, 103);
|
||||||
|
this.button3.TabIndex = 2;
|
||||||
|
this.button3.Text = "mute";
|
||||||
|
this.button3.UseVisualStyleBackColor = true;
|
||||||
|
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||||
|
//
|
||||||
|
// button4
|
||||||
|
//
|
||||||
|
this.button4.Location = new System.Drawing.Point(185, 118);
|
||||||
|
this.button4.Name = "button4";
|
||||||
|
this.button4.Size = new System.Drawing.Size(169, 103);
|
||||||
|
this.button4.TabIndex = 4;
|
||||||
|
this.button4.Text = "music down";
|
||||||
|
this.button4.UseVisualStyleBackColor = true;
|
||||||
|
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||||
|
//
|
||||||
|
// button5
|
||||||
|
//
|
||||||
|
this.button5.Location = new System.Drawing.Point(10, 118);
|
||||||
|
this.button5.Name = "button5";
|
||||||
|
this.button5.Size = new System.Drawing.Size(169, 103);
|
||||||
|
this.button5.TabIndex = 3;
|
||||||
|
this.button5.Text = "music up";
|
||||||
|
this.button5.UseVisualStyleBackColor = true;
|
||||||
|
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||||
|
//
|
||||||
|
// button6
|
||||||
|
//
|
||||||
|
this.button6.Location = new System.Drawing.Point(359, 118);
|
||||||
|
this.button6.Name = "button6";
|
||||||
|
this.button6.Size = new System.Drawing.Size(169, 46);
|
||||||
|
this.button6.TabIndex = 5;
|
||||||
|
this.button6.Text = "play";
|
||||||
|
this.button6.UseVisualStyleBackColor = true;
|
||||||
|
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||||
|
//
|
||||||
|
// button7
|
||||||
|
//
|
||||||
|
this.button7.Location = new System.Drawing.Point(359, 175);
|
||||||
|
this.button7.Name = "button7";
|
||||||
|
this.button7.Size = new System.Drawing.Size(169, 46);
|
||||||
|
this.button7.TabIndex = 5;
|
||||||
|
this.button7.Text = "stop";
|
||||||
|
this.button7.UseVisualStyleBackColor = true;
|
||||||
|
this.button7.Click += new System.EventHandler(this.button7_Click);
|
||||||
|
//
|
||||||
|
// button8
|
||||||
|
//
|
||||||
|
this.button8.Location = new System.Drawing.Point(10, 227);
|
||||||
|
this.button8.Name = "button8";
|
||||||
|
this.button8.Size = new System.Drawing.Size(169, 46);
|
||||||
|
this.button8.TabIndex = 6;
|
||||||
|
this.button8.Text = "Speak";
|
||||||
|
this.button8.UseVisualStyleBackColor = true;
|
||||||
|
this.button8.Click += new System.EventHandler(this.button8_Click);
|
||||||
|
//
|
||||||
|
// textBox1
|
||||||
|
//
|
||||||
|
this.textBox1.Font = new System.Drawing.Font("굴림", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||||
|
this.textBox1.Location = new System.Drawing.Point(185, 234);
|
||||||
|
this.textBox1.Name = "textBox1";
|
||||||
|
this.textBox1.Size = new System.Drawing.Size(343, 32);
|
||||||
|
this.textBox1.TabIndex = 7;
|
||||||
|
this.textBox1.Text = "음성 테스트 메세지 입니다";
|
||||||
|
//
|
||||||
|
// fVolume
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(540, 282);
|
||||||
|
this.Controls.Add(this.textBox1);
|
||||||
|
this.Controls.Add(this.button8);
|
||||||
|
this.Controls.Add(this.button7);
|
||||||
|
this.Controls.Add(this.button6);
|
||||||
|
this.Controls.Add(this.button4);
|
||||||
|
this.Controls.Add(this.button5);
|
||||||
|
this.Controls.Add(this.button3);
|
||||||
|
this.Controls.Add(this.button2);
|
||||||
|
this.Controls.Add(this.button1);
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "fVolume";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "fVolume";
|
||||||
|
this.Load += new System.EventHandler(this.fVolume_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button button1;
|
||||||
|
private System.Windows.Forms.Button button2;
|
||||||
|
private System.Windows.Forms.Button button3;
|
||||||
|
private System.Windows.Forms.Button button4;
|
||||||
|
private System.Windows.Forms.Button button5;
|
||||||
|
private System.Windows.Forms.Button button6;
|
||||||
|
private System.Windows.Forms.Button button7;
|
||||||
|
private System.Windows.Forms.Button button8;
|
||||||
|
private System.Windows.Forms.TextBox textBox1;
|
||||||
|
}
|
||||||
|
}
|
||||||
124
Cs_HMI/Project/Dialog/fVolume.cs
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project.Dialog
|
||||||
|
{
|
||||||
|
public partial class fVolume : Form
|
||||||
|
{
|
||||||
|
//AudioSwitcher.AudioApi.CoreAudio.CoreAudioController ac;
|
||||||
|
//AudioSwitcher.AudioApi.CoreAudio.CoreAudioDevice dev;
|
||||||
|
System.Media.SoundPlayer snd;
|
||||||
|
|
||||||
|
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
|
||||||
|
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
|
||||||
|
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
|
||||||
|
private const int WM_APPCOMMAND = 0x319;
|
||||||
|
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
|
||||||
|
IntPtr wParam, IntPtr lParam);
|
||||||
|
|
||||||
|
private void Mute()
|
||||||
|
{
|
||||||
|
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
|
||||||
|
(IntPtr)APPCOMMAND_VOLUME_MUTE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VolDown()
|
||||||
|
{
|
||||||
|
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
|
||||||
|
(IntPtr)APPCOMMAND_VOLUME_DOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VolUp()
|
||||||
|
{
|
||||||
|
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
|
||||||
|
(IntPtr)APPCOMMAND_VOLUME_UP);
|
||||||
|
}
|
||||||
|
|
||||||
|
public fVolume()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void trackBar1_Scroll(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//if(dev != null)
|
||||||
|
//{
|
||||||
|
// dev.Volume = this.trackBar1.Value;
|
||||||
|
// System.Media.SystemSounds.Beep.Play();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fVolume_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
snd = new System.Media.SoundPlayer();
|
||||||
|
//var dev = new AudioSwitcher.AudioApi.CoreAudio.CoreAudioController().GetPlaybackDevices();
|
||||||
|
//if (dev == null)
|
||||||
|
//{
|
||||||
|
// trackBar1.Enabled = false;
|
||||||
|
// Util.MsgE("사운드 장치가 없습니다", true);
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// this.trackBar1.Value = (int)dev.Volume;
|
||||||
|
// System.Media.SystemSounds.Beep.Play();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//up
|
||||||
|
VolUp();
|
||||||
|
System.Media.SystemSounds.Beep.Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button2_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
VolDown();
|
||||||
|
System.Media.SystemSounds.Beep.Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button3_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Mute();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button5_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
PUB.mplayer.Volume += 0.1;
|
||||||
|
PUB.setting.musicvol = (int)(PUB.mplayer.Volume * 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button4_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
PUB.mplayer.Volume -= 0.1;
|
||||||
|
PUB.setting.musicvol = (int)(PUB.mplayer.Volume * 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button7_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
PUB.mplayer.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button6_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
PUB.mplayer.Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button8_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var s = "고수석님, 그 에러는 못고쳐요. 포기 하면 편해요";
|
||||||
|
var s1 = $"현재시간은 {DateTime.Now.Hour}시 입니다";
|
||||||
|
PUB.Speak( this.textBox1.Text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
Cs_HMI/Project/Dialog/fVolume.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>
|
||||||
417
Cs_HMI/Project/Manager/DataBaseManager.cs
Normal file
@@ -0,0 +1,417 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Project.Manager
|
||||||
|
{
|
||||||
|
public class DatabaseManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 파일검색방법
|
||||||
|
/// </summary>
|
||||||
|
public enum eFileSearchMode
|
||||||
|
{
|
||||||
|
Normal,
|
||||||
|
Project,
|
||||||
|
Model,
|
||||||
|
MCCode,
|
||||||
|
Barcode,
|
||||||
|
All,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum eStripSearchResult
|
||||||
|
{
|
||||||
|
None,
|
||||||
|
OK,
|
||||||
|
NG,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 버퍼갯수(지정 갯수가 차면 실제파일에 기록을 한다)
|
||||||
|
/// </summary>
|
||||||
|
private int MaxBufferCount = 1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 최종파일
|
||||||
|
/// </summary>
|
||||||
|
private String LastFileName;
|
||||||
|
|
||||||
|
|
||||||
|
private string[] dataPath = new string[] { };
|
||||||
|
private DataSet1.ResultDataDataTable dt;
|
||||||
|
// private string _subDirName = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 파일디비초기화작업(클라이언트 갯수만큼 버퍼를 확보한다)
|
||||||
|
/// </summary>
|
||||||
|
public DatabaseManager(string[] dataPath_, int _MaxBufferCount = 100)
|
||||||
|
{
|
||||||
|
LastFileName = string.Empty;
|
||||||
|
dt = new DataSet1.ResultDataDataTable();
|
||||||
|
|
||||||
|
this.dataPath = dataPath_;
|
||||||
|
if (dataPath_.Length == 0) dataPath = new string[]{ System.IO.Path.Combine(Util.CurrentPath, "Data")};
|
||||||
|
|
||||||
|
//최대버퍼갯수(이 갯수를 넘어가면 실제 파일에 기록한다)
|
||||||
|
MaxBufferCount = _MaxBufferCount;
|
||||||
|
//_subDirName = subDirName;
|
||||||
|
}
|
||||||
|
|
||||||
|
//해당 결과를 버퍼에 추가한다.
|
||||||
|
public void Add(DataSet1.ResultDataRow dataRow, Boolean autoFlush = false)
|
||||||
|
{
|
||||||
|
//입력된 자료를 복사해서 버퍼에 넣는다.
|
||||||
|
var newdr = this.dt.NewResultDataRow();
|
||||||
|
foreach (string col in getDataColumnList())
|
||||||
|
{
|
||||||
|
newdr[col] = dataRow[col];
|
||||||
|
}
|
||||||
|
this.dt.AddResultDataRow(newdr);
|
||||||
|
|
||||||
|
//만약자료가 일정데이터수를 넘었다면 flush 한다
|
||||||
|
if (autoFlush || dt.Rows.Count >= MaxBufferCount)
|
||||||
|
{
|
||||||
|
Flush(); //파일에 실제저장한다.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 신규파일을 생성합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filename"></param>
|
||||||
|
void MakeFile(string filename)
|
||||||
|
{
|
||||||
|
//파일이없다면 헤더를 만들어준다.
|
||||||
|
arUtil.XMLHelper xml = new arUtil.XMLHelper(filename);
|
||||||
|
xml.CreateFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 저장해야할 컬럼명을 반환한다.(idx는 제외한다)
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string[] getDataColumnList()
|
||||||
|
{
|
||||||
|
//저장하고자하는 순서를 미리 지정한다.(지정안된 자료는 알아서 저장된다)
|
||||||
|
string[] reserveCols = new string[] { };
|
||||||
|
List<String> cols = new List<string>();
|
||||||
|
cols.AddRange(reserveCols);
|
||||||
|
|
||||||
|
for (int i = 0; i < this.dt.Columns.Count; i++)
|
||||||
|
{
|
||||||
|
string colname = dt.Columns[i].ColumnName;
|
||||||
|
if (reserveCols.Contains(colname)) continue;
|
||||||
|
cols.Add(colname);
|
||||||
|
}
|
||||||
|
return cols.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Flush()
|
||||||
|
{
|
||||||
|
//데이터가없다면 처리하지 않음
|
||||||
|
if (this.dt.Rows.Count < 1) return;
|
||||||
|
|
||||||
|
//쓸데이터를 모두 버퍼에 밀어넣는다.
|
||||||
|
|
||||||
|
foreach (DataSet1.ResultDataRow dr in dt.Rows)
|
||||||
|
{
|
||||||
|
if (dr.RowState == System.Data.DataRowState.Deleted || dr.RowState == System.Data.DataRowState.Detached) continue;
|
||||||
|
|
||||||
|
//lot date check
|
||||||
|
if (dr.time_start.Year == 1982) dr.time_start = DateTime.Now;
|
||||||
|
if (dr.time_end.Year == 1982) dr.time_end = DateTime.Now;
|
||||||
|
|
||||||
|
//작업이 종료된 시간을 기준으로 파일을 생성한다.
|
||||||
|
// if (dr.info_lot.isEmpty()) dr.info_lot = "NoLot";
|
||||||
|
//if (dr.info_stripid.isEmpty()) dr.info_stripid = "S" + dr.time_pcbstart.ToString("yyyyMMddHHmmss");
|
||||||
|
|
||||||
|
//string curdatestr = string.Format("{0:0000}\\{1:00}\\{2:00}\\{3}\\{4}",
|
||||||
|
// dr.time_lotstart.Year, dr.time_lotstart.Month, dr.time_lotstart.Day, dr.info_lot,dr.info_stripid);
|
||||||
|
|
||||||
|
//저장할 파일 체크
|
||||||
|
System.IO.FileInfo fi =new System.IO.FileInfo( dr.info_filename+".xml");
|
||||||
|
|
||||||
|
//폴더새엇ㅇ
|
||||||
|
if (!fi.Directory.Exists) fi.Directory.Create();
|
||||||
|
|
||||||
|
//파일없는경우 헤더생성
|
||||||
|
if (!fi.Exists) MakeFile(fi.FullName);
|
||||||
|
|
||||||
|
//파일에기록
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//general info
|
||||||
|
var xml = new arUtil.XMLHelper(fi.FullName);
|
||||||
|
foreach(System.Data.DataColumn dc in this.dt.Columns)
|
||||||
|
{
|
||||||
|
if (dc.ColumnName.ToLower() == "idx") continue;
|
||||||
|
if (dc.ColumnName.ToLower() == "filename") continue;
|
||||||
|
var colname = dc.ColumnName.Split('_');
|
||||||
|
var data = dr[dc.ColumnName];
|
||||||
|
if(colname[0].ToLower()=="time")
|
||||||
|
{
|
||||||
|
string date_value = "";
|
||||||
|
if (data != null && data != DBNull.Value)
|
||||||
|
date_value = ((DateTime)data).ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
xml.set_Data(colname[0], colname[1], date_value);
|
||||||
|
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
if(data != null && data != DBNull.Value)
|
||||||
|
xml.set_Data(colname[0], colname[1], data.ToString());
|
||||||
|
else
|
||||||
|
xml.set_Data(colname[0], colname[1], "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
string savemsg;
|
||||||
|
xml.Save(out savemsg);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
PUB.log.AddE("DBMAN:FLUSH:" + ex.Message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PUB.log.Add("DATABASE", string.Format("◆ Data Saved : {0}", fi.Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
dt.Clear();
|
||||||
|
dt.AcceptChanges();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 지정된 파일의 모든 내용을 읽어서 DataTable 로 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="files"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public DataSet1.ResultDataDataTable GetDatas(List<System.IO.FileInfo> files)
|
||||||
|
{
|
||||||
|
DataSet1.ResultDataDataTable retval = new DataSet1.ResultDataDataTable();
|
||||||
|
//모든파일을 대상으로한다.
|
||||||
|
|
||||||
|
foreach(var file in files)
|
||||||
|
{
|
||||||
|
var newdr = retval.NewResultDataRow();
|
||||||
|
newdr.info_filename = file.FullName;
|
||||||
|
arUtil.XMLHelper xml = new arUtil.XMLHelper(file.FullName);
|
||||||
|
foreach (System.Data.DataColumn col in retval.Columns)
|
||||||
|
{
|
||||||
|
if (col.ColumnName.ToLower() == "idx") continue;
|
||||||
|
if (col.ColumnName.ToLower() == "filename") continue;
|
||||||
|
var colbuf = col.ColumnName.Split('_');
|
||||||
|
|
||||||
|
var readstr = xml.get_Data(colbuf[0], colbuf[1]);
|
||||||
|
if(col.DataType == typeof(DateTime))
|
||||||
|
{
|
||||||
|
if(readstr != "")
|
||||||
|
{
|
||||||
|
DateTime dt;
|
||||||
|
if (DateTime.TryParse(readstr, out dt))
|
||||||
|
newdr[col.ColumnName] = dt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
newdr[col.ColumnName] =readstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
retval.AddResultDataRow(newdr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
retval.AcceptChanges();
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public eStripSearchResult FindStrip(List<String> pathlist, string strip)
|
||||||
|
{
|
||||||
|
//지정된 경로내에 스트립파일이 존재하는가?
|
||||||
|
foreach(var path in pathlist)
|
||||||
|
{
|
||||||
|
var filese = System.IO.Directory.GetFiles( path , strip + ".xml");
|
||||||
|
if(filese .Length == 1)
|
||||||
|
{
|
||||||
|
var xml = new arUtil.XMLHelper(filese[0]);
|
||||||
|
var upload = xml.get_Data("info", "upload");
|
||||||
|
if (upload == "O") return eStripSearchResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return eStripSearchResult.None;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 지정된 파일의 모든 내용을 읽어서 DataTable 로 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="files"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public eStripSearchResult FindStrip(List<System.IO.FileInfo> files, string strip)
|
||||||
|
{
|
||||||
|
eStripSearchResult retval = eStripSearchResult.None;
|
||||||
|
System.Text.StringBuilder sbError = new StringBuilder();
|
||||||
|
if (files.Count < 1) return eStripSearchResult.None;
|
||||||
|
|
||||||
|
//가장최신의데이터를 찾아야한다.
|
||||||
|
DateTime MaxDate = DateTime.Parse("1982-11-23");
|
||||||
|
string MaxResult = string.Empty;
|
||||||
|
|
||||||
|
foreach (var fi in files.OrderByDescending(t => t.FullName))
|
||||||
|
{
|
||||||
|
Boolean DataFind = false;
|
||||||
|
List<String> cols = new List<string>();
|
||||||
|
System.IO.FileStream fs = new System.IO.FileStream(fi.FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);
|
||||||
|
System.IO.StreamReader sr = new System.IO.StreamReader(fs, System.Text.Encoding.ASCII);
|
||||||
|
int LineCount = 0;
|
||||||
|
while (sr.Peek() > 0)
|
||||||
|
{
|
||||||
|
string buffer = sr.ReadLine();
|
||||||
|
LineCount += 1;
|
||||||
|
if (buffer.isEmpty() || buffer.StartsWith(";")) continue;
|
||||||
|
var databuffer = buffer.Split(',');
|
||||||
|
if (cols.Count < 1)
|
||||||
|
{
|
||||||
|
//줄로처리한다.
|
||||||
|
foreach (string colname in databuffer)
|
||||||
|
cols.Add(colname);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//지정한 바코드 자료만 처리한다.
|
||||||
|
if (databuffer[2] != strip) continue;
|
||||||
|
|
||||||
|
DateTime endtime;
|
||||||
|
if (DateTime.TryParse(databuffer[4], out endtime))
|
||||||
|
{
|
||||||
|
MaxResult = databuffer[5];
|
||||||
|
if (MaxResult.ToUpper() != "FAIL")
|
||||||
|
{
|
||||||
|
if (endtime > MaxDate)
|
||||||
|
{
|
||||||
|
MaxDate = endtime;
|
||||||
|
if (MaxResult == "OK")
|
||||||
|
retval = eStripSearchResult.OK;
|
||||||
|
else if (MaxResult == "NG")
|
||||||
|
retval = eStripSearchResult.NG;
|
||||||
|
}
|
||||||
|
DataFind = true; //다른파일은 작동하지 않게한다.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sr.Close();
|
||||||
|
sr.Dispose();
|
||||||
|
fs.Close();
|
||||||
|
fs.Dispose();
|
||||||
|
if (DataFind) break;
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> GetPathListbyLot(DateTime sdate, DateTime edate, string lot)
|
||||||
|
{
|
||||||
|
List<String> retfiles = new List<String>();
|
||||||
|
//날짜사이의 모든 파일을 대상으로해야함
|
||||||
|
|
||||||
|
string sd = sdate.ToShortDateString();
|
||||||
|
string ed = edate.ToShortDateString();
|
||||||
|
|
||||||
|
int sy = sdate.Year;
|
||||||
|
int ey = edate.Year;
|
||||||
|
int sm = sdate.Month;
|
||||||
|
int em = edate.Month;
|
||||||
|
int sday = sdate.Day;
|
||||||
|
int eday = edate.Day;
|
||||||
|
|
||||||
|
Boolean endtast = false;
|
||||||
|
for (int y = sy; y <= ey; y++)
|
||||||
|
{
|
||||||
|
for (int m = 1; m <= 12; m++)
|
||||||
|
{
|
||||||
|
for (int d = 1; d <= 31; d++)
|
||||||
|
{
|
||||||
|
string daystr = string.Format("{0:0000}-{1:00}-{2:00}", y, m, d);
|
||||||
|
if (ed == daystr) endtast = true; //마지막 날짜이다.
|
||||||
|
|
||||||
|
if (y == sy && m < sm) continue; //시작년도 시작월 이전의 자료라면 넘어간다.
|
||||||
|
else if (y == sy && m == sm && d < sday) continue; //시작년도 시작월 시작일 이전의 자료라면 넘어간다.
|
||||||
|
|
||||||
|
foreach (var data in this.dataPath)
|
||||||
|
{
|
||||||
|
var path = new System.IO.DirectoryInfo(System.IO.Path.Combine(data, daystr.Replace("-", "\\"), lot));
|
||||||
|
if (path.Exists == false) continue;
|
||||||
|
else retfiles.Add(path.FullName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (endtast)
|
||||||
|
break; // TODO: might not be correct. Was : Exit For
|
||||||
|
}
|
||||||
|
if (endtast)
|
||||||
|
break; // TODO: might not be correct. Was : Exit For
|
||||||
|
}
|
||||||
|
if (endtast)
|
||||||
|
break; // TODO: might not be correct. Was : Exit For
|
||||||
|
}
|
||||||
|
return retfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 지정된 기간사이의 파일명을 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sdate">검색시작일(시간은 적용안함)</param>
|
||||||
|
/// <param name="edate">검색종료일(시간은 적용안함)</param>
|
||||||
|
/// <param name="extFilter">검색필터</param>
|
||||||
|
/// <param name="SearchNo">장치번호</param>
|
||||||
|
/// <param name="SearchBarcode">검색바코드</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<System.IO.FileInfo> Getfiles(DateTime sdate, DateTime edate)
|
||||||
|
{
|
||||||
|
List<System.IO.FileInfo> retfiles = new List<System.IO.FileInfo>();
|
||||||
|
//날짜사이의 모든 파일을 대상으로해야함
|
||||||
|
|
||||||
|
string sd = sdate.ToShortDateString();
|
||||||
|
string ed = edate.ToShortDateString();
|
||||||
|
|
||||||
|
int sy = sdate.Year;
|
||||||
|
int ey = edate.Year;
|
||||||
|
int sm = sdate.Month;
|
||||||
|
int em = edate.Month;
|
||||||
|
int sday = sdate.Day;
|
||||||
|
int eday = edate.Day;
|
||||||
|
|
||||||
|
Boolean endtast = false;
|
||||||
|
for (int y = sy; y <= ey; y++)
|
||||||
|
{
|
||||||
|
for (int m = 1; m <= 12; m++)
|
||||||
|
{
|
||||||
|
for (int d = 1; d <= 31; d++)
|
||||||
|
{
|
||||||
|
string daystr = string.Format("{0:0000}-{1:00}-{2:00}", y, m, d);
|
||||||
|
if (ed == daystr) endtast = true; //마지막 날짜이다.
|
||||||
|
|
||||||
|
if (y == sy && m < sm) continue; //시작년도 시작월 이전의 자료라면 넘어간다.
|
||||||
|
else if (y == sy && m == sm && d < sday) continue; //시작년도 시작월 시작일 이전의 자료라면 넘어간다.
|
||||||
|
|
||||||
|
foreach(var data in this.dataPath)
|
||||||
|
{
|
||||||
|
var path = new System.IO.DirectoryInfo(System.IO.Path.Combine(data, daystr.Replace("-", "\\")));
|
||||||
|
if (path.Exists == false) continue;
|
||||||
|
var files = path.GetFiles("*.xml", System.IO.SearchOption.AllDirectories);
|
||||||
|
if (files != null && files.Length > 0) retfiles.AddRange(files);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (endtast)
|
||||||
|
break; // TODO: might not be correct. Was : Exit For
|
||||||
|
}
|
||||||
|
if (endtast)
|
||||||
|
break; // TODO: might not be correct. Was : Exit For
|
||||||
|
}
|
||||||
|
if (endtast)
|
||||||
|
break; // TODO: might not be correct. Was : Exit For
|
||||||
|
}
|
||||||
|
return retfiles;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
37
Cs_HMI/Project/MessageWindow/CMessageData.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class MessageWindow
|
||||||
|
{
|
||||||
|
public class CMessageData
|
||||||
|
{
|
||||||
|
public string Message { get; set; }
|
||||||
|
public eWindowType WindowType { get; set; }
|
||||||
|
public System.Drawing.Size WindowSize { get; set; }
|
||||||
|
public Boolean EnableClose { get; set; }
|
||||||
|
public System.Drawing.Font FontTitle { get; set; }
|
||||||
|
public System.Drawing.Font FontContent { get; set; }
|
||||||
|
public System.Windows.Forms.Form msgForm { get; set; }
|
||||||
|
public CMessageData()
|
||||||
|
{
|
||||||
|
WindowType = eWindowType.information;
|
||||||
|
WindowSize = new System.Drawing.Size(900, 500);
|
||||||
|
EnableClose = true;
|
||||||
|
FontContent = null;
|
||||||
|
FontTitle = null;
|
||||||
|
msgForm = null;
|
||||||
|
}
|
||||||
|
~CMessageData()
|
||||||
|
{
|
||||||
|
if (msgForm != null) msgForm.Dispose();
|
||||||
|
if (FontTitle != null) FontTitle.Dispose();
|
||||||
|
if (FontContent != null) FontContent.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
155
Cs_HMI/Project/MessageWindow/MessageWindow.cs
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class MessageWindow
|
||||||
|
{
|
||||||
|
public enum eWindowPosition
|
||||||
|
{
|
||||||
|
center = 0,
|
||||||
|
top = 1,
|
||||||
|
bottom = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum eWindowType
|
||||||
|
{
|
||||||
|
information,
|
||||||
|
error,
|
||||||
|
attention,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public bool needClose = false;
|
||||||
|
public Boolean needShow = false;
|
||||||
|
private CMessageData msgBuffer = new CMessageData();
|
||||||
|
|
||||||
|
public void setMessage(CMessageData msgData)
|
||||||
|
{
|
||||||
|
//마지막데잍와 동일하고 버퍼에 데이터가 있다면 처리하지 않는다.
|
||||||
|
if (msgBuffer == msgData) return;
|
||||||
|
|
||||||
|
//신규 메세지를 추가
|
||||||
|
msgBuffer = msgData;
|
||||||
|
|
||||||
|
//화면이 표시되어야하므로 플래그 설정
|
||||||
|
needShow = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(string msg,
|
||||||
|
eWindowType winType = eWindowType.error,
|
||||||
|
int width = 900, int height = 500,
|
||||||
|
Boolean enbClose = true,
|
||||||
|
Font fontTitle = null,
|
||||||
|
Font fontBody = null)
|
||||||
|
{
|
||||||
|
setMessage(new CMessageData()
|
||||||
|
{
|
||||||
|
EnableClose = enbClose,
|
||||||
|
FontContent = fontBody,
|
||||||
|
FontTitle = fontTitle,
|
||||||
|
Message = msg,
|
||||||
|
WindowSize = new Size(width, height),
|
||||||
|
WindowType = winType
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fMessageWindow msgwin;// = new fMsgWindow("");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 메세지 버퍼의 내용을 폼으로 표시합니다.
|
||||||
|
/// UI 쓰레드를 사용하므로 invoke 를 이용해 호출 하거나
|
||||||
|
/// UI 쓰레드내에서 실행 하시기 바랍니다.
|
||||||
|
/// </summary>
|
||||||
|
public void showMessage()
|
||||||
|
{
|
||||||
|
//등록된 메세지 버퍼의 내용을 화면에 표시한다.
|
||||||
|
if (msgwin == null) msgwin = new fMessageWindow("");
|
||||||
|
msgwin.TopMost = true;
|
||||||
|
// msgwin.Disposed += (s1, e1) => { CloseMsg(item.Key); };
|
||||||
|
//msgwin.Width = this.msgBuffer.WindowSize.Width;
|
||||||
|
//msgwin.Height = msgBuffer.WindowSize.Height;
|
||||||
|
//msgwin.BackColor = Color.FromArgb(200, 200, 200);
|
||||||
|
msgwin.StartPosition = FormStartPosition.CenterScreen;
|
||||||
|
msgwin.btNo.Visible = false;
|
||||||
|
msgwin.btYes.Visible = false;
|
||||||
|
msgwin.Height = 474;
|
||||||
|
msgwin.setMessage(msgBuffer.Message);
|
||||||
|
//set font
|
||||||
|
if (msgBuffer.FontTitle != null) msgwin.lbTitle.Font = msgBuffer.FontTitle;
|
||||||
|
if (msgBuffer.FontContent != null)
|
||||||
|
{
|
||||||
|
msgwin.lb1.Font = msgBuffer.FontContent;
|
||||||
|
msgwin.lb2.Font = msgBuffer.FontContent;
|
||||||
|
msgwin.lb3.Font = msgBuffer.FontContent;
|
||||||
|
msgwin.lb4.Font = msgBuffer.FontContent;
|
||||||
|
msgwin.lb5.Font = msgBuffer.FontContent;
|
||||||
|
msgwin.lb6.Font = msgBuffer.FontContent;
|
||||||
|
msgwin.lb7.Font = msgBuffer.FontContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (msgBuffer.WindowType)
|
||||||
|
{
|
||||||
|
case eWindowType.attention:
|
||||||
|
msgwin.SetWindowColor(fMessageWindow.EWinColor.Attention);
|
||||||
|
break;
|
||||||
|
case eWindowType.error:
|
||||||
|
msgwin.SetWindowColor(fMessageWindow.EWinColor.Error);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
msgwin.SetWindowColor(fMessageWindow.EWinColor.Information);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!msgBuffer.EnableClose) msgwin.EnableUserClose = false;
|
||||||
|
if (msgwin.Visible == false) msgwin.Show();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msgwin.Visible = true;
|
||||||
|
msgwin.Activate();
|
||||||
|
}
|
||||||
|
|
||||||
|
needShow = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Boolean Visible
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (msgwin == null) return false;
|
||||||
|
return msgwin.Visible;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if(value == true)
|
||||||
|
{
|
||||||
|
if (msgwin.Visible == false)
|
||||||
|
{
|
||||||
|
msgwin.Show();
|
||||||
|
msgwin.Activate();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msgwin.Activate();
|
||||||
|
}
|
||||||
|
needShow = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (msgwin != null)
|
||||||
|
msgwin.Visible = false;
|
||||||
|
needClose = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
676
Cs_HMI/Project/MessageWindow/fMessageWindow.Designer.cs
generated
Normal file
@@ -0,0 +1,676 @@
|
|||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
partial class fMessageWindow
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
|
this.tmBlink = new System.Windows.Forms.Timer(this.components);
|
||||||
|
this.arPanel1 = new arCtl.arPanel();
|
||||||
|
this.panButton = new System.Windows.Forms.Panel();
|
||||||
|
this.btYes = new arCtl.arLabel();
|
||||||
|
this.btNo = new arCtl.arLabel();
|
||||||
|
this.panel7 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb7 = new arCtl.arLabel();
|
||||||
|
this.panel6 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb6 = new arCtl.arLabel();
|
||||||
|
this.panel5 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb5 = new arCtl.arLabel();
|
||||||
|
this.panel3 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb4 = new arCtl.arLabel();
|
||||||
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb3 = new arCtl.arLabel();
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb2 = new arCtl.arLabel();
|
||||||
|
this.panel4 = new System.Windows.Forms.Panel();
|
||||||
|
this.lb1 = new arCtl.arLabel();
|
||||||
|
this.panel8 = new System.Windows.Forms.Panel();
|
||||||
|
this.lbTitle = new arCtl.arLabel();
|
||||||
|
this.arPanel1.SuspendLayout();
|
||||||
|
this.panButton.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tmBlink
|
||||||
|
//
|
||||||
|
this.tmBlink.Enabled = true;
|
||||||
|
this.tmBlink.Interval = 300;
|
||||||
|
this.tmBlink.Tick += new System.EventHandler(this.tmBlink_Tick);
|
||||||
|
//
|
||||||
|
// arPanel1
|
||||||
|
//
|
||||||
|
this.arPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BorderColor = System.Drawing.Color.DimGray;
|
||||||
|
this.arPanel1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arPanel1.Controls.Add(this.panButton);
|
||||||
|
this.arPanel1.Controls.Add(this.panel7);
|
||||||
|
this.arPanel1.Controls.Add(this.lb7);
|
||||||
|
this.arPanel1.Controls.Add(this.panel6);
|
||||||
|
this.arPanel1.Controls.Add(this.lb6);
|
||||||
|
this.arPanel1.Controls.Add(this.panel5);
|
||||||
|
this.arPanel1.Controls.Add(this.lb5);
|
||||||
|
this.arPanel1.Controls.Add(this.panel3);
|
||||||
|
this.arPanel1.Controls.Add(this.lb4);
|
||||||
|
this.arPanel1.Controls.Add(this.panel2);
|
||||||
|
this.arPanel1.Controls.Add(this.lb3);
|
||||||
|
this.arPanel1.Controls.Add(this.panel1);
|
||||||
|
this.arPanel1.Controls.Add(this.lb2);
|
||||||
|
this.arPanel1.Controls.Add(this.panel4);
|
||||||
|
this.arPanel1.Controls.Add(this.lb1);
|
||||||
|
this.arPanel1.Controls.Add(this.panel8);
|
||||||
|
this.arPanel1.Controls.Add(this.lbTitle);
|
||||||
|
this.arPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arPanel1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arPanel1.ForeColor = System.Drawing.Color.Khaki;
|
||||||
|
this.arPanel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arPanel1.GradientRepeatBG = false;
|
||||||
|
this.arPanel1.Location = new System.Drawing.Point(5, 5);
|
||||||
|
this.arPanel1.Name = "arPanel1";
|
||||||
|
this.arPanel1.Padding = new System.Windows.Forms.Padding(6);
|
||||||
|
this.arPanel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arPanel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arPanel1.ProgressMax = 100F;
|
||||||
|
this.arPanel1.ProgressMin = 0F;
|
||||||
|
this.arPanel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arPanel1.ProgressValue = 0F;
|
||||||
|
this.arPanel1.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arPanel1.ShowBorder = true;
|
||||||
|
this.arPanel1.Size = new System.Drawing.Size(719, 530);
|
||||||
|
this.arPanel1.TabIndex = 4;
|
||||||
|
this.arPanel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.arPanel1.TextShadow = false;
|
||||||
|
this.arPanel1.UseProgressBar = false;
|
||||||
|
//
|
||||||
|
// panButton
|
||||||
|
//
|
||||||
|
this.panButton.Controls.Add(this.btYes);
|
||||||
|
this.panButton.Controls.Add(this.btNo);
|
||||||
|
this.panButton.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.panButton.Location = new System.Drawing.Point(6, 463);
|
||||||
|
this.panButton.Name = "panButton";
|
||||||
|
this.panButton.Size = new System.Drawing.Size(707, 61);
|
||||||
|
this.panButton.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// btYes
|
||||||
|
//
|
||||||
|
this.btYes.BackColor = System.Drawing.Color.SeaGreen;
|
||||||
|
this.btYes.BackColor2 = System.Drawing.Color.SeaGreen;
|
||||||
|
this.btYes.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btYes.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btYes.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btYes.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.btYes.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.btYes.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btYes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.btYes.Font = new System.Drawing.Font("맑은 고딕", 25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.btYes.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btYes.GradientEnable = true;
|
||||||
|
this.btYes.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.btYes.GradientRepeatBG = false;
|
||||||
|
this.btYes.isButton = true;
|
||||||
|
this.btYes.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.btYes.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.MouseOverColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.msg = null;
|
||||||
|
this.btYes.Name = "btYes";
|
||||||
|
this.btYes.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.btYes.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.btYes.ProgressEnable = false;
|
||||||
|
this.btYes.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.btYes.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btYes.ProgressMax = 100F;
|
||||||
|
this.btYes.ProgressMin = 0F;
|
||||||
|
this.btYes.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btYes.ProgressValue = 0F;
|
||||||
|
this.btYes.ShadowColor = System.Drawing.Color.Gray;
|
||||||
|
this.btYes.Sign = "";
|
||||||
|
this.btYes.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.btYes.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btYes.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.btYes.Size = new System.Drawing.Size(478, 61);
|
||||||
|
this.btYes.TabIndex = 0;
|
||||||
|
this.btYes.Text = "예";
|
||||||
|
this.btYes.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.btYes.TextShadow = true;
|
||||||
|
this.btYes.TextVisible = true;
|
||||||
|
this.btYes.Click += new System.EventHandler(this.btYes_Click);
|
||||||
|
//
|
||||||
|
// btNo
|
||||||
|
//
|
||||||
|
this.btNo.BackColor = System.Drawing.Color.Goldenrod;
|
||||||
|
this.btNo.BackColor2 = System.Drawing.Color.Goldenrod;
|
||||||
|
this.btNo.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btNo.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btNo.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.btNo.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.btNo.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.btNo.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btNo.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
|
this.btNo.Font = new System.Drawing.Font("맑은 고딕", 25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.btNo.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btNo.GradientEnable = true;
|
||||||
|
this.btNo.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.btNo.GradientRepeatBG = false;
|
||||||
|
this.btNo.isButton = true;
|
||||||
|
this.btNo.Location = new System.Drawing.Point(478, 0);
|
||||||
|
this.btNo.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.MouseOverColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.msg = null;
|
||||||
|
this.btNo.Name = "btNo";
|
||||||
|
this.btNo.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.btNo.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.btNo.ProgressEnable = false;
|
||||||
|
this.btNo.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.btNo.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.btNo.ProgressMax = 100F;
|
||||||
|
this.btNo.ProgressMin = 0F;
|
||||||
|
this.btNo.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.btNo.ProgressValue = 0F;
|
||||||
|
this.btNo.ShadowColor = System.Drawing.Color.Gray;
|
||||||
|
this.btNo.Sign = "";
|
||||||
|
this.btNo.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.btNo.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.btNo.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.btNo.Size = new System.Drawing.Size(229, 61);
|
||||||
|
this.btNo.TabIndex = 0;
|
||||||
|
this.btNo.Text = "아니오";
|
||||||
|
this.btNo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.btNo.TextShadow = true;
|
||||||
|
this.btNo.TextVisible = true;
|
||||||
|
this.btNo.Click += new System.EventHandler(this.btNo_Click);
|
||||||
|
//
|
||||||
|
// panel7
|
||||||
|
//
|
||||||
|
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel7.Location = new System.Drawing.Point(6, 458);
|
||||||
|
this.panel7.Name = "panel7";
|
||||||
|
this.panel7.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel7.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// lb7
|
||||||
|
//
|
||||||
|
this.lb7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb7.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb7.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb7.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb7.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb7.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb7.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb7.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb7.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb7.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb7.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb7.GradientEnable = true;
|
||||||
|
this.lb7.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb7.GradientRepeatBG = false;
|
||||||
|
this.lb7.isButton = false;
|
||||||
|
this.lb7.Location = new System.Drawing.Point(6, 408);
|
||||||
|
this.lb7.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb7.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb7.msg = null;
|
||||||
|
this.lb7.Name = "lb7";
|
||||||
|
this.lb7.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb7.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb7.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb7.ProgressEnable = false;
|
||||||
|
this.lb7.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb7.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb7.ProgressMax = 100F;
|
||||||
|
this.lb7.ProgressMin = 0F;
|
||||||
|
this.lb7.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb7.ProgressValue = 0F;
|
||||||
|
this.lb7.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb7.Sign = "";
|
||||||
|
this.lb7.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb7.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb7.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb7.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb7.TabIndex = 9;
|
||||||
|
this.lb7.Text = "*";
|
||||||
|
this.lb7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb7.TextShadow = true;
|
||||||
|
this.lb7.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel6
|
||||||
|
//
|
||||||
|
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel6.Location = new System.Drawing.Point(6, 403);
|
||||||
|
this.panel6.Name = "panel6";
|
||||||
|
this.panel6.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel6.TabIndex = 16;
|
||||||
|
//
|
||||||
|
// lb6
|
||||||
|
//
|
||||||
|
this.lb6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb6.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb6.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb6.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb6.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb6.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb6.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb6.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb6.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb6.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb6.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb6.GradientEnable = true;
|
||||||
|
this.lb6.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb6.GradientRepeatBG = false;
|
||||||
|
this.lb6.isButton = false;
|
||||||
|
this.lb6.Location = new System.Drawing.Point(6, 353);
|
||||||
|
this.lb6.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb6.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb6.msg = null;
|
||||||
|
this.lb6.Name = "lb6";
|
||||||
|
this.lb6.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb6.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb6.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb6.ProgressEnable = false;
|
||||||
|
this.lb6.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb6.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb6.ProgressMax = 100F;
|
||||||
|
this.lb6.ProgressMin = 0F;
|
||||||
|
this.lb6.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb6.ProgressValue = 0F;
|
||||||
|
this.lb6.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb6.Sign = "";
|
||||||
|
this.lb6.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb6.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb6.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb6.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb6.TabIndex = 8;
|
||||||
|
this.lb6.Text = "*";
|
||||||
|
this.lb6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb6.TextShadow = true;
|
||||||
|
this.lb6.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel5
|
||||||
|
//
|
||||||
|
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel5.Location = new System.Drawing.Point(6, 348);
|
||||||
|
this.panel5.Name = "panel5";
|
||||||
|
this.panel5.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel5.TabIndex = 15;
|
||||||
|
//
|
||||||
|
// lb5
|
||||||
|
//
|
||||||
|
this.lb5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb5.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb5.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb5.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb5.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb5.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb5.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb5.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb5.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb5.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb5.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb5.GradientEnable = true;
|
||||||
|
this.lb5.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb5.GradientRepeatBG = false;
|
||||||
|
this.lb5.isButton = false;
|
||||||
|
this.lb5.Location = new System.Drawing.Point(6, 298);
|
||||||
|
this.lb5.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb5.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb5.msg = null;
|
||||||
|
this.lb5.Name = "lb5";
|
||||||
|
this.lb5.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb5.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb5.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb5.ProgressEnable = false;
|
||||||
|
this.lb5.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb5.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb5.ProgressMax = 100F;
|
||||||
|
this.lb5.ProgressMin = 0F;
|
||||||
|
this.lb5.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb5.ProgressValue = 0F;
|
||||||
|
this.lb5.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb5.Sign = "";
|
||||||
|
this.lb5.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb5.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb5.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb5.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb5.TabIndex = 7;
|
||||||
|
this.lb5.Text = "*";
|
||||||
|
this.lb5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb5.TextShadow = true;
|
||||||
|
this.lb5.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel3
|
||||||
|
//
|
||||||
|
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel3.Location = new System.Drawing.Point(6, 293);
|
||||||
|
this.panel3.Name = "panel3";
|
||||||
|
this.panel3.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel3.TabIndex = 13;
|
||||||
|
//
|
||||||
|
// lb4
|
||||||
|
//
|
||||||
|
this.lb4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb4.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb4.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb4.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb4.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb4.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb4.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb4.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb4.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb4.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb4.GradientEnable = true;
|
||||||
|
this.lb4.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb4.GradientRepeatBG = false;
|
||||||
|
this.lb4.isButton = false;
|
||||||
|
this.lb4.Location = new System.Drawing.Point(6, 243);
|
||||||
|
this.lb4.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb4.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb4.msg = null;
|
||||||
|
this.lb4.Name = "lb4";
|
||||||
|
this.lb4.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb4.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb4.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb4.ProgressEnable = false;
|
||||||
|
this.lb4.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb4.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb4.ProgressMax = 100F;
|
||||||
|
this.lb4.ProgressMin = 0F;
|
||||||
|
this.lb4.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb4.ProgressValue = 0F;
|
||||||
|
this.lb4.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb4.Sign = "";
|
||||||
|
this.lb4.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb4.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb4.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb4.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb4.TabIndex = 6;
|
||||||
|
this.lb4.Text = "*";
|
||||||
|
this.lb4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb4.TextShadow = true;
|
||||||
|
this.lb4.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel2
|
||||||
|
//
|
||||||
|
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel2.Location = new System.Drawing.Point(6, 238);
|
||||||
|
this.panel2.Name = "panel2";
|
||||||
|
this.panel2.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel2.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// lb3
|
||||||
|
//
|
||||||
|
this.lb3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb3.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb3.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb3.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb3.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb3.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb3.GradientEnable = true;
|
||||||
|
this.lb3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb3.GradientRepeatBG = false;
|
||||||
|
this.lb3.isButton = false;
|
||||||
|
this.lb3.Location = new System.Drawing.Point(6, 188);
|
||||||
|
this.lb3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb3.msg = null;
|
||||||
|
this.lb3.Name = "lb3";
|
||||||
|
this.lb3.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb3.ProgressEnable = false;
|
||||||
|
this.lb3.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb3.ProgressMax = 100F;
|
||||||
|
this.lb3.ProgressMin = 0F;
|
||||||
|
this.lb3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.ProgressValue = 0F;
|
||||||
|
this.lb3.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb3.Sign = "";
|
||||||
|
this.lb3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb3.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb3.TabIndex = 5;
|
||||||
|
this.lb3.Text = "*";
|
||||||
|
this.lb3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb3.TextShadow = true;
|
||||||
|
this.lb3.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel1.Location = new System.Drawing.Point(6, 183);
|
||||||
|
this.panel1.Name = "panel1";
|
||||||
|
this.panel1.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel1.TabIndex = 11;
|
||||||
|
//
|
||||||
|
// lb2
|
||||||
|
//
|
||||||
|
this.lb2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb2.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb2.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb2.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb2.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb2.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb2.GradientEnable = true;
|
||||||
|
this.lb2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb2.GradientRepeatBG = false;
|
||||||
|
this.lb2.isButton = false;
|
||||||
|
this.lb2.Location = new System.Drawing.Point(6, 133);
|
||||||
|
this.lb2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb2.msg = null;
|
||||||
|
this.lb2.Name = "lb2";
|
||||||
|
this.lb2.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb2.ProgressEnable = false;
|
||||||
|
this.lb2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb2.ProgressMax = 100F;
|
||||||
|
this.lb2.ProgressMin = 0F;
|
||||||
|
this.lb2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.ProgressValue = 0F;
|
||||||
|
this.lb2.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb2.Sign = "";
|
||||||
|
this.lb2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb2.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb2.TabIndex = 4;
|
||||||
|
this.lb2.Text = "*";
|
||||||
|
this.lb2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb2.TextShadow = true;
|
||||||
|
this.lb2.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel4
|
||||||
|
//
|
||||||
|
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel4.Location = new System.Drawing.Point(6, 128);
|
||||||
|
this.panel4.Name = "panel4";
|
||||||
|
this.panel4.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel4.TabIndex = 14;
|
||||||
|
//
|
||||||
|
// lb1
|
||||||
|
//
|
||||||
|
this.lb1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb1.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb1.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||||
|
this.lb1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb1.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lb1.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb1.GradientEnable = true;
|
||||||
|
this.lb1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lb1.GradientRepeatBG = false;
|
||||||
|
this.lb1.isButton = false;
|
||||||
|
this.lb1.Location = new System.Drawing.Point(6, 78);
|
||||||
|
this.lb1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb1.msg = null;
|
||||||
|
this.lb1.Name = "lb1";
|
||||||
|
this.lb1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb1.ProgressEnable = false;
|
||||||
|
this.lb1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb1.ProgressMax = 100F;
|
||||||
|
this.lb1.ProgressMin = 0F;
|
||||||
|
this.lb1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.ProgressValue = 0F;
|
||||||
|
this.lb1.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||||
|
this.lb1.Sign = "";
|
||||||
|
this.lb1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb1.Size = new System.Drawing.Size(707, 50);
|
||||||
|
this.lb1.TabIndex = 2;
|
||||||
|
this.lb1.Text = "*";
|
||||||
|
this.lb1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb1.TextShadow = true;
|
||||||
|
this.lb1.TextVisible = true;
|
||||||
|
//
|
||||||
|
// panel8
|
||||||
|
//
|
||||||
|
this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.panel8.Location = new System.Drawing.Point(6, 73);
|
||||||
|
this.panel8.Name = "panel8";
|
||||||
|
this.panel8.Size = new System.Drawing.Size(707, 5);
|
||||||
|
this.panel8.TabIndex = 18;
|
||||||
|
//
|
||||||
|
// lbTitle
|
||||||
|
//
|
||||||
|
this.lbTitle.BackColor = System.Drawing.Color.Brown;
|
||||||
|
this.lbTitle.BackColor2 = System.Drawing.Color.Tomato;
|
||||||
|
this.lbTitle.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lbTitle.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.lbTitle.Dock = System.Windows.Forms.DockStyle.Top;
|
||||||
|
this.lbTitle.Font = new System.Drawing.Font("맑은 고딕", 28F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lbTitle.ForeColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.lbTitle.GradientEnable = true;
|
||||||
|
this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Horizontal;
|
||||||
|
this.lbTitle.GradientRepeatBG = false;
|
||||||
|
this.lbTitle.isButton = true;
|
||||||
|
this.lbTitle.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.lbTitle.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbTitle.msg = null;
|
||||||
|
this.lbTitle.Name = "lbTitle";
|
||||||
|
this.lbTitle.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbTitle.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbTitle.ProgressEnable = false;
|
||||||
|
this.lbTitle.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbTitle.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbTitle.ProgressMax = 100F;
|
||||||
|
this.lbTitle.ProgressMin = 0F;
|
||||||
|
this.lbTitle.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.ProgressValue = 0F;
|
||||||
|
this.lbTitle.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||||
|
this.lbTitle.Sign = "";
|
||||||
|
this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbTitle.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbTitle.Size = new System.Drawing.Size(707, 67);
|
||||||
|
this.lbTitle.TabIndex = 3;
|
||||||
|
this.lbTitle.Text = "TITLE";
|
||||||
|
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbTitle.TextShadow = true;
|
||||||
|
this.lbTitle.TextVisible = true;
|
||||||
|
this.lbTitle.Click += new System.EventHandler(this.lbTitle_Click);
|
||||||
|
//
|
||||||
|
// fMessageWindow
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(729, 540);
|
||||||
|
this.Controls.Add(this.arPanel1);
|
||||||
|
this.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "fMessageWindow";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(5);
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Message Window";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.fMsg_Load);
|
||||||
|
this.arPanel1.ResumeLayout(false);
|
||||||
|
this.panButton.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public arCtl.arLabel lb1;
|
||||||
|
private arCtl.arPanel arPanel1;
|
||||||
|
public arCtl.arLabel lbTitle;
|
||||||
|
public arCtl.arLabel lb7;
|
||||||
|
public arCtl.arLabel lb6;
|
||||||
|
public arCtl.arLabel lb5;
|
||||||
|
public arCtl.arLabel lb4;
|
||||||
|
public arCtl.arLabel lb3;
|
||||||
|
public arCtl.arLabel lb2;
|
||||||
|
private System.Windows.Forms.Timer tmBlink;
|
||||||
|
public arCtl.arLabel btYes;
|
||||||
|
public arCtl.arLabel btNo;
|
||||||
|
private System.Windows.Forms.Panel panButton;
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private System.Windows.Forms.Panel panel7;
|
||||||
|
private System.Windows.Forms.Panel panel6;
|
||||||
|
private System.Windows.Forms.Panel panel5;
|
||||||
|
private System.Windows.Forms.Panel panel3;
|
||||||
|
private System.Windows.Forms.Panel panel2;
|
||||||
|
private System.Windows.Forms.Panel panel4;
|
||||||
|
private System.Windows.Forms.Panel panel8;
|
||||||
|
}
|
||||||
|
}
|
||||||
199
Cs_HMI/Project/MessageWindow/fMessageWindow.cs
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMessageWindow : Form
|
||||||
|
{
|
||||||
|
private Boolean fMove = false;
|
||||||
|
private Point MDownPos;
|
||||||
|
private string _msg = string.Empty;
|
||||||
|
public Boolean DialogMode = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 사용자가 이 창을 닫을수 있는가?
|
||||||
|
/// </summary>
|
||||||
|
public Boolean EnableUserClose
|
||||||
|
{
|
||||||
|
get { return _enableuserclose; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_enableuserclose = value;
|
||||||
|
// if (!EnableUserClose) btClose.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private Boolean _enableuserclose = true;
|
||||||
|
|
||||||
|
public void setMessage(string msg)
|
||||||
|
{
|
||||||
|
//msg를 분리해서 표시를 한다.
|
||||||
|
var lbs = new arCtl.arLabel[] { lbTitle, lb1, lb2, lb3, lb4, lb5, lb6, lb7 };
|
||||||
|
var lineBuf = msg.Replace("\r", "").Split('\n');
|
||||||
|
int maxLine = Math.Min(lbs.Length, lineBuf.Length);
|
||||||
|
|
||||||
|
for (int i = 0; i < lbs.Length; i++) //최대줄을 넘어가는건 표시불가
|
||||||
|
{
|
||||||
|
if (i >= lineBuf.Length)
|
||||||
|
{
|
||||||
|
lbs[i].Text = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (i > 0) lbs[i].Text = string.Format("{0}. {1}", i, lineBuf[i]);
|
||||||
|
else lbs[i].Text = lineBuf[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public fMessageWindow(string msg, string filename = "")
|
||||||
|
{
|
||||||
|
EnableUserClose = true;
|
||||||
|
InitializeComponent();
|
||||||
|
this.FormClosing += fMsgWindow_FormClosing;
|
||||||
|
this.KeyDown += (s1, e1) => { if (EnableUserClose && e1.KeyCode == Keys.Escape) this.Close(); };
|
||||||
|
this._msg = msg;
|
||||||
|
|
||||||
|
|
||||||
|
if (filename != "")
|
||||||
|
{
|
||||||
|
string fullname = AppDomain.CurrentDomain.BaseDirectory + "Image\\" + filename;
|
||||||
|
if (System.IO.File.Exists(fullname))
|
||||||
|
{
|
||||||
|
var img = this.lb1.BackgroundImage;
|
||||||
|
this.lb1.BackgroundImage = Image.FromFile(fullname);
|
||||||
|
if (img != null) img.Dispose();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msg += "\nNo Image File\n" + filename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var img = this.lb1.BackgroundImage;
|
||||||
|
this.lb1.BackgroundImage = null;
|
||||||
|
if (img != null) img.Dispose();
|
||||||
|
}
|
||||||
|
setMessage(msg);
|
||||||
|
this.lbTitle.MouseMove += label1_MouseMove;
|
||||||
|
lbTitle.MouseUp += label1_MouseUp;
|
||||||
|
lbTitle.MouseDown += label1_MouseDown;
|
||||||
|
lbTitle.MouseDoubleClick += label1_MouseDoubleClick;
|
||||||
|
//btClose.Click += arLabel1_Click;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fMsgWindow_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
if (DialogMode==false)
|
||||||
|
{
|
||||||
|
e.Cancel = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fMsg_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseMove(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (fMove)
|
||||||
|
{
|
||||||
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
||||||
|
this.Left += offset.X;
|
||||||
|
this.Top += offset.Y;
|
||||||
|
offset = new Point(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
fMove = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
MDownPos = new Point(e.X, e.Y);
|
||||||
|
fMove = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (EnableUserClose)
|
||||||
|
{
|
||||||
|
if (DialogMode == false) this.Visible = false;
|
||||||
|
else this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public enum EWinColor
|
||||||
|
{
|
||||||
|
Attention=0,
|
||||||
|
Error,
|
||||||
|
Information
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetWindowColor(EWinColor wincolor)
|
||||||
|
{
|
||||||
|
switch (wincolor)
|
||||||
|
{
|
||||||
|
case EWinColor.Attention:
|
||||||
|
lbTitle.BackColor = Color.Gold;
|
||||||
|
lbTitle.BackColor2 = Color.Orange;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(150, 150, 150);
|
||||||
|
lbTitle.ForeColor = Color.FromArgb(50, 50, 50);
|
||||||
|
break;
|
||||||
|
case EWinColor.Error:
|
||||||
|
lbTitle.BackColor = Color.Brown;
|
||||||
|
lbTitle.BackColor2 = Color.Tomato;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(50, 50, 50);
|
||||||
|
lbTitle.ForeColor = Color.WhiteSmoke;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
lbTitle.BackColor = Color.DarkTurquoise;
|
||||||
|
lbTitle.BackColor2 = Color.LightSkyBlue;
|
||||||
|
lbTitle.ShadowColor = Color.FromArgb(50, 50, 50);
|
||||||
|
lbTitle.ForeColor = Color.WhiteSmoke;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void lbTitle_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (EnableUserClose)
|
||||||
|
{
|
||||||
|
if (DialogMode == false) this.Visible = false;
|
||||||
|
else this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tmBlink_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var bg1 = lbTitle.BackColor;
|
||||||
|
var bg2 = lbTitle.BackColor2;
|
||||||
|
lbTitle.BackColor = bg2;
|
||||||
|
lbTitle.BackColor2 = bg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btYes_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (DialogMode == false) this.Visible = false;
|
||||||
|
else this.DialogResult = System.Windows.Forms.DialogResult.Yes;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btNo_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (DialogMode == false) this.Visible = false;
|
||||||
|
else this.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
123
Cs_HMI/Project/MessageWindow/fMessageWindow.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="tmBlink.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
||||||
472
Cs_HMI/Project/MessageWindow/fMsgWindow.Designer.cs
generated
Normal file
@@ -0,0 +1,472 @@
|
|||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
partial class fMsgWindow
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
|
this.lb1 = new arCtl.arLabel();
|
||||||
|
this.arPanel1 = new arCtl.arPanel();
|
||||||
|
this.lb7 = new arCtl.arLabel();
|
||||||
|
this.lb6 = new arCtl.arLabel();
|
||||||
|
this.lb5 = new arCtl.arLabel();
|
||||||
|
this.lb4 = new arCtl.arLabel();
|
||||||
|
this.lb3 = new arCtl.arLabel();
|
||||||
|
this.lb2 = new arCtl.arLabel();
|
||||||
|
this.lbTitle = new arCtl.arLabel();
|
||||||
|
this.tmBlink = new System.Windows.Forms.Timer(this.components);
|
||||||
|
this.arPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// lb1
|
||||||
|
//
|
||||||
|
this.lb1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb1.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb1.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb1.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb1.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb1.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb1.GradientEnable = true;
|
||||||
|
this.lb1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb1.GradientRepeatBG = false;
|
||||||
|
this.lb1.isButton = false;
|
||||||
|
this.lb1.Location = new System.Drawing.Point(8, 80);
|
||||||
|
this.lb1.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb1.msg = null;
|
||||||
|
this.lb1.Name = "lb1";
|
||||||
|
this.lb1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb1.ProgressEnable = false;
|
||||||
|
this.lb1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb1.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb1.ProgressMax = 100F;
|
||||||
|
this.lb1.ProgressMin = 0F;
|
||||||
|
this.lb1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb1.ProgressValue = 0F;
|
||||||
|
this.lb1.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb1.Sign = "";
|
||||||
|
this.lb1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb1.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb1.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb1.TabIndex = 2;
|
||||||
|
this.lb1.Text = "*";
|
||||||
|
this.lb1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb1.TextShadow = true;
|
||||||
|
this.lb1.TextVisible = true;
|
||||||
|
//
|
||||||
|
// arPanel1
|
||||||
|
//
|
||||||
|
this.arPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.arPanel1.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.arPanel1.BorderColor = System.Drawing.Color.DimGray;
|
||||||
|
this.arPanel1.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.arPanel1.Controls.Add(this.lb7);
|
||||||
|
this.arPanel1.Controls.Add(this.lb6);
|
||||||
|
this.arPanel1.Controls.Add(this.lb5);
|
||||||
|
this.arPanel1.Controls.Add(this.lb4);
|
||||||
|
this.arPanel1.Controls.Add(this.lb3);
|
||||||
|
this.arPanel1.Controls.Add(this.lb2);
|
||||||
|
this.arPanel1.Controls.Add(this.lbTitle);
|
||||||
|
this.arPanel1.Controls.Add(this.lb1);
|
||||||
|
this.arPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.arPanel1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.arPanel1.ForeColor = System.Drawing.Color.Khaki;
|
||||||
|
this.arPanel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.arPanel1.GradientRepeatBG = false;
|
||||||
|
this.arPanel1.Location = new System.Drawing.Point(5, 5);
|
||||||
|
this.arPanel1.Name = "arPanel1";
|
||||||
|
this.arPanel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.arPanel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.arPanel1.ProgressMax = 100F;
|
||||||
|
this.arPanel1.ProgressMin = 0F;
|
||||||
|
this.arPanel1.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.arPanel1.ProgressValue = 0F;
|
||||||
|
this.arPanel1.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.arPanel1.ShowBorder = true;
|
||||||
|
this.arPanel1.Size = new System.Drawing.Size(890, 480);
|
||||||
|
this.arPanel1.TabIndex = 4;
|
||||||
|
this.arPanel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
this.arPanel1.TextShadow = false;
|
||||||
|
this.arPanel1.UseProgressBar = false;
|
||||||
|
//
|
||||||
|
// lb7
|
||||||
|
//
|
||||||
|
this.lb7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb7.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb7.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb7.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb7.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb7.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb7.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb7.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb7.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb7.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb7.GradientEnable = true;
|
||||||
|
this.lb7.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb7.GradientRepeatBG = false;
|
||||||
|
this.lb7.isButton = false;
|
||||||
|
this.lb7.Location = new System.Drawing.Point(8, 422);
|
||||||
|
this.lb7.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb7.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb7.msg = null;
|
||||||
|
this.lb7.Name = "lb7";
|
||||||
|
this.lb7.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb7.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb7.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb7.ProgressEnable = false;
|
||||||
|
this.lb7.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb7.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb7.ProgressMax = 100F;
|
||||||
|
this.lb7.ProgressMin = 0F;
|
||||||
|
this.lb7.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb7.ProgressValue = 0F;
|
||||||
|
this.lb7.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb7.Sign = "";
|
||||||
|
this.lb7.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb7.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb7.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb7.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb7.TabIndex = 9;
|
||||||
|
this.lb7.Text = "*";
|
||||||
|
this.lb7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb7.TextShadow = true;
|
||||||
|
this.lb7.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lb6
|
||||||
|
//
|
||||||
|
this.lb6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb6.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb6.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb6.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb6.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb6.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb6.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb6.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb6.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb6.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb6.GradientEnable = true;
|
||||||
|
this.lb6.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb6.GradientRepeatBG = false;
|
||||||
|
this.lb6.isButton = false;
|
||||||
|
this.lb6.Location = new System.Drawing.Point(8, 365);
|
||||||
|
this.lb6.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb6.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb6.msg = null;
|
||||||
|
this.lb6.Name = "lb6";
|
||||||
|
this.lb6.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb6.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb6.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb6.ProgressEnable = false;
|
||||||
|
this.lb6.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb6.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb6.ProgressMax = 100F;
|
||||||
|
this.lb6.ProgressMin = 0F;
|
||||||
|
this.lb6.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb6.ProgressValue = 0F;
|
||||||
|
this.lb6.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb6.Sign = "";
|
||||||
|
this.lb6.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb6.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb6.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb6.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb6.TabIndex = 8;
|
||||||
|
this.lb6.Text = "*";
|
||||||
|
this.lb6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb6.TextShadow = true;
|
||||||
|
this.lb6.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lb5
|
||||||
|
//
|
||||||
|
this.lb5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb5.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb5.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb5.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb5.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb5.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb5.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb5.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb5.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb5.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb5.GradientEnable = true;
|
||||||
|
this.lb5.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb5.GradientRepeatBG = false;
|
||||||
|
this.lb5.isButton = false;
|
||||||
|
this.lb5.Location = new System.Drawing.Point(8, 308);
|
||||||
|
this.lb5.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb5.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb5.msg = null;
|
||||||
|
this.lb5.Name = "lb5";
|
||||||
|
this.lb5.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb5.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb5.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb5.ProgressEnable = false;
|
||||||
|
this.lb5.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb5.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb5.ProgressMax = 100F;
|
||||||
|
this.lb5.ProgressMin = 0F;
|
||||||
|
this.lb5.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb5.ProgressValue = 0F;
|
||||||
|
this.lb5.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb5.Sign = "";
|
||||||
|
this.lb5.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb5.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb5.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb5.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb5.TabIndex = 7;
|
||||||
|
this.lb5.Text = "*";
|
||||||
|
this.lb5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb5.TextShadow = true;
|
||||||
|
this.lb5.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lb4
|
||||||
|
//
|
||||||
|
this.lb4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb4.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb4.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb4.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb4.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb4.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb4.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb4.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb4.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb4.GradientEnable = true;
|
||||||
|
this.lb4.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb4.GradientRepeatBG = false;
|
||||||
|
this.lb4.isButton = false;
|
||||||
|
this.lb4.Location = new System.Drawing.Point(8, 251);
|
||||||
|
this.lb4.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb4.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb4.msg = null;
|
||||||
|
this.lb4.Name = "lb4";
|
||||||
|
this.lb4.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb4.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb4.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb4.ProgressEnable = false;
|
||||||
|
this.lb4.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb4.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb4.ProgressMax = 100F;
|
||||||
|
this.lb4.ProgressMin = 0F;
|
||||||
|
this.lb4.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb4.ProgressValue = 0F;
|
||||||
|
this.lb4.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb4.Sign = "";
|
||||||
|
this.lb4.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb4.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb4.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb4.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb4.TabIndex = 6;
|
||||||
|
this.lb4.Text = "*";
|
||||||
|
this.lb4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb4.TextShadow = true;
|
||||||
|
this.lb4.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lb3
|
||||||
|
//
|
||||||
|
this.lb3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb3.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb3.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb3.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb3.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb3.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb3.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb3.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb3.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb3.GradientEnable = true;
|
||||||
|
this.lb3.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb3.GradientRepeatBG = false;
|
||||||
|
this.lb3.isButton = false;
|
||||||
|
this.lb3.Location = new System.Drawing.Point(8, 194);
|
||||||
|
this.lb3.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb3.msg = null;
|
||||||
|
this.lb3.Name = "lb3";
|
||||||
|
this.lb3.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb3.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb3.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb3.ProgressEnable = false;
|
||||||
|
this.lb3.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb3.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb3.ProgressMax = 100F;
|
||||||
|
this.lb3.ProgressMin = 0F;
|
||||||
|
this.lb3.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb3.ProgressValue = 0F;
|
||||||
|
this.lb3.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb3.Sign = "";
|
||||||
|
this.lb3.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb3.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb3.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb3.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb3.TabIndex = 5;
|
||||||
|
this.lb3.Text = "*";
|
||||||
|
this.lb3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb3.TextShadow = true;
|
||||||
|
this.lb3.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lb2
|
||||||
|
//
|
||||||
|
this.lb2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
|
||||||
|
this.lb2.BackColor2 = System.Drawing.Color.Gray;
|
||||||
|
this.lb2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lb2.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb2.BorderColorOver = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lb2.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lb2.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lb2.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lb2.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lb2.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.lb2.GradientEnable = true;
|
||||||
|
this.lb2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||||
|
this.lb2.GradientRepeatBG = false;
|
||||||
|
this.lb2.isButton = false;
|
||||||
|
this.lb2.Location = new System.Drawing.Point(8, 137);
|
||||||
|
this.lb2.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lb2.msg = null;
|
||||||
|
this.lb2.Name = "lb2";
|
||||||
|
this.lb2.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
|
||||||
|
this.lb2.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lb2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lb2.ProgressEnable = false;
|
||||||
|
this.lb2.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lb2.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lb2.ProgressMax = 100F;
|
||||||
|
this.lb2.ProgressMin = 0F;
|
||||||
|
this.lb2.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lb2.ProgressValue = 0F;
|
||||||
|
this.lb2.ShadowColor = System.Drawing.Color.Black;
|
||||||
|
this.lb2.Sign = "";
|
||||||
|
this.lb2.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lb2.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lb2.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lb2.Size = new System.Drawing.Size(874, 50);
|
||||||
|
this.lb2.TabIndex = 4;
|
||||||
|
this.lb2.Text = "*";
|
||||||
|
this.lb2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.lb2.TextShadow = true;
|
||||||
|
this.lb2.TextVisible = true;
|
||||||
|
//
|
||||||
|
// lbTitle
|
||||||
|
//
|
||||||
|
this.lbTitle.BackColor = System.Drawing.Color.Tomato;
|
||||||
|
this.lbTitle.BackColor2 = System.Drawing.Color.Red;
|
||||||
|
this.lbTitle.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||||
|
this.lbTitle.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
|
||||||
|
this.lbTitle.BorderColorOver = System.Drawing.Color.Gray;
|
||||||
|
this.lbTitle.BorderSize = new System.Windows.Forms.Padding(1);
|
||||||
|
this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
|
||||||
|
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
|
this.lbTitle.Font = new System.Drawing.Font("맑은 고딕", 30F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lbTitle.ForeColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.lbTitle.GradientEnable = true;
|
||||||
|
this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
|
||||||
|
this.lbTitle.GradientRepeatBG = false;
|
||||||
|
this.lbTitle.isButton = false;
|
||||||
|
this.lbTitle.Location = new System.Drawing.Point(8, 9);
|
||||||
|
this.lbTitle.MouseDownColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.lbTitle.msg = null;
|
||||||
|
this.lbTitle.Name = "lbTitle";
|
||||||
|
this.lbTitle.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
|
||||||
|
this.lbTitle.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
|
||||||
|
this.lbTitle.ProgressEnable = false;
|
||||||
|
this.lbTitle.ProgressFont = new System.Drawing.Font("Consolas", 10F);
|
||||||
|
this.lbTitle.ProgressForeColor = System.Drawing.Color.Black;
|
||||||
|
this.lbTitle.ProgressMax = 100F;
|
||||||
|
this.lbTitle.ProgressMin = 0F;
|
||||||
|
this.lbTitle.ProgressPadding = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lbTitle.ProgressValue = 0F;
|
||||||
|
this.lbTitle.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
|
||||||
|
this.lbTitle.Sign = "";
|
||||||
|
this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight;
|
||||||
|
this.lbTitle.SignColor = System.Drawing.Color.Yellow;
|
||||||
|
this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
|
||||||
|
this.lbTitle.Size = new System.Drawing.Size(874, 67);
|
||||||
|
this.lbTitle.TabIndex = 3;
|
||||||
|
this.lbTitle.Text = "TITLE";
|
||||||
|
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
this.lbTitle.TextShadow = true;
|
||||||
|
this.lbTitle.TextVisible = true;
|
||||||
|
this.lbTitle.Click += new System.EventHandler(this.lbTitle_Click);
|
||||||
|
//
|
||||||
|
// tmBlink
|
||||||
|
//
|
||||||
|
this.tmBlink.Enabled = true;
|
||||||
|
this.tmBlink.Interval = 300;
|
||||||
|
this.tmBlink.Tick += new System.EventHandler(this.tmBlink_Tick);
|
||||||
|
//
|
||||||
|
// fMsgWindow
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(900, 490);
|
||||||
|
this.Controls.Add(this.arPanel1);
|
||||||
|
this.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.KeyPreview = true;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "fMsgWindow";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(5);
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Message Window";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.fMsg_Load);
|
||||||
|
this.arPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public arCtl.arLabel lb1;
|
||||||
|
private arCtl.arPanel arPanel1;
|
||||||
|
public arCtl.arLabel lbTitle;
|
||||||
|
public arCtl.arLabel lb7;
|
||||||
|
public arCtl.arLabel lb6;
|
||||||
|
public arCtl.arLabel lb5;
|
||||||
|
public arCtl.arLabel lb4;
|
||||||
|
public arCtl.arLabel lb3;
|
||||||
|
public arCtl.arLabel lb2;
|
||||||
|
private System.Windows.Forms.Timer tmBlink;
|
||||||
|
}
|
||||||
|
}
|
||||||
156
Cs_HMI/Project/MessageWindow/fMsgWindow.cs
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMsgWindow : Form
|
||||||
|
{
|
||||||
|
private Boolean fMove = false;
|
||||||
|
private Point MDownPos;
|
||||||
|
private string _msg = string.Empty;
|
||||||
|
public Boolean DialogMode = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 사용자가 이 창을 닫을수 있는가?
|
||||||
|
/// </summary>
|
||||||
|
public Boolean EnableUserClose
|
||||||
|
{
|
||||||
|
get { return _enableuserclose; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_enableuserclose = value;
|
||||||
|
// if (!EnableUserClose) btClose.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private Boolean _enableuserclose = true;
|
||||||
|
|
||||||
|
public void setMessage(string msg)
|
||||||
|
{
|
||||||
|
//msg를 분리해서 표시를 한다.
|
||||||
|
var lbs = new arCtl.arLabel[] { lbTitle, lb1, lb2, lb3, lb4, lb5, lb6, lb7 };
|
||||||
|
var lineBuf = msg.Replace("\r", "").Split('\n');
|
||||||
|
int maxLine = Math.Min(lbs.Length, lineBuf.Length);
|
||||||
|
|
||||||
|
for (int i = 0; i < lbs.Length; i++) //최대줄을 넘어가는건 표시불가
|
||||||
|
{
|
||||||
|
if (i >= lineBuf.Length)
|
||||||
|
{
|
||||||
|
lbs[i].Text = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (i > 0) lbs[i].Text = string.Format("{0}. {1}", i, lineBuf[i]);
|
||||||
|
else lbs[i].Text = lineBuf[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public fMsgWindow(string msg, string filename = "")
|
||||||
|
{
|
||||||
|
EnableUserClose = true;
|
||||||
|
InitializeComponent();
|
||||||
|
this.FormClosing += fMsgWindow_FormClosing;
|
||||||
|
this.KeyDown += (s1, e1) => { if (EnableUserClose && e1.KeyCode == Keys.Escape) this.Close(); };
|
||||||
|
this._msg = msg;
|
||||||
|
|
||||||
|
|
||||||
|
if (filename != "")
|
||||||
|
{
|
||||||
|
string fullname = AppDomain.CurrentDomain.BaseDirectory + "Image\\" + filename;
|
||||||
|
if (System.IO.File.Exists(fullname))
|
||||||
|
{
|
||||||
|
var img = this.lb1.BackgroundImage;
|
||||||
|
this.lb1.BackgroundImage = Image.FromFile(fullname);
|
||||||
|
if (img != null) img.Dispose();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msg += "\nNo Image File\n" + filename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var img = this.lb1.BackgroundImage;
|
||||||
|
this.lb1.BackgroundImage = null;
|
||||||
|
if (img != null) img.Dispose();
|
||||||
|
}
|
||||||
|
setMessage(msg);
|
||||||
|
this.lbTitle.MouseMove += label1_MouseMove;
|
||||||
|
lbTitle.MouseUp += label1_MouseUp;
|
||||||
|
lbTitle.MouseDown += label1_MouseDown;
|
||||||
|
lbTitle.MouseDoubleClick += label1_MouseDoubleClick;
|
||||||
|
//btClose.Click += arLabel1_Click;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fMsgWindow_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
if (DialogMode==false)
|
||||||
|
{
|
||||||
|
e.Cancel = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fMsg_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseMove(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (fMove)
|
||||||
|
{
|
||||||
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
||||||
|
this.Left += offset.X;
|
||||||
|
this.Top += offset.Y;
|
||||||
|
offset = new Point(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
fMove = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
MDownPos = new Point(e.X, e.Y);
|
||||||
|
fMove = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (EnableUserClose)
|
||||||
|
{
|
||||||
|
if (DialogMode == false) this.Visible = false;
|
||||||
|
else this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void lbTitle_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (EnableUserClose)
|
||||||
|
{
|
||||||
|
if (DialogMode == false) this.Visible = false;
|
||||||
|
else this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tmBlink_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var bg1 = lbTitle.BackColor;
|
||||||
|
var bg2 = lbTitle.BackColor2;
|
||||||
|
lbTitle.BackColor = bg2;
|
||||||
|
lbTitle.BackColor2 = bg1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
123
Cs_HMI/Project/MessageWindow/fMsgWindow.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="tmBlink.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
||||||
224
Cs_HMI/Project/MethodExtentions.cs
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// generic method Extension
|
||||||
|
/// </summary>
|
||||||
|
public static class MethodExtensions
|
||||||
|
{
|
||||||
|
public static Rectangle AddOffset(this System.Drawing.Rectangle rect,System.Drawing.Point offset)
|
||||||
|
{
|
||||||
|
return new Rectangle(rect.Left + offset.X, rect.Top + offset.Y, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
public static Rectangle AddOffset(this System.Drawing.Rectangle rect, int x, int y)
|
||||||
|
{
|
||||||
|
return new Rectangle(rect.Left + x, rect.Top + y, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
public static string ToString(this System.Drawing.Rectangle rect)
|
||||||
|
{
|
||||||
|
return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
public static string ToString(this System.Drawing.RectangleF rect)
|
||||||
|
{
|
||||||
|
return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
//public static void SetBGColor(this System.Windows.Forms.Label ctl,System.Drawing.Color color1)
|
||||||
|
//{
|
||||||
|
// ctl.BackColor = System.Drawing.Color.Red;
|
||||||
|
//}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 0101이 반복되는 문자열 형태로 전환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="arr"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string BitString(this System.Collections.BitArray arr)
|
||||||
|
{
|
||||||
|
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||||||
|
for (int i = arr.Length; i > 0; i--)
|
||||||
|
sb.Append(arr[i - 1] ? "1" : "0");
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// int 값으로 변환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="arr"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static int ValueI(this System.Collections.BitArray arr)
|
||||||
|
{
|
||||||
|
byte[] buf = new byte[4];
|
||||||
|
arr.CopyTo(buf, 0);
|
||||||
|
return BitConverter.ToInt32(buf, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 숫자인지 검사합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool IsNumeric(this string input)
|
||||||
|
{
|
||||||
|
double data;
|
||||||
|
return double.TryParse(input, out data);
|
||||||
|
//return Regex.IsMatch(input, @"^\d+$");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// isnullorempty 를 수행합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static Boolean isEmpty(this string input)
|
||||||
|
{
|
||||||
|
return string.IsNullOrEmpty(input);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// default 인코딩을 사용하여 문자열로 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetString(this Byte[] input)
|
||||||
|
{
|
||||||
|
return System.Text.Encoding.Default.GetString(input);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 16진수 문자열 형태로 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetHexString(this Byte[] input)
|
||||||
|
{
|
||||||
|
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||||||
|
foreach (byte b in input)
|
||||||
|
sb.Append(" " + b.ToString("X2"));
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Base64Encode(this string src)
|
||||||
|
{
|
||||||
|
string base64enc = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(src));
|
||||||
|
return base64enc;
|
||||||
|
}
|
||||||
|
public static string Base64Decode(this string src)
|
||||||
|
{
|
||||||
|
var base64dec = Convert.FromBase64String(src);
|
||||||
|
return System.Text.Encoding.UTF8.GetString(base64dec);
|
||||||
|
}
|
||||||
|
public static string UrlPathEncode(this string src)
|
||||||
|
{
|
||||||
|
string data = System.Web.HttpUtility.UrlPathEncode(src);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
public static string UrlEncode(this string src)
|
||||||
|
{
|
||||||
|
string data = System.Web.HttpUtility.UrlEncode(src, System.Text.Encoding.UTF8);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
public static string UrlDecode(this string src)
|
||||||
|
{
|
||||||
|
string data = System.Web.HttpUtility.UrlDecode(src, System.Text.Encoding.UTF8);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
public static string toSizeStr(this Size rect)
|
||||||
|
{
|
||||||
|
return string.Format("{0};{1}", rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
public static string toPointStr(this PointF rect)
|
||||||
|
{
|
||||||
|
return string.Format("{0};{1}", rect.X, rect.Y);
|
||||||
|
}
|
||||||
|
public static string toPointStr(this Point rect)
|
||||||
|
{
|
||||||
|
return string.Format("{0};{1}", rect.X, rect.Y);
|
||||||
|
}
|
||||||
|
public static string toRectStr(this Rectangle rect)
|
||||||
|
{
|
||||||
|
return string.Format("{0};{1};{2};{3}", rect.X, rect.Top, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
public static string toRectStr(this RectangleF rect)
|
||||||
|
{
|
||||||
|
return string.Format("{0};{1};{2};{3}", rect.X, rect.Top, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
public static RectangleF toRectF(this string str)
|
||||||
|
{
|
||||||
|
var buffer = str.Split(';');
|
||||||
|
if (buffer.Length != 4) return RectangleF.Empty;
|
||||||
|
for (int i = 0; i < buffer.Length; i++)
|
||||||
|
if (buffer[i] == "") buffer[i] = "0";
|
||||||
|
return new RectangleF(float.Parse(buffer[0]), float.Parse(buffer[1]), float.Parse(buffer[2]), float.Parse(buffer[3]));
|
||||||
|
}
|
||||||
|
public static Rectangle toRect(this string str)
|
||||||
|
{
|
||||||
|
var buffer = str.Split(';');
|
||||||
|
if (buffer.Length != 4) return Rectangle.Empty;
|
||||||
|
for (int i = 0; i < buffer.Length; i++)
|
||||||
|
if (buffer[i] == "") buffer[i] = "0";
|
||||||
|
return new Rectangle(int.Parse(buffer[0]), int.Parse(buffer[1]), int.Parse(buffer[2]), int.Parse(buffer[3]));
|
||||||
|
}
|
||||||
|
public static Point toPoint(this string str)
|
||||||
|
{
|
||||||
|
str = str.Replace(",", ";").Replace("*", ";").Replace("x", ";").Replace(":", ";");
|
||||||
|
|
||||||
|
var buffer = str.Split(';');
|
||||||
|
if (buffer.Length != 2) return Point.Empty;
|
||||||
|
for (int i = 0; i < buffer.Length; i++)
|
||||||
|
if (buffer[i] == "") buffer[i] = "0";
|
||||||
|
return new Point(int.Parse(buffer[0]), int.Parse(buffer[1]));
|
||||||
|
}
|
||||||
|
public static Size toSize(this string str)
|
||||||
|
{
|
||||||
|
str = str.Replace(",", ";").Replace("*", ";").Replace("x", ";").Replace(":", ";");
|
||||||
|
|
||||||
|
var buffer = str.Split(';');
|
||||||
|
if (buffer.Length != 2) return Size.Empty;
|
||||||
|
for (int i = 0; i < buffer.Length; i++)
|
||||||
|
if (buffer[i] == "") buffer[i] = "0";
|
||||||
|
return new Size(int.Parse(buffer[0]), int.Parse(buffer[1]));
|
||||||
|
}
|
||||||
|
public static PointF toPointF(this string str)
|
||||||
|
{
|
||||||
|
str = str.Replace(",", ";").Replace("*", ";").Replace("x", ";").Replace(":", ";");
|
||||||
|
|
||||||
|
var buffer = str.Split(';');
|
||||||
|
if (buffer.Length != 2) return PointF.Empty;
|
||||||
|
for (int i = 0; i < buffer.Length; i++)
|
||||||
|
if (buffer[i] == "") buffer[i] = "0";
|
||||||
|
return new PointF(float.Parse(buffer[0]), float.Parse(buffer[1]));
|
||||||
|
}
|
||||||
|
public static Rectangle Fix(this Rectangle rect, Size imgsize)
|
||||||
|
{
|
||||||
|
//영역보정
|
||||||
|
if (rect.Left < 1) rect.X = 1;
|
||||||
|
if (rect.Top < 1) rect.Y = 1;
|
||||||
|
if (rect.Right > imgsize.Width) rect.Width = imgsize.Width - rect.Left - 1;
|
||||||
|
if (rect.Bottom > imgsize.Height) rect.Height = imgsize.Height - rect.Top - 1;
|
||||||
|
if (rect.Width < 2 || rect.Height < 2) rect = Rectangle.Empty;
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
public static RectangleF FixRoi(this RectangleF rect, Size imgsize)
|
||||||
|
{
|
||||||
|
//영역보정
|
||||||
|
if (rect.Left < 1) rect.X = 1;
|
||||||
|
if (rect.Top < 1) rect.Y = 1;
|
||||||
|
if (rect.Right > imgsize.Width) rect.Width = imgsize.Width - rect.Left - 1;
|
||||||
|
if (rect.Bottom > imgsize.Height) rect.Height = imgsize.Height - rect.Top - 1;
|
||||||
|
if (rect.Width < 2 || rect.Height < 2) rect = Rectangle.Empty;
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
439
Cs_HMI/Project/PUB.cs
Normal file
@@ -0,0 +1,439 @@
|
|||||||
|
using Microsoft.Speech.Synthesis;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using COMM;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
|
using System.Net;
|
||||||
|
using System.Management;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public static class PUB
|
||||||
|
{
|
||||||
|
//public static Device.CFlag flag;
|
||||||
|
public static bool bShutdown = false;
|
||||||
|
public static bool Automodeonreboot = false;
|
||||||
|
public static bool AutRebootAlreay = false;
|
||||||
|
public static bool DriveSpeed = false;
|
||||||
|
|
||||||
|
#region "Hardware"
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 읽기/쓰기용이며 구동모터 와 비상정지가 연결됨(USB-ATMEGA 2560)
|
||||||
|
/// </summary>
|
||||||
|
public static arDev.FakePLC PLC;
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// 읽기전용이며 Z축 모터와 외부 버튼이 연결됨(USB-ATMEGA 2560)
|
||||||
|
///// </summary>
|
||||||
|
//public static Device.PLC2 plcS;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// XBEE 통신(USB-TTL)
|
||||||
|
/// </summary>
|
||||||
|
public static Device.Xbee XBE;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 배터리 잔량 확인(COM2 : RS232C - TTL)
|
||||||
|
/// </summary>
|
||||||
|
// public static arDevice.BMS bms;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// RFID READER (COM1 : RS232C)
|
||||||
|
/// </summary>
|
||||||
|
public static arDev.Narumi AGV;
|
||||||
|
|
||||||
|
public static arDev.BMS BMS;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 디버그모니터용 소켓(데이터를 전송만 한다)
|
||||||
|
/// </summary>
|
||||||
|
public static Device.Socket sock_debug;
|
||||||
|
|
||||||
|
private static SpeechSynthesizer voice;
|
||||||
|
public static MediaPlayer mplayer;
|
||||||
|
|
||||||
|
|
||||||
|
public static bool CheckPassword()
|
||||||
|
{
|
||||||
|
var f = new Dialog.fPassword();
|
||||||
|
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return false;
|
||||||
|
var pass = f.tbInput.Text.Trim();
|
||||||
|
var passok = DateTime.Now.ToString("ddMM");
|
||||||
|
if (pass.Equals(passok)) return true;
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Speak(string m, Boolean force = false, bool addlog = true)
|
||||||
|
{
|
||||||
|
if (force == false && PUB.setting.Enable_Speak == false) return;
|
||||||
|
if (force)
|
||||||
|
voice.SpeakAsyncCancelAll();
|
||||||
|
if (voice.State == SynthesizerState.Ready)
|
||||||
|
voice.SpeakAsync(m);
|
||||||
|
if (addlog) PUB.log.Add("SPEAK",m);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 콜을 받을 수 있는 상황인가?
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool IsCanCALL()
|
||||||
|
{
|
||||||
|
//콜가능여부도 전송한다
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] &&
|
||||||
|
VAR.BOOL[eVarBool.FLAG_CHARGEONM] == false &&
|
||||||
|
PUB.BMS.Current_Level > PUB.setting.ChargeEmergencyLevel &&
|
||||||
|
PUB.sm.RunStep != StateMachine.ERunStep.GOUP &&
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] == false &&
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_UP] == false)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CounterSetting counter;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// popup message window
|
||||||
|
/// </summary>
|
||||||
|
public static MessageWindow popup;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// database manager
|
||||||
|
/// </summary>
|
||||||
|
public static Manager.DatabaseManager dbm;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 설정정보
|
||||||
|
/// </summary>
|
||||||
|
public static CSetting setting;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 시스템로그
|
||||||
|
/// </summary>
|
||||||
|
public static arUtil.Log log, logagv, logplc, logbms, logcal;
|
||||||
|
|
||||||
|
public static Boolean bPlayMusic = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 사용자 인풋 감지 시간
|
||||||
|
/// </summary>
|
||||||
|
public static DateTime LastInputTime = DateTime.Now;
|
||||||
|
|
||||||
|
public static CResult Result;
|
||||||
|
|
||||||
|
public static string PatchVersion { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 상태머신
|
||||||
|
/// </summary>
|
||||||
|
public static StateMachine sm; //상태머신분리 190529
|
||||||
|
|
||||||
|
public static System.IO.DirectoryInfo path;
|
||||||
|
|
||||||
|
|
||||||
|
public static void initCore()
|
||||||
|
{
|
||||||
|
//setting
|
||||||
|
setting = new CSetting();
|
||||||
|
setting.Load();
|
||||||
|
|
||||||
|
//counter setting
|
||||||
|
counter = new CounterSetting();
|
||||||
|
counter.Load();
|
||||||
|
|
||||||
|
//log
|
||||||
|
log = new arUtil.Log();
|
||||||
|
logagv = new arUtil.Log();
|
||||||
|
logplc = new arUtil.Log();
|
||||||
|
logbms = new arUtil.Log();
|
||||||
|
logcal = new arUtil.Log();
|
||||||
|
|
||||||
|
logagv.FileNameFormat = "{yyyyMMdd}_agv";
|
||||||
|
logplc.FileNameFormat = "{yyyyMMdd}_plc";
|
||||||
|
logbms.FileNameFormat = "{yyyyMMdd}_bms";
|
||||||
|
logcal.FileNameFormat = "{yyyyMMdd}_cal";
|
||||||
|
|
||||||
|
//popupmessage
|
||||||
|
popup = new MessageWindow();
|
||||||
|
|
||||||
|
Result = new CResult();
|
||||||
|
Result.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void init()
|
||||||
|
{
|
||||||
|
Result = new CResult();
|
||||||
|
|
||||||
|
//state machine
|
||||||
|
sm = new StateMachine();
|
||||||
|
|
||||||
|
path = new System.IO.DirectoryInfo(Util.CurrentPath);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mplayer = new MediaPlayer
|
||||||
|
{
|
||||||
|
Volume = PUB.setting.musicvol / 100.0
|
||||||
|
};
|
||||||
|
if (PUB.setting.musicfile.isEmpty() == false)
|
||||||
|
if (System.IO.File.Exists(PUB.setting.musicfile))
|
||||||
|
PUB.mplayer.Open(new Uri(PUB.setting.musicfile));
|
||||||
|
|
||||||
|
voice = new SpeechSynthesizer();
|
||||||
|
voice.SelectVoice("Microsoft Server Speech Text to Speech Voice (ko-KR, Heami)");
|
||||||
|
voice.SetOutputToDefaultAudioDevice();
|
||||||
|
|
||||||
|
var file_version = System.IO.Path.Combine(Util.CurrentPath, "version.txt");
|
||||||
|
if (System.IO.File.Exists(file_version))
|
||||||
|
{
|
||||||
|
PUB.PatchVersion = System.IO.File.ReadAllText(file_version, System.Text.Encoding.UTF8);
|
||||||
|
}
|
||||||
|
else PUB.PatchVersion = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Boolean CheckManualChargeMode(bool Prompt = true )
|
||||||
|
{
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_CHARGEONM] == true)
|
||||||
|
{
|
||||||
|
string msg = "수동 충전 상태이므로 진행 할 수 없습니다";
|
||||||
|
PUB.Speak(msg);
|
||||||
|
if(Prompt)
|
||||||
|
Util.MsgE(msg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double GetFreeSpace(string driveletter)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var di = new System.IO.DriveInfo(driveletter);
|
||||||
|
var freespace = di.TotalFreeSpace;
|
||||||
|
var totalspace = di.TotalSize;
|
||||||
|
var freeSpaceRate = (freespace * 1.0 / totalspace) * 100.0;
|
||||||
|
return freeSpaceRate;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return 100.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double GetFreeSpace()
|
||||||
|
{
|
||||||
|
double retval = 100.0;
|
||||||
|
string savePath1 = path.FullName;
|
||||||
|
if (savePath1 != "" && System.IO.Directory.Exists(savePath1))
|
||||||
|
{
|
||||||
|
//이폴더를 사용
|
||||||
|
if (savePath1.StartsWith("\\") == false)
|
||||||
|
{
|
||||||
|
//남은잔량을 체크한다.
|
||||||
|
retval = GetFreeSpace(savePath1.Substring(0, 1));
|
||||||
|
//if (freespace1 >= Pub.setting.AutoDeleteThreshold) return savePath1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 장치에 오류가 있는지?
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static Boolean HasHWError()
|
||||||
|
{
|
||||||
|
if (PUB.PLC.IsValid == false) return true;
|
||||||
|
if (PUB.AGV.IsOpen == false) return true;
|
||||||
|
if (PUB.XBE.IsOpen == false) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//public static void AddStatusSQL(StateMachine.eSMStep status, string remark, DateTime wdate)
|
||||||
|
//{
|
||||||
|
// VAR.TIME[eVarTime.StatusReporttime] = DateTime.Now;
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// var state = 0;
|
||||||
|
// if (status == StateMachine.eSMStep.RUN) state = 1;
|
||||||
|
// else if (status == StateMachine.eSMStep.ERROR || status == StateMachine.eSMStep.EMERGENCY) state = 2;
|
||||||
|
// if (string.IsNullOrEmpty(remark)) remark = status.ToString();
|
||||||
|
// var mcid = PUB.setting.MCID;
|
||||||
|
// var path = System.IO.Path.Combine(Util.CurrentPath, "Status");
|
||||||
|
// var file = System.IO.Path.Combine(path, $"{DateTime.Now.ToString("HHmmssfff")}_{status}.sql");
|
||||||
|
// var sql = "insert into MCMonitor_Rawdata(Model,status,remark,ip,mac,time) values('{0}','{1}','{2}','{3}','{4}','{5}')";
|
||||||
|
// sql = string.Format(sql, mcid, state, remark, IP, MAC, wdate.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
// System.IO.File.WriteAllText(file, sql, System.Text.Encoding.Default);
|
||||||
|
|
||||||
|
// //만들어진지 3분이 지난 파일은 삭제한다.
|
||||||
|
// //var di = new System.IO.DirectoryInfo(path);
|
||||||
|
// //var fi = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly).Where(t => t.LastWriteTime < DateTime.Now.AddMinutes(-3)).FirstOrDefault();
|
||||||
|
// //if (fi != null) fi.Delete();
|
||||||
|
// }
|
||||||
|
// catch (Exception ex)
|
||||||
|
// {
|
||||||
|
// PUB.log.AddE(ex.Message);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
public static void AddEEDB(string remark)
|
||||||
|
{
|
||||||
|
var step = PUB.sm.Step.ToString();
|
||||||
|
var rtep = PUB.sm.RunStep.ToString();
|
||||||
|
var mcid = PUB.setting.MCID;
|
||||||
|
var path = System.IO.Path.Combine(Util.CurrentPath, "Status");
|
||||||
|
var file = System.IO.Path.Combine(path, $"{DateTime.Now.ToString("HHmmssfff")}_{step}_{rtep}.sql");
|
||||||
|
var wdate = DateTime.Now;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = "insert into AGV_History(mcid,step,runstep,remark,ip,wdate) values('{0}','{1}','{2}','{3}','{4}','{5}')";
|
||||||
|
sql = string.Format(sql, mcid, step, rtep, remark,IP,wdate.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
System.IO.File.WriteAllText(file, sql, System.Text.Encoding.Default);
|
||||||
|
|
||||||
|
//만들어진지 3분이 지난 파일은 삭제한다.
|
||||||
|
//var di = new System.IO.DirectoryInfo(path);
|
||||||
|
//var fi = di.GetFiles("*.sql", System.IO.SearchOption.TopDirectoryOnly).Where(t => t.LastWriteTime < DateTime.Now.AddMinutes(-3)).FirstOrDefault();
|
||||||
|
//if (fi != null) fi.Delete();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
PUB.log.AddE(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static string IP { get; set; }
|
||||||
|
public static string MAC { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 프로그램 사용기록 추가
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="prgmName"></param>
|
||||||
|
/// <param name="develop"></param>
|
||||||
|
/// <param name="prgmVersion"></param>
|
||||||
|
public static void CheckNRegister3(string prgmName, string develop, string prgmVersion)
|
||||||
|
{
|
||||||
|
if (prgmName.Length > 50) prgmName = prgmName.Substring(0, 50); //길이제한
|
||||||
|
var task = Task.Factory.StartNew(() =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string ip = "";
|
||||||
|
string mac = "";
|
||||||
|
// string prgmName = Application.ProductName;
|
||||||
|
|
||||||
|
var nif = NetworkInterface.GetAllNetworkInterfaces();
|
||||||
|
var host = Dns.GetHostEntry(Dns.GetHostName());
|
||||||
|
string fullname = System.Net.Dns.GetHostEntry("").HostName;
|
||||||
|
foreach (IPAddress r in host.AddressList)
|
||||||
|
{
|
||||||
|
string str = r.ToString();
|
||||||
|
|
||||||
|
if (str != "" && str.Substring(0, 3) == "10.")
|
||||||
|
{
|
||||||
|
ip = str;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string rtn = string.Empty;
|
||||||
|
ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
|
||||||
|
ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
|
||||||
|
foreach (ManagementObject mo in query1.Get())
|
||||||
|
{
|
||||||
|
string[] address = (string[])mo["IPAddress"];
|
||||||
|
if (address[0] == ip && mo["MACAddress"] != null)
|
||||||
|
{
|
||||||
|
mac = mo["MACAddress"].ToString();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ip == "" || mac == "")
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SqlConnection conn = new SqlConnection("Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!");
|
||||||
|
conn.Open();
|
||||||
|
string ProcName = "AddPrgmUser3";
|
||||||
|
SqlCommand cmd = new SqlCommand(ProcName, conn)
|
||||||
|
{
|
||||||
|
CommandType = CommandType.StoredProcedure
|
||||||
|
};
|
||||||
|
|
||||||
|
SqlParameter param = cmd.Parameters.Add("@mac", SqlDbType.NVarChar, 50);
|
||||||
|
param.Value = mac;
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@ip", SqlDbType.NVarChar, 50);
|
||||||
|
param.Value = ip;
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@pgrm", SqlDbType.NVarChar, 50);
|
||||||
|
param.Value = prgmName;
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@develop", SqlDbType.NVarChar, 50);
|
||||||
|
param.Value = develop;
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@pgver", SqlDbType.NVarChar, 50);
|
||||||
|
param.Value = prgmVersion;
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@prgmLogin", SqlDbType.VarChar, 20);
|
||||||
|
param.Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@account", SqlDbType.NVarChar, 50);
|
||||||
|
param.Value = System.Environment.UserName;
|
||||||
|
|
||||||
|
param = cmd.Parameters.Add("@hostname", SqlDbType.NVarChar, 100);
|
||||||
|
param.Value = fullname;
|
||||||
|
|
||||||
|
cmd.ExecuteNonQuery();
|
||||||
|
conn.Close();
|
||||||
|
|
||||||
|
IP = ip;
|
||||||
|
MAC = mac;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
PUB.log.AddE(ex.Message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void ChangeUIPopup(System.Windows.Forms.NumericUpDown valueCtl)
|
||||||
|
{
|
||||||
|
var value = valueCtl.Value.ToString();
|
||||||
|
var f = AR.UTIL.InputBox("input", value);// new Dialog.fInput(value);
|
||||||
|
if (f.Item1)
|
||||||
|
{
|
||||||
|
var val = decimal.Parse(f.Item2);
|
||||||
|
if (val < valueCtl.Minimum)
|
||||||
|
{
|
||||||
|
Util.MsgE(string.Format("최소 입력값은 {0} 입니다.", valueCtl.Minimum));
|
||||||
|
val = valueCtl.Minimum;
|
||||||
|
}
|
||||||
|
if (val > valueCtl.Maximum)
|
||||||
|
{
|
||||||
|
Util.MsgE(string.Format("최대 입력값은 {0} 입니다.", valueCtl.Maximum));
|
||||||
|
val = valueCtl.Maximum;
|
||||||
|
}
|
||||||
|
valueCtl.Value = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
64
Cs_HMI/Project/Program.cs
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Resources;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 해당 응용 프로그램의 주 진입점입니다.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
//중복실행방지
|
||||||
|
var guidAttr = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), true);
|
||||||
|
if (guidAttr != null)
|
||||||
|
{
|
||||||
|
var guida = (GuidAttribute)guidAttr[0];
|
||||||
|
var guidstr = guida.Value;
|
||||||
|
Mutex mtx = new Mutex(true, guidstr);
|
||||||
|
var success = mtx.WaitOne(new TimeSpan(0, 0, 1));
|
||||||
|
if (success == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("중복실행 불가\n\n프로그램이 실행 중 입니다");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
//Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
|
||||||
|
//AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
|
||||||
|
Application.Run(new fMain());
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
|
||||||
|
{
|
||||||
|
string emsg = "Fatal Error(UHE)\n\n" + e.ExceptionObject.ToString();
|
||||||
|
PUB.log.AddE(emsg);
|
||||||
|
PUB.log.Flush();
|
||||||
|
Util.SaveBugReport(emsg);
|
||||||
|
var f = new fErrorException(emsg);
|
||||||
|
f.ShowDialog();
|
||||||
|
Application.ExitThread();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
||||||
|
{
|
||||||
|
string emsg = "Fatal Error(ATE)\n\n" + e.Exception.ToString();
|
||||||
|
PUB.log.AddE(emsg);
|
||||||
|
PUB.log.Flush();
|
||||||
|
Util.SaveBugReport(emsg);
|
||||||
|
var f = new fErrorException(emsg);
|
||||||
|
f.ShowDialog();
|
||||||
|
Application.ExitThread();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
Cs_HMI/Project/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||||
|
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||||
|
// 이러한 특성 값을 변경하세요.
|
||||||
|
[assembly: AssemblyTitle("(OTP) 2D Reading System")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("Amkor K4")]
|
||||||
|
[assembly: AssemblyProduct("(OTP) 2D Reading System")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright ©Amkor-EET 2020")]
|
||||||
|
[assembly: AssemblyTrademark("EET")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||||
|
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||||
|
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||||
|
[assembly: Guid("65f3e762-800c-772e-862f-b444642ec59f")]
|
||||||
|
|
||||||
|
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||||
|
//
|
||||||
|
// 주 버전
|
||||||
|
// 부 버전
|
||||||
|
// 빌드 번호
|
||||||
|
// 수정 버전
|
||||||
|
//
|
||||||
|
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
|
||||||
|
// 지정되도록 할 수 있습니다.
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("24.12.06.1300")]
|
||||||
|
[assembly: AssemblyFileVersion("24.12.06.1300")]
|
||||||
173
Cs_HMI/Project/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||||
|
// 런타임 버전:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||||
|
// 이러한 변경 내용이 손실됩니다.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Project.Properties {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||||
|
/// </summary>
|
||||||
|
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||||
|
// 클래스에서 자동으로 생성되었습니다.
|
||||||
|
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
|
||||||
|
// 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Project.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
|
||||||
|
/// 재정의합니다.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Charge {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Charge", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap ChargeH {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("ChargeH", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_charged_battery_80 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_charged_battery_80", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_checked_radio_button_48 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-checked-radio-button-48", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_exercise_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-exercise-40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_new_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-new-40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_no_running_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-no-running-40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_running_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-running-40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_save_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-save-40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_unavailable_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-unavailable-40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap setup_40 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("setup_40", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
154
Cs_HMI/Project/Properties/Resources.resx
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
<?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>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="icons8-no-running-40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-no-running-40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-save-40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-save-40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-unavailable-40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-unavailable-40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-new-40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-new-40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-exercise-40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-exercise-40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-running-40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-running-40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-checked-radio-button-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-checked-radio-button-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8_charged_battery_80" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-charged-battery-80.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="setup_40" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-automatic-gearbox-warning-80.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Charge" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-charge-empty-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="ChargeH" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\ChargeH.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
38
Cs_HMI/Project/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||||
|
// 런타임 버전:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||||
|
// 이러한 변경 내용이 손실됩니다.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Project.Properties {
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default {
|
||||||
|
get {
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("asdfasdfasdf\r\nasdfasdfasdf\r\nasdf")]
|
||||||
|
public string css {
|
||||||
|
get {
|
||||||
|
return ((string)(this["css"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["css"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Cs_HMI/Project/Properties/Settings.settings
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Project.Properties" GeneratedClassName="Settings">
|
||||||
|
<Profiles />
|
||||||
|
<Settings>
|
||||||
|
<Setting Name="css" Type="System.String" Scope="User">
|
||||||
|
<Value Profile="(Default)">asdfasdfasdf
|
||||||
|
asdfasdfasdf
|
||||||
|
asdf</Value>
|
||||||
|
</Setting>
|
||||||
|
</Settings>
|
||||||
|
</SettingsFile>
|
||||||
20
Cs_HMI/Project/ReadMe.txt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
====================================
|
||||||
|
HostName : EET1PAGV2
|
||||||
|
IP Address : 192.168.1.78
|
||||||
|
====================================
|
||||||
|
XB24C / 802.15.4 TH
|
||||||
|
call button setting : ch-17 / id-45A4 / DH:0 / DL:FFFF
|
||||||
|
충전기 No : 30 : ch-C / ID-3332
|
||||||
|
|
||||||
|
|
||||||
|
GO-QA,GO-QC 라벨 출력 후 장비에 붙이기
|
||||||
|
무선 안테나 1개 파손 , 정면 우측
|
||||||
|
바닥 회색 테이프 마감 필요
|
||||||
|
|
||||||
|
08:00~09:00
|
||||||
|
18:00~19:00
|
||||||
|
|
||||||
|
|
||||||
|
230425 chi countQA추가 및 메인 디스플레이 방식 변경
|
||||||
|
충전중 수동전환하면 충전 해제 함
|
||||||
|
230424 chi QA루트 추가 및 관련 테스트 작업, RFID 입력
|
||||||
BIN
Cs_HMI/Project/Resources/ChargeH.png
Normal file
|
After Width: | Height: | Size: 788 B |
BIN
Cs_HMI/Project/Resources/icons8-automatic-gearbox-warning-80.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
Cs_HMI/Project/Resources/icons8-charge-empty-battery-96.png
Normal file
|
After Width: | Height: | Size: 781 B |
BIN
Cs_HMI/Project/Resources/icons8-charged-battery-80.png
Normal file
|
After Width: | Height: | Size: 309 B |
BIN
Cs_HMI/Project/Resources/icons8-checked-radio-button-48.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Cs_HMI/Project/Resources/icons8-exercise-40.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Cs_HMI/Project/Resources/icons8-new-40.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Cs_HMI/Project/Resources/icons8-no-running-40.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Cs_HMI/Project/Resources/icons8-running-40.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
Cs_HMI/Project/Resources/icons8-save-40.png
Normal file
|
After Width: | Height: | Size: 441 B |
BIN
Cs_HMI/Project/Resources/icons8-unavailable-40.png
Normal file
|
After Width: | Height: | Size: 986 B |
47
Cs_HMI/Project/StateMachine/Display/GetErrorMessage.cs
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
|
using System.Runtime.Serialization.Formatters.Binary;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Management;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public static partial class UTIL
|
||||||
|
{
|
||||||
|
public static string GetResultCodeMessage(eResult err)
|
||||||
|
{
|
||||||
|
return err.ToString().ToUpper();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static string GetErrorMessage(eECode err, params object[] values)
|
||||||
|
{
|
||||||
|
switch (err)
|
||||||
|
{
|
||||||
|
case eECode.NOTALLOWUP:
|
||||||
|
return "상차 허용 위치가 아닙니다";
|
||||||
|
case eECode.AGVCONN:
|
||||||
|
return Lang.AGV연결실패;
|
||||||
|
case eECode.PLCCONN:
|
||||||
|
return Lang.PLC통신실패;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return err.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
29
Cs_HMI/Project/StateMachine/DisplayTextHandler.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
|
||||||
|
delegate void UpdateControlTextHandler(Control ctl, string value);
|
||||||
|
void UpdateControlText(Control ctl, string value)
|
||||||
|
{
|
||||||
|
if (ctl.InvokeRequired)
|
||||||
|
{
|
||||||
|
ctl.BeginInvoke(new UpdateControlTextHandler(UpdateControlText), new object[] { ctl, value });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ctl.Text = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
550
Cs_HMI/Project/StateMachine/Step/_SM_RUN.cs
Normal file
@@ -0,0 +1,550 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
DateTime LastSpeakTime = DateTime.Now;
|
||||||
|
DateTime CoverControlTime = DateTime.Now;
|
||||||
|
DateTime LastCommandTime = DateTime.Now;
|
||||||
|
DateTime LastCommandTimeNextStop = DateTime.Now;
|
||||||
|
bool runStepisFirst = false;
|
||||||
|
private void _SM_RUN(Boolean isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
//중단기능이 동작이라면 처리하지 않는다.
|
||||||
|
if (PUB.sm.bPause)
|
||||||
|
{
|
||||||
|
System.Threading.Thread.Sleep(200);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//사용자 스텝처리가 아닌경우에만 검사
|
||||||
|
//if (Pub.flag.get(eFlag.UserStepCheck) == false)
|
||||||
|
{
|
||||||
|
|
||||||
|
//가동불가 조건 확인
|
||||||
|
if (CheckStopCondition() == false)
|
||||||
|
{
|
||||||
|
PUB.sm.SetNewStep(eSMStep.PAUSE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//이머전시상태라면 stop 처리한다.
|
||||||
|
if (PUB.AGV.error.Emergency && PUB.AGV.system1.agv_stop == true &&
|
||||||
|
PUB.AGV.system1.stop_by_front_detect == false)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.비상정지로인해작업을중단합니다);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.IDLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
//실행스텝보정
|
||||||
|
//if (Pub.sm.runStep == eRunStep.NOTSET && Pub.sm.runStepNew == eRunStep.NOTSET)
|
||||||
|
//{
|
||||||
|
// Pub.sm.setNewRunStep(eRunStep.IDLE);
|
||||||
|
// Pub.log.Add("RUnStep Initialize");
|
||||||
|
//}
|
||||||
|
|
||||||
|
//스텝이 변경되었다면?
|
||||||
|
if (PUB.sm.RunStep != PUB.sm.RunStepNew)
|
||||||
|
{
|
||||||
|
runStepisFirst = true;
|
||||||
|
PUB.sm.ApplyRunStep();
|
||||||
|
}
|
||||||
|
else runStepisFirst = false;
|
||||||
|
|
||||||
|
if (isFirst)
|
||||||
|
{
|
||||||
|
if (PUB.sm.RunStep == ERunStep.READY)
|
||||||
|
VAR.TIME.Set(eVarTime.ReadyStart);
|
||||||
|
else
|
||||||
|
VAR.TIME.Set(eVarTime.RunStart);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (PUB.sm.RunStep)
|
||||||
|
{
|
||||||
|
case ERunStep.READY:
|
||||||
|
_SM_RUN_READY(runStepisFirst, PUB.sm.GetRunSteptime);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ERunStep.GOCHARGE: //충전위치로 이동
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
VAR.TIME[eVarTime.ChargeTry] = DateTime.Now;
|
||||||
|
PUB.sm.ResetRunStepSeq();
|
||||||
|
PUB.log.Add("충전 명령 시작");
|
||||||
|
}
|
||||||
|
else if (_SM_RUN_GOCHARGE(runStepisFirst, PUB.sm.GetRunSteptime))
|
||||||
|
{
|
||||||
|
//230601
|
||||||
|
//if (PUB.Result != null && PUB.sm != null)
|
||||||
|
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||||
|
|
||||||
|
PUB.Speak(Lang.충전을시작합니다) ;
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGECHECK);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ERunStep.CHARGECHECK: //충전중
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeStart);
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
else if (_SM_RUN_GOCHARGECHECK(runStepisFirst, PUB.sm.GetRunSteptime))
|
||||||
|
{
|
||||||
|
//충전상태가 활성화되었으므로 대기상태로 전환한다
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.READY);
|
||||||
|
PUB.log.AddAT("충전상태 확인 완료로 인해 대기 합니다");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ERunStep.CHARGEOFF:
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeEnd);
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//충전 상태가 OFF되어야 동작하게한다
|
||||||
|
if (_SM_RUN_CHGOFF(isFirst, stepTime) == true)
|
||||||
|
{
|
||||||
|
//충전상태가 활성화되었으므로 대기상태로 전환한다
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
|
||||||
|
//충전기위치에서 OFF를 한 경우이다
|
||||||
|
if (PUB.Result.CurrentPos != ePosition.CHARGE || PUB.Result.TargetPos != ePosition.CHARGE)
|
||||||
|
{
|
||||||
|
PUB.Result.CurrentPos = ePosition.NONE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
}
|
||||||
|
PUB.Result.CurrentPosCW = "1";
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||||
|
PUB.log.AddAT("충전 해제로 홈으로 이동");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ERunStep.GOUP: //상차이동
|
||||||
|
if (_SM_RUN_GOUP(runStepisFirst, PUB.sm.GetRunSteptime))
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.상차작업이완료되었습니다);
|
||||||
|
|
||||||
|
//230601
|
||||||
|
// if (PUB.Result != null && PUB.sm != null)
|
||||||
|
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||||
|
|
||||||
|
//QA를 제외한 경우에는 기본 QC로 이동한다
|
||||||
|
if (PUB.Result.NextPos == ePosition.QA)
|
||||||
|
PUB.Result.TargetPos = ePosition.QA;
|
||||||
|
else
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
|
||||||
|
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.GODOWN); //하차작업으로 전환
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ERunStep.GODOWN: //하차이동
|
||||||
|
if (_SM_RUN_GODOWN(runStepisFirst, PUB.sm.GetRunSteptime))
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.하차작업이완료되었습니다);
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeTry);
|
||||||
|
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Down);// (Device.PLC.ZMotDirection.Down); //하차작업이 완료되면 커버를 내려서 바로 작업할 수 있게 한다.
|
||||||
|
|
||||||
|
//230601
|
||||||
|
//if (PUB.Result != null && PUB.sm != null)
|
||||||
|
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||||
|
|
||||||
|
//하차가 완료되면 충전대기시간을 30초 남겨두고 없데이트한다
|
||||||
|
//충전이 필요할 경우 바로 될수있도록 220118
|
||||||
|
VAR.TIME[eVarTime.ChargeTry] = DateTime.Now.AddSeconds(-1 * PUB.setting.ChargeRetryTerm + 30);
|
||||||
|
|
||||||
|
if (PUB.Result.CurrentPos == ePosition.QC)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.대기상태로전환합니다);
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.READY);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//홈 이동 명령처리
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||||
|
PUB.Speak( Lang.홈위치로이동합니다);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ERunStep.GOHOME:
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.홈검색을시작합니다);
|
||||||
|
}
|
||||||
|
else if (_SM_RUN_GOHOME(runStepisFirst, PUB.sm.GetRunSteptime))
|
||||||
|
{
|
||||||
|
//230601
|
||||||
|
// if (PUB.Result != null && PUB.sm != null)
|
||||||
|
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||||
|
|
||||||
|
PUB.Speak(Lang.홈이동완료대기상태로전환합니다);
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeTry);
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.READY); //대기상태로 전환한다
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CheckStopCondition()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckAGVMoveTo(eGoDir dir)
|
||||||
|
{
|
||||||
|
//계속내려간다
|
||||||
|
if (dir == eGoDir.Down)
|
||||||
|
{
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
//현재 동작중인상태에서 방향이 맞지 않다면 일단 움직임을 멈춘다
|
||||||
|
if (PUB.AGV.system1.agv_run)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.data.Direction == 'B')
|
||||||
|
{
|
||||||
|
PUB.log.Add($"방향이 맞지 않아 정지 합니다({dir})");
|
||||||
|
PUB.AGV.AGVMoveStop("CheckAGVMoveTo");
|
||||||
|
}
|
||||||
|
else if (PUB.AGV.data.Speed == 'S')
|
||||||
|
{
|
||||||
|
PUB.log.Add($"마크정지를 해제하기 위해 장비를 멈춥니다");
|
||||||
|
}
|
||||||
|
//이동해야하는데 마크 스탑이 되어있다면 일단 멈춘다
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//움직이지 않으므로 전진하도록 한다
|
||||||
|
PUB.log.Add($"AGV 기동 방향(DOWN):{dir}");
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);//PUB.PLC.Move(Device.PLC.Rundirection.Backward, "UpdateMotionPosition(" + sender + ")");
|
||||||
|
|
||||||
|
}
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.data.Direction == 'F')
|
||||||
|
{
|
||||||
|
PUB.log.Add($"방향이 맞지 않아 정지 합니다({dir})");
|
||||||
|
PUB.AGV.AGVMoveStop("CheckAGVMoveTo");
|
||||||
|
}
|
||||||
|
else if (PUB.AGV.data.Speed == 'S')
|
||||||
|
{
|
||||||
|
PUB.log.Add($"마크정지를 해제하기 위해 장비를 멈춥니다");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.log.Add($"AGV 기동 방향(UP):{dir}");
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);//PUB.PLC.Move(Device.PLC.Rundirection.Backward, "UpdateMotionPosition(" + sender + ")");
|
||||||
|
|
||||||
|
}
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckAGVStopbyMARK(string sender)
|
||||||
|
{
|
||||||
|
//계속내려간다
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (VAR.BOOL[eVarBool.NEXTSTOP_MARK] == false || tsCmd.TotalMilliseconds >= 1500)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("CheckAGVStopbyMARK", arDev.Narumi.eStopOpt.MarkStop);
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.log.Add($"[{sender}] MARK신호에 멈춤 설정");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Boolean UpdateMotionPositionForMark(string sender)
|
||||||
|
{
|
||||||
|
//이머전시상태에서는 처리하지 않는다.
|
||||||
|
if (VAR.BOOL[eVarBool.EMERGENCY]) return false;
|
||||||
|
|
||||||
|
//DOWN 작업
|
||||||
|
// if (goDIR == eGoDir.Down)
|
||||||
|
{
|
||||||
|
//1. 현재위치 > 대상위치
|
||||||
|
if (PUB.Result.CurrentPos > PUB.Result.TargetPos)
|
||||||
|
{
|
||||||
|
//계속내려간다
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
CheckAGVMoveTo(eGoDir.Down);
|
||||||
|
else
|
||||||
|
CheckAGVMoveTo(eGoDir.Up);
|
||||||
|
}
|
||||||
|
//2. 현재위치 < 대상위치
|
||||||
|
else if (PUB.Result.CurrentPos < PUB.Result.TargetPos)
|
||||||
|
{
|
||||||
|
//올라가야한다
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
CheckAGVMoveTo(eGoDir.Up);
|
||||||
|
else
|
||||||
|
CheckAGVMoveTo(eGoDir.Down);
|
||||||
|
}
|
||||||
|
//3. 현재위치 = 대상위치
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//현재위치가 확정되었는가?
|
||||||
|
var actpos = ctlPos1.GetPositionActive(PUB.Result.CurrentPos);
|
||||||
|
if (actpos == false && PUB.AGV.system1.agv_stop == true)
|
||||||
|
{
|
||||||
|
//위치확정이되지 않았다면 AGV멈춤시에 기동하게 한다.
|
||||||
|
var lastcom = DateTime.Now - LastCommandTime;
|
||||||
|
if (lastcom.TotalSeconds > 3)
|
||||||
|
{
|
||||||
|
if (PUB.Result.CurrentPosCW == "1")
|
||||||
|
{
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);
|
||||||
|
else
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);
|
||||||
|
else
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.logagv.Add($"AGV가 멈춰있다 동작을 재개 합니다");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//마크센서가 들어와잇고, 위치가 act 되어있다면 해당 위치에 있는 것이다
|
||||||
|
if (PUB.AGV.error.Emergency == false &&
|
||||||
|
PUB.AGV.system1.agv_stop &&
|
||||||
|
PUB.AGV.signal.mark_sensor && actpos &&
|
||||||
|
PUB.Result.CurrentPos == PUB.Result.TargetPos)
|
||||||
|
{
|
||||||
|
//PUB.AGV.AGVMoveStop();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PUB.AGV.system1.agv_stop == true && PUB.AGV.system1.agv_run == false)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"멈춰있으므로 이동을 시작 합니다");
|
||||||
|
if (PUB.Result.CurrentPosCW == "1")
|
||||||
|
{
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);
|
||||||
|
else
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);
|
||||||
|
else
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//AGV는 아래로 FVI방향으로 내려가고 있다
|
||||||
|
if (VAR.BOOL[eVarBool.AGVDIR_UP] == false)
|
||||||
|
{
|
||||||
|
if (PUB.Result.CurrentPosCW == "0")
|
||||||
|
{
|
||||||
|
//장비가 마크센서에의해 멈췃다면 완료이다
|
||||||
|
if (PUB.AGV.error.Emergency == false && PUB.AGV.signal.mark_sensor)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("UPdateMotionPositionForMark");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else CheckAGVStopbyMARK(sender);
|
||||||
|
}
|
||||||
|
else if (PUB.Result.CurrentPosCW == "1")
|
||||||
|
{
|
||||||
|
//내려가는 작업이고 AGV는 올라가고 있는데 RFID는 위졲이 감지되었다면 아래로 내려가야한다
|
||||||
|
CheckAGVMoveTo(eGoDir.Up);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.Result.CurrentPosCW = "1";
|
||||||
|
CheckAGVMoveTo(eGoDir.Up);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//AGV는 Qc방향으로 올라가고 있다
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (PUB.Result.CurrentPosCW == "1")
|
||||||
|
{
|
||||||
|
//네려가는 방향에서 내려가는 위치가 인식되었다면 마크에서 멈춰야 한다
|
||||||
|
if (PUB.AGV.error.Emergency == false && PUB.AGV.signal.mark_sensor)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("UPdateMotionPositionForMark");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else CheckAGVStopbyMARK(sender);
|
||||||
|
}
|
||||||
|
else if (PUB.Result.CurrentPosCW == "0")
|
||||||
|
{
|
||||||
|
//내려가는 작업이고 AGV는 올라가고 있는데 RFID는 위졲이 감지되었다면 아래로 내려가야한다
|
||||||
|
CheckAGVMoveTo(eGoDir.Down);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.Result.CurrentPosCW = "0";
|
||||||
|
CheckAGVMoveTo(eGoDir.Down);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//UP 작업
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// //1. 현재위치 > 대상위치
|
||||||
|
// if (PUB.Result.CurrentPos > PUB.Result.TargetPos)
|
||||||
|
// {
|
||||||
|
// //계속내려간다
|
||||||
|
// CheckAGVMoveTo(eGoDir.Down);
|
||||||
|
// }
|
||||||
|
// //2. 현재위치 < 대상위치
|
||||||
|
// else if (PUB.Result.CurrentPos < PUB.Result.TargetPos)
|
||||||
|
// {
|
||||||
|
// //올라가야한다
|
||||||
|
// CheckAGVMoveTo(eGoDir.Up);
|
||||||
|
// }
|
||||||
|
// //3. 현재위치 = 대상위치
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// //AGV는 위로가고 있다
|
||||||
|
// if (VAR.BOOL[eVarBool.AGVDIR_UP] == true)
|
||||||
|
// {
|
||||||
|
// if (PUB.Result.CurrentPosCW == "0")
|
||||||
|
// {
|
||||||
|
// //장비가 마크센서에의해 멈췃다면 완료이다
|
||||||
|
// if (PUB.AGV.system1.agv_stop && PUB.AGV.system1.stop_by_front_detect == false && PUB.AGV.error.Emergency == false && PUB.AGV.signal.mark_sensor)
|
||||||
|
// {
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// else CheckAGVStopbyMARK();
|
||||||
|
// }
|
||||||
|
// else if (PUB.Result.CurrentPosCW == "1")
|
||||||
|
// {
|
||||||
|
// //내려가는 작업이고 AGV는 올라가고 있는데 RFID는 위졲이 감지되었다면 아래로 내려가야한다
|
||||||
|
// CheckAGVMoveTo(eGoDir.Down);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// //AGV는 내려가고 있다
|
||||||
|
// else if (VAR.BOOL[eVarBool.AGVDIR_UP] == false)
|
||||||
|
// {
|
||||||
|
// if (PUB.Result.CurrentPosCW == "1")
|
||||||
|
// {
|
||||||
|
// //네려가는 방향에서 내려가는 위치가 인식되었다면 마크에서 멈춰야 한다
|
||||||
|
// if (PUB.AGV.system1.agv_stop && PUB.AGV.system1.stop_by_front_detect == false && PUB.AGV.error.Emergency == false && PUB.AGV.signal.mark_sensor)
|
||||||
|
// {
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// else CheckAGVStopbyMARK();
|
||||||
|
// }
|
||||||
|
// else if (PUB.Result.CurrentPosCW == "0")
|
||||||
|
// {
|
||||||
|
// //내려가는 작업이고 AGV는 올라가고 있는데 RFID는 위졲이 감지되었다면 아래로 내려가야한다
|
||||||
|
// CheckAGVMoveTo(eGoDir.Up);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Boolean UpdateMotionPositionForCharger(string sender)
|
||||||
|
{
|
||||||
|
if (VAR.BOOL[eVarBool.AGVDIR_UP] == false)// PUB.flag.get(EFlag.FLAG_DIR_BW) == true)
|
||||||
|
{
|
||||||
|
//충전기 검색은 항상 뒤로 검색한다
|
||||||
|
var tsCmd = DateTime.Now - tm_gocharge_command;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999 &&
|
||||||
|
PUB.AGV.error.Emergency == false &&
|
||||||
|
PUB.AGV.system1.agv_run == false)
|
||||||
|
{
|
||||||
|
//PUB.PLC.Move(Device.PLC.Rundirection.Backward, "UpdateMotionPosition(" + sender + ")");
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);//
|
||||||
|
tm_gocharge_command = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//CCW (역방향 )
|
||||||
|
//if (Pub.Result.RFIDPos < ePosition.CHARGE || Pub.Result.RFIDPos > ePosition.QC)
|
||||||
|
//{
|
||||||
|
// //정상적이라면 RFID값은 QC + 혹은 QC - 에 있어야 하므로 항상 차저보다 높이 있다
|
||||||
|
// //그렇지 않다면 초기화해서 QC검색부터 다시 실행하게 한다
|
||||||
|
// //여기는 비정상 위치 값이다.
|
||||||
|
// Pub.sm.SetStepSeq(1);
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
//현재위치가 충전위치이고, 움직이지 않았다면 완료된 경우라 할수 있따
|
||||||
|
if (PUB.Result.CurrentPos == ePosition.CHARGE &&
|
||||||
|
PUB.AGV.signal.mark_sensor == true)
|
||||||
|
{
|
||||||
|
PUB.log.AddI("충전위치 검색 완료");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//이동중이지 않다면 항상 이동을 해줘야한다
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999 &&
|
||||||
|
PUB.AGV.error.Emergency == false &&
|
||||||
|
PUB.AGV.system1.agv_run == false)
|
||||||
|
{
|
||||||
|
//PUB.PLC.Move(Device.PLC.Rundirection.Backward, "UpdateMotionPosition #1(" + sender + ")");
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);//
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}//cvass
|
||||||
|
}
|
||||||
60
Cs_HMI/Project/StateMachine/Step/_SM_RUN_CHGOFF.cs
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
|
||||||
|
public Boolean _SM_RUN_CHGOFF(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA] == true || PUB.AGV.system1.Battery_charging == true)
|
||||||
|
{
|
||||||
|
if (isFirst)
|
||||||
|
{
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeEnd);
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA])
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.충전을해제합니다);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//AGV는 충전을 해제한 상태이다
|
||||||
|
if (PUB.AGV.system1.Battery_charging == false)
|
||||||
|
{
|
||||||
|
//너무빨리 처리되지 않도록 5초후에 완료 처리를 한다
|
||||||
|
var ts1 = VAR.TIME.RUN(eVarTime.ChargeEnd);
|
||||||
|
var ts2 = VAR.TIME.RUN(eVarTime.SendChargeOff);
|
||||||
|
if (ts1.TotalSeconds >= 5 && ts2.TotalSeconds > 5) VAR.BOOL[eVarBool.FLAG_CHARGEONA] = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//OFF전송이 처음이라면 시간 섲렁
|
||||||
|
if (VAR.TIME.IsSet(eVarTime.SendChargeOff)==false)
|
||||||
|
VAR.TIME[eVarTime.SendChargeOff] = DateTime.Now.AddSeconds(-10);
|
||||||
|
|
||||||
|
var tsChgOff = VAR.TIME.RUN(eVarTime.SendChargeOff);
|
||||||
|
if (tsChgOff.TotalSeconds >= 3)
|
||||||
|
{
|
||||||
|
PUB.log.Add("충전 해제 전송");
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false);
|
||||||
|
VAR.TIME.Set(eVarTime.SendChargeOff);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//PUB.logsys.Add($"충전OFF확인완료");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
264
Cs_HMI/Project/StateMachine/Step/_SM_RUN_GOCHARGE.cs
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
DateTime tm_gocharge_command = DateTime.Now;
|
||||||
|
public Boolean _SM_RUN_GOCHARGE(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
//홈을 찾도록 항상 위치를 지워버리자
|
||||||
|
PUB.Result.CurrentPos = ePosition.NONE;
|
||||||
|
PUB.Result.CurrentPos = ePosition.NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//HW 연결오류
|
||||||
|
if (PUB.AGV.IsOpen == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.AGVCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.PLC.IsValid == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.PLCCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//충전 상태가 OFF되어야 동작하게한다
|
||||||
|
if (_SM_RUN_CHGOFF(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
//라이더멈춤이 설정되어있다면 음성으로 알려준다 200409
|
||||||
|
if (PUB.AGV.system1.stop_by_front_detect == true)
|
||||||
|
{
|
||||||
|
var tsSpeak = DateTime.Now - LastSpeakTime;
|
||||||
|
if (tsSpeak.TotalSeconds >= PUB.setting.doorSoundTerm)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.전방에물체가감지되었습니다);
|
||||||
|
LastSpeakTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//현재 위치가 결정되어있는지 체크한다
|
||||||
|
if (_SM_RUN_POSCHK(isFirst, stepTime) == false)
|
||||||
|
{
|
||||||
|
PUB.Result.result_message = "충전기 검색 전 현재 위치 검색";
|
||||||
|
PUB.Result.result_progressmax = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//충전작업진행상태 //220629
|
||||||
|
//if (PUB.flag.get(EFlag.FLAG_GO_CHAGER_TEMP) == false)
|
||||||
|
//{
|
||||||
|
// PUB.flag.set(EFlag.FLAG_GO_CHAGER_TEMP, true);
|
||||||
|
//}
|
||||||
|
|
||||||
|
var idx = 1;
|
||||||
|
if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.충전을위해홈위치로이동합니다);
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeSearch);
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
PUB.log.Add($"충전:대상위치 QC 시작");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//모션 전후진 제어
|
||||||
|
if (UpdateMotionPositionForMark("GOCHARGE #1") == true)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:충전기 검색 전 QC위치 확인 완료");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//아직 충진기 위치를 찾지 못했다
|
||||||
|
var ts = VAR.TIME.RUN(eVarTime.ChargeSearch);
|
||||||
|
if (ts.TotalSeconds > PUB.setting.ChargeSearchTime)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:충전검색시간초과({ts.TotalSeconds}/{PUB.setting.ChargeSearchTime})");
|
||||||
|
PUB.Speak(Lang.충전기검색실패);
|
||||||
|
VAR.BOOL[eVarBool.WAIT_CHARGEACK] = false;
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.counter.CountChargeE += 1;
|
||||||
|
PUB.counter.Save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.setting.chargerpos == 0) //down search
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:충전기 검색을 위한 전진시작");
|
||||||
|
PUB.Speak(Lang.충전기를검색합니다);
|
||||||
|
PUB.AGV.AGVMoveSet(new arDev.Narumi.BunkiData
|
||||||
|
{
|
||||||
|
Speed = arDev.Narumi.eMoveSpd.Low,
|
||||||
|
Bunki = arDev.Narumi.eBunki.Strate,
|
||||||
|
Direction = arDev.Narumi.eMoveDir.Forward,
|
||||||
|
PBSSensor = 1,
|
||||||
|
});
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);
|
||||||
|
//PUB.Result.TargetPos = ePosition.CHARGE;
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeSearch);
|
||||||
|
}
|
||||||
|
else if (PUB.setting.chargerpos == 2) //up search
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:충전기 검색을 위한 전진시작");
|
||||||
|
PUB.Speak(Lang.충전기를검색합니다);
|
||||||
|
PUB.AGV.AGVMoveSet(new arDev.Narumi.BunkiData
|
||||||
|
{
|
||||||
|
Speed = arDev.Narumi.eMoveSpd.Low,
|
||||||
|
Bunki = arDev.Narumi.eBunki.Strate,
|
||||||
|
Direction = arDev.Narumi.eMoveDir.Backward,
|
||||||
|
PBSSensor = 1,
|
||||||
|
});
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);
|
||||||
|
//PUB.Result.TargetPos = ePosition.CHARGE;
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeSearch);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전기위치가 QC위치로 설정되어 있습니다");
|
||||||
|
}
|
||||||
|
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.setting.chargerpos != 1)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:AGV기동확인으로 마크정지신호설정");
|
||||||
|
PUB.Speak(Lang.다음마크위치에서정지합니다);
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOCHARGE", arDev.Narumi.eStopOpt.MarkStop);
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeSearch);
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (VAR.TIME.RUN(eVarTime.ChargeSearch).TotalSeconds > 5)
|
||||||
|
{
|
||||||
|
//5초이상 이곳에서 대기한다면 다시 돌려준다
|
||||||
|
PUB.sm.UpdateRunStepSeq(-1);
|
||||||
|
PUB.log.Add($"충전:AGV기동확인 안됨, 롤백 다시 이동할 수 있게 함");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeSearch);
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_stop)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:충전기멈춤확인 다음진행");
|
||||||
|
PUB.logagv.Add("충전 위치에 멈췄습니다");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (VAR.TIME.RUN(eVarTime.ChargeSearch).TotalSeconds > 60)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전:멈춤 확인 60초 초과로 전체 취소함");
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.counter.CountChargeE += 1;
|
||||||
|
PUB.counter.Save();
|
||||||
|
VAR.BOOL[eVarBool.WAIT_CHARGEACK] = false;
|
||||||
|
PUB.AddEEDB("충전실패로 인한 취소");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//충전기위치까지 왔다
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//센서가 안정화되기 위한 5초간 기다려준다
|
||||||
|
if (stepTime.TotalSeconds <= 3) return false;
|
||||||
|
PUB.log.Add($"충전:충전기위치정지완료");
|
||||||
|
PUB.Result.CurrentPos = ePosition.CHARGE; //현재위치를 충전기로 한다
|
||||||
|
PUB.Result.TargetPos = ePosition.CHARGE;
|
||||||
|
PUB.Result.CurrentPosCW = "1";
|
||||||
|
ctlPos1.SetPosition(ePosition.CHARGE);
|
||||||
|
ctlPos1.SetPositionActive(ePosition.CHARGE);
|
||||||
|
ctlPos1.Invalidate();
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//충전시작 명령을 전송한다
|
||||||
|
PUB.log.Add($"충전:충전명령전송");
|
||||||
|
PUB.Speak(Lang.충전시작명령을전송합니다);
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, true);
|
||||||
|
VAR.BOOL[eVarBool.WAIT_CHARGEACK] = true;
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
VAR.BYTE[eVarByte.CHARGE_CMDCNT] = 0;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//충전시작명령의 ACK를 체크합니다
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//충전시작 명령을 전송한다
|
||||||
|
if (PUB.AGV.ACKData.Equals("CBT"))
|
||||||
|
{
|
||||||
|
PUB.log.Add($"충전명령 회신 확인");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalSeconds > 3)
|
||||||
|
{
|
||||||
|
if (VAR.BYTE[eVarByte.CHARGE_CMDCNT] > 5)
|
||||||
|
{
|
||||||
|
PUB.logagv.Add($"충전명령 재전송 5회초과로 전체 취소함");
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.counter.CountChargeE += 1;
|
||||||
|
PUB.counter.Save();
|
||||||
|
VAR.BOOL[eVarBool.WAIT_CHARGEACK] = false;
|
||||||
|
PUB.AddEEDB("충전실패로 인한 취소");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.logagv.Add($"충전시작명령 재전송");
|
||||||
|
VAR.BYTE.Add(eVarByte.CHARGE_CMDCNT, 1);
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, true);
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
58
Cs_HMI/Project/StateMachine/Step/_SM_RUN_GOCHARGECHECK.cs
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
|
||||||
|
public Boolean _SM_RUN_GOCHARGECHECK(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
//충전상태체크를 확인합니다
|
||||||
|
//10초안에 충전 플래그가 활성화되지 않으면 QC상태로 이동한다
|
||||||
|
if (PUB.AGV.system1.Battery_charging == false || VAR.BOOL[eVarBool.FLAG_CHARGEONA] == false)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.error.Charger_pos_error)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.충전기위치오류로작업을취소합니다, true);
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
}
|
||||||
|
else if (PUB.AGV.error.Charger_run_error)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.충전기위치오류로작업을취소합니다, true);
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalSeconds >= 30)
|
||||||
|
{
|
||||||
|
PUB.log.AddE( Lang.충전기작동확인이오버되어홈으로이동조치합니다);
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false);
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.Result.result_message = string.Format("충전기 활성화 수신 확인 중({0:N1}/{1})", tsCmd.TotalSeconds, 30);
|
||||||
|
PUB.Result.result_progressmax = 15;
|
||||||
|
PUB.Result.result_progressvalue = tsCmd.TotalSeconds;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
226
Cs_HMI/Project/StateMachine/Step/_SM_RUN_GODOWN.cs
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
public Boolean _SM_RUN_GODOWN(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
//PUB.flag.set(EFlag.FLAG_NEXTSTOP_ALIGN, false);
|
||||||
|
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;//
|
||||||
|
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_MARK] = false;//);
|
||||||
|
}
|
||||||
|
|
||||||
|
//HW 연결오류
|
||||||
|
if (PUB.AGV.IsOpen == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.AGVCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.PLC.IsValid == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.PLCCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//충전 상태가 OFF되어야 동작하게한다
|
||||||
|
if (_SM_RUN_CHGOFF(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
//라이더멈춤이 설정되어있다면 음성으로 알려준다 200409
|
||||||
|
if (PUB.AGV.system1.stop_by_front_detect == true)
|
||||||
|
{
|
||||||
|
var tsSpeak = DateTime.Now - LastSpeakTime;
|
||||||
|
if (tsSpeak.TotalSeconds >= PUB.setting.doorSoundTerm)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.전방에물체가감지되었습니다);
|
||||||
|
LastSpeakTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//현재 위치가 결정되어있는지 체크한다
|
||||||
|
if (_SM_RUN_POSCHK(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (PUB.sm.RunStepSeq == 1)
|
||||||
|
{
|
||||||
|
//하차는 무조건 대상이 QC가 된다
|
||||||
|
if (PUB.Result.TargetPos == ePosition.NONE)
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
|
||||||
|
//if (PUB.Result.TargetPos == ePosition.QA &&
|
||||||
|
// PUB.Result.CurrentPos == ePosition.QC &&
|
||||||
|
// (PUB.PLC.IsLimitDn()))
|
||||||
|
//{
|
||||||
|
// PUB.Speak("안전 커버를 올리고 다시 시도하세요", true);
|
||||||
|
// PUB.sm.ClearRunStep();
|
||||||
|
// PUB.sm.SetNewRunStep(ERunStep.READY);
|
||||||
|
//}
|
||||||
|
PUB.AddEEDB($"하차작업시작({PUB.Result.TargetPos})");
|
||||||
|
PUB.Speak(Lang.하차작업을시작합니다);
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 2)
|
||||||
|
{
|
||||||
|
//모션 전후진 제어
|
||||||
|
if (UpdateMotionPositionForMark("GODOWN"))
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 3)
|
||||||
|
{
|
||||||
|
//위치 확정이 완료될때까지 대기
|
||||||
|
if (PUB.Result.CurrentPos == PUB.Result.TargetPos)
|
||||||
|
{
|
||||||
|
//PUB.PLC.Move(Device.PLC.Rundirection.Stop, "GODOWN:위치확정");
|
||||||
|
PUB.AGV.AGVMoveStop("sm_run_godown");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else if (PUB.AGV.system1.agv_run == false)
|
||||||
|
{
|
||||||
|
//움직이지않으면 방향을 다시 조정한다
|
||||||
|
PUB.sm.SetStepSeq(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 4)
|
||||||
|
{
|
||||||
|
//대상까지 모두 완료되었다.(완전히 정차할때까지 기다린다)
|
||||||
|
if (PUB.AGV.system1.agv_run == false)
|
||||||
|
{
|
||||||
|
PUB.log.Add("이동 정지 확인");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 5)
|
||||||
|
{
|
||||||
|
//하차수량증가
|
||||||
|
if (PUB.Result.TargetPos == ePosition.QA)
|
||||||
|
PUB.counter.CountQA += 1;
|
||||||
|
else
|
||||||
|
PUB.counter.CountQC += 1;
|
||||||
|
PUB.counter.Save();
|
||||||
|
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 6)
|
||||||
|
{
|
||||||
|
//커버를 자동으로 내려준다
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, Lang.안전커버를내립니다);
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] = true;
|
||||||
|
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Down);//
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 7)
|
||||||
|
{
|
||||||
|
//커버 내림이 완료될때까지 기다린다
|
||||||
|
if (PUB.PLC.IsLimitDn() == true)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] = false;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//경과시간이 10초가 지나면 5초마다 음성을 출력한다
|
||||||
|
var tsCover = DateTime.Now - CoverControlTime;
|
||||||
|
if (tsCover.TotalSeconds >= 7)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.안전커버를내려주세요);
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 8)
|
||||||
|
{
|
||||||
|
//IO업데이트 간격 전송
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, Lang.안전커버를올려주세요);
|
||||||
|
PUB.Speak(Lang.안전커버를올리면하차가완료됩니다);
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_UP] = true;
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == 9)
|
||||||
|
{
|
||||||
|
//커버 올림이 완료될때까지 기다린다
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_LIMITHIGH] == true)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_UP] = false;
|
||||||
|
VAR.BOOL[eVarBool.ITEMON] = false;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//경과시간이 10초가 지나면 5초마다 음성을 출력한다
|
||||||
|
var tsCover = DateTime.Now - CoverControlTime;
|
||||||
|
if (tsCover.TotalSeconds >= PUB.setting.doorSoundTerm)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.안전커버를올려주세요);
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
|
||||||
|
//한쪽이 올라가 있는 상태에..
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) == true)
|
||||||
|
{
|
||||||
|
//모터는 올리는 방향일때에...
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_LDIR) == true)
|
||||||
|
{
|
||||||
|
//모터가 멈춰있을때에..
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_LRUN) == false)
|
||||||
|
{
|
||||||
|
//자동으로 올려준다 (센서가 간혹 인식이 안되어서 .대기하는 경우가 잇음)
|
||||||
|
|
||||||
|
//왼쪽이 올라가 있지 않은 경우
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) == false)
|
||||||
|
PUB.PLC.ZMot_Left(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU) == true)
|
||||||
|
{
|
||||||
|
//모터는 올리는 방향일때에...
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_RDIR) == true)
|
||||||
|
{
|
||||||
|
//모터가 멈춰있을때에..
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_RRUN) == false)
|
||||||
|
{
|
||||||
|
//자동으로 올려준다 (센서가 간혹 인식이 안되어서 .대기하는 경우가 잇음)
|
||||||
|
|
||||||
|
//왼쪽이 올라가 있지 않은 경우
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU) == false)
|
||||||
|
PUB.PLC.ZMot_Right(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
PUB.AddEEDB($"하차작업완료({PUB.Result.TargetPos})");
|
||||||
|
EEMStatus.AddStatusCount(1, PUB.Result.TargetPos.ToString()); //230620
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
94
Cs_HMI/Project/StateMachine/Step/_SM_RUN_GOHOME.cs
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
public Boolean _SM_RUN_GOHOME(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
// PUB.flag.set(EFlag.FLAG_NEXTSTOP_ALIGN, false);
|
||||||
|
|
||||||
|
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_MARK] = false;//);
|
||||||
|
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;//);
|
||||||
|
}
|
||||||
|
|
||||||
|
//220629
|
||||||
|
// if(PUB.flag.get(EFlag.FLAG_GO_CHAGER_TEMP))
|
||||||
|
//{
|
||||||
|
// PUB.flag.set(EFlag.FLAG_GO_CHAGER_TEMP, false);
|
||||||
|
//}
|
||||||
|
|
||||||
|
//HW 연결오류
|
||||||
|
if (PUB.AGV.IsOpen == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.AGVCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.PLC.IsValid == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.PLCCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//충전 상태가 OFF되어야 동작하게한다
|
||||||
|
if (_SM_RUN_CHGOFF(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
//라이더멈춤이 설정되어있다면 음성으로 알려준다 200409
|
||||||
|
if (PUB.AGV.system1.stop_by_front_detect == true)
|
||||||
|
{
|
||||||
|
var tsSpeak = DateTime.Now - LastSpeakTime;
|
||||||
|
if (tsSpeak.TotalSeconds >= PUB.setting.doorSoundTerm)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.전방에물체가감지되었습니다);
|
||||||
|
LastSpeakTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//현재 위치가 결정되어있는지 체크한다
|
||||||
|
if (_SM_RUN_POSCHK(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var idx = 1;
|
||||||
|
if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.홈으로이동합니다);
|
||||||
|
|
||||||
|
//홈은 무조건 QC위치로 간다
|
||||||
|
PUB.AddEEDB($"홈검색시작({PUB.Result.TargetPos})");
|
||||||
|
PUB.Result.TargetPos = ePosition.QC;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//모션 전후진 제어
|
||||||
|
if (UpdateMotionPositionForMark("GOHOME"))
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOHOME");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//QC까지 모두 완료되었다.(완전히 정차할때까지 기다린다)
|
||||||
|
PUB.Speak(Lang.홈검색완료, true);
|
||||||
|
PUB.AddEEDB($"홈검색완료({PUB.Result.TargetPos})");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
272
Cs_HMI/Project/StateMachine/Step/_SM_RUN_GOUP.cs
Normal file
@@ -0,0 +1,272 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
|
||||||
|
public Boolean _SM_RUN_GOUP(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
// VAR.BOOL[eVarBool.FLAG_NEXTSTOP_MARK] = false;//);
|
||||||
|
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//HW 연결오류
|
||||||
|
if (PUB.AGV.IsOpen == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.AGVCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.PLC.IsValid == false)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.PLCCONN, eNextStep.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//충전 상태가 OFF되어야 동작하게한다
|
||||||
|
if (_SM_RUN_CHGOFF(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
//라이더멈춤이 설정되어있다면 음성으로 알려준다 200409
|
||||||
|
if (PUB.AGV.system1.stop_by_front_detect == true)
|
||||||
|
{
|
||||||
|
var tsSpeak = DateTime.Now - LastSpeakTime;
|
||||||
|
if (tsSpeak.TotalSeconds >= PUB.setting.doorSoundTerm)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.전방에물체가감지되었습니다);
|
||||||
|
LastSpeakTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//현재 위치가 결정되어있는지 체크한다
|
||||||
|
if (_SM_RUN_POSCHK(isFirst, stepTime) == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var idx = 1;
|
||||||
|
if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//상차 가능 조건 확인
|
||||||
|
if (PUB.Result.TargetPos == ePosition.NONE)
|
||||||
|
{
|
||||||
|
PUB.Result.SetResultMessage(eResult.Hardware, eECode.NOTALLOWUP, eNextStep.ERROR);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PUB.AddEEDB($"상차작업시작({PUB.Result.TargetPos})");
|
||||||
|
PUB.Speak(Lang.상차작업을시작합니다);
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//모션 전후진 제어
|
||||||
|
if (UpdateMotionPositionForMark("GOUP"))
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//장비멈춤확인
|
||||||
|
if (PUB.AGV.system1.agv_run == true)
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds > 2000)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOUP");// PUB.PLC.Move(Device.PLC.Rundirection.Stop, "GOUP:위치확정");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//움직이지 않고 있다면 다시 이동을 시켜준다.
|
||||||
|
PUB.log.Add("이동 정지 확인");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run == true)
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds > 2000)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOUP");// PUB.PLC.Move(Device.PLC.Rundirection.Stop, "GOUP:위치확정");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//커버를 자동으로 내려준다
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, Lang.안전커버를내립니다);
|
||||||
|
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Down);
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] = true;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run == true)
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds > 2000)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOUP");// PUB.PLC.Move(Device.PLC.Rundirection.Stop, "GOUP:위치확정");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//커버 내림이 완료될때까지 기다린다
|
||||||
|
if (PUB.PLC.IsLimitDn() == true)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] = false;
|
||||||
|
PUB.Result.NextPos = ePosition.NONE;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//경과시간이 10초가 지나면 5초마다 음성을 출력한다
|
||||||
|
var tsCover = DateTime.Now - CoverControlTime;
|
||||||
|
if (tsCover.TotalSeconds >= 7)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.안전커버를내려주세요);
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run == true)
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds > 2000)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOUP");// PUB.PLC.Move(Device.PLC.Rundirection.Stop, "GOUP:위치확정");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//상차는 여기서 수량확인한다
|
||||||
|
if (PUB.Result.TargetPos == ePosition.F1)
|
||||||
|
PUB.counter.CountUp1 += 1;
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.F2)
|
||||||
|
PUB.counter.CountUp2 += 1;
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.F3)
|
||||||
|
PUB.counter.CountUp3 += 1;
|
||||||
|
else if (PUB.Result.TargetPos == ePosition.F4)
|
||||||
|
PUB.counter.CountUp4 += 1;
|
||||||
|
//else if (PUB.Result.TargetPos == ePosition.QA)
|
||||||
|
// PUB.counter.CountQA += 1;
|
||||||
|
PUB.counter.Save();
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
|
||||||
|
//IO업데이트 간격 전송
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, Lang.안전커버를올려주세요);
|
||||||
|
PUB.Speak(Lang.안전커버를올리면상차가완료됩니다);
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_UP] = true;
|
||||||
|
PUB.Result.NextPos = ePosition.NONE;
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run == true)
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds > 2000)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_GOUP");// PUB.PLC.Move(Device.PLC.Rundirection.Stop, "GOUP:위치확정");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//커버 올림이 완료될때까지 기다린다
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_LIMITHIGH] == true)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_UP] = false;
|
||||||
|
VAR.BOOL[eVarBool.ITEMON] = true;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//경과시간이 10초가 지나면 5초마다 음성을 출력한다
|
||||||
|
var tsCover = DateTime.Now - CoverControlTime;
|
||||||
|
if (tsCover.TotalSeconds >= PUB.setting.doorSoundTerm)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.안전커버를올려주세요);
|
||||||
|
CoverControlTime = DateTime.Now;
|
||||||
|
|
||||||
|
//한쪽이 올라가 있는 상태에..
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) == true)
|
||||||
|
{
|
||||||
|
//모터는 올리는 방향일때에...
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_LDIR) == true)
|
||||||
|
{
|
||||||
|
//모터가 멈춰있을때에..
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_LRUN) == false)
|
||||||
|
{
|
||||||
|
//자동으로 올려준다 (센서가 간혹 인식이 안되어서 .대기하는 경우가 잇음)
|
||||||
|
|
||||||
|
//왼쪽이 올라가 있지 않은 경우
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) == false)
|
||||||
|
PUB.PLC.ZMot_Left(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
|
||||||
|
//오른쪽이 올라가 있지 않은 경우
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU) == false)
|
||||||
|
PUB.PLC.ZMot_Right(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU) == true)
|
||||||
|
{
|
||||||
|
//모터는 올리는 방향일때에...
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_RDIR) == true)
|
||||||
|
{
|
||||||
|
//모터가 멈춰있을때에..
|
||||||
|
if (PUB.PLC.GetValueO(arDev.FakePLC.DOName.PINO_GUIDEMOTOR_RRUN) == false)
|
||||||
|
{
|
||||||
|
//자동으로 올려준다 (센서가 간혹 인식이 안되어서 .대기하는 경우가 잇음)
|
||||||
|
|
||||||
|
//왼쪽이 올라가 있지 않은 경우
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) == false)
|
||||||
|
PUB.PLC.ZMot_Left(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
|
||||||
|
//오른쪽이 올라가 있지 않은 경우
|
||||||
|
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU) == false)
|
||||||
|
PUB.PLC.ZMot_Right(arDev.FakePLC.ZMotDirection.Up);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
PUB.AddEEDB($"상차작업완료({PUB.Result.TargetPos})");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
121
Cs_HMI/Project/StateMachine/Step/_SM_RUN_INIT.cs
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Media;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 웨이퍼를 집기 위해 지정된 위치로 이동을 합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
private bool _SM_RUN_INIT(Boolean firstRun, TimeSpan RunTime)
|
||||||
|
{
|
||||||
|
//result message
|
||||||
|
int progress = 0;
|
||||||
|
var ProgressMax = 13;
|
||||||
|
|
||||||
|
//setting socket
|
||||||
|
UpdateProgressStatus(++progress, ProgressMax, "소켓 초기화"); System.Threading.Thread.Sleep(5);
|
||||||
|
if (PUB.sock_debug.Listen(PUB.setting.listenPort))
|
||||||
|
PUB.log.AddI("Socket Listen : " + PUB.setting.listenPort);
|
||||||
|
else
|
||||||
|
PUB.log.AddE("Socket Listen : " + PUB.sock_debug.errorMessage);
|
||||||
|
|
||||||
|
|
||||||
|
//UpdateProgressStatus(++progress, ProgressMax, "PLC 확인"); System.Threading.Thread.Sleep(5);
|
||||||
|
//if (PUB.setting.Port_PLC != "")
|
||||||
|
//{
|
||||||
|
// if (PUB.PLC.Init(PUB.setting.Port_PLC, PUB.setting.Baud_PLC))
|
||||||
|
// {
|
||||||
|
// //VAR.BOOL[eVarBool.FLAG_SETUP] = true;
|
||||||
|
// PUB.log.Add("Entering Setup Mode (Main)");
|
||||||
|
// }
|
||||||
|
// else PUB.log.AddE("PLC Init error : " + PUB.PLC.GetErrorMessage());
|
||||||
|
//}
|
||||||
|
|
||||||
|
//UpdateProgressStatus("PLC #2 확인", ++progress, ProgressMax); System.Threading.Thread.Sleep(5);
|
||||||
|
//if (Pub.setting.Port_PLC2 != "")
|
||||||
|
//{
|
||||||
|
// if (Pub.plcS.Init(Pub.setting.Port_PLC2, Pub.setting.Baud_plc2))
|
||||||
|
// {
|
||||||
|
// Pub.plcS.SetFlag(Device.PLC2.PLCFlag.FLAG_SETUP, true);
|
||||||
|
// Pub.log.Add("Entering Setup Mode (Sub)");
|
||||||
|
// }
|
||||||
|
// else Pub.log.AddE("DIO #S Init error : " + Pub.plcS.GetErrorMessage());
|
||||||
|
//}
|
||||||
|
|
||||||
|
//setting Port_Xbee
|
||||||
|
//UpdateProgressStatus(++progress, ProgressMax, "Port_Xbee 확인"); System.Threading.Thread.Sleep(5);
|
||||||
|
//if (PUB.setting.Port_XBE.isEmpty() == false)
|
||||||
|
//{
|
||||||
|
// PUB.XBE.PortName = PUB.setting.Port_XBE;
|
||||||
|
// if (PUB.XBE.Open() == false)
|
||||||
|
// PUB.log.AddE(string.Format("Barcode Port({0}) Open Error: {1}", PUB.setting.Port_XBE, PUB.XBE.errorMessage));
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// PUB.log.AddAT("NOT-SET Port_Xbee PORTNAME");
|
||||||
|
// PUB.XBE.errorMessage = "NOT-SET Port_Xbee PORTNAME";
|
||||||
|
//}
|
||||||
|
|
||||||
|
////setting Port_Xbee
|
||||||
|
//UpdateProgressStatus(++progress, ProgressMax, "Port_AGV 확인"); System.Threading.Thread.Sleep(5);
|
||||||
|
//if (PUB.setting.Port_AGV.isEmpty() == false)
|
||||||
|
//{
|
||||||
|
// PUB.AGV.PortName = PUB.setting.Port_AGV;
|
||||||
|
// PUB.AGV.BaudRate = PUB.setting.Baud_AGV;
|
||||||
|
// if (PUB.AGV.Open() == false)
|
||||||
|
// PUB.log.AddE(string.Format("RFID Host:{0} Open Error: {1}", PUB.setting.Port_AGV, PUB.AGV.errorMessage));
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// PUB.log.AddAT("NOT-SET Port_AGV PORTNAME");
|
||||||
|
// PUB.AGV.errorMessage = "NOT-SET Port_AGV PORTNAME";
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
////setting Port_Xbee
|
||||||
|
//UpdateProgressStatus(++progress, ProgressMax, "Port_BMS 확인"); System.Threading.Thread.Sleep(5);
|
||||||
|
//if (!PUB.setting.Port_BAT.isEmpty())
|
||||||
|
//{
|
||||||
|
// PUB.BAT.PortName = PUB.setting.Port_BAT;//.Port_BMS;
|
||||||
|
// PUB.BAT.BaudRate = PUB.setting.Baud_BAT;//
|
||||||
|
// PUB.BAT.ScanInterval = 1000;// Pub.setting.interval_bms;
|
||||||
|
// var binit_bms = PUB.BAT.Open();
|
||||||
|
// if (binit_bms == false) PUB.log.AddE(string.Format("binit_bms Port({0}) Open Error: {1}", PUB.setting.Port_BAT, PUB.BAT.errorMessage));
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// PUB.log.AddAT("NOT-SET binit_bms PORTNAME");
|
||||||
|
//}
|
||||||
|
|
||||||
|
//남은 공간
|
||||||
|
UpdateProgressStatus(++progress, ProgressMax, "공간 확인"); System.Threading.Thread.Sleep(5);
|
||||||
|
CheckFreeSpace(); //181225
|
||||||
|
|
||||||
|
//시스템 오류가 있다면 경고 메시지를 표싷ㄴ다.
|
||||||
|
UpdateProgressStatus(++progress, ProgressMax, "오류 수집"); System.Threading.Thread.Sleep(5);
|
||||||
|
//var AlertMessage = new System.Text.StringBuilder();
|
||||||
|
//if (Pub.Xbee.IsInit == false) AlertMessage.AppendLine(string.Format("BARCODE : {0}", Pub.Xbee.errorMessage));
|
||||||
|
if (freeSpaceRate < PUB.setting.AutoDeleteThreshold)
|
||||||
|
{
|
||||||
|
PUB.Speak(string.Format("디스크 용량이 {0:N0}% 남았습니다", freeSpaceRate));
|
||||||
|
}
|
||||||
|
|
||||||
|
//if (AlertMessage.Length > 1)
|
||||||
|
//{
|
||||||
|
// AlertMessage.Insert(0, "SYSTEM ALERT\n");
|
||||||
|
// Pub.popup.setMessage(AlertMessage.ToString());
|
||||||
|
//}
|
||||||
|
|
||||||
|
UpdateProgressStatus(++progress, ProgressMax, "--"); System.Threading.Thread.Sleep(5);
|
||||||
|
PUB.log.Add("초기화 완료");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
54
Cs_HMI/Project/StateMachine/Step/_SM_RUN_POSCHK.cs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
public Boolean _SM_RUN_POSCHK(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
//현재 위치가 찾아지지 않았다면. 먼저 위치를 찾는다. 위로 이동시켜서 찾는다.
|
||||||
|
if (PUB.Result.CurrentPos == ePosition.NONE)
|
||||||
|
{
|
||||||
|
if (isFirst)
|
||||||
|
{
|
||||||
|
PUB.Speak( Lang.현재위치를검색합니다);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PUB.AGV.system1.agv_run)
|
||||||
|
{
|
||||||
|
//방향을 체크한다
|
||||||
|
var basedir = PUB.setting.AGV_Direction_FVI_Backward ? 'F' : 'B';
|
||||||
|
if (PUB.AGV.data.Direction == basedir)
|
||||||
|
{
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVMoveStop("SM_RUN_POSCHK",arDev.Narumi.eStopOpt.Stop);
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (PUB.AGV.system1.agv_run == false)
|
||||||
|
{
|
||||||
|
//전진이동한다
|
||||||
|
var ts = DateTime.Now - LastCommandTime;
|
||||||
|
if (ts.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
if (PUB.setting.AGV_Direction_FVI_Backward)
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Backward);//
|
||||||
|
else
|
||||||
|
PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward);//
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
144
Cs_HMI/Project/StateMachine/Step/_SM_RUN_READY.cs
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using COMM;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
public Boolean _SM_RUN_READY(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
//이동 불가 조건이 걸려있다면 충전을 하지 못하게 한다.
|
||||||
|
Boolean bAutoChageOn = true;
|
||||||
|
if (PUB.AGV.system1.stop_by_front_detect) bAutoChageOn = false;
|
||||||
|
else if (PUB.AGV.error.Emergency) bAutoChageOn = false;
|
||||||
|
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONA]) bAutoChageOn = false;
|
||||||
|
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM]) bAutoChageOn = false;
|
||||||
|
|
||||||
|
|
||||||
|
//자동 충전 중이라면 최대 충전시간과 레벨을 체크한다
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA] == true)
|
||||||
|
{
|
||||||
|
if (VAR.TIME.IsSet(eVarTime.ChargeStart) == false)
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeStart);
|
||||||
|
|
||||||
|
//충전중이라면 최대 충전 시간을 체크한다.
|
||||||
|
var tsChargeRunTime = VAR.TIME.RUN(eVarTime.ChargeStart);
|
||||||
|
if (PUB.BMS.Current_Level >= PUB.setting.ChargeMaxLevel)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false);
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.log.Add($"최대충전레벨 OVER로 인한 자동 해제(레벨:{PUB.setting.ChargeMaxLevel})");
|
||||||
|
PUB.AddEEDB($"최대충전레벨 OVER로 인한 자동 해제(레벨:{PUB.setting.ChargeMaxLevel})");
|
||||||
|
PUB.Speak(Lang.충전완료로해제합니다);
|
||||||
|
}
|
||||||
|
else if (PUB.setting.ChargeMaxTime > 1 && tsChargeRunTime.TotalSeconds >= PUB.setting.ChargeMaxTime)
|
||||||
|
{
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false);
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.CHARGEOFF);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.log.Add($"최대충전시간 OVER로 인한 자동 해제(시간:{PUB.setting.ChargeMaxTime})");
|
||||||
|
PUB.AddEEDB($"최대충전시간 OVER로 인한 자동 해제(시간:{PUB.setting.ChargeMaxTime})");
|
||||||
|
PUB.Speak(Lang.충전완료로해제합니다);
|
||||||
|
}
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "자동 충전 중";
|
||||||
|
}
|
||||||
|
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM] == true)
|
||||||
|
{
|
||||||
|
if (VAR.TIME.IsSet(eVarTime.ChargeStart) == false)
|
||||||
|
VAR.TIME.Set(eVarTime.ChargeStart);
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "수동 충전";
|
||||||
|
}
|
||||||
|
|
||||||
|
//현재위치를 모르는 상태라면 이동하여 현재 위치를 찾는다
|
||||||
|
else if (PUB.Result.CurrentPos == ePosition.NONE)
|
||||||
|
{
|
||||||
|
if (PUB.AGV.system1.agv_run == false &&
|
||||||
|
PUB.AGV.error.Emergency == false &&
|
||||||
|
PUB.AGV.error.runerror_by_no_magent_line == false)
|
||||||
|
{
|
||||||
|
//현재위치를 검색해야함
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.AddEEDB($"READY상태에서 현재위치를 몰라 홈으로 이동");
|
||||||
|
}
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "현재 위치 모름";
|
||||||
|
}
|
||||||
|
else if (PUB.setting.Enable_AutoCharge == true )
|
||||||
|
{
|
||||||
|
if(bAutoChageOn)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_READY] = true;
|
||||||
|
if (PUB.BMS.Current_Level < PUB.setting.ChargeStartLevel)
|
||||||
|
{
|
||||||
|
//레벨에 의한 자동 충전간격은
|
||||||
|
var ts = VAR.TIME.RUN(eVarTime.ChargeTry);
|
||||||
|
if (ts.TotalSeconds >= PUB.setting.ChargeRetryTerm)
|
||||||
|
{
|
||||||
|
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||||
|
PUB.log.Add($"자동충전레벨시작 {PUB.BMS.Current_Level}/{PUB.setting.ChargeStartLevel}");
|
||||||
|
PUB.sm.ClearRunStep();
|
||||||
|
PUB.sm.SetNewRunStep(ERunStep.GOCHARGE);
|
||||||
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||||
|
PUB.AddEEDB($"자동충전레벨시작 {PUB.BMS.Current_Level}/{PUB.setting.ChargeStartLevel}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VAR.I32[eVarInt32.ChargeWaitSec] = (int)(PUB.setting.ChargeRetryTerm - ts.TotalSeconds);
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_WAIT] = true;
|
||||||
|
}
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "배터리 충전 레벨 필요";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//아직 레벨이 높다
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||||
|
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "배터리 레벨상 충전 불필요";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||||
|
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "충전 불가 조건";
|
||||||
|
//충전조건이 맞지 않는다
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||||
|
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||||
|
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||||
|
//자동충전이 해제된 상태이므로 처리하지 않는다
|
||||||
|
VAR.STR[eVarString.ChargeCheckMsg] = "자동 충전 해제 됨";
|
||||||
|
}
|
||||||
|
|
||||||
|
//대기모드에서는 움직이지 않게 한다
|
||||||
|
if(PUB.AGV.system1.agv_run)
|
||||||
|
{
|
||||||
|
var ts = VAR.TIME.RUN(eVarTime.IdleStopTime);
|
||||||
|
if(ts.TotalSeconds > 1)
|
||||||
|
{
|
||||||
|
PUB.log.Add($"대기상태에서는 정차");
|
||||||
|
PUB.AGV.AGVMoveStop("대기상태에서는 정차");
|
||||||
|
VAR.TIME.Set(eVarTime.IdleStopTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
163
Cs_HMI/Project/StateMachine/Step/_SM_RUN_RESET.cs
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using static Project.StateMachine;
|
||||||
|
using COMM;
|
||||||
|
|
||||||
|
namespace Project
|
||||||
|
{
|
||||||
|
public partial class fMain
|
||||||
|
{
|
||||||
|
public Boolean _SM_RUN_RESET(bool isFirst, TimeSpan stepTime)
|
||||||
|
{
|
||||||
|
if (runStepisFirst)
|
||||||
|
{
|
||||||
|
PUB.Speak(Lang.장비상태초기화);
|
||||||
|
|
||||||
|
//충전기검색시퀀스 OFF
|
||||||
|
//PUB.flag.set(EFlag.FLAG_GO_CHAGER_TEMP, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
var idx = 1;
|
||||||
|
if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//충전중이라면 충전off코드를 넣는다
|
||||||
|
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false,PUB.setting.ChargetWaitSec);
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.AddEEDB($"초기화");
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, "SYNC : 수동 모드 확인 중");
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false)
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//일정시간동안 명령을 재전송한다
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.FLAG_AUTORUN] = false;
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//모션을 멈춥니다
|
||||||
|
//PUB.PLC.Move(Device.PLC.Rundirection.Stop,"RESET");
|
||||||
|
PUB.AGV.AGVMoveStop("_sm_run_reset");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//모션이 멈출때까지 기다린다
|
||||||
|
if (PUB.AGV.system1.agv_stop == false)
|
||||||
|
{
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//모션이 멈추지 않는다면 멈춤코드를 계속 넣는다
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
//PUB.PLC.Move(Device.PLC.Rundirection.Stop,"RESET(Re)");
|
||||||
|
PUB.AGV.AGVMoveStop("_sm_run_reset");
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//대상위치 초기화
|
||||||
|
PUB.Result.TargetPos = ePosition.NONE;
|
||||||
|
PUB.Result.CurrentPos = ePosition.NONE;
|
||||||
|
PUB.Result.CurrentPosCW = "0";
|
||||||
|
ctlPos1.SetPositionDeActive();
|
||||||
|
ctlPos1.SetPosition(ePosition.NONE);
|
||||||
|
ctlPos1.SetDirection("0");
|
||||||
|
ctlPos1.Invalidate();
|
||||||
|
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//자동 스탑 플래그 해제
|
||||||
|
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;//"reset #6");
|
||||||
|
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;
|
||||||
|
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, "자동멈춤해제(ALIGN)");
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] == false)
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//일정시간동안 명령을 재전송한다
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;// "reset #7");
|
||||||
|
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;//
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//자동 스탑 플래그 해제
|
||||||
|
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_MARK] = false;// "reset #8");
|
||||||
|
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
//설정모드가 되어있다면 해제 해준다
|
||||||
|
VAR.BOOL[eVarBool.FLAG_SETUP] = false;
|
||||||
|
VAR.BOOL[eVarBool.ITEMON] = false;
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] = false;
|
||||||
|
VAR.BOOL[eVarBool.WAIT_COVER_UP] = false;
|
||||||
|
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (PUB.sm.RunStepSeq == idx++)
|
||||||
|
{
|
||||||
|
UpdateProgressStatus(stepTime.TotalSeconds, 5, "설정모드해제(MARK)");
|
||||||
|
|
||||||
|
if (VAR.BOOL[eVarBool.FLAG_SETUP] == false)
|
||||||
|
PUB.sm.UpdateRunStepSeq();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//일정시간동안 명령을 재전송한다
|
||||||
|
var tsCmd = DateTime.Now - LastCommandTime;
|
||||||
|
if (tsCmd.TotalMilliseconds >= 1999)
|
||||||
|
{
|
||||||
|
VAR.BOOL[eVarBool.FLAG_SETUP] = false;
|
||||||
|
LastCommandTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||