initial commit

This commit is contained in:
Arin(asus)
2024-11-26 20:15:16 +09:00
commit 973524ee77
435 changed files with 103766 additions and 0 deletions

176
cVMS.NET_CS/Dialog/Frm_About.Designer.cs generated Normal file
View File

@@ -0,0 +1,176 @@
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_About : 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);
}
}
internal System.Windows.Forms.Label ApplicationTitle;
internal System.Windows.Forms.Label Version;
internal System.Windows.Forms.Label Copyright;
internal System.Windows.Forms.TableLayoutPanel MainLayoutPanel;
internal System.Windows.Forms.TableLayoutPanel DetailsLayoutPanel;
//Windows Form 디자이너에 필요합니다.
private System.ComponentModel.Container components = null;
//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
//수정하려면 Windows Form 디자이너를 사용하십시오.
//코드 편집기를 사용하여 수정하지 마십시오.
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_About));
this.MainLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.DetailsLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.Panel1 = new System.Windows.Forms.Panel();
this.lb_Status = new System.Windows.Forms.Label();
this.Version = new System.Windows.Forms.Label();
this.Copyright = new System.Windows.Forms.Label();
this.ApplicationTitle = new System.Windows.Forms.Label();
this.MainLayoutPanel.SuspendLayout();
this.DetailsLayoutPanel.SuspendLayout();
this.Panel1.SuspendLayout();
this.SuspendLayout();
//
// MainLayoutPanel
//
this.MainLayoutPanel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("MainLayoutPanel.BackgroundImage")));
this.MainLayoutPanel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.MainLayoutPanel.ColumnCount = 2;
this.MainLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 153F));
this.MainLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 551F));
this.MainLayoutPanel.Controls.Add(this.DetailsLayoutPanel, 1, 1);
this.MainLayoutPanel.Controls.Add(this.ApplicationTitle, 1, 0);
this.MainLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.MainLayoutPanel.Location = new System.Drawing.Point(0, 0);
this.MainLayoutPanel.Name = "MainLayoutPanel";
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 47F));
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 209F));
this.MainLayoutPanel.Size = new System.Drawing.Size(704, 186);
this.MainLayoutPanel.TabIndex = 0;
this.MainLayoutPanel.Click += new System.EventHandler(this.MainLayoutPanel_MouseClick);
this.MainLayoutPanel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.MainLayoutPanel_MouseClick);
//
// DetailsLayoutPanel
//
this.DetailsLayoutPanel.BackColor = System.Drawing.Color.Transparent;
this.DetailsLayoutPanel.ColumnCount = 1;
this.DetailsLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 545F));
this.DetailsLayoutPanel.Controls.Add(this.Panel1, 0, 0);
this.DetailsLayoutPanel.Location = new System.Drawing.Point(156, 50);
this.DetailsLayoutPanel.Name = "DetailsLayoutPanel";
this.DetailsLayoutPanel.RowCount = 1;
this.DetailsLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 136F));
this.DetailsLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 136F));
this.DetailsLayoutPanel.Size = new System.Drawing.Size(545, 136);
this.DetailsLayoutPanel.TabIndex = 1;
//
// Panel1
//
this.Panel1.Controls.Add(this.lb_Status);
this.Panel1.Controls.Add(this.Version);
this.Panel1.Controls.Add(this.Copyright);
this.Panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.Panel1.Location = new System.Drawing.Point(0, 0);
this.Panel1.Margin = new System.Windows.Forms.Padding(0);
this.Panel1.Name = "Panel1";
this.Panel1.Size = new System.Drawing.Size(545, 136);
this.Panel1.TabIndex = 4;
this.Panel1.Click += new System.EventHandler(this.MainLayoutPanel_MouseClick);
//
// lb_Status
//
this.lb_Status.Anchor = System.Windows.Forms.AnchorStyles.None;
this.lb_Status.BackColor = System.Drawing.Color.Transparent;
this.lb_Status.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lb_Status.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.lb_Status.Location = new System.Drawing.Point(219, 80);
this.lb_Status.Name = "lb_Status";
this.lb_Status.Size = new System.Drawing.Size(318, 48);
this.lb_Status.TabIndex = 3;
this.lb_Status.Text = "Homepage : http://jdtek.co.kr\nEmail : help@jdtek.co.kr\nTel : 062-364-0177 / FAX :" +
" 062-364-0179";
this.lb_Status.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// Version
//
this.Version.Anchor = System.Windows.Forms.AnchorStyles.None;
this.Version.BackColor = System.Drawing.Color.Transparent;
this.Version.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Version.Location = new System.Drawing.Point(3, 114);
this.Version.Name = "Version";
this.Version.Size = new System.Drawing.Size(241, 20);
this.Version.TabIndex = 1;
this.Version.Text = "버전 {0}.{1:00}";
//
// Copyright
//
this.Copyright.Anchor = System.Windows.Forms.AnchorStyles.None;
this.Copyright.BackColor = System.Drawing.Color.Transparent;
this.Copyright.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Copyright.Location = new System.Drawing.Point(3, 94);
this.Copyright.Name = "Copyright";
this.Copyright.Size = new System.Drawing.Size(241, 17);
this.Copyright.TabIndex = 2;
this.Copyright.Text = "저작권";
//
// ApplicationTitle
//
this.ApplicationTitle.BackColor = System.Drawing.Color.Transparent;
this.ApplicationTitle.Dock = System.Windows.Forms.DockStyle.Fill;
this.ApplicationTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ApplicationTitle.Location = new System.Drawing.Point(156, 0);
this.ApplicationTitle.Name = "ApplicationTitle";
this.ApplicationTitle.Size = new System.Drawing.Size(545, 47);
this.ApplicationTitle.TabIndex = 0;
this.ApplicationTitle.Text = "응용 프로그램 제목";
this.ApplicationTitle.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
this.ApplicationTitle.Click += new System.EventHandler(this.MainLayoutPanel_MouseClick);
//
// Frm_About
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(704, 186);
this.Controls.Add(this.MainLayoutPanel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frm_About";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.SplashScreen1_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Frm_About_KeyDown);
this.MainLayoutPanel.ResumeLayout(false);
this.DetailsLayoutPanel.ResumeLayout(false);
this.Panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
internal System.Windows.Forms.Label lb_Status;
internal System.Windows.Forms.Panel Panel1;
}
}

View File

@@ -0,0 +1,130 @@
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;
namespace vmsnet
{
public sealed partial class Frm_About
{
public Frm_About()
{
InitializeComponent();
this.Text = String.Format("{0} 정보", AssemblyProduct);
this.ApplicationTitle.Text = AssemblyTitle;
this.Version.Text = String.Format("버전 {0}", AssemblyVersion);
this.Copyright.Text = AssemblyCopyright;
//this.labelCompanyName.Text = AssemblyCompany;
//this.textBoxDescription.Text = AssemblyDescription;
}
public void Frm_About_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
}
public void SplashScreen1_Load(object sender, System.EventArgs e)
{
}
public void MainLayoutPanel_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.Close();
}
#region
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
private void MainLayoutPanel_MouseClick(object sender, EventArgs e)
{
}
}
}

