initial commit
232
Viewer/AlarmViewer/AlarmViewer.csproj
Normal file
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{310693F9-1234-442A-A3F9-343F8A0BD541}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<RootNamespace>Project</RootNamespace>
|
||||
<AssemblyName>AlarmViewer</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<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>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>..\..\cVMS.NET_CS\bin\Debug\Alarmviewer\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NOWARN>1591,660,661</NOWARN>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NOWARN>1591,660,661</NOWARN>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Alert.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignManifests>false</SignManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetZone>LocalIntranet</TargetZone>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<GenerateManifests>false</GenerateManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="arCommUtil, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\DLL\arCommUtil.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data.Linq" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Drawing.Common.8.0.8\lib\net462\System.Drawing.Common.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Windows.Forms.DataVisualization" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Sub\CommData\CommData.csproj">
|
||||
<Project>{14e8c9a5-013e-49ba-b435-efefc77dd623}</Project>
|
||||
<Name>CommData</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class\CFDBA.cs" />
|
||||
<Compile Include="Dialog\fLog.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fLog.Designer.cs">
|
||||
<DependentUpon>fLog.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DocumentElement.cs">
|
||||
<DependentUpon>DocumentElement.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DocumentElement.Designer.cs">
|
||||
<DependentUpon>DocumentElement.xsd</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="MethodExts.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Dialog\Frm_Alamlist.Designer.cs">
|
||||
<DependentUpon>Frm_Alamlist.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\Frm_Alamlist.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PUB.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Setting\CSetting.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Dialog\fLog.resx">
|
||||
<DependentUpon>fLog.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\Frm_Alamlist.resx">
|
||||
<DependentUpon>Frm_Alamlist.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="DocumentElement.xsc">
|
||||
<DependentUpon>DocumentElement.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DocumentElement.xsd">
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>DocumentElement.Designer.cs</LastGenOutput>
|
||||
<CustomToolNamespace>vmsnet</CustomToolNamespace>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="DocumentElement.xss">
|
||||
<DependentUpon>DocumentElement.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\app.manifest" />
|
||||
<None Include="Properties\DataSources\ChartData.datasource" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Alert.ico" />
|
||||
<Content Include="ReadMe.txt" />
|
||||
<None Include="Resources\down_orange.png" />
|
||||
<None Include="Resources\down_16.png" />
|
||||
<None Include="Resources\up_16.png" />
|
||||
<None Include="Resources\Orange Ball.png" />
|
||||
<None Include="Resources\Get Info Blue Button.png" />
|
||||
<None Include="Resources\Clear Green Button.png" />
|
||||
<None Include="Resources\Backup Green Button.png" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Resources\Red Ball.png" />
|
||||
<None Include="Resources\Purple Ball.png" />
|
||||
<None Include="Resources\Green Ball.png" />
|
||||
<None Include="Resources\Blue Ball.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<Import Project="$(MSBuildBinPath)/Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
BIN
Viewer/AlarmViewer/Alert.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
363
Viewer/AlarmViewer/Class/CFDBA.cs
Normal file
@@ -0,0 +1,363 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
using vmsnet;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Project;
|
||||
using System.IO;
|
||||
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
public class CFDBA
|
||||
{
|
||||
string _BaseDir;
|
||||
|
||||
public class ReadProgessArgs : EventArgs
|
||||
{
|
||||
public double value { get; set; }
|
||||
public ReadProgessArgs(double value)
|
||||
{
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
public class MessageArgs : EventArgs
|
||||
{
|
||||
public string Message { get; set; }
|
||||
public MessageArgs(string value)
|
||||
{
|
||||
Message = value;
|
||||
}
|
||||
}
|
||||
|
||||
//public event EventHandler<ReadProgessArgs> ReadingProgressValueChanged;
|
||||
public event EventHandler<MessageArgs> Message;
|
||||
|
||||
public CFDBA(params string[] dirarrays)
|
||||
{
|
||||
var dir = System.IO.Path.Combine(dirarrays);
|
||||
_BaseDir = dir;
|
||||
if (System.IO.Directory.Exists(_BaseDir) == false)
|
||||
{
|
||||
System.IO.Directory.CreateDirectory(_BaseDir);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 데이터를 기록합니다.
|
||||
/// </summary>
|
||||
/// <param name="time">기록시간(파일명이 결정됨)</param>
|
||||
/// <param name="table">기록할테이블명(파일명)</param>
|
||||
/// <param name="buffer">기록할데이터(열데이터가 틀려서 고정할 수 없다)</param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
public bool InsertData(DateTime time, int ch, COMM.EALAMRAISETYPE raiseType, float volt, COMM.EALAMTYPE almType, float maxvolt, float minvolt, string am, string am2)
|
||||
{
|
||||
string DayStr = time.ToString("yyyyMMdd");
|
||||
System.IO.FileInfo fi = new System.IO.FileInfo(_BaseDir + "\\" + DayStr.Substring(0, 4) + "\\" + DayStr.Substring(4, 2) + "\\" + DayStr.Substring(6) + "\\" + (time.Hour + 1).ToString("00") + ".txt");
|
||||
if (!fi.Directory.Exists)
|
||||
{
|
||||
try
|
||||
{
|
||||
fi.Directory.Create();
|
||||
}
|
||||
catch
|
||||
{
|
||||
PUB.log.AddE($"fail:make directory value={fi.Directory.FullName}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
System.Text.StringBuilder StrBuf = new System.Text.StringBuilder();
|
||||
|
||||
////파일이 없다면 제목줄을 생성해준다.
|
||||
if (!fi.Exists)
|
||||
{
|
||||
|
||||
////헤더를 추가해야한다.
|
||||
System.Text.StringBuilder Header = new System.Text.StringBuilder();
|
||||
Header.Append("\t" + "ATIME CH RTYPE VOLT ATYPE MAXVOLT MINVOLT AM AM2");
|
||||
Header.AppendLine(); ////제목줄을 한칸띄운다
|
||||
StrBuf.Append(Header.ToString());
|
||||
}
|
||||
|
||||
////실제데이터를 추가
|
||||
int timeNumber = (int)(PUB.get_TimeNumber(time)); // time.Hour * 3600 + time.Minute * 60 + time.Second
|
||||
StrBuf.AppendLine($"\t{timeNumber}\t{ch}\t{(int)raiseType}\t{volt}\t{(int)almType}\t{maxvolt}\t{minvolt}\t{am}\t{am2}");
|
||||
|
||||
try
|
||||
{
|
||||
//fi.WriteText(StrBuf.ToString(), true); // 이전은 단독모드
|
||||
/* 작성자: 이재웅, 작성일: 2024-09-23, 작성내용: 접근모드를 공유모드로 전환 */
|
||||
using (FileStream fs = new FileStream(fi.FullName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite))
|
||||
using (StreamWriter writer = new StreamWriter(fs))
|
||||
{ writer.Write(StrBuf.ToString()); }
|
||||
|
||||
StrBuf.Clear();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
PUB.log.AddE($"fail:write aldata file={fi.FullName}");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
////기간내 존재하는 파일을 반환합니다(테이블단위)
|
||||
public List<string> GetfileS(DateTime sd, DateTime ed)
|
||||
{
|
||||
|
||||
List<string> retval = new List<string>();
|
||||
int SttYear = sd.Year;
|
||||
int EndYear = ed.Year;
|
||||
if (EndYear < SttYear)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
int SttMonth = sd.Month;
|
||||
int EndMonth = ed.Month;
|
||||
|
||||
int SttDay = sd.Day;
|
||||
int EndDay = ed.Day;
|
||||
|
||||
int si = System.Convert.ToInt32(sd.ToString("yyyyMMdd"));
|
||||
int ei = System.Convert.ToInt32(ed.ToString("yyyyMMdd"));
|
||||
bool SameDay = si == ei ? true : false;
|
||||
|
||||
////20140101
|
||||
for (int dayinfo = si; dayinfo <= ei; dayinfo++)
|
||||
{
|
||||
string DayStr = dayinfo.ToString();
|
||||
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(_BaseDir + "\\" + DayStr.Substring(0, 4) + "\\" + DayStr.Substring(4, 2) + "\\" + DayStr.Substring(6));
|
||||
if (!dir.Exists)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
////폴더가 존재하므로 해당 테이블파일이 존재하는지 확인한다
|
||||
|
||||
if (SameDay)
|
||||
{
|
||||
////동일날짜라면 해당 시간대만 조회하면됨
|
||||
for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++)
|
||||
{
|
||||
string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt";
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
retval.Add(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dayinfo == si) ////시작일이라면 시작시간부터 24시까지 이다.
|
||||
{
|
||||
for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= 23; hourinfo++)
|
||||
{
|
||||
string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt";
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
retval.Add(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (dayinfo == ei) ////종료일이라면 1~ 종료시까지이다.
|
||||
{
|
||||
for (int hourinfo = 0; hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++)
|
||||
{
|
||||
string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt";
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
retval.Add(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
////중간에 끼어있는 날짜라면 1~24모두가 속한다.
|
||||
for (int hourinfo = 0; hourinfo <= 23; hourinfo++)
|
||||
{
|
||||
string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt";
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
retval.Add(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
retval.Sort();
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 이번달이후의 데이터를 조회합니다.
|
||||
/// </summary>
|
||||
/// <param name="ch"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
public (TimeSpan, DocumentElement.ALARMDataTable) GetAlarmData(int ch)
|
||||
{
|
||||
////이번달이후의 데이터를 가져온다.
|
||||
DateTime sd = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01 00:00:00"));
|
||||
DateTime ed = DateTime.Now;
|
||||
return GetAlarmData(ch, sd, ed);
|
||||
}
|
||||
|
||||
public (TimeSpan, DocumentElement.ALARMDataTable) GetAlarmData(DateTime sd, DateTime ed)
|
||||
{
|
||||
return GetAlarmData(-1, sd, ed);
|
||||
}
|
||||
|
||||
public (TimeSpan, DocumentElement.ALARMDataTable) GetAlarmData(DateTime sd, DateTime ed, int rtypes, int rtypee)
|
||||
{
|
||||
return GetAlarmData(-1, sd, ed, rtypes, rtypee);
|
||||
}
|
||||
|
||||
public volatile bool cancel;
|
||||
private readonly object lockObject = new object();
|
||||
|
||||
/// <summary>
|
||||
/// 지정된시간사이의 데이터를 조회합니다.
|
||||
/// </summary>
|
||||
/// <param name="stime">시작시간(20120319161800)</param>
|
||||
/// <param name="etime">종료시간(년월일시분초)</param>
|
||||
/// <returns></returns>
|
||||
/// <remarks></remarks>
|
||||
public (TimeSpan, DocumentElement.ALARMDataTable) GetAlarmData(int ch, DateTime sd, DateTime ed, int rtypes = -1, int rtypee = -1)
|
||||
{
|
||||
DateTime dtStart = DateTime.Now;
|
||||
List<string> files = GetfileS(sd, ed);
|
||||
|
||||
//전체파일의 내용을 버퍼에 담는다
|
||||
Dictionary<string, string[]> lines = new Dictionary<string, string[]>();
|
||||
|
||||
foreach (var fn in files)
|
||||
{
|
||||
lines.Add(fn, System.IO.File.ReadAllLines(fn));
|
||||
}
|
||||
var totallines = lines.Sum(t => t.Value.Length);
|
||||
Message?.Invoke(this, new MessageArgs($"total : {totallines} lines"));
|
||||
|
||||
var progressMax = (double)totallines;
|
||||
var progressVal = 0.0;
|
||||
var currentline = 0;
|
||||
var alertprogress = 0.0;
|
||||
|
||||
|
||||
//ReadingProgressValueChanged?.Invoke(this, new ReadProgessArgs(0));
|
||||
|
||||
var alaramDT = new DocumentElement.ALARMDataTable();
|
||||
cancel = false;
|
||||
try
|
||||
{
|
||||
foreach (var line in lines)
|
||||
{
|
||||
foreach (string linedata in line.Value)
|
||||
{
|
||||
|
||||
lock (lockObject)
|
||||
{
|
||||
if (cancel)
|
||||
{
|
||||
//Console.WriteLine("작업이 취소되었습니다.");
|
||||
//token.ThrowIfCancellationRequested(); // OperationCanceledException을 발생시켜 작업을 종료합니다.
|
||||
//return (new TimeSpan(0), null);
|
||||
//cancel = true;
|
||||
Message?.Invoke(this, new MessageArgs($"job cancel"));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
currentline += 1;
|
||||
progressVal = currentline / progressMax;
|
||||
|
||||
if (progressVal - alertprogress >= 5)
|
||||
{
|
||||
alertprogress = progressVal;
|
||||
Message?.Invoke(this, new MessageArgs($"Progress : {progressVal} lines"));
|
||||
//ReadingProgressValueChanged?.Invoke(this, new ReadProgessArgs(progressVal));
|
||||
}
|
||||
|
||||
|
||||
if (linedata.Trim() == "") continue;
|
||||
|
||||
string[] buf = linedata.Split(System.Convert.ToChar("\t"));
|
||||
if (buf.GetUpperBound(0) < 8) continue; ////데이터수량이 안맞다.
|
||||
|
||||
string chStr = buf[2];
|
||||
if (chStr.IsNumeric() == false) continue; ////채널정보가 일치하지 않는경우
|
||||
|
||||
if (ch > -1 && chStr != ch.ToString()) continue;
|
||||
|
||||
if (rtypes != -1 && rtypee != -1) ////rtype도 검색한다.
|
||||
{
|
||||
if (buf[3] != rtypes.ToString() && buf[3] != rtypee.ToString()) continue;
|
||||
}
|
||||
|
||||
var v_atime = buf[1];
|
||||
var v_ch = short.Parse(buf[2]);
|
||||
var v_rtype = short.Parse(buf[3]);
|
||||
|
||||
//존재하는 데이터는 처리하지 않느낟.
|
||||
if (alaramDT.Where(t => t.ATIME == v_atime && t.CH == v_ch && t.RTYPE == v_rtype).Any() == false)
|
||||
{
|
||||
var newdr = alaramDT.NewALARMRow();
|
||||
newdr.ATIME = v_atime;// buf[1];
|
||||
newdr.TIME = PUB.get_TimeString(decimal.Parse(newdr.ATIME), line.Key);
|
||||
newdr.CH = v_ch;// short.Parse(buf[2]);
|
||||
newdr.RTYPE = v_rtype;// short.Parse(buf[3]);
|
||||
newdr.VOLT = float.Parse(buf[4]);
|
||||
newdr.ATYPE = short.Parse(buf[5]);
|
||||
newdr.MAXVOLT = float.Parse(buf[6]);
|
||||
newdr.MINVOLT = float.Parse(buf[7]);
|
||||
newdr.AM = buf[8];
|
||||
newdr.AM2 = buf[9];
|
||||
alaramDT.AddALARMRow(newdr);
|
||||
}
|
||||
else
|
||||
{
|
||||
//중복데이터
|
||||
PUB.log.AddAT($"알람중복데이터 atime={v_atime},ch={v_ch},rtype={v_rtype}");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (cancel)
|
||||
{
|
||||
//Console.WriteLine("작업이 취소되었습니다.");
|
||||
//token.ThrowIfCancellationRequested(); // OperationCanceledException을 발생시켜 작업을 종료합니다.
|
||||
//return (new TimeSpan(0), null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
Console.WriteLine("작업이 정상적으로 취소되었습니다.");
|
||||
throw; // 예외를 다시 던져 작업이 중지되도록 합니다.
|
||||
}
|
||||
|
||||
alaramDT.AcceptChanges();
|
||||
var ts = DateTime.Now - dtStart;
|
||||
return (ts, alaramDT);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
480
Viewer/AlarmViewer/Dialog/Frm_Alamlist.Designer.cs
generated
Normal file
@@ -0,0 +1,480 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
partial class Frm_Alamlist : System.Windows.Forms.Form
|
||||
{
|
||||
|
||||
//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (disposing && components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
|
||||
//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
//수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
//코드 편집기를 사용하여 수정하지 마십시오.
|
||||
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_Alamlist));
|
||||
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("1900-01-01 00:00:00");
|
||||
this.bn = new System.Windows.Forms.BindingNavigator();
|
||||
this.BindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bs = new System.Windows.Forms.BindingSource();
|
||||
this.documentElement1 = new vmsnet.DocumentElement();
|
||||
this.BindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
|
||||
this.BindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.BindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.BindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.BindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.BindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.BindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.BindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.BindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.BindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.ToolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tb_search = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.ToolStripLabel5 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.ToolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.prb1 = new System.Windows.Forms.ToolStripProgressBar();
|
||||
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.cmb_gubun = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tb_etime = new System.Windows.Forms.DateTimePicker();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.tb_stime = new System.Windows.Forms.DateTimePicker();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.listView1 = new System.Windows.Forms.ListView();
|
||||
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
|
||||
this.bn.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.documentElement1)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// bn
|
||||
//
|
||||
this.bn.AddNewItem = this.BindingNavigatorAddNewItem;
|
||||
this.bn.BindingSource = this.bs;
|
||||
this.bn.CountItem = this.BindingNavigatorCountItem;
|
||||
this.bn.DeleteItem = this.BindingNavigatorDeleteItem;
|
||||
this.bn.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.bn.ImageScalingSize = new System.Drawing.Size(24, 24);
|
||||
this.bn.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.BindingNavigatorMoveFirstItem,
|
||||
this.BindingNavigatorMovePreviousItem,
|
||||
this.BindingNavigatorSeparator,
|
||||
this.BindingNavigatorPositionItem,
|
||||
this.BindingNavigatorCountItem,
|
||||
this.BindingNavigatorSeparator1,
|
||||
this.BindingNavigatorMoveNextItem,
|
||||
this.BindingNavigatorMoveLastItem,
|
||||
this.BindingNavigatorSeparator2,
|
||||
this.BindingNavigatorAddNewItem,
|
||||
this.BindingNavigatorDeleteItem,
|
||||
this.ToolStripSeparator2,
|
||||
this.tb_search,
|
||||
this.ToolStripLabel5,
|
||||
this.ToolStripSeparator1,
|
||||
this.prb1,
|
||||
this.toolStripLabel1});
|
||||
this.bn.Location = new System.Drawing.Point(0, 697);
|
||||
this.bn.MoveFirstItem = this.BindingNavigatorMoveFirstItem;
|
||||
this.bn.MoveLastItem = this.BindingNavigatorMoveLastItem;
|
||||
this.bn.MoveNextItem = this.BindingNavigatorMoveNextItem;
|
||||
this.bn.MovePreviousItem = this.BindingNavigatorMovePreviousItem;
|
||||
this.bn.Name = "bn";
|
||||
this.bn.PositionItem = this.BindingNavigatorPositionItem;
|
||||
this.bn.Size = new System.Drawing.Size(1193, 38);
|
||||
this.bn.TabIndex = 5;
|
||||
this.bn.Text = "BindingNavigator1";
|
||||
//
|
||||
// BindingNavigatorAddNewItem
|
||||
//
|
||||
this.BindingNavigatorAddNewItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.BindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorAddNewItem.Image")));
|
||||
this.BindingNavigatorAddNewItem.Name = "BindingNavigatorAddNewItem";
|
||||
this.BindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true;
|
||||
this.BindingNavigatorAddNewItem.Size = new System.Drawing.Size(34, 33);
|
||||
this.BindingNavigatorAddNewItem.Text = "새로 추가";
|
||||
this.BindingNavigatorAddNewItem.Visible = false;
|
||||
//
|
||||
// bs
|
||||
//
|
||||
this.bs.DataMember = "ALARM";
|
||||
this.bs.DataSource = this.documentElement1;
|
||||
//
|
||||
// documentElement1
|
||||
//
|
||||
this.documentElement1.DataSetName = "DocumentElement";
|
||||
this.documentElement1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// BindingNavigatorCountItem
|
||||
//
|
||||
this.BindingNavigatorCountItem.Name = "BindingNavigatorCountItem";
|
||||
this.BindingNavigatorCountItem.Size = new System.Drawing.Size(39, 33);
|
||||
this.BindingNavigatorCountItem.Text = "/{0}";
|
||||
this.BindingNavigatorCountItem.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
// BindingNavigatorDeleteItem
|
||||
//
|
||||
this.BindingNavigatorDeleteItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.BindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorDeleteItem.Image")));
|
||||
this.BindingNavigatorDeleteItem.Name = "BindingNavigatorDeleteItem";
|
||||
this.BindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true;
|
||||
this.BindingNavigatorDeleteItem.Size = new System.Drawing.Size(34, 33);
|
||||
this.BindingNavigatorDeleteItem.Text = "삭제";
|
||||
this.BindingNavigatorDeleteItem.Visible = false;
|
||||
//
|
||||
// BindingNavigatorMoveFirstItem
|
||||
//
|
||||
this.BindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.BindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMoveFirstItem.Image")));
|
||||
this.BindingNavigatorMoveFirstItem.Name = "BindingNavigatorMoveFirstItem";
|
||||
this.BindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
|
||||
this.BindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(34, 33);
|
||||
this.BindingNavigatorMoveFirstItem.Text = "처음으로 이동";
|
||||
//
|
||||
// BindingNavigatorMovePreviousItem
|
||||
//
|
||||
this.BindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.BindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMovePreviousItem.Image")));
|
||||
this.BindingNavigatorMovePreviousItem.Name = "BindingNavigatorMovePreviousItem";
|
||||
this.BindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
|
||||
this.BindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(34, 33);
|
||||
this.BindingNavigatorMovePreviousItem.Text = "이전으로 이동";
|
||||
//
|
||||
// BindingNavigatorSeparator
|
||||
//
|
||||
this.BindingNavigatorSeparator.Name = "BindingNavigatorSeparator";
|
||||
this.BindingNavigatorSeparator.Size = new System.Drawing.Size(6, 38);
|
||||
//
|
||||
// BindingNavigatorPositionItem
|
||||
//
|
||||
this.BindingNavigatorPositionItem.AccessibleName = "위치";
|
||||
this.BindingNavigatorPositionItem.AutoSize = false;
|
||||
this.BindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.BindingNavigatorPositionItem.Name = "BindingNavigatorPositionItem";
|
||||
this.BindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
|
||||
this.BindingNavigatorPositionItem.Text = "0";
|
||||
this.BindingNavigatorPositionItem.ToolTipText = "현재 위치";
|
||||
//
|
||||
// BindingNavigatorSeparator1
|
||||
//
|
||||
this.BindingNavigatorSeparator1.Name = "BindingNavigatorSeparator1";
|
||||
this.BindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 38);
|
||||
//
|
||||
// BindingNavigatorMoveNextItem
|
||||
//
|
||||
this.BindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.BindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMoveNextItem.Image")));
|
||||
this.BindingNavigatorMoveNextItem.Name = "BindingNavigatorMoveNextItem";
|
||||
this.BindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
|
||||
this.BindingNavigatorMoveNextItem.Size = new System.Drawing.Size(34, 33);
|
||||
this.BindingNavigatorMoveNextItem.Text = "다음으로 이동";
|
||||
//
|
||||
// BindingNavigatorMoveLastItem
|
||||
//
|
||||
this.BindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.BindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMoveLastItem.Image")));
|
||||
this.BindingNavigatorMoveLastItem.Name = "BindingNavigatorMoveLastItem";
|
||||
this.BindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
|
||||
this.BindingNavigatorMoveLastItem.Size = new System.Drawing.Size(34, 33);
|
||||
this.BindingNavigatorMoveLastItem.Text = "마지막으로 이동";
|
||||
//
|
||||
// BindingNavigatorSeparator2
|
||||
//
|
||||
this.BindingNavigatorSeparator2.Name = "BindingNavigatorSeparator2";
|
||||
this.BindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 38);
|
||||
//
|
||||
// ToolStripSeparator2
|
||||
//
|
||||
this.ToolStripSeparator2.Name = "ToolStripSeparator2";
|
||||
this.ToolStripSeparator2.Size = new System.Drawing.Size(6, 38);
|
||||
//
|
||||
// tb_search
|
||||
//
|
||||
this.tb_search.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.tb_search.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tb_search.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.tb_search.Name = "tb_search";
|
||||
this.tb_search.Size = new System.Drawing.Size(100, 38);
|
||||
this.tb_search.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ToolStripTextBox1_KeyUp);
|
||||
//
|
||||
// ToolStripLabel5
|
||||
//
|
||||
this.ToolStripLabel5.Name = "ToolStripLabel5";
|
||||
this.ToolStripLabel5.Size = new System.Drawing.Size(48, 33);
|
||||
this.ToolStripLabel5.Text = "검색";
|
||||
//
|
||||
// ToolStripSeparator1
|
||||
//
|
||||
this.ToolStripSeparator1.Name = "ToolStripSeparator1";
|
||||
this.ToolStripSeparator1.Size = new System.Drawing.Size(6, 38);
|
||||
//
|
||||
// prb1
|
||||
//
|
||||
this.prb1.Name = "prb1";
|
||||
this.prb1.Size = new System.Drawing.Size(100, 33);
|
||||
//
|
||||
// toolStripLabel1
|
||||
//
|
||||
this.toolStripLabel1.Name = "toolStripLabel1";
|
||||
this.toolStripLabel1.Size = new System.Drawing.Size(48, 33);
|
||||
this.toolStripLabel1.Text = "path";
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.cmb_gubun);
|
||||
this.panel1.Controls.Add(this.label1);
|
||||
this.panel1.Controls.Add(this.tb_etime);
|
||||
this.panel1.Controls.Add(this.button1);
|
||||
this.panel1.Controls.Add(this.label3);
|
||||
this.panel1.Controls.Add(this.tb_stime);
|
||||
this.panel1.Controls.Add(this.label2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.panel1.Size = new System.Drawing.Size(1193, 55);
|
||||
this.panel1.TabIndex = 6;
|
||||
//
|
||||
// cmb_gubun
|
||||
//
|
||||
this.cmb_gubun.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.cmb_gubun.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmb_gubun.Font = new System.Drawing.Font("맑은 고딕", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.cmb_gubun.FormattingEnabled = true;
|
||||
this.cmb_gubun.Items.AddRange(new object[] {
|
||||
"High-Off",
|
||||
"High-On",
|
||||
"Low-Off",
|
||||
"Low-On",
|
||||
"A1-On",
|
||||
"A1-Off",
|
||||
"A2-On",
|
||||
"A2-Off",
|
||||
"Over-On",
|
||||
"Over-Off"});
|
||||
this.cmb_gubun.Location = new System.Drawing.Point(756, 5);
|
||||
this.cmb_gubun.Name = "cmb_gubun";
|
||||
this.cmb_gubun.Size = new System.Drawing.Size(104, 63);
|
||||
this.cmb_gubun.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label1.Location = new System.Drawing.Point(695, 5);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(61, 45);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "형태";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// tb_etime
|
||||
//
|
||||
this.tb_etime.CalendarFont = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.tb_etime.CustomFormat = "yyyy-MM-dd HH:mm:ss";
|
||||
this.tb_etime.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.tb_etime.Font = new System.Drawing.Font("맑은 고딕", 20.25F);
|
||||
this.tb_etime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.tb_etime.Location = new System.Drawing.Point(396, 5);
|
||||
this.tb_etime.Name = "tb_etime";
|
||||
this.tb_etime.Size = new System.Drawing.Size(299, 61);
|
||||
this.tb_etime.TabIndex = 5;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.button1.Location = new System.Drawing.Point(1064, 5);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(124, 45);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "조회";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label3.Location = new System.Drawing.Point(365, 5);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(31, 45);
|
||||
this.label3.TabIndex = 6;
|
||||
this.label3.Text = "~";
|
||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// tb_stime
|
||||
//
|
||||
this.tb_stime.CalendarFont = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.tb_stime.CustomFormat = "yyyy-MM-dd HH:mm:ss";
|
||||
this.tb_stime.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.tb_stime.Font = new System.Drawing.Font("맑은 고딕", 20.25F);
|
||||
this.tb_stime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.tb_stime.Location = new System.Drawing.Point(66, 5);
|
||||
this.tb_stime.Name = "tb_stime";
|
||||
this.tb_stime.Size = new System.Drawing.Size(299, 61);
|
||||
this.tb_stime.TabIndex = 3;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label2.Location = new System.Drawing.Point(5, 5);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(61, 45);
|
||||
this.label2.TabIndex = 4;
|
||||
this.label2.Text = "기간";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// listView1
|
||||
//
|
||||
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1,
|
||||
this.columnHeader2,
|
||||
this.columnHeader3,
|
||||
this.columnHeader4,
|
||||
this.columnHeader5,
|
||||
this.columnHeader6,
|
||||
this.columnHeader7,
|
||||
this.columnHeader8});
|
||||
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.listView1.FullRowSelect = true;
|
||||
this.listView1.HideSelection = false;
|
||||
this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
|
||||
listViewItem1});
|
||||
this.listView1.Location = new System.Drawing.Point(0, 55);
|
||||
this.listView1.Name = "listView1";
|
||||
this.listView1.Size = new System.Drawing.Size(1193, 642);
|
||||
this.listView1.TabIndex = 7;
|
||||
this.listView1.UseCompatibleStateImageBehavior = false;
|
||||
this.listView1.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// columnHeader1
|
||||
//
|
||||
this.columnHeader1.Text = "시간";
|
||||
this.columnHeader1.Width = 135;
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
this.columnHeader2.Text = "Cell/Grp";
|
||||
this.columnHeader2.Width = 70;
|
||||
//
|
||||
// columnHeader3
|
||||
//
|
||||
this.columnHeader3.Text = "발생형태";
|
||||
this.columnHeader3.Width = 90;
|
||||
//
|
||||
// columnHeader4
|
||||
//
|
||||
this.columnHeader4.Text = "측정값";
|
||||
//
|
||||
// columnHeader5
|
||||
//
|
||||
this.columnHeader5.Text = "HIGH";
|
||||
//
|
||||
// columnHeader6
|
||||
//
|
||||
this.columnHeader6.Text = "LOW";
|
||||
//
|
||||
// columnHeader7
|
||||
//
|
||||
this.columnHeader7.Text = "알람설정";
|
||||
this.columnHeader7.Width = 110;
|
||||
//
|
||||
// columnHeader8
|
||||
//
|
||||
this.columnHeader8.Text = "비고";
|
||||
this.columnHeader8.Width = 190;
|
||||
//
|
||||
// Frm_Alamlist
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1193, 735);
|
||||
this.Controls.Add(this.listView1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.bn);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "Frm_Alamlist";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "알람발생목록";
|
||||
this.Load += new System.EventHandler(this.Frm_Alam_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
|
||||
this.bn.ResumeLayout(false);
|
||||
this.bn.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.documentElement1)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
internal System.Windows.Forms.BindingSource bs;
|
||||
internal System.Windows.Forms.BindingNavigator bn;
|
||||
internal System.Windows.Forms.ToolStripButton BindingNavigatorAddNewItem;
|
||||
internal System.Windows.Forms.ToolStripLabel BindingNavigatorCountItem;
|
||||
internal System.Windows.Forms.ToolStripButton BindingNavigatorDeleteItem;
|
||||
internal System.Windows.Forms.ToolStripButton BindingNavigatorMoveFirstItem;
|
||||
internal System.Windows.Forms.ToolStripButton BindingNavigatorMovePreviousItem;
|
||||
internal System.Windows.Forms.ToolStripSeparator BindingNavigatorSeparator;
|
||||
internal System.Windows.Forms.ToolStripTextBox BindingNavigatorPositionItem;
|
||||
internal System.Windows.Forms.ToolStripSeparator BindingNavigatorSeparator1;
|
||||
internal System.Windows.Forms.ToolStripButton BindingNavigatorMoveNextItem;
|
||||
internal System.Windows.Forms.ToolStripButton BindingNavigatorMoveLastItem;
|
||||
internal System.Windows.Forms.ToolStripSeparator BindingNavigatorSeparator2;
|
||||
internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator2;
|
||||
internal System.Windows.Forms.ToolStripLabel ToolStripLabel5;
|
||||
internal System.Windows.Forms.ToolStripTextBox tb_search;
|
||||
internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator1;
|
||||
internal System.Windows.Forms.ToolStripProgressBar prb1;
|
||||
private System.ComponentModel.IContainer components;
|
||||
private Panel panel1;
|
||||
private Button button1;
|
||||
private ComboBox cmb_gubun;
|
||||
private Label label1;
|
||||
private DateTimePicker tb_etime;
|
||||
private Label label3;
|
||||
private DateTimePicker tb_stime;
|
||||
private Label label2;
|
||||
private vmsnet.DocumentElement documentElement1;
|
||||
private ListView listView1;
|
||||
private ColumnHeader columnHeader1;
|
||||
private ColumnHeader columnHeader2;
|
||||
private ColumnHeader columnHeader3;
|
||||
private ColumnHeader columnHeader4;
|
||||
private ColumnHeader columnHeader5;
|
||||
private ColumnHeader columnHeader6;
|
||||
private ColumnHeader columnHeader7;
|
||||
private ColumnHeader columnHeader8;
|
||||
private ToolStripLabel toolStripLabel1;
|
||||
}
|
||||
|
||||
}
|
||||
221
Viewer/AlarmViewer/Dialog/Frm_Alamlist.cs
Normal file
@@ -0,0 +1,221 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
using vmsnet;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
public partial class Frm_Alamlist
|
||||
{
|
||||
public Frm_Alamlist()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
////DB초기화작업
|
||||
PUB.INIT(out List<string> errorMessageList);
|
||||
if (errorMessageList.Any())
|
||||
foreach (var err in errorMessageList)
|
||||
UTIL.MsgE(err);
|
||||
|
||||
this.cmb_gubun.Items.Clear();
|
||||
this.cmb_gubun.Items.AddRange(new string[] { "ALL", "HIGH", "LOW", "A1", "A2" });
|
||||
//PUB.Alarm.Message += (s1, e1) => PUB.log.AddI(e1.Message);
|
||||
this.label2.Click += (s1,e1)=> {
|
||||
var f = new fLog();
|
||||
f.Show();
|
||||
};
|
||||
}
|
||||
|
||||
public void Frm_Alam_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
////알람데이터년도를 변경
|
||||
this.tb_stime.Text = DateTime.Now.AddDays(0).ToString("yyyy-MM-dd 00:00:00");
|
||||
this.tb_etime.Text = DateTime.Now.AddDays(0).ToString("yyyy-MM-dd 23:59:59");
|
||||
|
||||
if (cmb_gubun.Items.Count > 0)
|
||||
this.cmb_gubun.SelectedIndex = 0;
|
||||
|
||||
toolStripLabel1.Text = PUB.CONFIG.GetDatabasePath();
|
||||
}
|
||||
|
||||
public void ToolStripTextBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
string str = this.tb_search.Text.Trim().Replace("'", "").ToUpper();
|
||||
if (string.IsNullOrEmpty(str))
|
||||
{
|
||||
DisplayData(Dt.Item2.AsEnumerable());
|
||||
}
|
||||
try
|
||||
{
|
||||
if (Dt.Item2 != null)
|
||||
{
|
||||
var dt = Dt.Item2.Where(t => t.TIME.Contains(str) || t.CHNAME.Contains(str) || t.RTYPESTR.Contains(str) || t.ATYPESTR.Contains(str));
|
||||
DisplayData(dt);
|
||||
}
|
||||
else UTIL.MsgE("먼저 자료를 조회하세요");
|
||||
|
||||
this.tb_search.SelectAll();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
this.tb_search.Text = "";
|
||||
this.bs.Filter = "";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(TimeSpan, DocumentElement.ALARMDataTable) Dt;
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{ // 조회
|
||||
if (DateTime.TryParse(this.tb_stime.Text, out DateTime sdate) == false)
|
||||
{
|
||||
UTIL.MsgE("시작일시가 잘못 입력되었습니다\r\n확인하세요");
|
||||
return;
|
||||
}
|
||||
|
||||
if (DateTime.TryParse(this.tb_etime.Text, out DateTime edate) == false)
|
||||
{
|
||||
UTIL.MsgE("종료일시가 잘못 입력되었습니다\r\n확인하세요");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Dt.Item1 = new TimeSpan(0);
|
||||
Dt.Item2 = null;
|
||||
|
||||
var gubunstr = cmb_gubun.Text.Trim().ToUpper();
|
||||
this.button1.Enabled = false;
|
||||
|
||||
switch (gubunstr)
|
||||
{
|
||||
case "HIGH": ////h
|
||||
Dt = PUB.Alarm.GetAlarmData(sdate, edate, 0, 1);
|
||||
break;
|
||||
case "LOW": ////l;
|
||||
Dt = PUB.Alarm.GetAlarmData(sdate, edate, 2, 3);
|
||||
break;
|
||||
case "A1": ////nullb alam1
|
||||
Dt = PUB.Alarm.GetAlarmData(sdate, edate, 4, 5);
|
||||
break;
|
||||
case "A2": ////nullb alam2
|
||||
Dt = PUB.Alarm.GetAlarmData(sdate, edate, 6, 7);
|
||||
break;
|
||||
case "OVER": ////o
|
||||
Dt = PUB.Alarm.GetAlarmData(sdate, edate, 8, 9);
|
||||
break;
|
||||
default: //ALL
|
||||
Dt = PUB.Alarm.GetAlarmData(sdate, edate);
|
||||
break;
|
||||
}
|
||||
|
||||
PUB.log.AddI($"read time : {Dt.Item1.TotalSeconds} sec");
|
||||
Application.DoEvents();
|
||||
|
||||
|
||||
this.prb1.Value = 0;
|
||||
this.prb1.Maximum = Dt.Item2.Rows.Count;
|
||||
|
||||
|
||||
var dtEdit = DateTime.Now;
|
||||
foreach (var Dr in Dt.Item2)
|
||||
{
|
||||
|
||||
this.prb1.Value += 1;
|
||||
if (Dr.RTYPE == 4 || Dr.RTYPE == 5 || Dr.RTYPE == 6 || Dr.RTYPE == 7)
|
||||
{
|
||||
Dr.CHNAME = PUB.GetGrpName(Dr.CH);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 작성자: 김치균, 작성일: 2024-10-16, 작성내용: Dr.CH + 1 -> Dr.CH 변경 */
|
||||
Dr.CHNAME = PUB.GetChannelName(Dr.CH);
|
||||
}
|
||||
|
||||
var rtype = (COMM.EALAMRAISETYPE)Dr.RTYPE;
|
||||
Dr.RTYPESTR = rtype.ToString();
|
||||
switch (rtype)
|
||||
{
|
||||
case COMM.EALAMRAISETYPE.A1_ON:
|
||||
Dr.RTYPESTR = "NB_ALARM1-ON";
|
||||
break;
|
||||
case COMM.EALAMRAISETYPE.A1_OFF:
|
||||
Dr.RTYPESTR = "NB_ALARM1-OFF";
|
||||
break;
|
||||
case COMM.EALAMRAISETYPE.A2_ON:
|
||||
Dr.RTYPESTR = "NB_ALARM2-ON";
|
||||
break;
|
||||
case COMM.EALAMRAISETYPE.A2_OFF:
|
||||
Dr.RTYPESTR = "NB_ALARM2-OFF";
|
||||
break;
|
||||
}
|
||||
|
||||
var atype = (COMM.EALAMTYPE)Dr.ATYPE;
|
||||
Dr.ATYPESTR = atype.ToString();
|
||||
}
|
||||
Dt.Item2.AcceptChanges();
|
||||
var tsEdit = DateTime.Now - dtEdit;
|
||||
PUB.log.AddI($"edit time : {tsEdit.TotalSeconds} sec");
|
||||
Application.DoEvents();
|
||||
|
||||
|
||||
dtEdit = DateTime.Now;
|
||||
DisplayData(Dt.Item2.AsEnumerable());
|
||||
tsEdit = DateTime.Now - dtEdit;
|
||||
PUB.log.AddI($"DisplayData time : {tsEdit.TotalSeconds} sec");
|
||||
button1.Enabled = true;
|
||||
}
|
||||
|
||||
void DisplayData(EnumerableRowCollection<vmsnet.DocumentElement.ALARMRow> search)
|
||||
{
|
||||
this.listView1.Items.Clear();
|
||||
|
||||
|
||||
this.listView1.SuspendLayout();
|
||||
foreach (var item in search)
|
||||
{
|
||||
var lv = this.listView1.Items.Add(item.TIME);
|
||||
lv.SubItems.Add(item.CHNAME);
|
||||
lv.SubItems.Add(item.RTYPESTR);
|
||||
lv.SubItems.Add(item.VOLT.ToString());
|
||||
lv.SubItems.Add(item.MAXVOLT.ToString());
|
||||
lv.SubItems.Add(item.MINVOLT.ToString());
|
||||
lv.SubItems.Add(item.ATYPESTR);
|
||||
lv.SubItems.Add(item.REMARK);
|
||||
|
||||
switch (item.RTYPESTR.ToUpper())
|
||||
{
|
||||
case "NB_ALARM1_ON":
|
||||
lv.BackColor = Color.HotPink;
|
||||
break;
|
||||
case "NB_ALARM2_ON":
|
||||
lv.BackColor = Color.OrangeRed; //Color.Red;
|
||||
break;
|
||||
case "HIGH_ON":
|
||||
lv.BackColor = Color.Orange;
|
||||
break;
|
||||
case "LOW_ON":
|
||||
lv.BackColor = Color.LightSkyBlue; //Color.Blue;
|
||||
break;
|
||||
case "OVER_ON":
|
||||
lv.BackColor = Color.Violet; //Color.Magenta;
|
||||
break;
|
||||
default:
|
||||
lv.BackColor = Color.Empty;
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.listView1.ResumeLayout();
|
||||
}
|
||||
}
|
||||
}
|
||||
450
Viewer/AlarmViewer/Dialog/Frm_Alamlist.resx
Normal file
@@ -0,0 +1,450 @@
|
||||
<?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="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>242, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
|
||||
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
|
||||
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
|
||||
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
|
||||
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
|
||||
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>176, 17</value>
|
||||
</metadata>
|
||||
<metadata name="documentElement1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="BindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
|
||||
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
|
||||
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
|
||||
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
|
||||
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
|
||||
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
|
||||
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
|
||||
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
|
||||
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
|
||||
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
|
||||
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
|
||||
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
|
||||
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
|
||||
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
|
||||
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
|
||||
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
|
||||
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
|
||||
oAc0QjgAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
|
||||
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
|
||||
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
|
||||
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
|
||||
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
|
||||
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAMAMDAAAAEAIACoJQAANgAAACAgAAABACAAqBAAAN4lAAAQEAAAAQAgAGgEAACGNgAAKAAAADAA
|
||||
AABgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcrvQCHK70BByu
|
||||
9AYcrvQKHK70DByu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu
|
||||
9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu
|
||||
9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9AwcrvQKHK70Bxyu9AQcrvQCAAAAAByu
|
||||
9AIcrvQGHK70DByu9BUcrvQdHK70Ixyu9CYcrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu
|
||||
9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu
|
||||
9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jhyu9CMcrvQdHK70FRyu
|
||||
9AwcrvQGHK70Ahyu9AMcrvQMHK70GRyu9CocrvQ7HK70Rhyu9EwcrvROHK70Thyu9E4crvROHK70Thyu
|
||||
9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu
|
||||
9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70TRyu
|
||||
9EYcrvQ7HK70Kxyu9BkcrvQMHK70BByu9AUcrvQSHK70Jwuh7VYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ
|
||||
6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ
|
||||
6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ
|
||||
6WYAmelmAJnpZgCZ6WYAmelmCqDtWByu9CgcrvQTHK70Bhyu9AYcrvQWHK70Lgmi7nEYsvzXHLb//xy2
|
||||
//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2
|
||||
//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2
|
||||
//8ctv//HLb//xy2//8ctv//HLb//xy2//8Zs/3fC6PweRyu9C4crvQWHK70Bxyu9AYcrvQUHK70Kxex
|
||||
+8Actv//HLb//x23//8et///ILj//yK6//8lu///Kb3//yzA//8wwv//NcT//znH//89yv//Qcv//0bN
|
||||
//9Kz///TdH//1HS//9T1P//V9X//1nW//9X1f//U9T//1HS//9N0f//Ss///0bN//9By///Pcr//znH
|
||||
//81xP//MML//yzA//8pvf//Jbv//yK6//8guP//Hrf//xy2//8ctv//GbP81Ryu9CwcrvQVHK70Bhyu
|
||||
9AQcrvQPHK70IBu1/tUctv//HLb//x63//8nuv//JLv//ym9//8uwP//M8P//zrH//9By///R87//0/R
|
||||
//9X1f//Xdj//2Tb//9r3f//cd///3bi//974///f+X//4Dm//9/5f//e+P//3bi//9x3///a93//2Tb
|
||||
//9d2P//V9X//0/R//9Hzv//Qcv//zrH//8zw///LsD//ym9//8mu///JLr//x63//8ctv//HLb/8hyu
|
||||
9CAcrvQQHK70BRyu9AIcrvQIHK70Ehy1/qIctv//HLb//za+//8juf//Irn//yW8//8rv///MML//zbF
|
||||
//89yf//RM3//0rQ//9S0///Wdb//1/Z//9m3P//a97//3Hg//904v//d+L//3jk//934v//dOL//3Hg
|
||||
//9r3v//Ztz//1/Z//9Z1v//UtP//0rQ//9Ezf//Pcn//zbF//8wwv//K7///yW8//8iuf//Mr7//x23
|
||||
//8ctv//HLb/xRyu9BIcrvQIHK70Ahyu9AEcrvQEHK70CBy0/C8ctv/8HLb//1PJ//8kuv//Ibn//yW7
|
||||
//8qv///MMH//zXE//87yP//Qsv//0nP//9Q0///Vtb//13Y//9j2v//ad3//23e//9x4P//c+H//3Ti
|
||||
//9z4f//ceD//23e//9p3f//Y9r//13Y//9W1v//UNP//0nP//9Cy///O8j//zXE//8wwf//Kr///yW7
|
||||
//8iuf//Q8P//yO5//8ctv//HLX+TByu9AgcrvQEHK70AQAAAAAcrvQBHK70Ahyu9AMctv+bHLb//0/H
|
||||
//83wP//Irn//yS7//8ovf//LsD//zTE//86yP//QMv//0bO//9N0f//VNT//1nW//9f2f//ZNv//2nd
|
||||
//9r3v//bd7//27g//9t3v//a97//2nd//9k2///X9n//1nW//9U1P//TdH//0bO//9Ay///Osj//zTE
|
||||
//8uwP//KL3//yS7//8lu///ac///x+4//8ctv++HK70Axyu9AIcrvQBAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAActv8bHLb/9iS4//9mz///I7r//yK6//8nvf//LL///zLC//83xf//Pcn//0PN//9K0P//UNP//1XV
|
||||
//9a1///X9n//2Pa//9r3f//zvT//+37//+w7f//Ztz//2Pa//9f2f//Wtf//1XV//9Q0///StD//0PN
|
||||
//89yf//N8X//zLC//8sv///J73//yS6//89wf//Usn//xy2//8ctv82AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAHLb/jRy2//9Vyv//OMD//yO5//8lvP//Kr///y7B//80xP//Osj//0DL
|
||||
//9Gzf//StD//1DT//9V1f//Wdb//13Y//+f6P//////////////////dN7//13Y//9Z1v//VdX//1DT
|
||||
//9K0P//Rs3//0DL//86yP//NMT//y7B//8qv///Jbz//ya7//9q0P//JLn//xy2/64AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Ehy2//Mluf//aM///yS6//8juv//J73//yy/
|
||||
//8xwv//NsX//zvI//9By///Rs7//0rQ//9Q0///VNT//1bW//+T5P/////////////7/v//adr//1bW
|
||||
//9U1P//UNP//0rQ//9Gzv//Qcv//zvI//82xf//McL//yy///8nvf//JLr//z7C//9SyP//HLb//By2
|
||||
/yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/34ctv//VMr//zrA
|
||||
//8juf//Jbz//ym9//8uwP//MsL//zfF//88yf//Qcv//0bN//9K0P//TdH//1DT//9U1P//nuf//8fx
|
||||
//+C4P//UtP//1DT//9N0f//StD//0bN//9By///PMn//zfF//8ywv//LsD//ym9//8lvP//Jrv//2rQ
|
||||
//8kuf//HLb/ogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2
|
||||
/wwctv/tJLn//2nP//8nu///Jrv//yq9//8twP//MsL//zbE//87x///P8n//0TM//9Izf//S8///03Q
|
||||
//9P0f//UdH//1HS//9R0f//T9H//03Q//9Lz///SM3//0TM//8/yf//O8f//zbE//8ywv//LcD//yq9
|
||||
//8nu///QsL//1HI//8ctv/5HLb/IQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAActv9yHLb//1TJ//8/wv//J7v//yq8//8uvv//MsH//zXD//86xP//Psf//0LK
|
||||
//9Fy///SMz//0rN//9Mzv//Tc///07P//9Nz///TM7//0rN//9IzP//Rcv//0LK//8+x///OsT//zXD
|
||||
//8ywf//Lr7//yq8//8svP//bdH//yS5//8ctv+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8GHLb/5CS4//9s0f//Lbz//yy8//8vvf//Mr///zXC
|
||||
//85w///PcX//0DI//9Dyf//Rsr//0nL//9Ozf//1fP///n9//+K3v//Ssz//0nL//9Gyv//Q8n//0DI
|
||||
//89xf//OcP//zXC//8yv///L73//yy8//9GxP//UMj//xy2//Mctv8YAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Zhy2//9Vyf//RcP//y68
|
||||
//8wvf//Mr7//zbA//85wf//PMP//0DE//9Cx///RMf//0bJ//9w1f/////////////Q8f//R8n//0bJ
|
||||
//9Ex///Qsf//0DE//88w///OcH//zbA//8yvv//ML3//zK+//9w0v//I7n//xy2/4cAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Axy2
|
||||
/9siuP//b9H//zW+//8yvv//NL///zbA//84wv//O8L//z7D//9Axf//QsX//0TH//9x1f//////////
|
||||
///U8v//Rcj//0TH//9Cxf//QMX//z7D//87wv//OML//zbA//80v///Mr7//03F//9PyP//HLb/7Ry2
|
||||
/xIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAABy2/1cctv//VMn//0zF//81vv//Nr///ze///85wP//O8H//zzC//8/w///QcT//0LE
|
||||
//9v0//////////////T8v//Q8X//0LE//9BxP//P8P//zzC//87wf//OcD//ze///82v///OMD//3LS
|
||||
//8guP//HLb/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/wMctv/PIrj//3TT//88wP//OsD//zvA//88wf//PsL//z/C
|
||||
//9Aw///QsP//0PD//9w0//////////////T8v//RMX//0PD//9Cw///QMP//z/C//8+wv//PMH//zvA
|
||||
//87wP//VMn//1DI//8ctv/nHLb/DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv9OHLb//1PJ//9Vyf//PsD//z7B
|
||||
//8/wf//QMH//0HC//9Cwv//Q8P//0PD//9w0v/////////////T8f//RMP//0PD//9Dw///QsL//0HC
|
||||
//9Awf//P8H//z7B//9Bwv//d9X//x+3//8ctv9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/xiK4
|
||||
//961f//RsT//0LC//9Cwv//Q8P//0TD//9Fw///RcP//0bE//9x0//////////////U8f//RsT//0bE
|
||||
//9Fw///RcP//0TD//9Dw///QsL//0PC//9dzP//Ucj//xy2/94ctv8GAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAHLb/Pxy2//9Vyf//Xs3//0nE//9IxP//SMT//0jE//9IxP//ScT//0nF//900///////////
|
||||
///V8v//SsX//0nF//9JxP//SMT//0jE//9IxP//SMT//0zH//991f//H7f//xy2/10AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/7oiuP//ftb//1LI//9Ox///Tsf//07H//9Ox///Tsf//07H
|
||||
//931P/////////////W8v//Tsf//07H//9Ox///Tsf//07H//9Ox///Tsf//2bP//9RyP//HLb/1Ry2
|
||||
/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/zMctv//Vsn//2jP//9Uyf//U8n//1PJ
|
||||
//9Tyf//U8n//1PJ//971v/////////////X8v//U8n//1PJ//9Tyf//U8n//1PJ//9Tyf//V8r//4HY
|
||||
//8ft///HLb/UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv+rIbj//4XZ
|
||||
//9dzP//Wsv//1rL//9ay///Wsv//1rL//+B1//////////////Y8///Wsv//1rL//9ay///Wsv//1rL
|
||||
//9ay///cdL//1LJ//8ctv/JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAActv8nHLb//FfK//900///Yc3//2DN//9gzf//YM3//2DN//+F2f/////////////a8///YM3//2DN
|
||||
//9gzf//YM3//2DN//9kzv//h9n//x+3//8ctv9CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAHLb/nB+3//+L2///atD//2bP//9mz///Zs///2bP//+K2v//////////
|
||||
///b9P//Zs///2bP//9mz///Zs///2fP//981f//Usn//xy2/70AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Gxy2//lYyv//f9b//23R//9t0f//bdH//23R
|
||||
//+P3P/////////////d9P//bdH//23R//9t0f//bdH//3DR//+M2v//Hrf//xy2/zYAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/40ft///ktz//3bU
|
||||
//9z0///c9P//3PT//+U3f/////////////e9f//c9P//3PT//9z0///c9P//4bZ//9SyP//HLb/rgAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2
|
||||
/xUctv/zWMr//4ra//961f//etX//3rV//+Z3//////////////g9f//etX//3rV//961f//fdX//5Hc
|
||||
//8et//8HLb/KgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAActv+BH7f//5be//+C2P//gNf//4DX//+Q3P///v/////////Q8P//gNf//4DX
|
||||
//+A1///kd3//1TJ//8ctv+iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8MHLb/7VnK//+V3f//htn//4bZ//+G2f//m+D//6/m
|
||||
//+K2v//htn//4bZ//+J2f//lt3//x63//kctv8hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/ciC3//+a3///j9z//43b
|
||||
//+N2///jdv//43b//+N2///jdv//43b//+b4P//VMn//xy2/5MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Bhy2
|
||||
/+RZyv//n+H//5Pd//+T3f//k93//5Pd//+T3f//k93//5bd//+a3///Hrf/8xy2/xsAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAABy2/2Met///oOH//5vg//+a3///mt///5rf//+a3///mt///6bj//9Uyf//HLb/hwAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/wMctv/YWcr//6rk//+f4f//n+H//5/h//+f4f//ouH//57h
|
||||
//8et//tHLb/EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv9UHrf//6Ti//+m4///peL//6Xi
|
||||
//+l4v//r+X//1LI//8ctv97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/zFrL
|
||||
//+z6P//quX//6rl//+s5f//oeL//x63/+cctv8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAHLb/RR63//+p5P//tuj//7Pn//+96v//VMn//xy2/2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/71GxP//wuz//8Xt//+S3f//HLb/3hy2/wYAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/zYctv//Mr3//1HI//8iuP//HLb/YAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv+HHLb//xy2
|
||||
//8ctv+lHLb/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAHLb/Jxy2/zYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP////////z9gAAAAAAB/P0AAAAAAAD8/QAAAAAAAPz9AAAAAAAA/P0AAAAAAAD8/QAA
|
||||
AAAAAPz9AAAAAAAA/P0AAAAAAAD8/QAAAAAAAPz9gAAAAAAB/P3wAAAAAA/8/fgAAAAAH/z9+AAAAAAf
|
||||
/P38AAAAAD/8/fwAAAAAP/z9/gAAAAB//P3+AAAAAH/8/f8AAAAA//z9/wAAAAD//P3/gAAAAf/8/f+A
|
||||
AAAB//z9/8AAAAP//P3/4AAAA//8/f/gAAAH//z9//AAAAf//P3/8AAAD//8/f/4AAAf//z9//gAAB//
|
||||
/P3//AAAP//8/f/8AAA///z9//4AAH///P3//gAAf//8/f//AAD///z9//8AAP///P3//4AB///8/f//
|
||||
gAH///z9///AA////P3//8AD///8/f//4Af///z9///wB////P3///AP///8/f//+A////z9///4H///
|
||||
/P3///wf///8/f///n////z9/////////P3////////8/SgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAHK70ARuu9AIcrvQEG670BByu9AQbrvQEHK70BBuu9AQcrvQEG670BByu
|
||||
9AQbrvQEHK70BBuu9AQcrvQEG670BByu9AQbrvQEHK70BBuu9AQcrvQEG670BByu9AQbrvQEHK70BBuu
|
||||
9AQcrvQEG670BByu9AMbrvQBAAAAABuu9AIbrvQIG670Ehuu9BobrvQeG670Hhuu9B4brvQeG670Hhuu
|
||||
9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu
|
||||
9B4brvQeG670Hhuu9B4brvQaG670Ehuu9AgbrvQCG670Bxyu9BgVqPE+EqfwThKn8FUSp/BWEqfwVhKn
|
||||
8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn
|
||||
8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8E4UqPE/G670GRyu9AgbrvQLG670JAuk8IARq/bDEqz3zBKs
|
||||
98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs
|
||||
98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqv3xQyk8YYbrvQkG670Cxuu9AocrvQgGbP92hy2
|
||||
//8et///Ibj//yW7//8qvv//MsP//znG//9Cy///SM7//1HS//9X1f//Xtf//2PZ//9l2///Ydn//1vW
|
||||
//9W1P//TtD//0fO//8+yf//N8X//y/B//8pvf//I7r//yC4//8ctv//GrT96Ruu9CEcrvQKG670BRuu
|
||||
9BMbtf7MG7b//yq6//8juf//KL3//y/B//85x///Qsz//07R//9Y1f//Ytr//2vd//9z4f//eOL//3rk
|
||||
//934v//cN///2nd//9e2P//VdT//0nP//9Ayv//NcT//y3A//8lu///Krv//xy2//8btv/iG670Exuu
|
||||
9AYbrvQBHK70BRuz+18ctv/zRMT//yS6//8mvP//Lb///zbF//8/yv//Ss///1PU//9d2P//Zdv//2ze
|
||||
//9w3///ceD//2/f//9q3f//Y9r//1nW//9R0///Rc3//zzJ//8ywv//K7///yS6//9Awv//H7f/+Byz
|
||||
/HAbrvQFHK70AQAAAAAbrvQBG7L6GBu2/70+wf//M7///yS7//8qvv//NMP//zvI//9Gzv//T9L//1jW
|
||||
//9f2f//Z9v//5fn//+17v//eOD//2Pa//9d2P//VNT//03R//9CzP//Osf//zDB//8pvf//Kbv//03H
|
||||
//8ctv/LG7L6Ihuu9AEAAAAAAAAAAAAAAAAAAAAAHLb/Qym6//xHxP//I7r//ye9//8vwf//NsX//0DK
|
||||
//9Hzv//T9L//1bV//9w3P//3fb///7+//+f6P//Wdb//1TU//9M0f//Rc3//zzJ//80xP//K7///ya8
|
||||
//8/wv//Nr///hu2/1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8EHLb/w0bE//8tvP//JLv//yu+
|
||||
//8xwv//Osf//0HL//9Iz///TtH//1nV//+h5///yfH//3Tc//9R0///TdH//0XN//8/yv//NsX//zDB
|
||||
//8ovf//Jbv//07G//8juP/VG7b/CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv9HH7f/61HH
|
||||
//8pu///K73//zDA//83xP//Pcf//0TL//9Jzf//TM///0/Q//9P0P//TtD//0vO//9IzP//Qcr//zzG
|
||||
//80w///LsD//ym8//9Dw///Nb7/8hy2/1YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2
|
||||
/w4btv+sQcL//zvB//8svP//ML7//zbC//88xP//Qcn//0XK//9KzP//id7//6fm//9Y0P//SMv//0TK
|
||||
//8/x///OsT//zTB//8vvv//Mb3//1DH//8dtv+6G7b/FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAABy2/y4puv/3Tsb//zC8//8yvv//NsD//zrC//9AxP//Qsb//1PM///P8f//7/r//3TW
|
||||
//9Ex///Qsb//z7D//85wf//NL///zG9//9Jxf//N7//+xu2/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAG7b/ARy2/6xIxP//PsH//zS+//83v///OsH//z3C//9AxP//Ucn//8/w
|
||||
///w+v//c9T//0LE//9Aw///PML//znA//82v///Nb///1PI//8iuP+/G7b/BAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/OB62/+Fcy///PsH//zzA//8+wf//QML//0HC
|
||||
//9SyP//z/D///D6//9z0///QsP//0HC//8/wf//PcH//zzA//9UyP//M77/6Ry2/0UAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8JG7b/mUbE//9Rx///QMH//0HC
|
||||
//9Dwv//RML//1PI///P8P//8Pr//3TS//9Ew///RML//0LC//9Bwf//R8T//1rL//8ctv+pG7b/DQAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8cKbr/8FzL
|
||||
//9Lxf//SsX//0rF//9Kxf//WMr//9Hw///x+v//edT//0rF//9Kxf//SsX//0rF//9dzP//OL//9hu2
|
||||
/yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAActv+VTMX//1vL//9RyP//Ucj//1HI//9ezP//0vH///H6//991v//Ucj//1HI//9RyP//U8j//1/M
|
||||
//8iuP+oG7b/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAABu2/yoetv/UcNL//1/M//9cy///XMv//2jP///V8f//8vv//4XY//9cy///XMv//1zL
|
||||
//9v0f//NL7/3hy2/zQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAG7b/BBu2/4JMxv//cNL//2TO//9kzv//cNL//9fy///y+///i9r//2TO
|
||||
//9kzv//ac///2nP//8ctv+UG7b/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/DCm6/+Nv0f//b9H//2/R//961f//2vP///P7
|
||||
//+T3f//b9H//2/R//930///O8D/7Ru2/xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/e1HH//x/1v//d9T//4LX
|
||||
///c9P//9Pv//5rf//931P//edT//27Q//4iuP+OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8eHbb/xIPY
|
||||
//+E2P//hdj//8Ls///V8v//lN3//4LX//+N2///Nb7/0By2/ygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2
|
||||
/wEbtv9pVMj//5Dc//+K2v//j9v//5Td//+L2v//jtv//3jU//8ctv98G7b/BAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAABy2/wMpuv/Qgdf//5Xd//+V3f//ld3//5Xd//+T3P//P8H/3xu2/wwAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/2RUyP/2ouH//53g//+d4P//nuD//3vV//siuP93AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/Exy2/7GV3f//p+P//6bj//+p4///NL7/wRy2
|
||||
/x0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/TFrK//+w5v//suf//4bZ
|
||||
//8ctv9lG7b/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJbn/tXTS
|
||||
//+N2///Nr7/zRu2/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAbtv9GILf/5Ci6/+sctv9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAActv8RG7b/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA
|
||||
AAHgAAAH4AAAB/AAAA/wAAAP+AAAH/gAAB/8AAA//AAAP/4AAH//AAB//wAA//8AAP//gAH//8AD///A
|
||||
A///wAP//+AH///wD///8A////gP///8H////D////5///////8oAAAAEAAAACAAAAABACAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAG670Axuu9A0brvQRG670ERuu9BEbrvQRG670ERuu9BEbrvQRG670ERuu
|
||||
9BEbrvQRG670ERuu9BEbrvQNG670Axuu9BQRp/J0Eqn0kRKp9JESqfSREqn0kRKp9JESqfSREqn0kRKp
|
||||
9JESqfSREqn0kRKp9JESqfSREafydhuu9BQbrvQQG7X+6SO5/v8qvv7/Osf+/0zQ/v9d1/7/a93+/27e
|
||||
/v9j2v7/UtP+/z/K/v8uwP7/JLr+/xy1/vIbrvQRG670Ahu0/Yo2v/7/KL3+/znG/v9M0f7/Xtj+/3bg
|
||||
/v+D4/7/Y9r+/1PU/v8/yv7/LsD+/zfA/v8dtf2VG670AgAAAAAbtv4SNb7+7ye7/v8wwv7/QMr+/0/S
|
||||
/v+S5P7/t+3+/1PU/v9Fzf7/NsX+/yi9/v86wP70G7b+GAAAAAAAAAAAAAAAAB22/ns9wf7/Lr7+/znE
|
||||
/v9Fy/7/XNL+/2fW/v9IzP7/Psf+/zHA/v87wf7/JLn+hgAAAAAAAAAAAAAAAAAAAAAbtv4MN77+6DW+
|
||||
/v84wP7/QMT+/5He/v+y5/7/QsX+/zvC/v80vv7/PcH+7hu2/hEAAAAAAAAAAAAAAAAAAAAAAAAAAB22
|
||||
/m9Mxf7/P8H+/0LC/v+R3P7/sub+/0PD/v9Awf7/TMb+/yO4/nkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAbtv4HO8D+4VDH/v9Nxv7/lt7+/7bo/v9Nxv7/Tsb+/0bE/ucbtv4LAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAABy2/mFjzf7/YM3+/6Hh/v+96v7/YM3+/2fP/v8nuv5rAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAbtv4DQcL+1nXT/v+s5f7/xez+/3PT/v9Rx/7eG7b+BgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/lN71f7/mN7+/6Lh/v+F2P7/J7r+XgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv4BR8T+yprf/v+Z3/7/XMv+1Bu2/gMAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/kSS3P7/ouH+/ye5/lEAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOL/+uELC/sQbtv4BAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2/gQbtv4GAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArEEAAKxBAACsQQAArEGAAaxBwAOsQcADrEHgB6xB4AesQfAP
|
||||
rEHwD6xB+B+sQfgfrEH8P6xB/j+sQf5/rEE=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
60
Viewer/AlarmViewer/Dialog/fLog.Designer.cs
generated
Normal file
@@ -0,0 +1,60 @@
|
||||
namespace vmsnet
|
||||
{
|
||||
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.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// richTextBox1
|
||||
//
|
||||
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.richTextBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.richTextBox1.Name = "richTextBox1";
|
||||
this.richTextBox1.Size = new System.Drawing.Size(776, 524);
|
||||
this.richTextBox1.TabIndex = 0;
|
||||
this.richTextBox1.Text = "";
|
||||
//
|
||||
// fLog
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(776, 524);
|
||||
this.Controls.Add(this.richTextBox1);
|
||||
this.Name = "fLog";
|
||||
this.Text = "fLog";
|
||||
this.Load += new System.EventHandler(this.fLog_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.RichTextBox richTextBox1;
|
||||
}
|
||||
}
|
||||
54
Viewer/AlarmViewer/Dialog/fLog.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
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;
|
||||
using vmsnet;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
public partial class fLog : Form
|
||||
{
|
||||
public fLog()
|
||||
{
|
||||
InitializeComponent();
|
||||
PUB.log.RaiseMsg += Log_RaiseMsg;
|
||||
this.FormClosed += (s1, e1) =>
|
||||
{
|
||||
PUB.log.RaiseMsg -= Log_RaiseMsg;
|
||||
this.Dispose();
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void Log_RaiseMsg(DateTime LogTime, string TypeStr, string Message)
|
||||
{
|
||||
addmsg(Message);
|
||||
}
|
||||
void addmsg(string mbox)
|
||||
{
|
||||
if (this.richTextBox1.InvokeRequired)
|
||||
{
|
||||
this.richTextBox1.BeginInvoke(new Action(() =>
|
||||
{
|
||||
this.richTextBox1.AppendText(mbox + "\n");
|
||||
this.richTextBox1.ScrollToCaret();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.richTextBox1.AppendText(mbox + "\n");
|
||||
this.richTextBox1.ScrollToCaret();
|
||||
}
|
||||
}
|
||||
private void fLog_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
120
Viewer/AlarmViewer/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>
|
||||
6743
Viewer/AlarmViewer/DocumentElement.Designer.cs
generated
Normal file
15
Viewer/AlarmViewer/DocumentElement.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
public partial class DocumentElement
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
9
Viewer/AlarmViewer/DocumentElement.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>
|
||||
196
Viewer/AlarmViewer/DocumentElement.xsd
Normal file
@@ -0,0 +1,196 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema id="DocumentElement" targetNamespace="http://tempuri.org/DocumentElement.xsd" xmlns:mstns="http://tempuri.org/DocumentElement.xsd" xmlns="http://tempuri.org/DocumentElement.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="DocumentElement" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DocumentElement" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DocumentElement">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="CHANNEL" msprop:Generator_RowEvHandlerName="CHANNELRowChangeEventHandler" msprop:Generator_RowDeletedName="CHANNELRowDeleted" msprop:Generator_RowDeletingName="CHANNELRowDeleting" msprop:Generator_RowEvArgName="CHANNELRowChangeEvent" msprop:Generator_TablePropName="CHANNEL" msprop:Generator_RowChangedName="CHANNELRowChanged" msprop:Generator_UserTableName="CHANNEL" msprop:Generator_RowChangingName="CHANNELRowChanging" msprop:Generator_RowClassName="CHANNELRow" msprop:Generator_TableClassName="CHANNELDataTable" msprop:Generator_TableVarName="tableCHANNEL">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="ENABLE" msprop:Generator_ColumnPropNameInTable="ENABLEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ENABLE" msprop:Generator_UserColumnName="ENABLE" msprop:Generator_ColumnVarNameInTable="columnENABLE" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="USE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="GIDX" msprop:Generator_ColumnPropNameInTable="GIDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="GIDX" msprop:Generator_UserColumnName="GIDX" msprop:Generator_ColumnVarNameInTable="columnGIDX" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="MACHINE" msprop:Generator_ColumnPropNameInTable="MACHINEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="MACHINE" msprop:Generator_UserColumnName="MACHINE" msprop:Generator_ColumnVarNameInTable="columnMACHINE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="ALAMTYPE" msprop:Generator_ColumnPropNameInTable="ALAMTYPEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMTYPE" msprop:Generator_UserColumnName="ALAMTYPE" msprop:Generator_ColumnVarNameInTable="columnALAMTYPE" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="COLOR" msprop:Generator_ColumnPropNameInTable="COLORColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="COLOR" msprop:Generator_UserColumnName="COLOR" msprop:Generator_ColumnVarNameInTable="columnCOLOR" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="AUTOH" msprop:Generator_ColumnPropNameInTable="AUTOHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOH" msprop:Generator_UserColumnName="AUTOH" msprop:Generator_ColumnVarNameInTable="columnAUTOH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="AUTOL" msprop:Generator_ColumnPropNameInTable="AUTOLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOL" msprop:Generator_UserColumnName="AUTOL" msprop:Generator_ColumnVarNameInTable="columnAUTOL" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="UNIT" msprop:Generator_ColumnPropNameInTable="UNITColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="UNIT" msprop:Generator_UserColumnName="UNIT" msprop:Generator_ColumnVarNameInTable="columnUNIT" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="DECPOS" msprop:Generator_ColumnPropNameInTable="DECPOSColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="DECPOS" msprop:Generator_UserColumnName="DECPOS" msprop:Generator_ColumnVarNameInTable="columnDECPOS" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="GRPNAME" msprop:Generator_ColumnPropNameInTable="GRPNAMEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="GRPNAME" msprop:Generator_UserColumnName="GRPNAME" msprop:Generator_ColumnVarNameInTable="columnGRPNAME" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="IDX_M" msprop:Generator_ColumnPropNameInTable="IDX_MColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="IDX_M" msprop:Generator_UserColumnName="IDX_M" msprop:Generator_ColumnVarNameInTable="columnIDX_M" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="IDX_U" msprop:Generator_ColumnPropNameInTable="IDX_UColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="IDX_U" msprop:Generator_UserColumnName="IDX_U" msprop:Generator_ColumnVarNameInTable="columnIDX_U" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="IDX_C" msprop:Generator_ColumnPropNameInTable="IDX_CColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="IDX_C" msprop:Generator_UserColumnName="IDX_C" msprop:Generator_ColumnVarNameInTable="columnIDX_C" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="VOFFSET" msprop:Generator_ColumnPropNameInTable="VOFFSETColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="VOFFSET" msprop:Generator_UserColumnName="VOFFSET" msprop:Generator_ColumnVarNameInTable="columnVOFFSET" type="xs:float" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DEVICE" msprop:Generator_RowEvHandlerName="DEVICERowChangeEventHandler" msprop:Generator_RowDeletedName="DEVICERowDeleted" msprop:Generator_RowDeletingName="DEVICERowDeleting" msprop:Generator_RowEvArgName="DEVICERowChangeEvent" msprop:Generator_TablePropName="DEVICE" msprop:Generator_RowChangedName="DEVICERowChanged" msprop:Generator_UserTableName="DEVICE" msprop:Generator_RowChangingName="DEVICERowChanging" msprop:Generator_RowClassName="DEVICERow" msprop:Generator_TableClassName="DEVICEDataTable" msprop:Generator_TableVarName="tableDEVICE">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="USE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="IP" msprop:Generator_ColumnPropNameInTable="IPColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="IP" msprop:Generator_UserColumnName="IP" msprop:Generator_ColumnVarNameInTable="columnIP" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="CHCOUNT" msprop:Generator_ColumnPropNameInTable="CHCOUNTColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="CHCOUNT" msprop:Generator_UserColumnName="CHCOUNT" msprop:Generator_ColumnVarNameInTable="columnCHCOUNT" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="KACOMMAND" msprop:Generator_ColumnPropNameInTable="KACOMMANDColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="KACOMMAND" msprop:Generator_UserColumnName="KACOMMAND" msprop:Generator_ColumnVarNameInTable="columnKACOMMAND" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="CHCOMMAND" msprop:Generator_ColumnPropNameInTable="CHCOMMANDColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="CHCOMMAND" msprop:Generator_UserColumnName="CHCOMMAND" msprop:Generator_ColumnVarNameInTable="columnCHCOMMAND" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="SNCOMMAND" msprop:Generator_ColumnPropNameInTable="SNCOMMANDColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="SNCOMMAND" msprop:Generator_UserColumnName="SNCOMMAND" msprop:Generator_ColumnVarNameInTable="columnSNCOMMAND" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="PORT" msprop:Generator_ColumnPropNameInTable="PORTColumn" msprop:nullValue="34150" msprop:Generator_ColumnPropNameInRow="PORT" msprop:Generator_UserColumnName="PORT" msprop:Generator_ColumnVarNameInTable="columnPORT" type="xs:int" default="34150" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GRP" msprop:Generator_RowEvHandlerName="GRPRowChangeEventHandler" msprop:Generator_RowDeletedName="GRPRowDeleted" msprop:Generator_RowDeletingName="GRPRowDeleting" msprop:Generator_RowEvArgName="GRPRowChangeEvent" msprop:Generator_TablePropName="GRP" msprop:Generator_RowChangedName="GRPRowChanged" msprop:Generator_UserTableName="GRP" msprop:Generator_RowChangingName="GRPRowChanging" msprop:Generator_RowClassName="GRPRow" msprop:Generator_TableClassName="GRPDataTable" msprop:Generator_TableVarName="tableGRP">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="USE" msdata:Caption="ENABLE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="WINDOW" msprop:Generator_ColumnPropNameInTable="WINDOWColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="WINDOW" msprop:Generator_UserColumnName="WINDOW" msprop:Generator_ColumnVarNameInTable="columnWINDOW" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="MATRIX" msprop:Generator_ColumnPropNameInTable="MATRIXColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="MATRIX" msprop:Generator_UserColumnName="MATRIX" msprop:Generator_ColumnVarNameInTable="columnMATRIX" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="POS" msprop:Generator_ColumnPropNameInTable="POSColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="POS" msprop:Generator_UserColumnName="POS" msprop:Generator_ColumnVarNameInTable="columnPOS" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="SPAN" msprop:Generator_ColumnPropNameInTable="SPANColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="SPAN" msprop:Generator_UserColumnName="SPAN" msprop:Generator_ColumnVarNameInTable="columnSPAN" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="FONT" msprop:Generator_ColumnPropNameInTable="FONTColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="FONT" msprop:Generator_UserColumnName="FONT" msprop:Generator_ColumnVarNameInTable="columnFONT" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="KADEVICE" msprop:Generator_ColumnPropNameInTable="KADEVICEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="KADEVICE" msprop:Generator_UserColumnName="KADEVICE" msprop:Generator_ColumnVarNameInTable="columnKADEVICE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="ALAMTYPE" msprop:Generator_ColumnPropNameInTable="ALAMTYPEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="ALAMTYPE" msprop:Generator_UserColumnName="ALAMTYPE" msprop:Generator_ColumnVarNameInTable="columnALAMTYPE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="AUTOH" msprop:Generator_ColumnPropNameInTable="AUTOHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOH" msprop:Generator_UserColumnName="AUTOH" msprop:Generator_ColumnVarNameInTable="columnAUTOH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="AUTOL" msprop:Generator_ColumnPropNameInTable="AUTOLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOL" msprop:Generator_UserColumnName="AUTOL" msprop:Generator_ColumnVarNameInTable="columnAUTOL" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="NBOFF" msprop:Generator_ColumnPropNameInTable="NBOFFColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBOFF" msprop:Generator_UserColumnName="NBOFF" msprop:Generator_ColumnVarNameInTable="columnNBOFF" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="NBSEQ" msprop:Generator_ColumnPropNameInTable="NBSEQColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBSEQ" msprop:Generator_UserColumnName="NBSEQ" msprop:Generator_ColumnVarNameInTable="columnNBSEQ" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="NBHH" msprop:Generator_ColumnPropNameInTable="NBHHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBHH" msprop:Generator_UserColumnName="NBHH" msprop:Generator_ColumnVarNameInTable="columnNBHH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="NBH" msprop:Generator_ColumnPropNameInTable="NBHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBH" msprop:Generator_UserColumnName="NBH" msprop:Generator_ColumnVarNameInTable="columnNBH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="NBLL" msprop:Generator_ColumnPropNameInTable="NBLLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBLL" msprop:Generator_UserColumnName="NBLL" msprop:Generator_ColumnVarNameInTable="columnNBLL" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="NBL" msprop:Generator_ColumnPropNameInTable="NBLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBL" msprop:Generator_UserColumnName="NBL" msprop:Generator_ColumnVarNameInTable="columnNBL" type="xs:float" default="0" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="NORMAL" msprop:Generator_RowEvHandlerName="NORMALRowChangeEventHandler" msprop:Generator_RowDeletedName="NORMALRowDeleted" msprop:Generator_RowDeletingName="NORMALRowDeleting" msprop:Generator_RowEvArgName="NORMALRowChangeEvent" msprop:Generator_TablePropName="NORMAL" msprop:Generator_RowChangedName="NORMALRowChanged" msprop:Generator_UserTableName="NORMAL" msprop:Generator_RowChangingName="NORMALRowChanging" msprop:Generator_RowClassName="NORMALRow" msprop:Generator_TableClassName="NORMALDataTable" msprop:Generator_TableVarName="tableNORMAL">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="VIEWGROUP" msprop:Generator_RowEvHandlerName="VIEWGROUPRowChangeEventHandler" msprop:Generator_RowDeletedName="VIEWGROUPRowDeleted" msprop:Generator_RowDeletingName="VIEWGROUPRowDeleting" msprop:Generator_RowEvArgName="VIEWGROUPRowChangeEvent" msprop:Generator_TablePropName="VIEWGROUP" msprop:Generator_RowChangedName="VIEWGROUPRowChanged" msprop:Generator_UserTableName="VIEWGROUP" msprop:Generator_RowChangingName="VIEWGROUPRowChanging" msprop:Generator_RowClassName="VIEWGROUPRow" msprop:Generator_TableClassName="VIEWGROUPDataTable" msprop:Generator_TableVarName="tableVIEWGROUP">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="GNAME" msdata:Caption="SANGHO" msprop:Generator_ColumnPropNameInTable="GNAMEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="GNAME" msprop:Generator_UserColumnName="GNAME" msprop:Generator_ColumnVarNameInTable="columnGNAME" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="TITLE" msdata:Caption="TEL" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="VAL" msprop:Generator_ColumnPropNameInTable="VALColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="VAL" msprop:Generator_UserColumnName="VAL" msprop:Generator_ColumnVarNameInTable="columnVAL" type="xs:string" default="" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="WIN" msprop:Generator_RowEvHandlerName="WINRowChangeEventHandler" msprop:Generator_RowDeletedName="WINRowDeleted" msprop:Generator_RowDeletingName="WINRowDeleting" msprop:Generator_RowEvArgName="WINRowChangeEvent" msprop:Generator_TablePropName="WIN" msprop:Generator_RowChangedName="WINRowChanged" msprop:Generator_UserTableName="WIN" msprop:Generator_RowChangingName="WINRowChanging" msprop:Generator_RowClassName="WINRow" msprop:Generator_TableClassName="WINDataTable" msprop:Generator_TableVarName="tableWIN">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="USE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" />
|
||||
<xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="MATRIX" msdata:Caption="MACHINE" msprop:Generator_ColumnPropNameInTable="MATRIXColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="MATRIX" msprop:Generator_UserColumnName="MATRIX" msprop:Generator_ColumnVarNameInTable="columnMATRIX" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ALARM" msprop:Generator_RowEvHandlerName="ALARMRowChangeEventHandler" msprop:Generator_RowDeletedName="ALARMRowDeleted" msprop:Generator_RowDeletingName="ALARMRowDeleting" msprop:Generator_RowEvArgName="ALARMRowChangeEvent" msprop:Generator_TablePropName="ALARM" msprop:Generator_RowChangedName="ALARMRowChanged" msprop:Generator_UserTableName="ALARM" msprop:Generator_RowChangingName="ALARMRowChanging" msprop:Generator_RowClassName="ALARMRow" msprop:Generator_TableClassName="ALARMDataTable" msprop:Generator_TableVarName="tableALARM">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ATIME" msprop:Generator_ColumnPropNameInTable="ATIMEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="ATIME" msprop:Generator_UserColumnName="ATIME" msprop:Generator_ColumnVarNameInTable="columnATIME" type="xs:string" default="" />
|
||||
<xs:element name="CH" msprop:Generator_ColumnPropNameInTable="CHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="CH" msprop:Generator_UserColumnName="CH" msprop:Generator_ColumnVarNameInTable="columnCH" type="xs:short" default="0" />
|
||||
<xs:element name="RTYPE" msprop:Generator_ColumnPropNameInTable="RTYPEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="RTYPE" msprop:Generator_UserColumnName="RTYPE" msprop:Generator_ColumnVarNameInTable="columnRTYPE" type="xs:short" default="0" />
|
||||
<xs:element name="VOLT" msprop:Generator_ColumnPropNameInTable="VOLTColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="VOLT" msprop:Generator_UserColumnName="VOLT" msprop:Generator_ColumnVarNameInTable="columnVOLT" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="ATYPE" msprop:Generator_ColumnPropNameInTable="ATYPEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ATYPE" msprop:Generator_UserColumnName="ATYPE" msprop:Generator_ColumnVarNameInTable="columnATYPE" type="xs:short" default="0" minOccurs="0" />
|
||||
<xs:element name="MAXVOLT" msprop:Generator_ColumnPropNameInTable="MAXVOLTColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="MAXVOLT" msprop:Generator_UserColumnName="MAXVOLT" msprop:Generator_ColumnVarNameInTable="columnMAXVOLT" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="MINVOLT" msprop:Generator_ColumnPropNameInTable="MINVOLTColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="MINVOLT" msprop:Generator_UserColumnName="MINVOLT" msprop:Generator_ColumnVarNameInTable="columnMINVOLT" type="xs:float" default="0" minOccurs="0" />
|
||||
<xs:element name="AM" msprop:Generator_ColumnPropNameInTable="AMColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="AM" msprop:Generator_UserColumnName="AM" msprop:Generator_ColumnVarNameInTable="columnAM" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="AM2" msprop:Generator_ColumnPropNameInTable="AM2Column" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="AM2" msprop:Generator_UserColumnName="AM2" msprop:Generator_ColumnVarNameInTable="columnAM2" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="TIME" msprop:Generator_ColumnPropNameInTable="TIMEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="TIME" msprop:Generator_UserColumnName="TIME" msprop:Generator_ColumnVarNameInTable="columnTIME" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="RTYPESTR" msprop:Generator_ColumnPropNameInTable="RTYPESTRColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="RTYPESTR" msprop:Generator_UserColumnName="RTYPESTR" msprop:Generator_ColumnVarNameInTable="columnRTYPESTR" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="ATYPESTR" msprop:Generator_ColumnPropNameInTable="ATYPESTRColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ATYPESTR" msprop:Generator_UserColumnName="ATYPESTR" msprop:Generator_ColumnVarNameInTable="columnATYPESTR" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="CHNAME" msprop:Generator_ColumnPropNameInTable="CHNAMEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="CHNAME" msprop:Generator_UserColumnName="CHNAME" msprop:Generator_ColumnVarNameInTable="columnCHNAME" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="REMARK" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="REMARKColumn" msprop:Generator_ColumnVarNameInTable="columnREMARK" msprop:Generator_UserColumnName="REMARK" msprop:Generator_ColumnPropNameInRow="REMARK" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="VIEWGROUPR" msprop:Generator_RowEvHandlerName="VIEWGROUPRRowChangeEventHandler" msprop:Generator_RowDeletedName="VIEWGROUPRRowDeleted" msprop:Generator_RowDeletingName="VIEWGROUPRRowDeleting" msprop:Generator_RowEvArgName="VIEWGROUPRRowChangeEvent" msprop:Generator_TablePropName="VIEWGROUPR" msprop:Generator_RowChangedName="VIEWGROUPRRowChanged" msprop:Generator_UserTableName="VIEWGROUPR" msprop:Generator_RowChangingName="VIEWGROUPRRowChanging" msprop:Generator_RowClassName="VIEWGROUPRRow" msprop:Generator_TableClassName="VIEWGROUPRDataTable" msprop:Generator_TableVarName="tableVIEWGROUPR">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="GNAME" msdata:Caption="SANGHO" msprop:Generator_ColumnPropNameInTable="GNAMEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="GNAME" msprop:Generator_UserColumnName="GNAME" msprop:Generator_ColumnVarNameInTable="columnGNAME" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="TITLE" msdata:Caption="TEL" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="VAL" msprop:Generator_ColumnPropNameInTable="VALColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="VAL" msprop:Generator_UserColumnName="VAL" msprop:Generator_ColumnVarNameInTable="columnVAL" type="xs:string" default="" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="TRENDVIEWCHLIST" msprop:Generator_RowEvHandlerName="TRENDVIEWCHLISTRowChangeEventHandler" msprop:Generator_RowDeletedName="TRENDVIEWCHLISTRowDeleted" msprop:Generator_RowDeletingName="TRENDVIEWCHLISTRowDeleting" msprop:Generator_RowEvArgName="TRENDVIEWCHLISTRowChangeEvent" msprop:Generator_TablePropName="TRENDVIEWCHLIST" msprop:Generator_RowChangedName="TRENDVIEWCHLISTRowChanged" msprop:Generator_UserTableName="TRENDVIEWCHLIST" msprop:Generator_RowChangingName="TRENDVIEWCHLISTRowChanging" msprop:Generator_RowClassName="TRENDVIEWCHLISTRow" msprop:Generator_TableClassName="TRENDVIEWCHLISTDataTable" msprop:Generator_TableVarName="tableTRENDVIEWCHLIST">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="IDX" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" />
|
||||
<xs:element name="SHOW" msprop:Generator_ColumnPropNameInTable="SHOWColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="SHOW" msprop:Generator_UserColumnName="SHOW" msprop:Generator_ColumnVarNameInTable="columnSHOW" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="COLOR" msprop:Generator_ColumnPropNameInTable="COLORColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="COLOR" msprop:Generator_UserColumnName="COLOR" msprop:Generator_ColumnVarNameInTable="columnCOLOR" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="ch" msprop:Generator_ColumnPropNameInTable="chColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="ch" msprop:Generator_UserColumnName="ch" msprop:Generator_ColumnVarNameInTable="columnch" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="dev" msprop:Generator_ColumnPropNameInTable="devColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="dev" msprop:Generator_UserColumnName="dev" msprop:Generator_ColumnVarNameInTable="columndev" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="unit" msprop:Generator_ColumnPropNameInTable="unitColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="unit" msprop:Generator_UserColumnName="unit" msprop:Generator_ColumnVarNameInTable="columnunit" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:CHANNEL" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="DEVICE_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:DEVICE" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="GRP_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:GRP" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="NORMAL_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:NORMAL" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="VIEWGROUP_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:VIEWGROUP" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="WIN_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:WIN" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="ALARM_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:ALARM" />
|
||||
<xs:field xpath="mstns:ATIME" />
|
||||
<xs:field xpath="mstns:CH" />
|
||||
<xs:field xpath="mstns:RTYPE" />
|
||||
</xs:unique>
|
||||
<xs:unique name="VIEWGROUPR_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:VIEWGROUPR" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
<xs:unique name="TRENDVIEWCHLIST_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:TRENDVIEWCHLIST" />
|
||||
<xs:field xpath="mstns:IDX" />
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
20
Viewer/AlarmViewer/DocumentElement.xss
Normal file
@@ -0,0 +1,20 @@
|
||||
<?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:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:CHANNEL" ZOrder="9" X="0" Y="0" Height="448" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="444" />
|
||||
<Shape ID="DesignTable:DEVICE" ZOrder="8" X="168" Y="0" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
|
||||
<Shape ID="DesignTable:GRP" ZOrder="7" X="336" Y="0" Height="429" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="425" />
|
||||
<Shape ID="DesignTable:NORMAL" ZOrder="6" X="504" Y="0" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
|
||||
<Shape ID="DesignTable:VIEWGROUP" ZOrder="5" X="672" Y="0" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
||||
<Shape ID="DesignTable:WIN" ZOrder="4" X="840" Y="0" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
|
||||
<Shape ID="DesignTable:ALARM" ZOrder="3" X="547" Y="177" Height="372" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" />
|
||||
<Shape ID="DesignTable:VIEWGROUPR" ZOrder="2" X="732" Y="152" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
|
||||
<Shape ID="DesignTable:TRENDVIEWCHLIST" ZOrder="1" X="753" Y="283" Height="162" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
39
Viewer/AlarmViewer/MethodExts.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
using AR;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public static class MethodExts
|
||||
{
|
||||
/// <summary>
|
||||
/// 지정된 파일 끝에 내용을 추가합니다.
|
||||
/// </summary>
|
||||
/// <param name="filename"></param>
|
||||
/// <param name="data"></param>
|
||||
public static void AppendText(this System.IO.FileInfo filename, string data)
|
||||
{
|
||||
if (filename.Directory.Exists == false) filename.Directory.Create();
|
||||
using (var writer = new StreamWriter(filename.FullName, true, System.Text.Encoding.Default))
|
||||
writer.Write(data);//
|
||||
}
|
||||
|
||||
public static void WriteText(this System.IO.FileInfo filename, string data, bool append = false)
|
||||
{
|
||||
if (filename.Directory.Exists == false) filename.Directory.Create();
|
||||
if (append == false)
|
||||
System.IO.File.WriteAllText(filename.FullName, data);
|
||||
else
|
||||
AppendText(filename, data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
10
Viewer/AlarmViewer/My Project/Application.myapp
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>true</MySubMain>
|
||||
<MainForm>Frm_Main</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="ChartData" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>vmsnet.ChartData, cVMS.NET, Version=16.3.15.1530, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
133
Viewer/AlarmViewer/My Project/Resources.resx
Normal file
@@ -0,0 +1,133 @@
|
||||
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Blue Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Blue Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Green Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Green Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Purple Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Purple Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Red Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Red Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
9
Viewer/AlarmViewer/My Project/Settings.settings
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="test2" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">2</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
0
Viewer/AlarmViewer/My Project/licenses.licx
Normal file
25
Viewer/AlarmViewer/OpenTK.dll.config
Normal file
@@ -0,0 +1,25 @@
|
||||
<configuration>
|
||||
<dllmap os="linux" dll="opengl32.dll" target="libGL.so.1"/>
|
||||
<dllmap os="linux" dll="glu32.dll" target="libGLU.so.1"/>
|
||||
<dllmap os="linux" dll="openal32.dll" target="libopenal.so.1"/>
|
||||
<dllmap os="linux" dll="alut.dll" target="libalut.so.0"/>
|
||||
<dllmap os="linux" dll="opencl.dll" target="libOpenCL.so"/>
|
||||
<dllmap os="linux" dll="libX11" target="libX11.so.6"/>
|
||||
<dllmap os="linux" dll="libXi" target="libXi.so.6"/>
|
||||
<dllmap os="linux" dll="SDL2.dll" target="libSDL2-2.0.so.0"/>
|
||||
<dllmap os="osx" dll="opengl32.dll" target="/System/Library/Frameworks/OpenGL.framework/OpenGL"/>
|
||||
<dllmap os="osx" dll="openal32.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
|
||||
<dllmap os="osx" dll="alut.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
|
||||
<dllmap os="osx" dll="libGLES.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
|
||||
<dllmap os="osx" dll="libGLESv1_CM.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
|
||||
<dllmap os="osx" dll="libGLESv2.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
|
||||
<dllmap os="osx" dll="opencl.dll" target="/System/Library/Frameworks/OpenCL.framework/OpenCL"/>
|
||||
<dllmap os="osx" dll="SDL2.dll" target="libSDL2.dylib"/>
|
||||
<!-- XQuartz compatibility (X11 on Mac) -->
|
||||
<dllmap os="osx" dll="libGL.so.1" target="/usr/X11/lib/libGL.dylib"/>
|
||||
<dllmap os="osx" dll="libX11" target="/usr/X11/lib/libX11.dylib"/>
|
||||
<dllmap os="osx" dll="libXcursor.so.1" target="/usr/X11/lib/libXcursor.dylib"/>
|
||||
<dllmap os="osx" dll="libXi" target="/usr/X11/lib/libXi.dylib"/>
|
||||
<dllmap os="osx" dll="libXinerama" target="/usr/X11/lib/libXinerama.dylib"/>
|
||||
<dllmap os="osx" dll="libXrandr.so.2" target="/usr/X11/lib/libXrandr.dylib"/>
|
||||
</configuration>
|
||||
42
Viewer/AlarmViewer/Program.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
using vmsnet;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
|
||||
internal static class Program
|
||||
{
|
||||
[DllImport("user32.dll")]
|
||||
private static extern bool SetProcessDPIAware();
|
||||
|
||||
/// <summary>
|
||||
/// 해당 애플리케이션의 주 진입점입니다.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware();
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
if (System.Diagnostics.Debugger.IsAttached == false)
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
if (args != null && args.Any()) PUB.ExtCommand = args[0];
|
||||
Application.Run(new Frm_Alamlist());
|
||||
}
|
||||
|
||||
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
|
||||
{
|
||||
PUB.NotExitMonitor = true;
|
||||
string fn = System.IO.Path.Combine("Bugreport", DateTime.Now.ToString("yyMMddHHmmss") + "_error.xml");
|
||||
var fi = new System.IO.FileInfo(fn);
|
||||
if (fi.Directory.Exists == false) fi.Directory.Create();
|
||||
System.IO.File.WriteAllText(fi.FullName, e.ExceptionObject.ToString(), System.Text.Encoding.Default);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
43
Viewer/AlarmViewer/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
|
||||
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
// 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이 특성 값을 변경하십시오.
|
||||
|
||||
// 어셈블리 특성 값을 검토합니다.
|
||||
|
||||
[assembly:AssemblyTitle("cell Voltage Monitoring System - (For GM10) - 2016")]
|
||||
[assembly:AssemblyDescription("VMS")]
|
||||
[assembly:AssemblyCompany("JDTEK")]
|
||||
[assembly: AssemblyProduct("cVMS.NET")]
|
||||
[assembly:AssemblyCopyright("Copyright ©JDTEK 2012")]
|
||||
[assembly:AssemblyTrademark("Arinware")]
|
||||
|
||||
[assembly:ComVisible(false)]
|
||||
|
||||
//이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly:Guid("b998cd4f-ec54-4613-b634-71682953653e")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
// 지정되도록 할 수 있습니다.
|
||||
// <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
[assembly: AssemblyVersion("24.09.03.1200")]
|
||||
[assembly: AssemblyFileVersion("24.09.03.1200")]
|
||||
|
||||
173
Viewer/AlarmViewer/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 Backup_Green_Button {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Backup_Green_Button", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Blue_Ball {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Blue_Ball", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Clear_Green_Button {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Clear_Green_Button", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap down_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("down_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap down_orange {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("down_orange", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Get_Info_Blue_Button {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Get_Info_Blue_Button", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Green_Ball {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Green_Ball", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Orange_Ball {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Orange_Ball", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Purple_Ball {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Purple_Ball", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Red_Ball {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Red_Ball", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap up_16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("up_16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
154
Viewer/AlarmViewer/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="Backup_Green_Button" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Backup Green Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Blue_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Blue Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Clear_Green_Button" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Clear Green Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="down_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\down_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="down_orange" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\down_orange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Get_Info_Blue_Button" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Get Info Blue Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Green_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Green Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Orange_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Orange Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Purple_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Purple Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Red_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Red Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="up_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\up_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
26
Viewer/AlarmViewer/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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.9.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
6
Viewer/AlarmViewer/Properties/Settings.settings
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
</SettingsFile>
|
||||
74
Viewer/AlarmViewer/Properties/app.manifest
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC 매니페스트 옵션
|
||||
Windows 사용자 계정 컨트롤 수준을 변경하려면
|
||||
requestedExecutionLevel 노드를 다음 중 하나로 바꿉니다.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
requestedExecutionLevel 요소를 지정하면 파일 및 레지스트리 가상화를 사용하지 않습니다.
|
||||
이전 버전과의 호환성을 위해 애플리케이션에 가상화가 필요한 경우
|
||||
이 요소를 제거합니다.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
<applicationRequestMinimum>
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
</applicationRequestMinimum>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- 이 애플리케이션이 테스트되고 함께 작동하도록 설계된 Windows 버전
|
||||
목록입니다. 해당 요소의 주석 처리를 제거하면 Windows에서
|
||||
호환 가능성이 가장 큰 환경을 자동으로 선택합니다. -->
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
</application>
|
||||
</compatibility>
|
||||
<!-- 애플리케이션이 DPI를 인식하며 높은 DPI에서 Windows가 자동으로 스케일링하지
|
||||
않음을 나타냅니다. WPF(Windows Presentation Foundation) 애플리케이션은 자동으로 DPI를 인식하며
|
||||
옵트인할 필요가 없습니다. 이 설정에 옵트인한 .NET Framework 4.6을 대상으로 하는
|
||||
Windows Forms 애플리케이션은 app.config에서 'EnableWindowsFormsHighDpiAutoResizing' 설정도 'true'로 설정해야 합니다.
|
||||
|
||||
애플리케이션이 긴 경로를 인식하도록 설정합니다. https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation을 참조하세요. -->
|
||||
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
|
||||
|
||||
<!-- Windows 공용 컨트롤 및 대화 상자의 테마 사용(Windows XP 이상) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
</assembly>
|
||||
0
Viewer/AlarmViewer/Properties/licenses.licx
Normal file
1
Viewer/AlarmViewer/Properties/licenses.licx.bak
Normal file
@@ -0,0 +1 @@
|
||||
DevExpress.XtraGauges.Win.GaugeControl, DevExpress.XtraGauges.v10.1.Win, Version=10.1.5.0, Culture=neutral, PublicKeyToken=940cfcde86f32efd
|
||||
1
Viewer/AlarmViewer/ReadMe.txt
Normal file
@@ -0,0 +1 @@
|
||||
20240827 메인프로젝트에서 분리
|
||||
BIN
Viewer/AlarmViewer/Resources/Backup Green Button.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
Viewer/AlarmViewer/Resources/Blue Ball.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
Viewer/AlarmViewer/Resources/Clear Green Button.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
Viewer/AlarmViewer/Resources/Get Info Blue Button.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Viewer/AlarmViewer/Resources/Green Ball.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
Viewer/AlarmViewer/Resources/Orange Ball.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
Viewer/AlarmViewer/Resources/Purple Ball.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
Viewer/AlarmViewer/Resources/Red Ball.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
Viewer/AlarmViewer/Resources/down_16.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Viewer/AlarmViewer/Resources/down_orange.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Viewer/AlarmViewer/Resources/up_16.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
162
Viewer/AlarmViewer/Setting/CSetting.cs
Normal file
@@ -0,0 +1,162 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
|
||||
public class CSetting : AR.Setting
|
||||
{
|
||||
public int Startup_DelayTime_Alam { get; set; }
|
||||
public int Startup_DelayTime_Save { get; set; }
|
||||
|
||||
public int MaxChCount { get; set; }
|
||||
|
||||
public string bugreport { get; set; }
|
||||
|
||||
|
||||
|
||||
public string databasefolder { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
public int threadlimit { get; set; }
|
||||
|
||||
public int graph_time_day { get; set; }
|
||||
public int graph_time_hour { get; set; }
|
||||
public int graph_time_min { get; set; }
|
||||
public int graph_line_width { get; set; }
|
||||
public int graph_starty { get; set; }
|
||||
public int graph_endy { get; set; }
|
||||
|
||||
public string win1pos { get; set; }
|
||||
public string win2pos { get; set; }
|
||||
|
||||
|
||||
public int tvr_selectgroup0 { get; set; }
|
||||
public int tvr_selectgroup { get; set; }
|
||||
|
||||
|
||||
////150319
|
||||
public int maintv_xgap { get; set; } ////개별전해조보기에서 X 축 표시간격
|
||||
public float maintv_ygap { get; set; } ////개별전해조보기에서 Y 축 표시간격
|
||||
public int maintv_xterm { get; set; } ////개별전해조보기에서 X 축 표시범위
|
||||
public int maintv_winsize { get; set; } ////개별전해조보기의 창 크기
|
||||
|
||||
public int meas_pri1 { get; set; } ////1번째 수집명령의 시작값
|
||||
public int meas_pri2 { get; set; } ////1번째 수집명령의 종료값
|
||||
public int meas_sec1 { get; set; } ////2번째 수집명령의 시작값
|
||||
public int meas_sec2 { get; set; } ////2번째 수집명령의 종료값
|
||||
public int meas_3rd1 { get; set; } ////2번째 수집명령의 시작값
|
||||
public int meas_3rd2 { get; set; } ////2번째 수집명령의 종료값
|
||||
public int meas_4th1 { get; set; } ////2번째 수집명령의 시작값
|
||||
public int meas_4th2 { get; set; } ////2번째 수집명령의 종료값
|
||||
|
||||
public string grp0chlist { get; set; }
|
||||
public string grp1chlist { get; set; }
|
||||
public string grp2chlist { get; set; }
|
||||
public string grp3chlist { get; set; }
|
||||
public string grp4chlist { get; set; }
|
||||
public string grp5chlist { get; set; }
|
||||
public string grp6chlist { get; set; }
|
||||
public string grp7chlist { get; set; }
|
||||
public string grp8chlist { get; set; }
|
||||
public string grp9chlist { get; set; }
|
||||
|
||||
|
||||
////트렌드뷰의 각종 설정값
|
||||
public CSetting()
|
||||
{
|
||||
bugreport = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Bugreport");
|
||||
}
|
||||
|
||||
public override void AfterLoad()
|
||||
{
|
||||
////버그리포트 폴더가 없다면 생성한다.
|
||||
if (bugreport.isEmpty() == false && System.IO.Directory.Exists(bugreport) == false)
|
||||
System.IO.Directory.CreateDirectory(bugreport);
|
||||
|
||||
//시작지연시간
|
||||
if (Startup_DelayTime_Alam < 1) Startup_DelayTime_Alam = 10;
|
||||
if (Startup_DelayTime_Save < 1) Startup_DelayTime_Save = 5;
|
||||
|
||||
if (threadlimit < 500) threadlimit = 500;
|
||||
|
||||
if (MaxChCount < 1) MaxChCount = 10;
|
||||
if (meas_pri1 == 0 && meas_pri2 == 0)
|
||||
{
|
||||
//0번유닛 1번채널 부터~1번유닛 60번채널
|
||||
meas_pri1 = 001;
|
||||
meas_pri2 = 160;
|
||||
}
|
||||
if (meas_sec1 == 0 && meas_sec2 == 0)
|
||||
{
|
||||
//2번유닛 1번채널 부터~3번유닛 60번채널
|
||||
meas_sec1 = 201;
|
||||
meas_sec2 = 360;
|
||||
}
|
||||
|
||||
if (meas_3rd1 == 0 && meas_3rd1 == 0)
|
||||
{
|
||||
//4번유닛 1번채널 부터~5번유닛 60번채널
|
||||
meas_3rd1 = 401;
|
||||
meas_3rd1 = 560;
|
||||
}
|
||||
|
||||
if (meas_4th1 == 0 && meas_4th2 == 0)
|
||||
{
|
||||
//4번유닛 1번채널 부터~5번유닛 60번채널
|
||||
meas_4th1 = 601;
|
||||
meas_4th2 = 560;
|
||||
}
|
||||
|
||||
//if (viewSize.IsNumeric() == false) viewSize = "300"; //240622
|
||||
|
||||
////트렌드뷰용 데이터정보
|
||||
if (maintv_xgap == 0) maintv_xgap = 300;
|
||||
if (maintv_xterm == 0) maintv_xterm = 3600;
|
||||
if (maintv_ygap == 0) maintv_ygap = 0.5f;
|
||||
if (maintv_winsize == 0) maintv_winsize = 50;
|
||||
|
||||
////일반설정
|
||||
if (tvr_selectgroup0 == 0) tvr_selectgroup0 = 0;
|
||||
if (tvr_selectgroup == 0) tvr_selectgroup = 0;
|
||||
|
||||
////그래프설정
|
||||
if (win1pos.isEmpty()) win1pos = "10,10";
|
||||
if (win2pos.isEmpty()) win2pos = "10,10";
|
||||
|
||||
try
|
||||
{
|
||||
////백업한다.
|
||||
System.IO.File.Copy("setting.xml", "setting~.xml", true);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public string GetDatabasePath()
|
||||
{
|
||||
if (databasefolder.isEmpty())
|
||||
{
|
||||
//트렌드와 알람은 상위폴더를 반환해야한다
|
||||
var di = new System.IO.DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
|
||||
return di.Parent.FullName;
|
||||
}
|
||||
else return databasefolder;
|
||||
}
|
||||
|
||||
|
||||
public override void AfterSave()
|
||||
{
|
||||
//throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
35
Viewer/AlarmViewer/app.config
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="vmsnet.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<system.diagnostics>
|
||||
<sources>
|
||||
<!-- 이 섹션은 My.Application.Log의 로깅 구성을 정의합니다. -->
|
||||
<source name="DefaultSource" switchName="DefaultSwitch">
|
||||
<listeners>
|
||||
<add name="FileLog"/>
|
||||
<!-- 아래 섹션의 주석 처리를 제거하여 응용 프로그램 이벤트 로그에 씁니다. -->
|
||||
<!--<add name="EventLog"/>-->
|
||||
</listeners>
|
||||
</source>
|
||||
</sources>
|
||||
<switches>
|
||||
<add name="DefaultSwitch" value="Information"/>
|
||||
</switches>
|
||||
<sharedListeners>
|
||||
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
|
||||
<!-- 아래 섹션의 주석 처리를 제거하여 APPLICATION_NAME을 응용 프로그램 이름으로 바꾼 후 응용 프로그램 이벤트 로그에 씁니다. -->
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<userSettings>
|
||||
<vmsnet.My.MySettings>
|
||||
<setting name="test2" serializeAs="String">
|
||||
<value>2</value>
|
||||
</setting>
|
||||
</vmsnet.My.MySettings>
|
||||
</userSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
|
||||
9
Viewer/AlarmViewer/packages.config
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Drawing.Common" version="8.0.8" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
|
||||
</packages>
|
||||
145
Viewer/AlarmViewer/pub.cs
Normal file
@@ -0,0 +1,145 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
using AR;
|
||||
using System.Windows.Media;
|
||||
using System.Media;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using vmsnet;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
|
||||
sealed class PUB
|
||||
{
|
||||
public static AR.Log log;
|
||||
public static bool NotExitMonitor = false;
|
||||
public static CFDBA Alarm;
|
||||
public static CSetting CONFIG;
|
||||
public static string lasttime = "";
|
||||
public static DocumentElement DS = new DocumentElement();
|
||||
public static bool runerror = false; ////실행오류
|
||||
public static string lastStatueMessage = "";
|
||||
public static System.Text.StringBuilder StartErrmsg = new System.Text.StringBuilder();
|
||||
public static int WindowCount = 0;
|
||||
public static DateTime StartupTime = DateTime.Now;
|
||||
public static string ExtCommand = "";
|
||||
|
||||
public static string GetGrpName(int idx)
|
||||
{
|
||||
var dr = PUB.DS.GRP.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.GRPRow[];
|
||||
if (dr.Length != 1)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return dr[0].TITLE;
|
||||
}
|
||||
|
||||
public static string GetChannelName(int idx)
|
||||
{
|
||||
var dr = PUB.DS.CHANNEL.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.CHANNELRow[];
|
||||
if (dr.Length != 1)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return dr[0].TITLE;
|
||||
}
|
||||
////타임정보를 숫자로 반환함
|
||||
public static decimal get_TimeNumber(DateTime time)
|
||||
{
|
||||
return time.Hour * 3600 + time.Minute * 60 + time.Second;
|
||||
}
|
||||
|
||||
public static string get_TimeString(decimal timenumber, string fn)
|
||||
{
|
||||
////파일명에 년/월/일이 있음
|
||||
string[] fnb = fn.Split("\\".ToCharArray());
|
||||
string Filename = fnb[fnb.Length - 1];
|
||||
string daystr = fnb[fnb.Length - 2];
|
||||
string monstr = fnb[fnb.Length - 3];
|
||||
string yearstr = fnb[fnb.Length - 4];
|
||||
|
||||
////timenumber를 다시 시,분,초 로 변환한다.
|
||||
decimal namugy = timenumber;
|
||||
int hour = (int)(Math.Floor(namugy / 3600));
|
||||
namugy = namugy - (hour * 3600);
|
||||
int min = (int)(Math.Floor(namugy / 60));
|
||||
namugy = namugy - (min * 60);
|
||||
int sec = (int)namugy;
|
||||
|
||||
return yearstr + "-" + monstr + "-" + daystr + " " + hour.ToString("00") + ":" + min.ToString("00") + ":" + sec.ToString("00");
|
||||
}
|
||||
|
||||
public static void INIT(out List<string> errormessages)
|
||||
{
|
||||
errormessages = new List<string>();
|
||||
var errorlist = new List<string>();
|
||||
log = new AR.Log();//.ArinLog();
|
||||
|
||||
|
||||
CONFIG = new CSetting(); ////설정파일 초기화 150319
|
||||
CONFIG.filename = new System.IO.FileInfo("..\\Setting.xml").FullName;
|
||||
CONFIG.Load();
|
||||
|
||||
|
||||
if (UTIL.IsDriveValid(CONFIG.GetDatabasePath()) == false)
|
||||
{
|
||||
errorlist.Add($"저장경로의 드라이브가 유효하지 않아 임시경로로 변경 됩니다\n" +
|
||||
$"전:{CONFIG.GetDatabasePath()}\n" +
|
||||
$"후:{UTIL.CurrentPath}");
|
||||
CONFIG.databasefolder = UTIL.CurrentPath;
|
||||
}
|
||||
if (System.IO.Directory.Exists(CONFIG.GetDatabasePath()) == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.IO.Directory.CreateDirectory(CONFIG.GetDatabasePath());
|
||||
errorlist.Add($"저장경로 신규생성\n{CONFIG.GetDatabasePath()}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//CONFIG.GetDatabasePath() = UTIL.CurrentPath;
|
||||
errorlist.Add($"저장경로 생성실패\n{CONFIG.GetDatabasePath()}\n{ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
Alarm = new CFDBA(CONFIG.GetDatabasePath(), "Database", "Alarm");
|
||||
|
||||
|
||||
////설정정보를 가져온다.
|
||||
//List<string> errorlist = new List<string>();
|
||||
System.Threading.Tasks.Task task = Task.Factory.StartNew(() =>
|
||||
{
|
||||
string[] BackTables = new string[] { "DEVICE", "GRP", "NORMAL", "WIN", "VIEWGROUP", "CHANNEL", "VIEWGROUPR" };
|
||||
foreach (string tabname in BackTables)
|
||||
{
|
||||
var fname = System.IO.Path.Combine(CONFIG.GetDatabasePath(), "Database", "Config", $"{tabname}.xml");
|
||||
var fn = new System.IO.FileInfo(fname);
|
||||
if (fn.Exists)
|
||||
{
|
||||
PUB.DS.Tables[tabname].ReadXml(fn.FullName);
|
||||
PUB.log.Add($"Load File({tabname}) : {fn.FullName}");
|
||||
}
|
||||
}
|
||||
});
|
||||
task.Wait();
|
||||
|
||||
|
||||
|
||||
|
||||
log.Add(AR.Log.ETYPE.NORMAL, "설정읽어오기완료");
|
||||
|
||||
if (errorlist.Any()) errormessages.AddRange(errorlist);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||