View File

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="MainLayoutPanel.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhxwNcAIcAAAAAAP///+/w8o2Wo660vYWPnJ2lsLa8xL7Dyt7h5ZWeqaattsbL0c7S19ba3ufp
6/f4+P7+/v39/fz8/Pv7+/r6+vn5+fj4+Pf39/b29vX19fT09PPz8/Ly8vHx8fDw8O/v7+7u7u3t7ezs
7Ovr6+rq6unp6ejo6Ofn5+bm5uXl5eTk5OPj4+Li4uHh4eDg4N/f397e3t3d3dzc3Nvb29ra2tnZ2djY
2NfX19bW1tXV1dTU1NPT09LS0tHR0dDQ0M/Pz87Ozs3NzczMzMvLy8rKysnJycjIyMfHx8bGxsXFxcTE
xMPDw8LCwsHBwcDAwL+/v76+vr29vby8vLu7u7q6urm5ubi4uLe3t7a2trW1tbS0tLOzs7KysrGxsbCw
sK+vr66urq2traysrKurq6qqqqmpqaioqKenp6ampqWlpaSkpKOjo6KioqGhoaCgoJ+fn56enp2dnZyc
nJubm5qampmZmZiYmJeXl5aWlpWVlZSUlJOTk5KSkpGRkZCQkI+Pj46Ojo2NjYyMjIuLi4qKiomJiYiI
iIeHh////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ACH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAACJACwAAAAAxwNcAAAI1QBdCBxIsKDBgwgTKlzIsKHDhxAj
SpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlxZMYDLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjR
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
</value>
</data>
</root>

169
cVMS.NET_CS/Dialog/Frm_Msg.Designer.cs generated Normal file
View File

@@ -0,0 +1,169 @@
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_Msg : 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);
}
}
internal System.Windows.Forms.Label ApplicationTitle;
internal System.Windows.Forms.Label Version;
internal System.Windows.Forms.Label Copyright;
internal System.Windows.Forms.TableLayoutPanel MainLayoutPanel;
internal System.Windows.Forms.TableLayoutPanel DetailsLayoutPanel;
//Windows Form 디자이너에 필요합니다.
private System.ComponentModel.Container components = null;
//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
//수정하려면 Windows Form 디자이너를 사용하십시오.
//코드 편집기를 사용하여 수정하지 마십시오.
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_Msg));
this.MainLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.DetailsLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.Panel1 = new System.Windows.Forms.Panel();
this.lb_Status = new System.Windows.Forms.Label();
this.Version = new System.Windows.Forms.Label();
this.Copyright = new System.Windows.Forms.Label();
this.ApplicationTitle = new System.Windows.Forms.Label();
this.MainLayoutPanel.SuspendLayout();
this.DetailsLayoutPanel.SuspendLayout();
this.Panel1.SuspendLayout();
this.SuspendLayout();
//
// MainLayoutPanel
//
this.MainLayoutPanel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("MainLayoutPanel.BackgroundImage")));
this.MainLayoutPanel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.MainLayoutPanel.ColumnCount = 2;
this.MainLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 153F));
this.MainLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 551F));
this.MainLayoutPanel.Controls.Add(this.DetailsLayoutPanel, 1, 1);
this.MainLayoutPanel.Controls.Add(this.ApplicationTitle, 1, 0);
this.MainLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.MainLayoutPanel.Location = new System.Drawing.Point(0, 0);
this.MainLayoutPanel.Name = "MainLayoutPanel";
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 47F));
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 209F));
this.MainLayoutPanel.Size = new System.Drawing.Size(704, 186);
this.MainLayoutPanel.TabIndex = 0;
//
// DetailsLayoutPanel
//
this.DetailsLayoutPanel.BackColor = System.Drawing.Color.Transparent;
this.DetailsLayoutPanel.ColumnCount = 1;
this.DetailsLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 545F));
this.DetailsLayoutPanel.Controls.Add(this.Panel1, 0, 0);
this.DetailsLayoutPanel.Location = new System.Drawing.Point(156, 50);
this.DetailsLayoutPanel.Name = "DetailsLayoutPanel";
this.DetailsLayoutPanel.RowCount = 1;
this.DetailsLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 136F));
this.DetailsLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 136F));
this.DetailsLayoutPanel.Size = new System.Drawing.Size(545, 136);
this.DetailsLayoutPanel.TabIndex = 1;
//
// Panel1
//
this.Panel1.Controls.Add(this.lb_Status);
this.Panel1.Controls.Add(this.Version);
this.Panel1.Controls.Add(this.Copyright);
this.Panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.Panel1.Location = new System.Drawing.Point(0, 0);
this.Panel1.Margin = new System.Windows.Forms.Padding(0);
this.Panel1.Name = "Panel1";
this.Panel1.Size = new System.Drawing.Size(545, 136);
this.Panel1.TabIndex = 4;
//
// lb_Status
//
this.lb_Status.Anchor = System.Windows.Forms.AnchorStyles.None;
this.lb_Status.BackColor = System.Drawing.Color.Transparent;
this.lb_Status.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lb_Status.Location = new System.Drawing.Point(141, 97);
this.lb_Status.Name = "lb_Status";
this.lb_Status.Size = new System.Drawing.Size(396, 31);
this.lb_Status.TabIndex = 3;
this.lb_Status.Text = "#";
this.lb_Status.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// Version
//
this.Version.Anchor = System.Windows.Forms.AnchorStyles.None;
this.Version.BackColor = System.Drawing.Color.Transparent;
this.Version.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Version.Location = new System.Drawing.Point(3, 114);
this.Version.Name = "Version";
this.Version.Size = new System.Drawing.Size(241, 20);
this.Version.TabIndex = 1;
this.Version.Text = "버전 {0}.{1:00}";
//
// Copyright
//
this.Copyright.Anchor = System.Windows.Forms.AnchorStyles.None;
this.Copyright.BackColor = System.Drawing.Color.Transparent;
this.Copyright.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Copyright.Location = new System.Drawing.Point(3, 94);
this.Copyright.Name = "Copyright";
this.Copyright.Size = new System.Drawing.Size(241, 17);
this.Copyright.TabIndex = 2;
this.Copyright.Text = "저작권";
//
// ApplicationTitle
//
this.ApplicationTitle.BackColor = System.Drawing.Color.Transparent;
this.ApplicationTitle.Dock = System.Windows.Forms.DockStyle.Fill;
this.ApplicationTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ApplicationTitle.Location = new System.Drawing.Point(156, 0);
this.ApplicationTitle.Name = "ApplicationTitle";
this.ApplicationTitle.Size = new System.Drawing.Size(545, 47);
this.ApplicationTitle.TabIndex = 0;
this.ApplicationTitle.Text = "응용 프로그램 제목";
this.ApplicationTitle.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
//
// Frm_Msg
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(704, 186);
this.ControlBox = false;
this.Controls.Add(this.MainLayoutPanel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frm_Msg";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.SplashScreen1_Load);
this.MainLayoutPanel.ResumeLayout(false);
this.DetailsLayoutPanel.ResumeLayout(false);
this.Panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
internal System.Windows.Forms.Label lb_Status;
internal System.Windows.Forms.Panel Panel1;
}
}

View File

@@ -0,0 +1,117 @@
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;
namespace vmsnet
{
public sealed partial class Frm_Msg
{
public Frm_Msg()
{
InitializeComponent();
this.Text = String.Format("{0} 정보", AssemblyTitle);
ApplicationTitle.Text = AssemblyProduct;
Version.Text = String.Format("버전 {0}", AssemblyVersion);
Copyright.Text = AssemblyCopyright;
//this.Text = String.Format("{0} 정보", AssemblyTitle);
//this.labelProductName.Text = AssemblyProduct;
//this.labelVersion.Text = String.Format("버전 {0}", AssemblyVersion);
//this.labelCopyright.Text = AssemblyCopyright;
//this.labelCompanyName.Text = AssemblyCompany;
//this.textBoxDescription.Text = AssemblyDescription;
}
public void SplashScreen1_Load(object sender, System.EventArgs e)
{
}
#region
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
}
}

View File

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="MainLayoutPanel.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhxwNcAIcAAAAAAP///+/w8o2Wo660vYWPnJ2lsLa8xL7Dyt7h5ZWeqaattsbL0c7S19ba3ufp
6/f4+P7+/v39/fz8/Pv7+/r6+vn5+fj4+Pf39/b29vX19fT09PPz8/Ly8vHx8fDw8O/v7+7u7u3t7ezs
7Ovr6+rq6unp6ejo6Ofn5+bm5uXl5eTk5OPj4+Li4uHh4eDg4N/f397e3t3d3dzc3Nvb29ra2tnZ2djY
2NfX19bW1tXV1dTU1NPT09LS0tHR0dDQ0M/Pz87Ozs3NzczMzMvLy8rKysnJycjIyMfHx8bGxsXFxcTE
xMPDw8LCwsHBwcDAwL+/v76+vr29vby8vLu7u7q6urm5ubi4uLe3t7a2trW1tbS0tLOzs7KysrGxsbCw
sK+vr66urq2traysrKurq6qqqqmpqaioqKenp6ampqWlpaSkpKOjo6KioqGhoaCgoJ+fn56enp2dnZyc
nJubm5qampmZmZiYmJeXl5aWlpWVlZSUlJOTk5KSkpGRkZCQkI+Pj46Ojo2NjYyMjIuLi4qKiomJiYiI
iIeHh////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ACH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAACJACwAAAAAxwNcAAAI1QBdCBxIsKDBgwgTKlzIsKHDhxAj
SpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlxZMYDLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjR
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
</value>
</data>
</root>

68
cVMS.NET_CS/Dialog/Frm_SMsg.Designer.cs generated Normal file
View File

@@ -0,0 +1,68 @@
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_SMsg : 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 디자이너에 필요합니다.
private System.ComponentModel.Container components = null;
//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
//수정하려면 Windows Form 디자이너를 사용하십시오.
//코드 편집기를 사용하여 수정하지 마십시오.
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
{
this.Label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
//Label1
//
this.Label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.Label1.Location = new System.Drawing.Point(0, 0);
this.Label1.Name = "Label1";
this.Label1.Size = new System.Drawing.Size(516, 56);
this.Label1.TabIndex = 0;
this.Label1.Text = "...";
this.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
//Frm_SMsg
//
this.AutoScaleDimensions = new System.Drawing.SizeF((float) (7.0F), (float) (12.0F));
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(516, 56);
this.Controls.Add(this.Label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "Frm_SMsg";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "잠시만 기다려주세요";
this.ResumeLayout(false);
}
internal System.Windows.Forms.Label Label1;
}
}

View File

@@ -0,0 +1,18 @@
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 Frm_SMsg
{
public Frm_SMsg()
{
InitializeComponent();
}
}
}

View 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>

View File

@@ -0,0 +1,168 @@
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_SelectCH : 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 디자이너에 필요합니다.
private System.ComponentModel.Container components = null;
//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
//수정하려면 Windows Form 디자이너를 사용하십시오.
//코드 편집기에서는 수정하지 마세요.
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_SelectCH));
this.Button1 = new System.Windows.Forms.Button();
this.Panel1 = new System.Windows.Forms.Panel();
this.Button4 = new System.Windows.Forms.Button();
this.Button3 = new System.Windows.Forms.Button();
this.Button2 = new System.Windows.Forms.Button();
this.CheckedListBox1 = new System.Windows.Forms.ListView();
this.ColumnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.Panel1.SuspendLayout();
this.SuspendLayout();
//
// Button1
//
this.Button1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.Button1.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Button1.Location = new System.Drawing.Point(0, 624);
this.Button1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Button1.Name = "Button1";
this.Button1.Size = new System.Drawing.Size(388, 101);
this.Button1.TabIndex = 1;
this.Button1.Text = "확인";
this.Button1.UseVisualStyleBackColor = true;
this.Button1.Click += new System.EventHandler(this.Button1_Click);
//
// Panel1
//
this.Panel1.Controls.Add(this.Button4);
this.Panel1.Controls.Add(this.Button3);
this.Panel1.Controls.Add(this.Button2);
this.Panel1.Dock = System.Windows.Forms.DockStyle.Right;
this.Panel1.Location = new System.Drawing.Point(219, 0);
this.Panel1.Name = "Panel1";
this.Panel1.Size = new System.Drawing.Size(169, 624);
this.Panel1.TabIndex = 2;
//
// Button4
//
this.Button4.Dock = System.Windows.Forms.DockStyle.Top;
this.Button4.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Button4.Location = new System.Drawing.Point(0, 166);
this.Button4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Button4.Name = "Button4";
this.Button4.Size = new System.Drawing.Size(169, 83);
this.Button4.TabIndex = 4;
this.Button4.Text = "선택 반전";
this.Button4.UseVisualStyleBackColor = true;
this.Button4.Visible = false;
this.Button4.Click += new System.EventHandler(this.Button4_Click);
//
// Button3
//
this.Button3.Dock = System.Windows.Forms.DockStyle.Top;
this.Button3.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Button3.Location = new System.Drawing.Point(0, 83);
this.Button3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Button3.Name = "Button3";
this.Button3.Size = new System.Drawing.Size(169, 83);
this.Button3.TabIndex = 3;
this.Button3.Text = "전체 해제";
this.Button3.UseVisualStyleBackColor = true;
this.Button3.Click += new System.EventHandler(this.Button3_Click);
//
// Button2
//
this.Button2.Dock = System.Windows.Forms.DockStyle.Top;
this.Button2.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Button2.Location = new System.Drawing.Point(0, 0);
this.Button2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Button2.Name = "Button2";
this.Button2.Size = new System.Drawing.Size(169, 83);
this.Button2.TabIndex = 2;
this.Button2.Text = "전체 선택";
this.Button2.UseVisualStyleBackColor = true;
this.Button2.Visible = false;
this.Button2.Click += new System.EventHandler(this.Button2_Click);
//
// CheckedListBox1
//
this.CheckedListBox1.CheckBoxes = true;
this.CheckedListBox1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.ColumnHeader2});
this.CheckedListBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.CheckedListBox1.FullRowSelect = true;
this.CheckedListBox1.GridLines = true;
this.CheckedListBox1.HideSelection = false;
this.CheckedListBox1.Location = new System.Drawing.Point(0, 0);
this.CheckedListBox1.MultiSelect = false;
this.CheckedListBox1.Name = "CheckedListBox1";
this.CheckedListBox1.Size = new System.Drawing.Size(219, 624);
this.CheckedListBox1.TabIndex = 3;
this.CheckedListBox1.UseCompatibleStateImageBehavior = false;
this.CheckedListBox1.View = System.Windows.Forms.View.Details;
//
// ColumnHeader2
//
this.ColumnHeader2.Text = "Title";
this.ColumnHeader2.Width = 214;
//
// Frm_SelectCH
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(388, 725);
this.Controls.Add(this.CheckedListBox1);
this.Controls.Add(this.Panel1);
this.Controls.Add(this.Button1);
this.Font = new System.Drawing.Font("맑은 고딕", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frm_SelectCH";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "채널 선택";
this.Load += new System.EventHandler(this.Frm_SelectCH_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Frm_SelectCH_KeyDown);
this.Panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
internal Button Button1;
internal Panel Panel1;
internal Button Button2;
internal Button Button4;
internal Button Button3;
internal ColumnHeader ColumnHeader2;
public ListView CheckedListBox1;
}
}

View File

@@ -0,0 +1,115 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using AR;
namespace vmsnet
{
public partial class Frm_SelectCH
{
public Frm_SelectCH(DS1.channelDataTable lst)
{
// 디자이너에서 이 호출이 필요합니다.
InitializeComponent();
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하세요.
this.CheckedListBox1.Items.Clear();
foreach (var item in lst)
{
ListViewItem lv = this.CheckedListBox1.Items.Add(System.Convert.ToString(item.cname));
lv.SubItems.Add(item.cname.ToString());
//lv.SubItems.Add(item.CH)
lv.Checked = item.use;
lv.Tag = item.idx;
lv.BackColor = item.use ? Color.Lime : Color.White;
}
CheckedListBox1.ItemChecked += CheckedListBox1_ItemChecked;
}
public Frm_SelectCH(TrendCtrlII.CChinfo[] lst)
{
// 디자이너에서 이 호출이 필요합니다.
InitializeComponent();
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하세요.
this.CheckedListBox1.Items.Clear();
foreach (var item in lst)
{
ListViewItem lv = this.CheckedListBox1.Items.Add(System.Convert.ToString(item.TITLE));
lv.SubItems.Add(item.TITLE.ToString());
//lv.SubItems.Add(item.CH)
lv.Checked = item.Show;
lv.Tag = item.Idx;
lv.BackColor = item.Show ? Color.Lime : Color.White;
}
CheckedListBox1.ItemChecked += CheckedListBox1_ItemChecked;
}
private void CheckedListBox1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
e.Item.BackColor = e.Item.Checked ? Color.Lime : Color.White;
}
public void Frm_SelectCH_Load(object sender, EventArgs e)
{
}
public void Frm_SelectCH_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
}
public void Button2_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in CheckedListBox1.Items)
{
item.Checked = true;
item.BackColor = item.Checked ? Color.Lime : Color.White;
}
}
public void Button3_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in CheckedListBox1.Items)
{
item.Checked = false;
item.BackColor = item.Checked ? Color.Lime : Color.White;
}
}
public void Button4_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in CheckedListBox1.Items)
{
item.Checked = !item.Checked;
item.BackColor = item.Checked ? Color.Lime : Color.White;
}
}
public void Button1_Click(object sender, EventArgs e)
{
if (CheckedListBox1.CheckedItems.Count > 10)
{
UTIL.MsgE("최대 10개까지 선택 가능 합니다");
return ;
}
DialogResult = DialogResult.OK;
}
}
}

View File

@@ -0,0 +1,377 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$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>

View File

@@ -0,0 +1,281 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using vmsnet;
namespace vmsnet
{
partial class Frm_trend_Real : 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_trend_Real));
this.ToolTip1 = new System.Windows.Forms.ToolTip();
this.Panel1 = new System.Windows.Forms.Panel();
this.cmb_tanks = new System.Windows.Forms.ComboBox();
this.btSelectCH = new System.Windows.Forms.Button();
this.Label4 = new System.Windows.Forms.Label();
this.TableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.Panel2 = new System.Windows.Forms.Panel();
this.bsCHList = new System.Windows.Forms.BindingSource();
this.documentElement1 = new vmsnet.DocumentElement();
this.Timer1 = new System.Windows.Forms.Timer();
this.ds1 = new vmsnet.DS1();
this.ToolStrip2 = new System.Windows.Forms.ToolStrip();
this.ToolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.cmb_volt = new System.Windows.Forms.ToolStripComboBox();
this.ToolStripLabel2 = new System.Windows.Forms.ToolStripLabel();
this.cmb_time = new System.Windows.Forms.ToolStripComboBox();
this.prb1 = new System.Windows.Forms.ToolStripProgressBar();
this.btConfig = new System.Windows.Forms.ToolStripButton();
this.Panel1.SuspendLayout();
this.TableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bsCHList)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.documentElement1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ds1)).BeginInit();
this.ToolStrip2.SuspendLayout();
this.SuspendLayout();
//
// Panel1
//
this.Panel1.BackColor = System.Drawing.Color.WhiteSmoke;
this.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Panel1.Controls.Add(this.cmb_tanks);
this.Panel1.Controls.Add(this.btSelectCH);
this.Panel1.Controls.Add(this.Label4);
this.Panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.Panel1.Location = new System.Drawing.Point(0, 0);
this.Panel1.Margin = new System.Windows.Forms.Padding(0);
this.Panel1.Name = "Panel1";
this.Panel1.Padding = new System.Windows.Forms.Padding(3);
this.Panel1.Size = new System.Drawing.Size(1247, 39);
this.Panel1.TabIndex = 7;
this.Panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.Panel1_Paint);
//
// cmb_tanks
//
this.cmb_tanks.Dock = System.Windows.Forms.DockStyle.Fill;
this.cmb_tanks.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_tanks.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.cmb_tanks.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.cmb_tanks.FormattingEnabled = true;
this.cmb_tanks.Location = new System.Drawing.Point(72, 3);
this.cmb_tanks.Name = "cmb_tanks";
this.cmb_tanks.Size = new System.Drawing.Size(1052, 32);
this.cmb_tanks.TabIndex = 16;
this.cmb_tanks.SelectedIndexChanged += new System.EventHandler(this.cmb_group_SelectedIndexChanged);
//
// btSelectCH
//
this.btSelectCH.Dock = System.Windows.Forms.DockStyle.Right;
this.btSelectCH.Location = new System.Drawing.Point(1124, 3);
this.btSelectCH.Name = "btSelectCH";
this.btSelectCH.Size = new System.Drawing.Size(118, 31);
this.btSelectCH.TabIndex = 19;
this.btSelectCH.Text = "채널선택";
this.btSelectCH.UseVisualStyleBackColor = true;
this.btSelectCH.Click += new System.EventHandler(this.btSelectCH_Click);
//
// Label4
//
this.Label4.Dock = System.Windows.Forms.DockStyle.Left;
this.Label4.Location = new System.Drawing.Point(3, 3);
this.Label4.Name = "Label4";
this.Label4.Size = new System.Drawing.Size(69, 31);
this.Label4.TabIndex = 15;
this.Label4.Text = "그룹";
this.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// TableLayoutPanel1
//
this.TableLayoutPanel1.ColumnCount = 1;
this.TableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.TableLayoutPanel1.Controls.Add(this.Panel2, 0, 1);
this.TableLayoutPanel1.Controls.Add(this.Panel1, 0, 0);
this.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.TableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.TableLayoutPanel1.Name = "TableLayoutPanel1";
this.TableLayoutPanel1.RowCount = 2;
this.TableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 39F));
this.TableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.TableLayoutPanel1.Size = new System.Drawing.Size(1247, 864);
this.TableLayoutPanel1.TabIndex = 9;
//
// Panel2
//
this.Panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.Panel2.Location = new System.Drawing.Point(3, 42);
this.Panel2.Name = "Panel2";
this.Panel2.Size = new System.Drawing.Size(1241, 819);
this.Panel2.TabIndex = 8;
//
// bsCHList
//
this.bsCHList.DataMember = "TRENDVIEWCHLIST";
this.bsCHList.DataSource = this.documentElement1;
this.bsCHList.Sort = "SHOW,IDX";
//
// documentElement1
//
this.documentElement1.DataSetName = "DocumentElement";
this.documentElement1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// Timer1
//
this.Timer1.Interval = 200;
this.Timer1.Tick += new System.EventHandler(this.Timer1_Tick);
//
// ds1
//
this.ds1.DataSetName = "DS1";
this.ds1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// ToolStrip2
//
this.ToolStrip2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.ToolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripLabel1,
this.cmb_volt,
this.ToolStripLabel2,
this.cmb_time,
this.prb1,
this.btConfig});
this.ToolStrip2.Location = new System.Drawing.Point(0, 864);
this.ToolStrip2.Name = "ToolStrip2";
this.ToolStrip2.Size = new System.Drawing.Size(1247, 29);
this.ToolStrip2.TabIndex = 10;
this.ToolStrip2.Text = "ToolStrip2";
//
// ToolStripLabel1
//
this.ToolStripLabel1.Name = "ToolStripLabel1";
this.ToolStripLabel1.Size = new System.Drawing.Size(55, 26);
this.ToolStripLabel1.Text = "전압범위";
//
// cmb_volt
//
this.cmb_volt.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_volt.Items.AddRange(new object[] {
"Auto",
"3v",
"5v",
"7v",
"9v",
"11v",
"13v",
"15v",
"17v",
"20v"});
this.cmb_volt.Name = "cmb_volt";
this.cmb_volt.Size = new System.Drawing.Size(75, 29);
this.cmb_volt.SelectedIndexChanged += new System.EventHandler(this.cmb_volt_SelectedIndexChanged);
//
// ToolStripLabel2
//
this.ToolStripLabel2.Name = "ToolStripLabel2";
this.ToolStripLabel2.Size = new System.Drawing.Size(55, 26);
this.ToolStripLabel2.Text = "시간범위";
//
// cmb_time
//
this.cmb_time.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_time.Items.AddRange(new object[] {
"1분",
"3분",
"5분",
"10분",
"30분",
"60분"});
this.cmb_time.Name = "cmb_time";
this.cmb_time.Size = new System.Drawing.Size(75, 29);
this.cmb_time.SelectedIndexChanged += new System.EventHandler(this.cmb_time_SelectedIndexChanged_1);
//
// prb1
//
this.prb1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.prb1.Name = "prb1";
this.prb1.Size = new System.Drawing.Size(100, 26);
//
// btConfig
//
this.btConfig.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.btConfig.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btConfig.Image = global::vmsnet.Properties.Resources.graphsetting;
this.btConfig.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btConfig.Name = "btConfig";
this.btConfig.Size = new System.Drawing.Size(23, 26);
this.btConfig.Text = "config";
this.btConfig.Click += new System.EventHandler(this.btConfig_Click);
//
// Frm_trend_Real
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1247, 893);
this.Controls.Add(this.TableLayoutPanel1);
this.Controls.Add(this.ToolStrip2);
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.KeyPreview = true;
this.Name = "Frm_trend_Real";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "트렌드뷰(실시간)";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Frm_trend_FormClosing);
this.Load += new System.EventHandler(this.Frm_trend_Load);
this.Panel1.ResumeLayout(false);
this.TableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.bsCHList)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.documentElement1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ds1)).EndInit();
this.ToolStrip2.ResumeLayout(false);
this.ToolStrip2.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
internal System.Windows.Forms.ToolTip ToolTip1;
internal System.Windows.Forms.Panel Panel1;
internal System.Windows.Forms.ComboBox cmb_tanks;
internal System.Windows.Forms.Label Label4;
internal System.Windows.Forms.TableLayoutPanel TableLayoutPanel1;
internal System.Windows.Forms.Panel Panel2;
internal Button btSelectCH;
internal Timer Timer1;
private System.ComponentModel.IContainer components;
private BindingSource bsCHList;
private DocumentElement documentElement1;
private DS1 ds1;
internal ToolStrip ToolStrip2;
internal ToolStripLabel ToolStripLabel1;
internal ToolStripComboBox cmb_volt;
internal ToolStripLabel ToolStripLabel2;
internal ToolStripComboBox cmb_time;
internal ToolStripProgressBar prb1;
private ToolStripButton btConfig;
}
}

View File

@@ -0,0 +1,555 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using TrendCtrlII;
using AR;
using System.Data.SqlTypes;
using System.Diagnostics.Eventing.Reader;
using System.Data.Linq;
namespace vmsnet
{
public partial class Frm_trend_Real
{
private string lasttime = "";
private DateTime EndDate = DateTime.Now;
private bool init = false;
private HMI.DispCtrl DispCtrl1;
readonly ScottPlot.WinForms.FormsPlot formsPlot1;
ScottPlot.Plottables.Scatter[] Streamer1;
List<float>[] dataVolt = null;
List<double>[] dataTime = null;
short voltlimit = 0;
short timelimit = 10;
public Frm_trend_Real(HMI.DispCtrl dispctrl)
{
// 디자이너에서 이 호출이 필요합니다.
InitializeComponent();
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하세요.
//현재데이터베이스를 복제한다.
MakeTempDatabase();
formsPlot1 = new ScottPlot.WinForms.FormsPlot() { Dock = DockStyle.Fill };
formsPlot1.MouseDown += FormsPlot1_MouseDown;
formsPlot1.MouseUp += FormsPlot1_MouseUp;
formsPlot1.MouseMove += FormsPlot1_MouseMove;
CrossHair = formsPlot1.Plot.Add.Crosshair(0, 0);
CrossHair.TextColor = ScottPlot.Colors.White;
CrossHair.TextBackgroundColor = CrossHair.HorizontalLine.Color;
formsPlot1.Plot.YLabel("VOLTAGE");
formsPlot1.Plot.XLabel("COUNT");
formsPlot1.Plot.Axes.Bottom.MinimumSize = PUB.TREND.graph_bottom_minsize;
this.formsPlot1.Plot.ShowLegend();
formsPlot1.Plot.Axes.DateTimeTicksBottom();
this.formsPlot1.Plot.Axes.ContinuouslyAutoscale = true;
this.formsPlot1.Plot.RenderManager.RenderStarting += (s1, e1) =>
{
ScottPlot.Tick[] ticks = formsPlot1.Plot.Axes.Bottom.TickGenerator.Ticks;
for (int i = 0; i < ticks.Length; i++)
{
DateTime dt = DateTime.FromOADate(ticks[i].Position);
string label = $"{dt:yy-MM-dd\nHH:mm:ss}";
ticks[i] = new ScottPlot.Tick(ticks[i].Position, label);
}
};
Panel2.Controls.Clear();
this.Panel2.Controls.Add(this.formsPlot1);
////그룹데이터목록
this.cmb_tanks.Items.Clear();
for (int i = 0; i <= dispctrl.GROUPS.Length - 1; i++)
{
var grp = dispctrl.GROUPS[i];
this.cmb_tanks.Items.Add(grp.);
}
DispCtrl1 = dispctrl;
PUB.RemoteCommandEvent += Pub_RemoteCommandEvent;
Refresh_전해조목록();
if (this.cmb_tanks.Items.Count > 0)
this.cmb_tanks.SelectedIndex = 0;
Streamer1 = new ScottPlot.Plottables.Scatter[0];
dataVolt = new List<float>[0];
dataTime = new List<double>[0];
}
public void Frm_trend_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
saveviewSetting();
PUB.RemoteCommandEvent -= Pub_RemoteCommandEvent;
formsPlot1.MouseDown -= FormsPlot1_MouseDown;
formsPlot1.MouseUp -= FormsPlot1_MouseUp;
formsPlot1.MouseMove -= FormsPlot1_MouseMove;
Timer1.Stop();
}
void MakeTempDatabase()
{
//현재데이터베이스를 복제한다.
this.documentElement1.Clear();
this.documentElement1.GRP.Merge(PUB.DS.GRP);
this.documentElement1.CHANNEL.Merge(PUB.DS.CHANNEL);
this.documentElement1.AcceptChanges();
this.ds1.Clear();
this.ds1.AcceptChanges();
}
private void Refresh_전해조목록()
{
this.cmb_tanks.Items.Clear();
var grplist = this.documentElement1.GRP.Where(t => t.USE == 1);
if (grplist.Any() == false)
{
UTIL.MsgE("활성화된 그룹이 없습니다");
return;
}
var namelist = grplist.Select(t => $"[{t.IDX:00}] {t.TITLE}").ToArray();
this.cmb_tanks.Items.AddRange(namelist);
}
public void Frm_trend_Load(System.Object sender, System.EventArgs e)
{
EndDate = DateTime.Now;
////마지막으로 선택한 그룹을 선택해준다.
var selidx0 = (PUB.CONFIG.tvr_selectgroup0); // XMl.Data("trendview", "selectgroup0", "0")
this.cmb_tanks.SelectedIndex = selidx0;
loadviewSetting();
init = true;
Timer1.Start();
}
private void Pub_RemoteCommandEvent(object sender, RemoteCommand e)
{
if (e.Command == rCommand.ValueUpdate)
{
//스트리머,데이터,선택된 채널 정보가 있어야 업데이트 가능하다
if (e.Data != null && this.Streamer1 != null && this.selectchlist.Any())
{
var data = e.Data as List<NotifyData>;
//선택된 채널의 정보만 사용
var recvdatas = data.Where(t => selectchlist.Contains(t.chno)).Select(t => t);
if (recvdatas.Any() == false) return; //대상채널데이터가 없다.
//받은데이터를 화면에 추가한다.
foreach (var newdata in recvdatas)
{
var ch = newdata.chno - 1;
var val = newdata.value;
var time = newdata.time;
//자료가없거나 스트리머가 없는 경우
if (ch >= this.Streamer1.Length || this.Streamer1[ch] == null) continue;
float value = 0;
if (PUB.CONFIG.datadiv != 0 && PUB.CONFIG.datadiv != 1)
value = (newdata.value) / PUB.CONFIG.datadiv;
else
value = (newdata.value);
//채널정보를 통해서 소수점위치와 옾셋값을 가져온다
if (newdata.decpos > 0) value = (float)(value / Math.Pow(10, newdata.decpos));
//최종옵셋
value += newdata.offset;
//데이터 추가
if (this.Streamer1[ch].IsVisible)
{
var v_time = DateTime.Parse(time);
this.dataTime[ch].Add(v_time.ToOADate());
this.dataVolt[ch].Add(value);
var mintime = DateTime.FromOADate(dataTime[ch].First());
var maxtime = DateTime.FromOADate(dataTime[ch].Last());
var ts = (maxtime - mintime);
if (ts.TotalMinutes >= this.timelimit)
{
//10개지운다
if (dataTime[ch].Count > 10)
{
dataTime[ch].RemoveRange(0, 10);
dataVolt[ch].RemoveRange(0, 10);
}
}
}
}
this.BeginInvoke(new Action(() =>
{
if (voltlimit != 0) formsPlot1.Plot.Axes.AutoScaleX();
this.formsPlot1.Refresh();
}));
}
}
}
#region "scott plot mouse event"
ScottPlot.Plottables.Crosshair CrossHair;
ScottPlot.Plottables.VerticalLine[] CursorLine;
private ScottPlot.Plottables.AxisLine GetLineUnderMouse(float x, float y)
{
ScottPlot.CoordinateRect rect = formsPlot1.Plot.GetCoordinateRect(x, y, radius: 10);
foreach (var axLine in formsPlot1.Plot.GetPlottables<ScottPlot.Plottables.AxisLine>().Reverse())
{
if (axLine.IsUnderMouse(rect))
return axLine;
}
return null;
}
private void FormsPlot1_MouseDown(object sender, MouseEventArgs e)
{
var lineUnderMouse = GetLineUnderMouse(e.X, e.Y);
if (lineUnderMouse != null)
{
PlottableBeingDragged = lineUnderMouse;
formsPlot1.Interaction.Disable(); // disable panning while dragging
}
}
private void FormsPlot1_MouseUp(object sender, MouseEventArgs e)
{
PlottableBeingDragged = null;
formsPlot1.Interaction.Enable(); // enable panning again
formsPlot1.Refresh();
}
ScottPlot.Plottables.AxisLine PlottableBeingDragged = null;
private void FormsPlot1_MouseMove(object sender, MouseEventArgs e)
{
//update cross line
ScottPlot.Pixel mousePixel = new ScottPlot.Pixel(e.X, e.Y);
ScottPlot.Coordinates mouseCoordinates = formsPlot1.Plot.GetCoordinates(mousePixel);
if (mouseCoordinates.X is double.NaN || mouseCoordinates.Y is double.NaN ||
mouseCoordinates.X is double.PositiveInfinity || mouseCoordinates.Y is double.PositiveInfinity ||
mouseCoordinates.X is double.NegativeInfinity || mouseCoordinates.Y is double.NegativeInfinity)
{
return;
}
if (CrossHair != null)
{
CrossHair.Position = mouseCoordinates;
var time = DateTime.FromOADate(mouseCoordinates.X);
CrossHair.VerticalLine.Text = $"{time:yy-MM-dd\nHH:mm:ss}";
CrossHair.HorizontalLine.Text = $"{mouseCoordinates.Y:N2}v";
formsPlot1.Refresh();
}
// this rectangle is the area around the mouse in coordinate units
ScottPlot.CoordinateRect rect = formsPlot1.Plot.GetCoordinateRect(e.X, e.Y, radius: 10);
if (PlottableBeingDragged is null)
{
// set cursor based on what's beneath the plottable
var lineUnderMouse = GetLineUnderMouse(e.X, e.Y);
if (lineUnderMouse is null) Cursor = Cursors.Default;
else if (lineUnderMouse.IsDraggable && lineUnderMouse is ScottPlot.Plottables.VerticalLine) Cursor = Cursors.SizeWE;
else if (lineUnderMouse.IsDraggable && lineUnderMouse is ScottPlot.Plottables.HorizontalLine) Cursor = Cursors.SizeNS;
}
else
{
// update the position of the plottable being dragged
if (PlottableBeingDragged is ScottPlot.Plottables.HorizontalLine hl)
{
hl.Y = rect.VerticalCenter;
hl.Text = $"{hl.Y:0.00}v";
}
else if (PlottableBeingDragged is ScottPlot.Plottables.VerticalLine vl)
{
vl.X = rect.HorizontalCenter;
var time = DateTime.FromOADate(vl.X);
//vl.Text = $"{vl.X:0.00}";
vl.Text = $"{time:yy-MM-dd\nHH:mm:ss}";
}
formsPlot1.Refresh();
}
}
#endregion
//그룹이 선택된 경우
public void cmb_group_SelectedIndexChanged(System.Object sender, System.EventArgs e)
{
if (cmb_tanks.SelectedIndex < 0) return;
if (System.Diagnostics.Debugger.IsAttached) Console.WriteLine($"grp selectedindex val={cmb_tanks.SelectedIndex}");
//현재등록된 목록을 모두 삭제
this.ds1.channel.Clear();
this.formsPlot1.Plot.Remove<ScottPlot.Plottables.DataStreamer>(); //데이터스트림삭제
this.formsPlot1.Refresh();
var grpName = cmb_tanks.Text.Substring(4).Trim();
var grpNo = int.Parse(cmb_tanks.Text.Substring(1, 2));
var grpdr = this.documentElement1.GRP.Where(t => t.TITLE.Equals(grpName)).FirstOrDefault();
if (grpdr == null) return;
var chlist = this.documentElement1.CHANNEL.Where(t => t.GIDX == grpdr.IDX);
if (chlist.Any() == false) return;
// 미리저장된 목록을 확인한다.
var chstr = "";
if (grpNo == 0) chstr = PUB.CONFIG.grp0chlist;
else if (grpNo == 1) chstr = PUB.CONFIG.grp1chlist;
else if (grpNo == 2) chstr = PUB.CONFIG.grp2chlist;
else if (grpNo == 3) chstr = PUB.CONFIG.grp3chlist;
else if (grpNo == 4) chstr = PUB.CONFIG.grp4chlist;
else if (grpNo == 5) chstr = PUB.CONFIG.grp5chlist;
else if (grpNo == 6) chstr = PUB.CONFIG.grp6chlist;
else if (grpNo == 7) chstr = PUB.CONFIG.grp7chlist;
else if (grpNo == 8) chstr = PUB.CONFIG.grp8chlist;
else if (grpNo == 9) chstr = PUB.CONFIG.grp9chlist;
var chbuf = chstr.Split((char[])(new[] { ',' }), StringSplitOptions.RemoveEmptyEntries);
//목록은 추가하지만 스트립을 추가하지 않으니 최초 선택시에는 데이터가 나오지 않는다.
//사용자는 채널 선택을 사용해야 데이터가 보인다.
this.ds1.channel.Clear();
this.selectchlist.Clear();
foreach (var dr in chlist)
{
var newdr = ds1.channel.NewchannelRow();
newdr.idx = dr.IDX;
newdr.use = chbuf.Contains(dr.IDX.ToString()) ? true : false;
newdr.c1 = "";
newdr.c2 = "";
newdr.cname = dr.TITLE;
newdr.cc = dr.COLOR;
ds1.channel.AddchannelRow(newdr);
}
ds1.channel.AcceptChanges();
formsPlot1.Refresh();
}
public void ToolStripButton1_Click_1(object sender, EventArgs e)
{
string dir = System.IO.Path.Combine(PUB.CONFIG.GetDatabasePath(), "DataBase", "volt");
UTIL.RunExplorer(dir);
}
private void loadviewSetting()
{
cmb_volt.SelectedIndex = (PUB.CONFIG.cell_voltindex); // Xml.Data("rtlview", "voltindex", "1")
cmb_time.SelectedIndex = (PUB.CONFIG.cell_timeindex); // XMl.Data("rtlview", "timeindex", "0")
}
private void saveviewSetting()
{
PUB.CONFIG.cell_voltindex = (cmb_volt.SelectedIndex);
PUB.CONFIG.cell_timeindex = (cmb_time.SelectedIndex);
PUB.CONFIG.Save();
}
public void bs_grp_CurrentChanged(object sender, EventArgs e)
{
////사용자가 그룹을 선택하면 해당 그룹에 연결된 채널목록을 가지고 사용 데이터 그룹을 결정함
}
/// <summary>
/// 1부터시작하는 채널의 번호입니다.(인덱스가 아님)
/// 채널선택화면에서 선택된 채널 번호만 들어있다.
/// docuementElement1 에는 모든 그룹/채널 정보가 들어있다
/// </summary>
List<int> selectchlist = new List<int>();
public void btSelectCH_Click(object sender, EventArgs e)
{
var grpName = cmb_tanks.Text.Substring(4).Trim();
var grpNo = int.Parse(cmb_tanks.Text.Substring(1, 2));
//현재선택된 그룹의 채널목록을 추출해야한다.
if (grpName.isEmpty())
{
UTIL.MsgE("채널 그룹을 선택하세요");
return;
}
var drGrp = documentElement1.GRP.Where(t => t.TITLE == grpName).FirstOrDefault();
if (drGrp == null)
{
UTIL.MsgE("선택된 채널 그룹 정보가 없습니다");
return;
}
//채널목록을 확인한다.
var chrows = documentElement1.CHANNEL.Where(t => t.GIDX == drGrp.IDX);
if (chrows.Any() == false)
{
UTIL.MsgE("해당 그룹에 등록된 채널정보가 없습니다");
return;
}
//현재 등록된 채널정보를 토대로 데이터를 선택한다
using (var f = new Frm_SelectCH(ds1.channel))
{
if (f.ShowDialog() == DialogResult.OK)
{
//현재등록된 목록을 모두 삭제
this.formsPlot1.Plot.Remove<ScottPlot.Plottables.Scatter>(); //데이터스트림삭제
this.formsPlot1.Refresh();
this.selectchlist.Clear();
//기존에 선택된 자료 선택하제
foreach (var item in ds1.channel.Where(t => t.use))
{
item.use = false;
}
ds1.channel.AcceptChanges();
foreach (ListViewItem item in f.CheckedListBox1.Items) //선택된 목록만 가져온다
{
int idx = int.Parse(item.Tag.ToString()); //.SubItems(0).Text)
//지정된 플롯의 표시여부를 변경한다.
if (this.Streamer1.Length < idx)
{
Array.Resize(ref Streamer1, idx);
Array.Resize(ref dataVolt, idx);
Array.Resize(ref dataTime, idx);
}
if (dataTime[idx - 1] == null) dataTime[idx - 1] = new List<double>();
if (dataVolt[idx - 1] == null) dataVolt[idx - 1] = new List<float>();
if (Streamer1[idx - 1] != null) this.Streamer1[idx - 1] = null;
Streamer1[idx - 1] = this.formsPlot1.Plot.Add.ScatterPoints(dataTime[idx - 1], dataVolt[idx - 1]);
Streamer1[idx - 1].LineWidth = 1;
Streamer1[idx - 1].MarkerSize = 0;
Streamer1[idx - 1].LegendText = $"CH{idx}";
Streamer1[idx - 1].IsVisible = item.Checked;
var dr = ds1.channel.Where(t => t.idx == idx).FirstOrDefault();
if (dr != null)
{
dr.use = item.Checked;
dr.EndEdit();
}
if (item.Checked) selectchlist.Add(idx); //선택채널에 추가한다.
}
ds1.channel.AcceptChanges();
//사용자목록에 저장한다
string chstr = string.Join(",", selectchlist.ToArray());
if (grpNo == 0) PUB.CONFIG.grp0chlist = chstr;
else if (grpNo == 1) PUB.CONFIG.grp1chlist = chstr;
else if (grpNo == 2) PUB.CONFIG.grp2chlist = chstr;
else if (grpNo == 3) PUB.CONFIG.grp3chlist = chstr;
else if (grpNo == 4) PUB.CONFIG.grp4chlist = chstr;
else if (grpNo == 5) PUB.CONFIG.grp5chlist = chstr;
else if (grpNo == 6) PUB.CONFIG.grp6chlist = chstr;
else if (grpNo == 7) PUB.CONFIG.grp7chlist = chstr;
else if (grpNo == 8) PUB.CONFIG.grp8chlist = chstr;
else if (grpNo == 9) PUB.CONFIG.grp9chlist = chstr;
PUB.CONFIG.Save();
if (CrossHair == null)
{
CrossHair = formsPlot1.Plot.Add.Crosshair(0, 0);
CrossHair.TextColor = ScottPlot.Colors.White;
CrossHair.TextBackgroundColor = CrossHair.HorizontalLine.Color;
}
formsPlot1.Plot.Axes.ContinuouslyAutoscale = true;
this.formsPlot1.Refresh();
}
}
}
public void Timer1_Tick(object sender, EventArgs e)
{
}
private void Panel1_Paint(object sender, PaintEventArgs e)
{
}
private void cmb_volt_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmb_volt.SelectedIndex < 0) return;
if (cmb_volt.SelectedIndex == 0) voltlimit = 0;
else voltlimit = short.Parse(this.cmb_volt.Text.Replace("v", ""));
if (this.formsPlot1 != null)
{
if (voltlimit == 0)
this.formsPlot1.Plot.Axes.ContinuouslyAutoscale = true;
else
{
this.formsPlot1.Plot.Axes.ContinuouslyAutoscale = false;
this.formsPlot1.Plot.Axes.SetLimitsY(0, voltlimit);
}
}
}
private void cmb_time_SelectedIndexChanged_1(object sender, EventArgs e)
{
if (cmb_time.SelectedIndex < 0) return;
timelimit = short.Parse(this.cmb_time.Text.Replace("분", ""));
}
private void btConfig_Click(object sender, EventArgs e)
{
if (UTIL.ShowPropertyDialog(PUB.TREND) == DialogResult.OK)
{
PUB.TREND.Save();
formsPlot1.Plot.Axes.Bottom.MinimumSize = PUB.TREND.graph_bottom_minsize;
if (PUB.TREND.y_scale_auto)
formsPlot1.Plot.Axes.AutoScaleY();
else
formsPlot1.Plot.Axes.SetLimitsY(PUB.TREND.graph_y_start, PUB.TREND.graph_y_end);
formsPlot1.Refresh();
}
}
}
}

View File

@@ -0,0 +1,398 @@
<?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="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>176, 17</value>
</metadata>
<metadata name="bsCHList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>476, 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>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>385, 17</value>
</metadata>
<metadata name="ds1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>577, 17</value>
</metadata>
<metadata name="ToolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>650, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>81</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<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
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
rEHwD6xB+B+sQfgfrEH8P6xB/j+sQf5/rEE=
</value>
</data>
</root>

60
cVMS.NET_CS/Dialog/fLog.Designer.cs generated Normal file
View 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;
}
}

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 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)
{
}
}
}

View 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>

View File

@@ -0,0 +1,64 @@
namespace vmsnet
{
partial class fPleaseWait
{
/// <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.label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.BackColor = System.Drawing.Color.White;
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.Font = new System.Drawing.Font("맑은 고딕", 30F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(800, 450);
this.label1.TabIndex = 0;
this.label1.Text = "잠시만 기다려 주세요";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// fPleaseWait
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.label1);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fPleaseWait";
this.Text = "f";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace vmsnet
{
public partial class fPleaseWait : Form
{
public fPleaseWait()
{
InitializeComponent();
}
}
}

View 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>