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

View File

@@ -0,0 +1,268 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using AR;
using System.Windows.Media;
using System.ComponentModel;
namespace vmsnet
{
public class CTrendSetting : AR.Setting
{
[Browsable(false)]
public DateTime graph_time_start { get; set; }
[Browsable(false)]
public DateTime graph_time_end { get; set; }
[Category("Y-Axis"), DisplayName("Y축 표시영역(시작)"), Description("Y축 그래프의 시작범위 입니다(voltage)")]
public float graph_y_start { get; set; }
[Category("Y-Axis"), DisplayName("Y축 표시영역(종료)"), Description("Y축 그래프의 종료범위 입니다(voltage)")]
public float graph_y_end { get; set; }
[Category("X-Axis"), DisplayName("X축 바닥영역 최소 크기"), Description("X축 바닥 글자 영역의 최소 크기 입니다. 글자가 가려지는 경우 이값을 늘려주세요")]
public float graph_bottom_minsize { get; set; }
[Category("Y-Axis"), DisplayName("Y축영역 자동설정"), Description("Y축 영역을 자동으로 설정합니다. 입력된 값에 따라서 자동으로 변경 됩니다")]
public bool y_scale_auto { get; set; }
[Browsable(false)]
public string tv_selectgroup0 { get; set; }
[Browsable(false)]
public string tv_selectgroup { get; set; }
public override void AfterLoad()
{
if ((graph_y_end < graph_y_start) || (graph_y_start == 0f && graph_y_end == 0f))
y_scale_auto = true;
if (graph_time_end.Year == 1982 || graph_time_start.Year == 1982)
{
graph_time_end = DateTime.Now;
graph_time_start = graph_time_end.AddDays(-7);
}
if (graph_bottom_minsize < 1) graph_bottom_minsize = 45;
}
public override void AfterSave()
{
}
}
public class CDesignSetting : AR.Setting
{
public string font_nb { get; set; }
public string font_cellname { get; set; }
public string font_cellvalue { get; set; }
public string font_summary { get; set; }
public string font_celltitle { get; set; }
public string font_alarmvalue { get; set; }
public override void AfterLoad()
{
if (font_nb.isEmpty()) font_nb = "Tahoma,35,1";
if (font_cellname.isEmpty()) font_cellname = "Tahoma,7,1";
if (font_cellvalue.isEmpty()) font_cellvalue = "Tahoma,8,1";
if (font_summary.isEmpty()) font_summary = "Tahoma,10,1";
if (font_celltitle.isEmpty()) font_celltitle = "Tahoma,8,1";
if (font_alarmvalue.isEmpty()) font_alarmvalue = "Tahoma,7,1";
}
public override void AfterSave()
{
}
}
public class CSetting : AR.Setting
{
public int Startup_DelayTime_Alam { get; set; }
public int Startup_DelayTime_Save { get; set; }
public int MaxChCount { get; set; }
public bool EnableKA { get; set; }
public bool alamplc { get; set; }
public string plc_port { get; set; }
public int plc_addr { get; set; }
public string bugreport { get; set; }
public int viewSize { get; set; }
public int datadiv { get; set; }
public bool nullbalnce { get; set; }
public bool Sumab { get; set; }
public string databasefolder { get; set; }
public bool binarysave { get; set; }
public bool synctime { get; set; }
//Public Property ascii As Boolean
//public bool autorun { get; set; } ////Monitor Auto Run
public bool lsb { get; set; }
/// <summary>
/// 서브윈도우가 open/close 될때 설정 됨
/// </summary>
public bool opensubwindow { get; set; }
public short trashper { get; set; } ////자동삭제용량단위
public short saveterm { get; set; }
public bool seconddata { get; set; }
public bool thirddata { get; set; }
public bool getdata4 { get; set; }
public bool sound { get; set; }
public string dbtype { get; set; }
public string sangho { get; set; }
public int threadlimit { get; set; }
public string tel { get; set; }
public int graph_time_day { get; set; }
public int graph_time_hour { get; set; }
public int graph_time_min { get; set; }
public int graph_line_width { get; set; }
public int graph_starty { get; set; }
public int graph_endy { get; set; }
public string win1pos { get; set; }
public string win2pos { get; set; }
public int tvr_selectgroup0 { get; set; }
public int tvr_selectgroup { get; set; }
public int cell_voltindex { get; set; }
public int cell_timeindex { get; set; }
////150319
public int maintv_xgap { get; set; } ////개별전해조보기에서 X 축 표시간격
public float maintv_ygap { get; set; } ////개별전해조보기에서 Y 축 표시간격
public int maintv_xterm { get; set; } ////개별전해조보기에서 X 축 표시범위
public int maintv_winsize { get; set; } ////개별전해조보기의 창 크기
public int meas_pri1 { get; set; } ////1번째 수집명령의 시작값
public int meas_pri2 { get; set; } ////1번째 수집명령의 종료값
public int meas_sec1 { get; set; } ////2번째 수집명령의 시작값
public int meas_sec2 { get; set; } ////2번째 수집명령의 종료값
public int meas_3rd1 { get; set; } ////2번째 수집명령의 시작값
public int meas_3rd2 { get; set; } ////2번째 수집명령의 종료값
public int meas_4th1 { get; set; } ////2번째 수집명령의 시작값
public int meas_4th2 { get; set; } ////2번째 수집명령의 종료값
public string grp0chlist { get; set; }
public string grp1chlist { get; set; }
public string grp2chlist { get; set; }
public string grp3chlist { get; set; }
public string grp4chlist { get; set; }
public string grp5chlist { get; set; }
public string grp6chlist { get; set; }
public string grp7chlist { get; set; }
public string grp8chlist { get; set; }
public string grp9chlist { get; set; }
public string indicator_port { get; set; }
public int indicator_baud { get; set; }
public int indicator_slaveno { get; set; }
public CSetting()
{
bugreport = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Bugreport");
}
public override void AfterLoad()
{
////버그리포트 폴더가 없다면 생성한다.
if (bugreport.isEmpty() == false && System.IO.Directory.Exists(bugreport) == false)
System.IO.Directory.CreateDirectory(bugreport);
//시작지연시간
if (Startup_DelayTime_Alam < 1) Startup_DelayTime_Alam = 10;
if (Startup_DelayTime_Save < 1) Startup_DelayTime_Save = 5;
if (indicator_baud == 0) indicator_baud = 9600;
if (threadlimit < 500) threadlimit = 500;
if (MaxChCount < 1) MaxChCount = 10;
if (meas_pri1 == 0 && meas_pri2 == 0)
{
//0번유닛 1번채널 부터~1번유닛 60번채널
meas_pri1 = 001;
meas_pri2 = 160;
}
if (meas_sec1 == 0 && meas_sec2 == 0)
{
//2번유닛 1번채널 부터~3번유닛 60번채널
meas_sec1 = 201;
meas_sec2 = 360;
}
if (meas_3rd1 == 0 && meas_3rd1 == 0)
{
//4번유닛 1번채널 부터~5번유닛 60번채널
meas_3rd1 = 401;
meas_3rd1 = 560;
}
if (meas_4th1 == 0 && meas_4th2 == 0)
{
//4번유닛 1번채널 부터~5번유닛 60번채널
meas_4th1 = 601;
meas_4th2 = 560;
}
//if (viewSize.IsNumeric() == false) viewSize = "300"; //240622
////트렌드뷰용 데이터정보
if (maintv_xgap == 0) maintv_xgap = 300;
if (maintv_xterm == 0) maintv_xterm = 3600;
if (maintv_ygap == 0) maintv_ygap = 0.5f;
if (maintv_winsize == 0) maintv_winsize = 50;
////일반설정
if (tvr_selectgroup0 == 0) tvr_selectgroup0 = 0;
if (tvr_selectgroup == 0) tvr_selectgroup = 0;
////그래프설정
if (win1pos.isEmpty()) win1pos = "10,10";
if (win2pos.isEmpty()) win2pos = "10,10";
if (viewSize < 1) viewSize = 300;
if (graph_time_day < 1) viewSize = 0;
if (graph_time_hour < 1) viewSize = 0;
if (graph_time_min < 1) viewSize = 45;
if (graph_endy < 1) viewSize = 5;
try
{
////백업한다.
System.IO.File.Copy("setting.xml", "setting~.xml", true);
}
catch { }
}
public string GetDatabasePath()
{
if (databasefolder.isEmpty())
{
//트렌드와 알람은 상위폴더를 반환해야한다
var di = new System.IO.DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
return di.FullName;
}
else return databasefolder;
}
public override void AfterSave()
{
//throw new NotImplementedException();
}
}
}

411
cVMS.NET_CS/Setting/Frm_Alam.Designer.cs generated Normal file
View File

@@ -0,0 +1,411 @@
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_Alam : 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()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
this.DataGridView1 = new System.Windows.Forms.DataGridView();
this.GroupDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.TypeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewComboBoxColumn();
this.HighDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.LowDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.AhighDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.AlowDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.nbhh = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.nbh = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.nbl = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.nbll = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.DataSet1 = new System.Data.DataSet();
this.DataTable1 = new System.Data.DataTable();
this.DataColumn1 = new System.Data.DataColumn();
this.DataColumn2 = new System.Data.DataColumn();
this.DataColumn3 = new System.Data.DataColumn();
this.DataColumn4 = new System.Data.DataColumn();
this.DataColumn5 = new System.Data.DataColumn();
this.DataColumn6 = new System.Data.DataColumn();
this.DataColumn7 = new System.Data.DataColumn();
this.DataColumn8 = new System.Data.DataColumn();
this.DataColumn9 = new System.Data.DataColumn();
this.DataColumn10 = new System.Data.DataColumn();
this.DataColumn11 = new System.Data.DataColumn();
this.DataColumn12 = new System.Data.DataColumn();
this.StatusStrip1 = new System.Windows.Forms.StatusStrip();
this.ToolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.Button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.DataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.DataSet1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.DataTable1)).BeginInit();
this.StatusStrip1.SuspendLayout();
this.SuspendLayout();
//
// DataGridView1
//
this.DataGridView1.AllowUserToAddRows = false;
this.DataGridView1.AllowUserToDeleteRows = false;
this.DataGridView1.AllowUserToResizeRows = false;
this.DataGridView1.AutoGenerateColumns = false;
this.DataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.DataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.DataGridView1.ColumnHeadersHeight = 40;
this.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.DataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.GroupDataGridViewTextBoxColumn,
this.TypeDataGridViewTextBoxColumn,
this.HighDataGridViewTextBoxColumn,
this.LowDataGridViewTextBoxColumn,
this.AhighDataGridViewTextBoxColumn,
this.AlowDataGridViewTextBoxColumn,
this.nbhh,
this.nbh,
this.nbl,
this.nbll});
this.DataGridView1.DataSource = this.BindingSource1;
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle8.Padding = new System.Windows.Forms.Padding(0, 5, 0, 5);
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.DataGridView1.DefaultCellStyle = dataGridViewCellStyle8;
this.DataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.DataGridView1.Location = new System.Drawing.Point(0, 0);
this.DataGridView1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.DataGridView1.Name = "DataGridView1";
this.DataGridView1.RowHeadersVisible = false;
this.DataGridView1.RowHeadersWidth = 50;
this.DataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
this.DataGridView1.RowTemplate.Height = 23;
this.DataGridView1.Size = new System.Drawing.Size(1010, 461);
this.DataGridView1.TabIndex = 0;
this.DataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DataGridView1_CellContentClick);
this.DataGridView1.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridView1_CellFormatting);
this.DataGridView1.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.DataGridView1_DataError);
//
// GroupDataGridViewTextBoxColumn
//
this.GroupDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.GroupDataGridViewTextBoxColumn.DataPropertyName = "Group";
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
this.GroupDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle1;
this.GroupDataGridViewTextBoxColumn.HeaderText = "그룹";
this.GroupDataGridViewTextBoxColumn.MinimumWidth = 8;
this.GroupDataGridViewTextBoxColumn.Name = "GroupDataGridViewTextBoxColumn";
this.GroupDataGridViewTextBoxColumn.ReadOnly = true;
//
// TypeDataGridViewTextBoxColumn
//
this.TypeDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.TypeDataGridViewTextBoxColumn.DataPropertyName = "Type";
this.TypeDataGridViewTextBoxColumn.HeaderText = "알람형태";
this.TypeDataGridViewTextBoxColumn.Items.AddRange(new object[] {
"MANUAL",
"AUTO",
"STOP"});
this.TypeDataGridViewTextBoxColumn.MinimumWidth = 8;
this.TypeDataGridViewTextBoxColumn.Name = "TypeDataGridViewTextBoxColumn";
this.TypeDataGridViewTextBoxColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.TypeDataGridViewTextBoxColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.TypeDataGridViewTextBoxColumn.Width = 125;
//
// HighDataGridViewTextBoxColumn
//
this.HighDataGridViewTextBoxColumn.DataPropertyName = "High";
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.HighDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle2;
this.HighDataGridViewTextBoxColumn.HeaderText = "Manual(H)";
this.HighDataGridViewTextBoxColumn.MinimumWidth = 8;
this.HighDataGridViewTextBoxColumn.Name = "HighDataGridViewTextBoxColumn";
this.HighDataGridViewTextBoxColumn.Width = 160;
//
// LowDataGridViewTextBoxColumn
//
this.LowDataGridViewTextBoxColumn.DataPropertyName = "Low";
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.LowDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle3;
this.LowDataGridViewTextBoxColumn.HeaderText = "Manual(L)";
this.LowDataGridViewTextBoxColumn.MinimumWidth = 8;
this.LowDataGridViewTextBoxColumn.Name = "LowDataGridViewTextBoxColumn";
this.LowDataGridViewTextBoxColumn.Width = 156;
//
// AhighDataGridViewTextBoxColumn
//
this.AhighDataGridViewTextBoxColumn.DataPropertyName = "ahigh";
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.AhighDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle4;
this.AhighDataGridViewTextBoxColumn.HeaderText = "Auto(±)";
this.AhighDataGridViewTextBoxColumn.MinimumWidth = 8;
this.AhighDataGridViewTextBoxColumn.Name = "AhighDataGridViewTextBoxColumn";
this.AhighDataGridViewTextBoxColumn.Width = 127;
//
// AlowDataGridViewTextBoxColumn
//
this.AlowDataGridViewTextBoxColumn.DataPropertyName = "alow";
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.AlowDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle5;
this.AlowDataGridViewTextBoxColumn.HeaderText = "Auto(-)";
this.AlowDataGridViewTextBoxColumn.MinimumWidth = 8;
this.AlowDataGridViewTextBoxColumn.Name = "AlowDataGridViewTextBoxColumn";
this.AlowDataGridViewTextBoxColumn.Visible = false;
this.AlowDataGridViewTextBoxColumn.Width = 103;
//
// nbhh
//
this.nbhh.DataPropertyName = "nbhh";
this.nbhh.HeaderText = "N.B.(HH)";
this.nbhh.MinimumWidth = 8;
this.nbhh.Name = "nbhh";
this.nbhh.Visible = false;
this.nbhh.Width = 113;
//
// nbh
//
this.nbh.DataPropertyName = "nbh";
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.nbh.DefaultCellStyle = dataGridViewCellStyle6;
this.nbh.HeaderText = "NullB(Alarm1)";
this.nbh.MinimumWidth = 8;
this.nbh.Name = "nbh";
this.nbh.Width = 199;
//
// nbl
//
this.nbl.DataPropertyName = "nbl";
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.nbl.DefaultCellStyle = dataGridViewCellStyle7;
this.nbl.HeaderText = "NullB(Alarm2)";
this.nbl.MinimumWidth = 8;
this.nbl.Name = "nbl";
this.nbl.Width = 199;
//
// nbll
//
this.nbll.DataPropertyName = "nbll";
this.nbll.HeaderText = "N.B.(LL)";
this.nbll.MinimumWidth = 8;
this.nbll.Name = "nbll";
this.nbll.Visible = false;
this.nbll.Width = 109;
//
// BindingSource1
//
this.BindingSource1.DataMember = "groupname";
this.BindingSource1.DataSource = this.DataSet1;
//
// DataSet1
//
this.DataSet1.DataSetName = "NewDataSet";
this.DataSet1.Tables.AddRange(new System.Data.DataTable[] {
this.DataTable1});
//
// DataTable1
//
this.DataTable1.Columns.AddRange(new System.Data.DataColumn[] {
this.DataColumn1,
this.DataColumn2,
this.DataColumn3,
this.DataColumn4,
this.DataColumn5,
this.DataColumn6,
this.DataColumn7,
this.DataColumn8,
this.DataColumn9,
this.DataColumn10,
this.DataColumn11,
this.DataColumn12});
this.DataTable1.TableName = "groupname";
//
// DataColumn1
//
this.DataColumn1.ColumnName = "Group";
//
// DataColumn2
//
this.DataColumn2.Caption = "TYPE";
this.DataColumn2.ColumnName = "Type";
//
// DataColumn3
//
this.DataColumn3.Caption = "High(Manual)";
this.DataColumn3.ColumnName = "High";
this.DataColumn3.DefaultValue = "0";
//
// DataColumn4
//
this.DataColumn4.Caption = "Low(Manual)";
this.DataColumn4.ColumnName = "Low";
this.DataColumn4.DefaultValue = "0";
//
// DataColumn5
//
this.DataColumn5.Caption = "SET";
this.DataColumn5.ColumnName = "SET";
//
// DataColumn6
//
this.DataColumn6.Caption = "+(Auto)";
this.DataColumn6.ColumnName = "ahigh";
this.DataColumn6.DefaultValue = "0";
//
// DataColumn7
//
this.DataColumn7.Caption = "-(Auto)";
this.DataColumn7.ColumnName = "alow";
this.DataColumn7.DefaultValue = "0";
//
// DataColumn8
//
this.DataColumn8.ColumnName = "IDX";
//
// DataColumn9
//
this.DataColumn9.ColumnName = "nbh";
this.DataColumn9.DefaultValue = "0";
//
// DataColumn10
//
this.DataColumn10.ColumnName = "nbhh";
this.DataColumn10.DefaultValue = "0";
//
// DataColumn11
//
this.DataColumn11.Caption = "nbll";
this.DataColumn11.ColumnName = "nbll";
this.DataColumn11.DefaultValue = "0";
//
// DataColumn12
//
this.DataColumn12.ColumnName = "nbl";
this.DataColumn12.DefaultValue = "0";
//
// StatusStrip1
//
this.StatusStrip1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.StatusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.StatusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripStatusLabel1});
this.StatusStrip1.Location = new System.Drawing.Point(0, 529);
this.StatusStrip1.Name = "StatusStrip1";
this.StatusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 20, 0);
this.StatusStrip1.Size = new System.Drawing.Size(1010, 29);
this.StatusStrip1.TabIndex = 2;
this.StatusStrip1.Text = "StatusStrip1";
//
// ToolStripStatusLabel1
//
this.ToolStripStatusLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1";
this.ToolStripStatusLabel1.Size = new System.Drawing.Size(423, 22);
this.ToolStripStatusLabel1.Text = "개별알람 및 개별알람(자동)으로 설정된 셀은 영향을 받지 않습니다.";
//
// Button1
//
this.Button1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.Button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Button1.Location = new System.Drawing.Point(0, 461);
this.Button1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Button1.Name = "Button1";
this.Button1.Size = new System.Drawing.Size(1010, 68);
this.Button1.TabIndex = 3;
this.Button1.Text = "저장";
this.Button1.UseVisualStyleBackColor = true;
this.Button1.Click += new System.EventHandler(this.Button1_Click);
//
// Frm_Alam
//
this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 29F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1010, 558);
this.Controls.Add(this.DataGridView1);
this.Controls.Add(this.Button1);
this.Controls.Add(this.StatusStrip1);
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.KeyPreview = true;
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Name = "Frm_Alam";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "알람설정";
this.Load += new System.EventHandler(this.Frm_Alam_Load);
((System.ComponentModel.ISupportInitialize)(this.DataGridView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.DataSet1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.DataTable1)).EndInit();
this.StatusStrip1.ResumeLayout(false);
this.StatusStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
internal System.Windows.Forms.DataGridView DataGridView1;
internal System.Data.DataSet DataSet1;
internal System.Data.DataTable DataTable1;
internal System.Data.DataColumn DataColumn1;
internal System.Data.DataColumn DataColumn2;
internal System.Data.DataColumn DataColumn3;
internal System.Data.DataColumn DataColumn4;
internal System.Windows.Forms.BindingSource BindingSource1;
internal System.Windows.Forms.StatusStrip StatusStrip1;
internal System.Windows.Forms.ToolStripStatusLabel ToolStripStatusLabel1;
internal System.Data.DataColumn DataColumn5;
internal System.Windows.Forms.Button Button1;
internal System.Data.DataColumn DataColumn6;
internal System.Data.DataColumn DataColumn7;
internal System.Data.DataColumn DataColumn8;
internal System.Data.DataColumn DataColumn9;
internal System.Data.DataColumn DataColumn10;
internal System.Data.DataColumn DataColumn11;
internal System.Data.DataColumn DataColumn12;
internal System.Windows.Forms.DataGridViewTextBoxColumn GroupDataGridViewTextBoxColumn;
internal System.Windows.Forms.DataGridViewComboBoxColumn TypeDataGridViewTextBoxColumn;
internal System.Windows.Forms.DataGridViewTextBoxColumn HighDataGridViewTextBoxColumn;
internal System.Windows.Forms.DataGridViewTextBoxColumn LowDataGridViewTextBoxColumn;
internal System.Windows.Forms.DataGridViewTextBoxColumn AhighDataGridViewTextBoxColumn;
internal System.Windows.Forms.DataGridViewTextBoxColumn AlowDataGridViewTextBoxColumn;
internal System.Windows.Forms.DataGridViewTextBoxColumn nbhh;
internal System.Windows.Forms.DataGridViewTextBoxColumn nbh;
internal System.Windows.Forms.DataGridViewTextBoxColumn nbl;
internal System.Windows.Forms.DataGridViewTextBoxColumn nbll;
private System.ComponentModel.IContainer components;
}
}

View File

@@ -0,0 +1,139 @@
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 AR;
using vmsnet;
namespace vmsnet
{
public partial class Frm_Alam
{
public Frm_Alam()
{
InitializeComponent();
this.KeyDown += (s1, e1) =>
{
if (e1.KeyCode == Keys.Escape) this.Close();
};
}
DataTable dt;
public void Frm_Alam_Load(object sender, System.EventArgs e)
{
dt = this.DataSet1.Tables[0];
dt.Rows.Clear();
try
{
var Dtg = PUB.DS.GRP.Select("use=1", "idx") as DocumentElement.GRPRow[]; // DBC.GetTable("select * from GRP where USE=1 order by IDX")
foreach (var drg in Dtg)
{
DataRow dr = dt.NewRow();
dr["group"] = drg.TITLE;// ["TITLE"].ToString();
dr["type"] = drg.ALAMTYPE;// ["ALAMTYPE"].ToString();
dr["high"] = drg.ALAMH;// ["ALAMH"].ToString();
dr["low"] = drg.ALAML;// ["ALAML"].ToString();
dr["ahigh"] = drg.AUTOH;//"].ToString();
dr["alow"] = drg.AUTOL;//"].ToString();
dr["nbhh"] = drg.NBHH;//"].ToString();
dr["nbh"] = drg.NBH;//"].ToString();
dr["nbl"] = drg.NBL;//"].ToString();
dr["nbll"] = drg.NBLL;//"].ToString();
dr["SET"] = "SET";
dr["IDX"] = drg["IDX"];
dt.Rows.Add(dr);
}
dt.AcceptChanges();
}
catch (Exception)
{
UTIL.MsgE("알람 목록을 불러올 수 없습니다" + "\r\n" + "이 창을 닫고 다시 클릭하세요");
}
}
public void Button1_Click(System.Object sender, System.EventArgs e)
{
this.DataGridView1.EndEdit();
this.BindingSource1.EndEdit();
DataTable CDT = dt.GetChanges();
if (CDT == null)
{
//MsgBox("변경된 내용이 없습니다", MsgBoxStyle.Information, "확인")
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
}
else
{
foreach (DataRow DR in CDT.Rows)
{
string TYPE = DR["type"].ToString();
string title = DR["group"].ToString();
string HIG = DR["high"].ToString().Trim();
string LOW = DR["low"].ToString().Trim();
string AHG = DR["ahigh"].ToString().Trim();
string ALW = DR["alow"].ToString().Trim();
var idx = int.Parse(DR["IDX"].ToString());
string NBH = DR["NBH"].ToString().Trim();
string NBL = DR["NBL"].ToString().Trim();
if (HIG.IsNumeric() == false) HIG = "0";
if (LOW.IsNumeric() == false) LOW = "0";
if (AHG.IsNumeric() == false) AHG = "0";
if (ALW.IsNumeric() == false) ALW = "0";
if (NBH.IsNumeric() == false) NBH = "0";
if (NBL.IsNumeric() == false) NBL = "0";
////그룹정보업데이트
PUBC.UpdateGroup(idx, TYPE, float.Parse(HIG), float.Parse(LOW), float.Parse(AHG), float.Parse(ALW), float.Parse(NBH), float.Parse(NBL));
////설정바꾼다.
PUB.RaiseRemoteCommandEvent(rCommand.UpdateAlarmSetting,idx);
//각 창별로 window1.grp / window2.grp 의 파일에 그룹상태를 저장 합니다
PUB.RaiseRemoteCommandEvent(rCommand.SaveGroupClass);
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}
public void DataGridView1_CellContentClick(System.Object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
}
public void DataGridView1_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
if (this.DataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString() == "MANUAL")
{
this.DataGridView1.Rows[e.RowIndex].Cells[2].Style.BackColor = Color.White;
this.DataGridView1.Rows[e.RowIndex].Cells[3].Style.BackColor = Color.White;
this.DataGridView1.Rows[e.RowIndex].Cells[4].Style.BackColor = Color.Gainsboro;
this.DataGridView1.Rows[e.RowIndex].Cells[5].Style.BackColor = Color.Gainsboro;
}
else if (this.DataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString() == "AUTO")
{
this.DataGridView1.Rows[e.RowIndex].Cells[4].Style.BackColor = Color.White;
this.DataGridView1.Rows[e.RowIndex].Cells[5].Style.BackColor = Color.White;
this.DataGridView1.Rows[e.RowIndex].Cells[2].Style.BackColor = Color.Gainsboro;
this.DataGridView1.Rows[e.RowIndex].Cells[3].Style.BackColor = Color.Gainsboro;
}
else
{
this.DataGridView1.Rows[e.RowIndex].Cells[4].Style.BackColor = Color.Gainsboro;
this.DataGridView1.Rows[e.RowIndex].Cells[5].Style.BackColor = Color.Gainsboro;
this.DataGridView1.Rows[e.RowIndex].Cells[2].Style.BackColor = Color.Gainsboro;
this.DataGridView1.Rows[e.RowIndex].Cells[3].Style.BackColor = Color.Gainsboro;
}
}
private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
}
}
}

View File

@@ -0,0 +1,141 @@
<?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="nbhh.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="nbh.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="nbl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="nbll.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>119, 17</value>
</metadata>
<metadata name="DataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>258, 17</value>
</metadata>
</root>

603
cVMS.NET_CS/Setting/Frm_Cell.Designer.cs generated Normal file
View File

@@ -0,0 +1,603 @@
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_Cell : 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()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_Cell));
this.TabControl1 = new System.Windows.Forms.TabControl();
this.TabPage1 = new System.Windows.Forms.TabPage();
this.DV_VALUE = new System.Windows.Forms.DataGridView();
this.DataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BS_DATA = new System.Windows.Forms.BindingSource(this.components);
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.TabPage3 = new System.Windows.Forms.TabPage();
this.DataGridView1 = new System.Windows.Forms.DataGridView();
this.ATIME = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.RTYPESTR = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.VOLT = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MAXVOLT = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.LOWVOLT = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BN_ALAM = new System.Windows.Forms.BindingNavigator(this.components);
this.BS_ALAM = new System.Windows.Forms.BindingSource(this.components);
this.BindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.BindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
this.BindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
this.BindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
this.BindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
this.BindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.BindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
this.BindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.BindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.ToolStrip1 = new System.Windows.Forms.ToolStrip();
this.ToolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.ToolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.ToolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.ToolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
this.tb_time = new System.Windows.Forms.ToolStripLabel();
this.ToolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tb_val = new System.Windows.Forms.ToolStripLabel();
this.ToolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
this.PropertyGrid1 = new System.Windows.Forms.PropertyGrid();
this.TabControl1.SuspendLayout();
this.TabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.DV_VALUE)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BS_DATA)).BeginInit();
this.ToolStrip2.SuspendLayout();
this.TabPage3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.DataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BN_ALAM)).BeginInit();
this.BN_ALAM.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.BS_ALAM)).BeginInit();
this.ToolStrip1.SuspendLayout();
this.SuspendLayout();
//
// TabControl1
//
this.TabControl1.Controls.Add(this.TabPage1);
this.TabControl1.Controls.Add(this.TabPage3);
this.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.TabControl1.Location = new System.Drawing.Point(354, 58);
this.TabControl1.Multiline = true;
this.TabControl1.Name = "TabControl1";
this.TabControl1.SelectedIndex = 0;
this.TabControl1.Size = new System.Drawing.Size(910, 603);
this.TabControl1.TabIndex = 0;
this.TabControl1.SelectedIndexChanged += new System.EventHandler(this.TabControl1_SelectedIndexChanged);
//
// TabPage1
//
this.TabPage1.Controls.Add(this.DV_VALUE);
this.TabPage1.Controls.Add(this.ToolStrip2);
this.TabPage1.Location = new System.Drawing.Point(4, 31);
this.TabPage1.Name = "TabPage1";
this.TabPage1.Padding = new System.Windows.Forms.Padding(3);
this.TabPage1.Size = new System.Drawing.Size(902, 568);
this.TabPage1.TabIndex = 0;
this.TabPage1.Text = "실시간트렌드";
this.TabPage1.UseVisualStyleBackColor = true;
this.TabPage1.Click += new System.EventHandler(this.TabPage1_Click);
//
// DV_VALUE
//
this.DV_VALUE.AllowUserToAddRows = false;
this.DV_VALUE.AllowUserToResizeRows = false;
this.DV_VALUE.AutoGenerateColumns = false;
this.DV_VALUE.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.DV_VALUE.BackgroundColor = System.Drawing.Color.White;
this.DV_VALUE.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.DV_VALUE.ColumnHeadersHeight = 28;
this.DV_VALUE.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.DV_VALUE.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.DataGridViewTextBoxColumn1,
this.DataGridViewTextBoxColumn3});
this.DV_VALUE.DataSource = this.BS_DATA;
this.DV_VALUE.Dock = System.Windows.Forms.DockStyle.Right;
this.DV_VALUE.Location = new System.Drawing.Point(689, 3);
this.DV_VALUE.Name = "DV_VALUE";
this.DV_VALUE.ReadOnly = true;
this.DV_VALUE.RowHeadersVisible = false;
this.DV_VALUE.RowHeadersWidth = 62;
this.DV_VALUE.RowTemplate.Height = 23;
this.DV_VALUE.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.DV_VALUE.Size = new System.Drawing.Size(210, 529);
this.DV_VALUE.TabIndex = 9;
this.DV_VALUE.Visible = false;
//
// DataGridViewTextBoxColumn1
//
this.DataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.DataGridViewTextBoxColumn1.DataPropertyName = "TIME";
this.DataGridViewTextBoxColumn1.HeaderText = "시간";
this.DataGridViewTextBoxColumn1.MinimumWidth = 8;
this.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1";
this.DataGridViewTextBoxColumn1.ReadOnly = true;
//
// DataGridViewTextBoxColumn3
//
this.DataGridViewTextBoxColumn3.DataPropertyName = "VOLT";
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
this.DataGridViewTextBoxColumn3.DefaultCellStyle = dataGridViewCellStyle7;
this.DataGridViewTextBoxColumn3.HeaderText = "값(v)";
this.DataGridViewTextBoxColumn3.MinimumWidth = 8;
this.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3";
this.DataGridViewTextBoxColumn3.ReadOnly = true;
this.DataGridViewTextBoxColumn3.Width = 80;
//
// BS_DATA
//
this.BS_DATA.Sort = "TIME DESC";
//
// ToolStrip2
//
this.ToolStrip2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.ToolStrip2.ImageScalingSize = new System.Drawing.Size(24, 24);
this.ToolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripLabel1,
this.cmb_volt,
this.ToolStripLabel2,
this.cmb_time,
this.prb1});
this.ToolStrip2.Location = new System.Drawing.Point(3, 532);
this.ToolStrip2.Name = "ToolStrip2";
this.ToolStrip2.Size = new System.Drawing.Size(896, 33);
this.ToolStrip2.TabIndex = 8;
this.ToolStrip2.Text = "ToolStrip2";
//
// ToolStripLabel1
//
this.ToolStripLabel1.Name = "ToolStripLabel1";
this.ToolStripLabel1.Size = new System.Drawing.Size(84, 28);
this.ToolStripLabel1.Text = "전압범위";
//
// cmb_volt
//
this.cmb_volt.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_volt.Font = new System.Drawing.Font("맑은 고딕", 9F);
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, 33);
this.cmb_volt.SelectedIndexChanged += new System.EventHandler(this.ToolStripComboBox1_SelectedIndexChanged);
//
// ToolStripLabel2
//
this.ToolStripLabel2.Name = "ToolStripLabel2";
this.ToolStripLabel2.Size = new System.Drawing.Size(84, 28);
this.ToolStripLabel2.Text = "시간범위";
//
// cmb_time
//
this.cmb_time.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_time.Font = new System.Drawing.Font("맑은 고딕", 9F);
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, 33);
this.cmb_time.SelectedIndexChanged += new System.EventHandler(this.cmb_time_SelectedIndexChanged);
//
// prb1
//
this.prb1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.prb1.Name = "prb1";
this.prb1.Size = new System.Drawing.Size(100, 28);
//
// TabPage3
//
this.TabPage3.Controls.Add(this.DataGridView1);
this.TabPage3.Controls.Add(this.BN_ALAM);
this.TabPage3.Location = new System.Drawing.Point(4, 31);
this.TabPage3.Name = "TabPage3";
this.TabPage3.Size = new System.Drawing.Size(902, 568);
this.TabPage3.TabIndex = 2;
this.TabPage3.Text = "알람목록";
this.TabPage3.UseVisualStyleBackColor = true;
//
// DataGridView1
//
this.DataGridView1.AllowUserToAddRows = false;
this.DataGridView1.AllowUserToResizeRows = false;
this.DataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.DataGridView1.BackgroundColor = System.Drawing.Color.White;
this.DataGridView1.ColumnHeadersHeight = 28;
this.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.DataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ATIME,
this.RTYPESTR,
this.VOLT,
this.MAXVOLT,
this.LOWVOLT});
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle12.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle12.Padding = new System.Windows.Forms.Padding(0, 3, 0, 3);
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.DataGridView1.DefaultCellStyle = dataGridViewCellStyle12;
this.DataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.DataGridView1.Location = new System.Drawing.Point(0, 0);
this.DataGridView1.Name = "DataGridView1";
this.DataGridView1.ReadOnly = true;
this.DataGridView1.RowHeadersVisible = false;
this.DataGridView1.RowHeadersWidth = 62;
this.DataGridView1.RowTemplate.Height = 23;
this.DataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.DataGridView1.Size = new System.Drawing.Size(902, 535);
this.DataGridView1.TabIndex = 0;
this.DataGridView1.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridView1_CellFormatting);
//
// ATIME
//
this.ATIME.DataPropertyName = "TIME";
this.ATIME.HeaderText = "시간";
this.ATIME.MinimumWidth = 8;
this.ATIME.Name = "ATIME";
this.ATIME.ReadOnly = true;
this.ATIME.Width = 56;
//
// RTYPESTR
//
this.RTYPESTR.DataPropertyName = "RTYPESTR";
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.RTYPESTR.DefaultCellStyle = dataGridViewCellStyle8;
this.RTYPESTR.HeaderText = "발생형태";
this.RTYPESTR.MinimumWidth = 8;
this.RTYPESTR.Name = "RTYPESTR";
this.RTYPESTR.ReadOnly = true;
this.RTYPESTR.Width = 80;
//
// VOLT
//
this.VOLT.DataPropertyName = "VOLT";
dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
this.VOLT.DefaultCellStyle = dataGridViewCellStyle9;
this.VOLT.HeaderText = "측정값(v)";
this.VOLT.MinimumWidth = 8;
this.VOLT.Name = "VOLT";
this.VOLT.ReadOnly = true;
this.VOLT.Width = 81;
//
// MAXVOLT
//
this.MAXVOLT.DataPropertyName = "MAXVOLT";
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.MAXVOLT.DefaultCellStyle = dataGridViewCellStyle10;
this.MAXVOLT.HeaderText = "HIGH";
this.MAXVOLT.MinimumWidth = 8;
this.MAXVOLT.Name = "MAXVOLT";
this.MAXVOLT.ReadOnly = true;
this.MAXVOLT.Width = 62;
//
// LOWVOLT
//
this.LOWVOLT.DataPropertyName = "MINVOLT";
dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.LOWVOLT.DefaultCellStyle = dataGridViewCellStyle11;
this.LOWVOLT.HeaderText = "LOW";
this.LOWVOLT.MinimumWidth = 8;
this.LOWVOLT.Name = "LOWVOLT";
this.LOWVOLT.ReadOnly = true;
this.LOWVOLT.Width = 59;
//
// BN_ALAM
//
this.BN_ALAM.AddNewItem = null;
this.BN_ALAM.BindingSource = this.BS_ALAM;
this.BN_ALAM.CountItem = this.BindingNavigatorCountItem;
this.BN_ALAM.DeleteItem = null;
this.BN_ALAM.Dock = System.Windows.Forms.DockStyle.Bottom;
this.BN_ALAM.ImageScalingSize = new System.Drawing.Size(24, 24);
this.BN_ALAM.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.BindingNavigatorMoveFirstItem,
this.BindingNavigatorMovePreviousItem,
this.BindingNavigatorSeparator,
this.BindingNavigatorPositionItem,
this.BindingNavigatorCountItem,
this.BindingNavigatorSeparator1,
this.BindingNavigatorMoveNextItem,
this.BindingNavigatorMoveLastItem,
this.BindingNavigatorSeparator2});
this.BN_ALAM.Location = new System.Drawing.Point(0, 535);
this.BN_ALAM.MoveFirstItem = this.BindingNavigatorMoveFirstItem;
this.BN_ALAM.MoveLastItem = this.BindingNavigatorMoveLastItem;
this.BN_ALAM.MoveNextItem = this.BindingNavigatorMoveNextItem;
this.BN_ALAM.MovePreviousItem = this.BindingNavigatorMovePreviousItem;
this.BN_ALAM.Name = "BN_ALAM";
this.BN_ALAM.PositionItem = this.BindingNavigatorPositionItem;
this.BN_ALAM.Size = new System.Drawing.Size(902, 33);
this.BN_ALAM.TabIndex = 1;
this.BN_ALAM.Text = "BindingNavigator1";
//
// BindingNavigatorCountItem
//
this.BindingNavigatorCountItem.Name = "BindingNavigatorCountItem";
this.BindingNavigatorCountItem.Size = new System.Drawing.Size(39, 28);
this.BindingNavigatorCountItem.Text = "/{0}";
this.BindingNavigatorCountItem.ToolTipText = "전체 항목 수";
//
// BindingNavigatorMoveFirstItem
//
this.BindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMoveFirstItem.Image")));
this.BindingNavigatorMoveFirstItem.Name = "BindingNavigatorMoveFirstItem";
this.BindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
this.BindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(34, 28);
this.BindingNavigatorMoveFirstItem.Text = "처음으로 이동";
//
// BindingNavigatorMovePreviousItem
//
this.BindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMovePreviousItem.Image")));
this.BindingNavigatorMovePreviousItem.Name = "BindingNavigatorMovePreviousItem";
this.BindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
this.BindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(34, 28);
this.BindingNavigatorMovePreviousItem.Text = "이전으로 이동";
//
// BindingNavigatorSeparator
//
this.BindingNavigatorSeparator.Name = "BindingNavigatorSeparator";
this.BindingNavigatorSeparator.Size = new System.Drawing.Size(6, 33);
//
// BindingNavigatorPositionItem
//
this.BindingNavigatorPositionItem.AccessibleName = "위치";
this.BindingNavigatorPositionItem.AutoSize = false;
this.BindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.BindingNavigatorPositionItem.Name = "BindingNavigatorPositionItem";
this.BindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
this.BindingNavigatorPositionItem.Text = "0";
this.BindingNavigatorPositionItem.ToolTipText = "현재 위치";
//
// BindingNavigatorSeparator1
//
this.BindingNavigatorSeparator1.Name = "BindingNavigatorSeparator1";
this.BindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 33);
//
// BindingNavigatorMoveNextItem
//
this.BindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMoveNextItem.Image")));
this.BindingNavigatorMoveNextItem.Name = "BindingNavigatorMoveNextItem";
this.BindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
this.BindingNavigatorMoveNextItem.Size = new System.Drawing.Size(34, 28);
this.BindingNavigatorMoveNextItem.Text = "다음으로 이동";
//
// BindingNavigatorMoveLastItem
//
this.BindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("BindingNavigatorMoveLastItem.Image")));
this.BindingNavigatorMoveLastItem.Name = "BindingNavigatorMoveLastItem";
this.BindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
this.BindingNavigatorMoveLastItem.Size = new System.Drawing.Size(34, 28);
this.BindingNavigatorMoveLastItem.Text = "마지막으로 이동";
//
// BindingNavigatorSeparator2
//
this.BindingNavigatorSeparator2.Name = "BindingNavigatorSeparator2";
this.BindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 33);
//
// ToolStrip1
//
this.ToolStrip1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.ToolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32);
this.ToolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripButton1,
this.ToolStripButton2,
this.ToolStripSeparator1,
this.ToolStripLabel4,
this.tb_time,
this.ToolStripSeparator2,
this.tb_val,
this.ToolStripLabel3});
this.ToolStrip1.Location = new System.Drawing.Point(354, 0);
this.ToolStrip1.Name = "ToolStrip1";
this.ToolStrip1.Size = new System.Drawing.Size(910, 58);
this.ToolStrip1.TabIndex = 6;
this.ToolStrip1.Text = "ToolStrip1";
//
// ToolStripButton1
//
this.ToolStripButton1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ToolStripButton1.Image = global::vmsnet.Properties.Resources.Red_Ball;
this.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.ToolStripButton1.Name = "ToolStripButton1";
this.ToolStripButton1.Size = new System.Drawing.Size(120, 53);
this.ToolStripButton1.Text = "LOW";
//
// ToolStripButton2
//
this.ToolStripButton2.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ToolStripButton2.Image = global::vmsnet.Properties.Resources.Red_Ball;
this.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.ToolStripButton2.Name = "ToolStripButton2";
this.ToolStripButton2.Size = new System.Drawing.Size(128, 53);
this.ToolStripButton2.Text = "HIGH";
//
// ToolStripSeparator1
//
this.ToolStripSeparator1.Name = "ToolStripSeparator1";
this.ToolStripSeparator1.Size = new System.Drawing.Size(6, 58);
//
// ToolStripLabel4
//
this.ToolStripLabel4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ToolStripLabel4.Name = "ToolStripLabel4";
this.ToolStripLabel4.Size = new System.Drawing.Size(89, 53);
this.ToolStripLabel4.Text = "측정시간";
//
// tb_time
//
this.tb_time.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tb_time.Name = "tb_time";
this.tb_time.Size = new System.Drawing.Size(118, 53);
this.tb_time.Text = "<TIME>";
//
// ToolStripSeparator2
//
this.ToolStripSeparator2.Name = "ToolStripSeparator2";
this.ToolStripSeparator2.Size = new System.Drawing.Size(6, 58);
//
// tb_val
//
this.tb_val.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.tb_val.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tb_val.Name = "tb_val";
this.tb_val.Size = new System.Drawing.Size(240, 53);
this.tb_val.Text = "<VALUE>";
//
// ToolStripLabel3
//
this.ToolStripLabel3.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.ToolStripLabel3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ToolStripLabel3.Name = "ToolStripLabel3";
this.ToolStripLabel3.Size = new System.Drawing.Size(70, 53);
this.ToolStripLabel3.Text = "측정값";
//
// PropertyGrid1
//
this.PropertyGrid1.Dock = System.Windows.Forms.DockStyle.Left;
this.PropertyGrid1.Font = new System.Drawing.Font("맑은 고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.PropertyGrid1.Location = new System.Drawing.Point(0, 0);
this.PropertyGrid1.Name = "PropertyGrid1";
this.PropertyGrid1.Size = new System.Drawing.Size(354, 661);
this.PropertyGrid1.TabIndex = 0;
//
// Frm_Cell
//
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1264, 661);
this.Controls.Add(this.TabControl1);
this.Controls.Add(this.ToolStrip1);
this.Controls.Add(this.PropertyGrid1);
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frm_Cell";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "셀설정";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Frm_Cell_FormClosing);
this.Load += new System.EventHandler(this.Frm_Cell_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Frm_Grp_KeyDown);
this.TabControl1.ResumeLayout(false);
this.TabPage1.ResumeLayout(false);
this.TabPage1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.DV_VALUE)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BS_DATA)).EndInit();
this.ToolStrip2.ResumeLayout(false);
this.ToolStrip2.PerformLayout();
this.TabPage3.ResumeLayout(false);
this.TabPage3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.DataGridView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BN_ALAM)).EndInit();
this.BN_ALAM.ResumeLayout(false);
this.BN_ALAM.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.BS_ALAM)).EndInit();
this.ToolStrip1.ResumeLayout(false);
this.ToolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
internal System.Windows.Forms.TabControl TabControl1;
internal System.Windows.Forms.TabPage TabPage1;
internal System.Windows.Forms.TabPage TabPage3;
internal System.Windows.Forms.PropertyGrid PropertyGrid1;
internal System.Windows.Forms.ToolStrip ToolStrip1;
internal System.Windows.Forms.ToolStripButton ToolStripButton1;
internal System.Windows.Forms.ToolStripButton ToolStripButton2;
internal System.Windows.Forms.DataGridView DataGridView1;
internal System.Windows.Forms.DataGridViewTextBoxColumn ATIME;
internal System.Windows.Forms.DataGridViewTextBoxColumn RTYPESTR;
internal System.Windows.Forms.DataGridViewTextBoxColumn VOLT;
internal System.Windows.Forms.DataGridViewTextBoxColumn MAXVOLT;
internal System.Windows.Forms.DataGridViewTextBoxColumn LOWVOLT;
internal System.Windows.Forms.BindingNavigator BN_ALAM;
internal System.Windows.Forms.ToolStripLabel BindingNavigatorCountItem;
internal System.Windows.Forms.ToolStripButton BindingNavigatorMoveFirstItem;
internal System.Windows.Forms.ToolStripButton BindingNavigatorMovePreviousItem;
internal System.Windows.Forms.ToolStripSeparator BindingNavigatorSeparator;
internal System.Windows.Forms.ToolStripTextBox BindingNavigatorPositionItem;
internal System.Windows.Forms.ToolStripSeparator BindingNavigatorSeparator1;
internal System.Windows.Forms.ToolStripButton BindingNavigatorMoveNextItem;
internal System.Windows.Forms.ToolStripButton BindingNavigatorMoveLastItem;
internal System.Windows.Forms.ToolStripSeparator BindingNavigatorSeparator2;
internal System.Windows.Forms.BindingSource BS_ALAM;
internal System.Windows.Forms.ToolStrip ToolStrip2;
internal System.Windows.Forms.ToolStripLabel ToolStripLabel1;
internal System.Windows.Forms.ToolStripComboBox cmb_volt;
internal System.Windows.Forms.ToolStripLabel ToolStripLabel2;
internal System.Windows.Forms.ToolStripComboBox cmb_time;
internal System.Windows.Forms.ToolStripProgressBar prb1;
internal System.Windows.Forms.DataGridView DV_VALUE;
internal System.Windows.Forms.DataGridViewTextBoxColumn DataGridViewTextBoxColumn1;
internal System.Windows.Forms.DataGridViewTextBoxColumn DataGridViewTextBoxColumn3;
internal System.Windows.Forms.BindingSource BS_DATA;
internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator1;
internal System.Windows.Forms.ToolStripLabel tb_val;
internal System.Windows.Forms.ToolStripLabel tb_time;
internal System.Windows.Forms.ToolStripLabel ToolStripLabel4;
internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator2;
internal System.Windows.Forms.ToolStripLabel ToolStripLabel3;
private System.ComponentModel.IContainer components;
}
}

View File

@@ -0,0 +1,409 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using AR;
using System.Linq;
using System.Net.Security;
using COMM;
using OpenTK.Audio.OpenAL;
using System.ComponentModel;
namespace vmsnet
{
public partial class Frm_Cell
{
public HMI.CITEM cellidx = null;
readonly DataTable DT = new DataTable();
// SpPerfChart.PerfChart runChart1;
ScottPlot.Plottables.Scatter Logger1;
ScottPlot.Plottables.Crosshair CrossHair;
//ScottPlot.Plottables.VerticalLine[] CursorLine;
ScottPlot.WinForms.FormsPlot formsPlot1;
private int currentDataCount = 10;
private const int maxDataCount = 600;
short voltlimit = 0;
short timelimit = 1;
List<float> dataVolt = null;
List<double> dataTime = null;
public Frm_Cell()
{
// 이 호출은 디자이너에 필요합니다.
InitializeComponent();
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
InitControl();
}
public Frm_Cell(HMI.CITEM pidx)
{
// 이 호출은 디자이너에 필요합니다.
InitializeComponent();
cellidx = pidx;
cellidx.OnAlamStausChanged += cellidx_OnChangeStatus;
cellidx.OnChangeData += cellidx_OnChangeData;
cellidx.OnChangeValueData += cellidx_OnChangeValueData;
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
InitControl();
}
public void InitControl()
{
dataVolt = new List<float>(0);
dataTime = new List<double>(0);
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.SetLimitsX(0, currentDataCount);
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);
}
};
this.TabPage1.Controls.Clear();
this.TabPage1.Controls.Add(this.formsPlot1); //runChart1
this.TabPage1.Controls.Add(this.DV_VALUE);
this.TabPage1.Controls.Add(this.ToolStrip2);
}
public void Frm_Cell_Load(object sender, System.EventArgs e)
{
DT.Columns.Add("VOLT");
DT.Columns.Add("TIME");
this.BS_DATA.DataSource = DT;
this.Text = cellidx. + "셀 속성";
this.PropertyGrid1.SelectedObject = cellidx;
loadviewSetting();
System.Windows.Forms.Binding bd = new System.Windows.Forms.Binding("text", cellidx, "column");
refreshalama();
}
public void Frm_Cell_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
cellidx.OnAlamStausChanged -= cellidx_OnChangeStatus;
cellidx.OnChangeData -= cellidx_OnChangeData;
cellidx.OnChangeValueData -= cellidx_OnChangeValueData;
formsPlot1.MouseDown -= FormsPlot1_MouseDown;
formsPlot1.MouseUp -= FormsPlot1_MouseUp;
formsPlot1.MouseMove -= FormsPlot1_MouseMove;
saveviewSetting();
}
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();
}
#region "scott plot mouse event"
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 Frm_Grp_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}
private void refreshalama()
{
if (cellidx.)
{
this.ToolStripButton2.Image = global::vmsnet.Properties.Resources.Red_Ball;
}
else
{
this.ToolStripButton2.Image = global::vmsnet.Properties.Resources.Green_Ball;
}
if (cellidx.)
{
this.ToolStripButton1.Image = global::vmsnet.Properties.Resources.Red_Ball;
}
else
{
this.ToolStripButton1.Image = global::vmsnet.Properties.Resources.Green_Ball;
}
}
public void TabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
switch (this.TabControl1.SelectedIndex)
{
case 1: ////알림목록 tab
var Dt = PUB.Alarm.GetAlarmData(cellidx._번호);
foreach (var Dr in Dt.Item2)
{
Dr.RTYPESTR = ((COMM.EALAMRAISETYPE)Dr.RTYPE).ToString();
Dr.ATYPESTR = ((COMM.EALAMTYPE)Dr.ATYPE).ToString();
}
Dt.Item2.AcceptChanges();
this.BS_ALAM.DataSource = Dt;
this.DataGridView1.AutoGenerateColumns = false;
this.DataGridView1.DataSource = this.BS_ALAM;
this.DataGridView1.AutoResizeColumns();
break;
}
}
public void DataGridView1_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
var row = this.DataGridView1.Rows[e.RowIndex];
var CV = row.Cells["RTYPESTR"].Value;
if (CV == null)
{
row.DefaultCellStyle.BackColor = Color.Empty;
return;
}
switch (this.DataGridView1.Rows[e.RowIndex].Cells["RTYPESTR"].Value.ToString().ToUpper())
{
case "HIGH-OFF":
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Empty;
break;
case "HIGH-ON":
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Orange;
break;
case "LOW-OFF":
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Empty;
break;
case "LOW-ON":
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
break;
case "OVER-ON":
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Magenta;
break;
case "OVER-OFF":
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Empty;
break;
default:
DataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Empty;
break;
}
}
private void cellidx_OnChangeStatus()
{
refreshalama();
}
private void cellidx_OnChangeData()
{
bool ok = PUBC.UpdateChannel(cellidx.idx, cellidx., (int)cellidx., (cellidx. ? 1 : 0), cellidx.HIGH, cellidx.LOW, cellidx.H, cellidx.L);
if (!ok)
{
UTIL.MsgE("셀 정보가 업데이트되지 않았습니다");
PUB.log.Add("Cell update error idx=" + cellidx.ToString());
}
}
private void cellidx_OnChangeValueData()
{
////값이 바뀌엇다.
float value = 0.0F;
float.TryParse(cellidx.Value.Replace("V", "").Replace("v", ""), out value);
this.tb_val.Text = value.ToString();
this.tb_time.Text = cellidx.mtime;
try
{
//datetime = CDate(cellidx.측정시간)
var dt = DateTime.Parse(cellidx.);
formsPlot1.Plot.Clear<ScottPlot.Plottables.Scatter>();
dataVolt.Add(value);
dataTime.Add(dt.ToOADate());
Logger1 = formsPlot1.Plot.Add.Scatter(dataTime.ToArray(), dataVolt.ToArray());
Logger1.Color = ScottPlot.Colors.Blue;
var mintime = DateTime.FromOADate(dataTime.First());
var maxtime = DateTime.FromOADate(dataTime.Last());
var ts = (maxtime - mintime);
if (ts.TotalMinutes >= this.timelimit)
{
//10개지운다
if (dataTime.Count > 10)
{
dataVolt.RemoveRange(0, 10);
dataTime.RemoveRange(0, 10);
}
}
this.BeginInvoke(new Action(() =>
{
this.DT.Rows.Add(value, dt.ToString("yy-MM-dd HH:mm:ss"));
this.DT.AcceptChanges();
if (voltlimit != 0) formsPlot1.Plot.Axes.AutoScaleX();
this.formsPlot1.Refresh();
}));
}
catch (Exception)
{
}
}
public void ToolStripComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
public void cmb_time_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (cmb_time.SelectedIndex < 0) return;
timelimit = short.Parse(this.cmb_time.Text.Replace("분", ""));
}
private void runChart1_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.DV_VALUE.Visible = !this.DV_VALUE.Visible;
}
private void TabPage1_Click(object sender, EventArgs e)
{
DV_VALUE.Visible = !DV_VALUE.Visible;
}
}
}

View File

@@ -0,0 +1,200 @@
<?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="DataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BS_DATA.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>590, 21</value>
</metadata>
<metadata name="ToolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>444, 21</value>
</metadata>
<metadata name="ATIME.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="RTYPESTR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="VOLT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MAXVOLT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="LOWVOLT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BN_ALAM.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>148, 21</value>
</metadata>
<metadata name="BS_ALAM.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>284, 22</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>95</value>
</metadata>
</root>

3035
cVMS.NET_CS/Setting/Frm_Config.Designer.cs generated Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,658 @@
<?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="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAWCSURBVFhH7ZZ7TFNnGMaZFrzPy3QxE5cQk12yGS+oUQFb
rVJCobSUtrQFoqCACDjBTRCxjjXqcHG6EaYDZRh1U1TwPnEgN6kgAioqyjVetiVL9t/+WLLk3fscDh1w
kLTb/vRJnvQ73/e+v+c732lP6vFK7sh+0WPW7h9lyfYrsqv2K6OabFdlf8EYY05Y4xqx/P9TziVPX/vl
0YX7f5pBZ5rVdKsnm1qf76Onv5cIxhhzWEMNatEjtv83fXZxdO4X5dOp4lECdf9WQO2/7qb7L7ZQ87M4
anoaJRhjzGENNahFD3pFjPuynfbwsl3wzC+sXUCPfvmS7r3I4LC11NBrYhtfYpNQg1r0oBcMsESs68ou
9cw/7lhBbT/nUMuzBD5ig1tGD3rBAEvEuqass565eZXv87PdzncUS/U9Ef/CBqEXDLDAFPEja/sp2ZKc
sqnk6EpiwHqq79a7bUePiU5djxA+wQALTLDFmJfr45NeRSf52Bp7E+lml57qusLdsqPHTD+UG0mt8aNb
vTECAywwwRZjhlf6sTE+O0qm0o0nVj5CK9V26txyfbeFSmuiSK5YRklpgbyZ6L55ZoEJNjLEOKlSi70y
Dl57l6o7LGwdW+uyb3ZZqbw5joLUKyhMr6Dqhxs43Ciug2UhsJEhxkmVVOhZUXxzIdV0mKjqicZl13Wa
qfJeAmn1Sr77ACqtjuXHYR1UAybYyBDjpEoskD0vafKnqg493XisER3GzQan/5nvcy2HOzo2U0xsMCkU
CsorjuZHESupAxNsZIhxUm3IG/tn6V0FVXJoxeMQdig1dG+l8zWbnG7s3crHaRTW8Yn1xFQdKZVKSs8y
8HNPEHsHG0ywkSHGSbWOF8+2KPidHkAld/wFX20z0449kaRSqQRvyTRQVftmKmtV0bUH0ZTGoZi3RIfS
9fspPB/k7B1oMMFGhhgnlfmg7PnJBj+h+FTTcsFnm5V07eFa2pptpuDgYMHbPrVQRftG2rUvWrjWhKnp
XG0KXbqvd/YNNZhgI0OMk8qyf1z5ocqFQvH3t5c6fa5FRVWPt1FappU0Go3g9RuNznH+iUS60mYd1DPU
YIKNDDFOKlPu2IxdZ+bwUcnpROOSQT7XEkzVj7ZTUqqFdDqd01n2dfwoYiX1Qw0m2MgQ46SKsI+bFXNg
Chev5F0vp2O3Fg9yaWs4VT7YSYnJURQREUEJm6xU3W6j03cCJbUDDRaYYCNDjBteGvv4/L0XPqQzvONi
xyL6zuE7yGWtBipv2cUnEUOXHNl8bZTUDDQYYO298AGBLca8XGE5E+YaP59Mp2/jFPzoKL88hrq0xUj1
nXuFz+HWBxoMsEy5UwhsMWZkqXdO2JOY7813t5qONyylwrr5Eh+pWzDs/ECjFwywwBTxrikoa/zXaUVz
qOzuGgYto4La+fRt7TyXjFr0oBcMsESsS3rNZrONio+P91yTOemb+LzZDFJRSbOciup96XDN3BGNGtSi
B72BGZMOBQUFjTEYDKPB7osYQQhPSUkZw9/yaWyf1elvHlHvnEK55xfR5bZg/iUo+We1nI5yUAEfM4wx
5rCGGtSiJzB9ZpHJZHqHw2dGRUVNkMvlMo4YeRPYKYq5cbbRaFwcGRmpDovz/0SV6l0RaptG6Uffo8MV
AXS8Xskvn1DBGGMOa6hRbfau1Mb5ZXKvjhkrsAncELPx53TkDQw9AQbMYy81m83+2rUrwwOTfQ4otkxv
XPXRtE552sQ/YIxXpc24rUr2+So8VqnnwACuX2axWHzdPgGW8zsQEhIy3mq1vs6gqdgQQ6cDxm9Ab5wQ
j9/uN675jt/iuhlarfYN9PD8ZPZEt74DA4RiYTP9BgR3gc3BfO3Vb1xzjQw1A3v6OQC+klQeHn8Dilbt
ICLsniEAAAAASUVORK5CYII=
</value>
</data>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 17</value>
</metadata>
<metadata name="M_IDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_USE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_TITLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_IP.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PORT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_CHCOUNT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_SNCOMMAND.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_KACOMMAND.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>386, 56</value>
</metadata>
<metadata name="bs_device.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>352, 17</value>
</metadata>
<metadata name="DocumentElement1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>706, 56</value>
</metadata>
<metadata name="bn_Device.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>244, 17</value>
</metadata>
<data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="BindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="bs_win.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>193, 56</value>
</metadata>
<metadata name="BN_WIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>288, 56</value>
</metadata>
<data name="ToolStripButton16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton17.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton18.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="ToolStripButton21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="G_IDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_USE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_WINDOW.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_TITLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_FONT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_KADEVICE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 56</value>
</metadata>
<metadata name="G_ALAMTYPE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_ALAMH.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_ALAML.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_AUTOH.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_AUTOL.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_POS.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_MATRIX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_SPAN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_NBOFF.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_NBSEQ.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bs_group.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>685, 17</value>
</metadata>
<metadata name="bn_group.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>788, 17</value>
</metadata>
<data name="ToolStripButton9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton10.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton12.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton13.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="ToolStripButton14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="C_IDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="c_ENABLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_GIDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_TITLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_MACHINE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_MACHINE2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_ALAMTYPE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_ALAMH.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_ALAML.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_DECPOS.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_UNIT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="VOFFSET.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_COLOR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IDX_M.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IDX_U.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IDX_C.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>546, 56</value>
</metadata>
<metadata name="bs_channel.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>457, 17</value>
</metadata>
<metadata name="bn_channel.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>570, 17</value>
</metadata>
<data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="ToolStripButton8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<data name="bt_remakelist.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
RK5CYII=
</value>
</data>
<metadata name="bs_normal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>107</value>
</metadata>
</root>

2910
cVMS.NET_CS/Setting/Frm_Config1.Designer.cs generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,995 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using AR;
using System.Linq;
using vmsnet;
using System.IO.Ports;
namespace vmsnet
{
public partial class Frm_Config
{
fPleaseWait fw;
/* 작성자: 이재웅, 작성일: 2024-09-24, 작성내용: 유닛의 채널설정 ToolTip 선언 */
ToolTip[,] tTip = new ToolTip[4, 2];
public Frm_Config()
{
InitializeComponent();
this.Controls.Clear();
this.TabControl1.Visible = false;
//panbg = new Panel();
//panbg.Dock = DockStyle.Fill;
fw = new fPleaseWait();
fw.TopLevel = false;
fw.Dock = DockStyle.Fill;
fw.Show();
//panbg.Controls.Add(fw);
this.Controls.Add(fw);
this.Controls.Add(TabControl1);
this.Controls.Add(StatusStrip1);
this.Controls.Add(ToolStrip1);
/* 작성자: 이재웅, 작성일: 2024-10-11, 작성내용: PC에 인가된 통신포트들만 표시 */
string[] ports = GetAvailablePorts();
cmb_plcport.Items.Clear();
cmb_plcport.Items.AddRange(ports);
/* 작성자: 이재웅, 작성일: 2024-09-24, 작성내용: 유닛의 채널설정 ToolTip 초기화 */
for (int i = 0; i < tTip.GetLength(0); i++)
for (int j = 0; j < tTip.GetLength(1); j++)
tTip[i, j] = new ToolTip();
nudPri1.ValueChanged += NumericUpDown_ValueChanged;
nudPri2.ValueChanged += NumericUpDown_ValueChanged;
nudSec1.ValueChanged += NumericUpDown_ValueChanged;
nudSec2.ValueChanged += NumericUpDown_ValueChanged;
nud3rdp1.ValueChanged += NumericUpDown_ValueChanged;
nud3rdp2.ValueChanged += NumericUpDown_ValueChanged;
nud4thp1.ValueChanged += NumericUpDown_ValueChanged;
nud4thp2.ValueChanged += NumericUpDown_ValueChanged;
}
private static string[] GetAvailablePorts()
{
return SerialPort.GetPortNames();
}
private void NumericUpDown_ValueChanged(object sender, EventArgs e)
{
/* 작성자: 이재웅, 작성일: 2024-09-24, 작성내용: 유닛의 채널설정 ToolTip 생성 */
NumericUpDown nud = (NumericUpDown)sender;
// NumericUpDown 매핑을 Dictionary로 관리
Dictionary<NumericUpDown, (int, int)> nudMapping = new Dictionary<NumericUpDown, (int, int)>
{
{ nudPri1, (0, 0) },
{ nudPri2, (0, 1) },
{ nudSec1, (1, 0) },
{ nudSec2, (1, 1) },
{ nud3rdp1, (2, 0) },
{ nud3rdp2, (2, 1) },
{ nud4thp1, (3, 0) },
{ nud4thp2, (3, 1) }
};
// 유닛채널 공통로직
string unitChannelInfo = $"{nud.Value.ToString("000").Substring(0, 1)}번유닛 {nud.Value.ToString("000").Substring(1, 2)}번 채널\n\n※ 유닛채널수 : 60개";
// 컨트롤이 매핑에 존재하는지 확인
if (nudMapping.TryGetValue(nud, out var indices))
{
tTip[indices.Item1, indices.Item2].SetToolTip(nud, unitChannelInfo);
}
}
public void Frm_Config_Load(object sender, System.EventArgs e)
{
this.Show();
Application.DoEvents();
Initializing();
fw.Visible = false;
TabControl1.Visible = true;
toolStripStatusLabel1.Text = PUB.CONFIG.GetDatabasePath();
}
#region NEW DATA ROW
private void newrow_window(object sender, System.Data.DataTableNewRowEventArgs e)
{
var maxnum = this.DocumentElement1.WIN.Any() ? this.DocumentElement1.WIN.Max(t => t.IDX) : 0;
e.Row["IDX"] = maxnum + 1;
e.Row["USE"] = 0;
e.Row["TITLE"] = $"Win{maxnum + 1}";
e.Row["MATRIX"] = "1*2";
e.Row["ALAMH"] = "5";
e.Row["ALAML"] = "0";
}
private void newrow_group(object sender, System.Data.DataTableNewRowEventArgs e)
{
var maxnum = this.DocumentElement1.GRP.Any() ? this.DocumentElement1.GRP.Max(t => t.IDX) : 0;
e.Row["IDX"] = maxnum + 1;
e.Row["USE"] = 0;
e.Row["WINDOW"] = "1";
e.Row["TITLE"] = "";
e.Row["MATRIX"] = "1*1";
e.Row["POS"] = "0/0";
e.Row["SPAN"] = "1/1";
e.Row["FONT"] = "나눔고딕,8,1";
e.Row["ALAMH"] = "5";
e.Row["ALAML"] = "0";
e.Row["AUTOH"] = "1";
e.Row["AUTOL"] = "1";
e.Row["KADEVICE"] = "";
e.Row["ALAMTYPE"] = "";
e.Row["NBOFF"] = "0";
e.Row["NBSEQ"] = "0";
}
private void newrow_device(object sender, System.Data.DataTableNewRowEventArgs e)
{
var maxnum = this.DocumentElement1.DEVICE.Any() ? this.DocumentElement1.DEVICE.Max(t => t.IDX) : -1;
e.Row["IDX"] = maxnum + 1;
e.Row["USE"] = 0;
e.Row["TITLE"] = "";
e.Row["IP"] = "";
e.Row["CHCOUNT"] = "";
e.Row["KACOMMAND"] = "";
e.Row["CHCOMMAND"] = "";
e.Row["SNCOMMAND"] = "";
}
private void newrow_channel(object sender, System.Data.DataTableNewRowEventArgs e)
{
var maxnum = this.DocumentElement1.CHANNEL.Any() ? this.DocumentElement1.CHANNEL.Max(t => t.IDX) : 0;
e.Row["IDX"] = maxnum + 1;
e.Row["USE"] = 1;
e.Row["DECPOS"] = 3;
e.Row["UNIT"] = "V";
}
#endregion
private void Initializing()
{ // 설정파일 : Setting.xml
int retcnt = 0;
this.DS.Tables["machine"].Clear();
this.DS.Tables["alamtype"].Clear();
this.DS.Tables["group"].Clear();
//데이터는 로컬데이터로 복제해서 사용 240809
this.DocumentElement1.Clear();//.DEVICE.Clear();
this.DocumentElement1.Merge(PUB.DS);
this.DocumentElement1.AcceptChanges();
this.chk_savebinary.Checked = PUB.CONFIG.binarysave;
this.chk_synctime.Checked = PUB.CONFIG.synctime;
this.tb_savepath.Text = PUB.CONFIG.databasefolder;
this.chk_lsb.Checked = PUB.CONFIG.lsb;
this.tb_trashper.Text = PUB.CONFIG.trashper.ToString();
this.tb_saveterm.Text = PUB.CONFIG.saveterm.ToString();
this.chk_2nddata.Checked = PUB.CONFIG.seconddata;
this.chk_3rdData.Checked = PUB.CONFIG.thirddata;
this.chk_4thData.Checked = PUB.CONFIG.getdata4;
this.chk_sound.Checked = PUB.CONFIG.sound;
this.tb_viewsize.Text = PUB.CONFIG.viewSize.ToString();
this.tb_plcidx.Value = PUB.CONFIG.plc_addr;
this.cmb_plcport.Text = PUB.CONFIG.plc_port; //this.tb_plcport.Text = PUB.CONFIG.plc_port;
this.chkEnableKA.Checked = PUB.CONFIG.EnableKA;
this.tb_div.Text = PUB.CONFIG.datadiv.ToString();
this.chk_nb.Checked = PUB.CONFIG.nullbalnce;
this.chk_sumab.Checked = PUB.CONFIG.Sumab;
this.chk_alplc.Checked = PUB.CONFIG.alamplc;
/* 작성자: 이재웅, 작성일: 2024-09-24, 작성내용: 유닛의 채널설정 ToolTip 생성 */
nudPri1.Value = PUB.CONFIG.meas_pri1;
nudPri2.Value = PUB.CONFIG.meas_pri2;
nudSec1.Value = PUB.CONFIG.meas_sec1;
nudSec2.Value = PUB.CONFIG.meas_sec2;
nud3rdp1.Value = PUB.CONFIG.meas_3rd1;
nud3rdp2.Value = PUB.CONFIG.meas_3rd2;
nud4thp1.Value = PUB.CONFIG.meas_4th1;
nud4thp2.Value = PUB.CONFIG.meas_4th2;
nudMaxCH.Value = PUB.CONFIG.MaxChCount;
nudLimit.Value = (decimal)PUB.CONFIG.threadlimit;
tb_sangho.Text = PUB.CONFIG.sangho;
tb_tel.Text = PUB.CONFIG.tel;
DocumentElement1.DEVICE.TableNewRow += newrow_device;
////장치목록으로 DEVICEID를 생성한다.
DS.Tables["machine"].Clear();
DS.Tables["kadevice"].Clear();
int idx = 0;
foreach (var Dr in DocumentElement1.DEVICE.Where(t => t.USE == 1).OrderBy(t => t.IDX))
{
var NAME = Dr.TITLE;
var UNITCH = Dr.CHCOUNT;
foreach (var UC in UNITCH.Split(",".ToCharArray()))
{
var ucbuffer = UC.Split(new char[] { '*' }, StringSplitOptions.RemoveEmptyEntries);
var unit = int.Parse(ucbuffer[0]);// System.Convert.ToInt32(UC.Split("*".ToCharArray())[0]);
var ch = int.Parse(ucbuffer[1]);// System.Convert.ToInt32(UC.Split("*".ToCharArray())[1]);
for (int i = 1; i <= ch; i++)
{
idx++;
this.DS.Tables["machine"].Rows.Add(new string[] { "[#" + idx.ToString("000") + "]" + NAME + "-" + unit.ToString("0") + i.ToString("00"), (Dr["IDX"] + "," + System.Convert.ToString(unit) + "," + System.Convert.ToString(i)) });
this.DS.Tables["kadevice"].Rows.Add(new string[] { "[#" + idx.ToString("000") + "]" + NAME + "-" + unit.ToString("0") + i.ToString("00"), (Dr["IDX"] + "," + System.Convert.ToString(unit) + "," + System.Convert.ToString(i)) });
}
}
}
////알람타입목록생성
DataRow DR2 = this.DS.Tables["alamtype"].NewRow();
DR2["title"] = "그룹알람";
DR2["value"] = "0";
this.DS.Tables["alamtype"].Rows.Add(DR2);
DR2 = this.DS.Tables["alamtype"].NewRow();
DR2["title"] = "자동알람";
DR2["value"] = "1";
this.DS.Tables["alamtype"].Rows.Add(DR2);
DR2 = this.DS.Tables["alamtype"].NewRow();
DR2["title"] = "개별알람";
DR2["value"] = "2";
this.DS.Tables["alamtype"].Rows.Add(DR2);
DR2 = this.DS.Tables["alamtype"].NewRow();
DR2["title"] = "개별알람자동";
DR2["value"] = "3";
this.DS.Tables["alamtype"].Rows.Add(DR2);
DR2 = this.DS.Tables["alamtype"].NewRow();
DR2["title"] = "사용안함";
DR2["value"] = "4";
this.DS.Tables["alamtype"].Rows.Add(DR2);
this.DS.Tables["alamtype"].AcceptChanges();
retcnt = this.DocumentElement1.WIN.Count; // DAWIN.Fill(DTWIN) '//테이블에 데이터를 채운다.
this.DocumentElement1.WIN.TableNewRow += newrow_window;
////WINDOWS목록을 생성
DS.Tables["window"].Clear();
foreach (var dr in this.DocumentElement1.WIN.OrderBy(t => t.IDX))
{
string NAME = dr.TITLE;
this.DS.Tables["window"].Rows.Add(new string[] { NAME, dr.IDX.ToString() });
}
DS.Tables["window"].AcceptChanges();
this.DocumentElement1.GRP.TableNewRow += newrow_group;
this.DS.Tables["group"].Rows.Clear();
foreach (var Dr in DocumentElement1.GRP.Where(t => t.USE == 1))
{
var GIDX = Dr.IDX;// System.Convert.ToInt32(Dr["IDX"]);
var WIDX = Dr.WINDOW;// System.Convert.ToInt32(Dr["WINDOW"]);
var GNAME = Dr.TITLE;// System.Convert.ToString(Dr["TITLE"]);
var WNAME = PUBC.GetWindowName(WIDX); // DBC.GetScalar("select TITLE from WIN where IDX=" & WIDX)
var NAME = $"{WNAME}-{GNAME}";
this.DS.Tables["group"].Rows.Add(new string[] { NAME, $"{GIDX}" });
}
this.DS.Tables["group"].AcceptChanges();
this.DocumentElement1.CHANNEL.TableNewRow += newrow_channel;
this.DocumentElement1.AcceptChanges();
DS.AcceptChanges();
this.dv_device.AutoResizeColumns();
this.dv_channel.AutoResizeColumns();
this.dv_grp.AutoResizeColumns();
this.dv_win.AutoResizeColumns();
}
public void ToolStripButton1_Click(System.Object sender, System.EventArgs e)
{ // √ 저장, Setting.xml(설정파일)
this.Validate();
this.dv_device.EndEdit();
this.dv_channel.EndEdit();
this.dv_grp.EndEdit();
this.dv_win.EndEdit();
this.bs_device.EndEdit();
this.bs_channel.EndEdit();
this.bs_group.EndEdit();
this.bs_normal.EndEdit();
this.bs_win.EndEdit();
if (nudPri1.Value < 1 || nudPri2.Value < 1)
{
UTIL.MsgE("Primary Data Range 값을 입력하세요");
nudPri1.Focus();
return;
}
if (chk_2nddata.Checked)
{
if (nudSec1.Value < 1 || nudSec2.Value < 1)
{
UTIL.MsgE("Sencodary Data Range 값을 입력하세요");
nudSec1.Focus();
return;
}
}
//// 3rd, 4th Data Range 설정은 필요할 경우 나중에 추가 계획
if (this.nudLimit.Value < 500)
{
UTIL.MsgE("데이터 요청 주기는 500ms 이상 입력되어야 합니다");
nudLimit.Focus();
return;
}
//데이터베이스적용
PUB.DS.Clear();
PUB.DS.Merge(this.DocumentElement1);
PUB.DS.AcceptChanges();
PUB.CONFIG.meas_pri1 = (short)nudPri1.Value;
PUB.CONFIG.meas_pri2 = (short)nudPri2.Value;
PUB.CONFIG.meas_sec1 = (short)nudSec1.Value;
PUB.CONFIG.meas_sec2 = (short)nudSec2.Value;
PUB.CONFIG.meas_3rd1 = (short)nud3rdp1.Value;
PUB.CONFIG.meas_3rd2 = (short)nud3rdp2.Value;
PUB.CONFIG.meas_4th1 = (short)nud4thp1.Value;
PUB.CONFIG.meas_4th2 = (short)nud4thp2.Value;
PUB.CONFIG.MaxChCount = (int)nudMaxCH.Value;
PUB.CONFIG.binarysave = this.chk_savebinary.Checked;
PUB.CONFIG.synctime = this.chk_synctime.Checked;
PUB.CONFIG.databasefolder = this.tb_savepath.Text;
PUB.CONFIG.lsb = this.chk_lsb.Checked;
PUB.CONFIG.trashper = short.Parse(this.tb_trashper.Text);
PUB.CONFIG.saveterm = short.Parse(this.tb_saveterm.Text);
PUB.CONFIG.seconddata = this.chk_2nddata.Checked;
PUB.CONFIG.thirddata = this.chk_3rdData.Checked;
PUB.CONFIG.getdata4 = this.chk_4thData.Checked;
PUB.CONFIG.sound = chk_sound.Checked;
PUB.CONFIG.viewSize = tb_viewsize.Text.toInt();
PUB.CONFIG.nullbalnce = chk_nb.Checked;
if (this.tb_div.Text.IsNumeric() == false) this.tb_div.Text = "1";
PUB.CONFIG.datadiv = System.Convert.ToInt32(this.tb_div.Text);
PUB.CONFIG.Sumab = chk_sumab.Checked;
PUB.CONFIG.plc_port = cmb_plcport.Text; //PUB.CONFIG.plc_port = tb_plcport.Text;
PUB.CONFIG.plc_addr = (int)tb_plcidx.Value;
PUB.CONFIG.alamplc = chk_alplc.Checked;
PUB.CONFIG.EnableKA = chkEnableKA.Checked;
PUB.CONFIG.threadlimit = (int)nudLimit.Value;
PUB.CONFIG.sangho = tb_sangho.Text;
PUB.CONFIG.tel = tb_tel.Text;
////실제파일에 저장한다.
PUB.CONFIG.Save();
////설정정보를 가져온다.
string[] BackTables = new string[] { "DEVICE", "GRP", "NORMAL", "WIN", "VIEWGROUP", "CHANNEL" };
foreach (string tabname in BackTables)
{
PUB.DS.Tables[tabname].AcceptChanges();
System.IO.FileInfo fn = new System.IO.FileInfo(PUB.CONFIG.GetDatabasePath() + "\\Database\\Config\\" + tabname + ".xml");
if (fn.Directory.Exists == false)
{
fn.Directory.Create();
}
PUB.DS.Tables[tabname].WriteXml(fn.FullName, XmlWriteMode.IgnoreSchema);
}
try
{
var fi = new System.IO.FileInfo("window1.dat");
fi.Delete();
}
catch (Exception)
{
}
try
{
var fi = new System.IO.FileInfo("window2.dat");
fi.Delete();
}
catch (Exception)
{
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
public void dv_grp_DataError(object sender, System.Windows.Forms.DataGridViewDataErrorEventArgs e)
{
}
public void dv_channel_CellClick(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
if (dv_channel.Columns[e.ColumnIndex].HeaderText == "색상코드")
{
string nowcolor = dv_channel.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
if (string.IsNullOrEmpty(nowcolor))
{
nowcolor = System.Convert.ToString(0);
}
ColorDialog C = new ColorDialog();
C.Color = System.Drawing.Color.FromArgb(System.Convert.ToInt32(nowcolor));
if (C.ShowDialog() != System.Windows.Forms.DialogResult.OK)
{
return;
}
dv_channel.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = C.Color.ToArgb().ToString();
dv_channel.Refresh();
}
}
public void dv_channel_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
string Color = System.Convert.ToString(dv_channel.Rows[e.RowIndex].Cells["C_COLOR"].Value);
bool enable = System.Convert.ToBoolean(dv_channel.Rows[e.RowIndex].Cells["C_ENABLE"].Value);
if (enable == false)
{
dv_channel.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.LightGray;
dv_channel.Rows[e.RowIndex].DefaultCellStyle.ForeColor = System.Drawing.Color.Gray;
}
else
{
dv_channel.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.Empty;
dv_channel.Rows[e.RowIndex].DefaultCellStyle.ForeColor = System.Drawing.Color.Black;
if (!string.IsNullOrEmpty(Color) && Color.IsNumeric())
{
dv_channel.Rows[e.RowIndex].Cells[2].Style.BackColor = System.Drawing.Color.FromArgb(System.Convert.ToInt32(Color));
dv_channel.Rows[e.RowIndex].Cells[1].Style.BackColor = System.Drawing.Color.FromArgb(System.Convert.ToInt32(Color));
}
}
}
public void dv_channel_DataError(object sender, System.Windows.Forms.DataGridViewDataErrorEventArgs e)
{
}
public void ToolStripButton15_Click(System.Object sender, System.EventArgs e)
{
if (UTIL.MsgQ("현재 목록을 재구성하시겠습니까?\r\n기존의 목록정보는 삭제됩니다") != DialogResult.Yes) return;
this.dv_channel.SuspendLayout();
this.dv_channel.Visible = false;
////현재모든채널을삭제한다.
this.DocumentElement1.CHANNEL.Clear();
this.DocumentElement1.CHANNEL.AcceptChanges();
////재구성 방법 : 각 장비마다 1개의 그룹을 생성
////그룹내 서브그룹의 해당 그룹의 채널수 / 2
var Dt = this.DocumentElement1.GRP.Where(t => t.USE == 1).OrderBy(t => t.IDX).ToList();
int IDX = 0;
int coloridx = 0;
List<Color> Colormap = new List<Color>(0);
Colormap.Add(Color.Indigo);
Colormap.Add(Color.Red);
Colormap.Add(Color.SeaGreen);
Colormap.Add(Color.Violet);
Colormap.Add(Color.Goldenrod);
Colormap.Add(Color.RosyBrown);
Colormap.Add(Color.LightCoral);
Colormap.Add(Color.SpringGreen);
Colormap.Add(Color.Yellow);
Colormap.Add(Color.Orchid);
Colormap.Add(Color.OrangeRed);
Colormap.Add(Color.CadetBlue);
Colormap.Add(Color.Lime);
Colormap.Add(Color.OliveDrab);
Colormap.Add(Color.Aqua);
Colormap.Add(Color.SaddleBrown);
Colormap.Add(Color.Tomato);
Colormap.Add(Color.DarkSlateBlue);
Colormap.Add(Color.Green);
Colormap.Add(Color.Teal);
Colormap.Add(Color.DarkSlateGray);
Colormap.Add(Color.RoyalBlue);
Colormap.Add(Color.DarkKhaki);
Colormap.Add(Color.DarkMagenta);
Colormap.Add(Color.Orange);
Colormap.Add(Color.LawnGreen);
Colormap.Add(Color.SlateGray);
Colormap.Add(Color.DarkOrange);
Colormap.Add(Color.Blue);
Colormap.Add(Color.Firebrick);
Colormap.Add(Color.DarkBlue);
Colormap.Add(Color.Sienna);
Colormap.Add(Color.DimGray);
Colormap.Add(Color.SandyBrown);
Colormap.Add(Color.DodgerBlue);
Colormap.Add(Color.Magenta);
Colormap.Add(Color.SkyBlue);
Colormap.Add(Color.Chocolate);
Colormap.Add(Color.LemonChiffon);
Colormap.Add(Color.Crimson);
Colormap.Add(Color.DeepSkyBlue);
this.prb.Minimum = 0;
this.prb.Value = 0;
//그룹설정의 아이템배열값을 가지고 전체 채널을 우선 생성한다
//IDX와 그룹번호를 우선 생성한다.
Dictionary<int, int> grpinfo = new Dictionary<int, int>();
foreach (DocumentElement.GRPRow Dr in Dt)
{
string Matrix = Dr.MATRIX.Trim();//.["matrix"].ToString().Trim();
Matrix = Matrix.Replace("*", "x").Replace("X", "x").Replace("/", "x").Replace("-", "x");
var matbuf = Matrix.Split("x".ToCharArray());
if (int.TryParse(matbuf[0], out int rowcount) == false)
{
UTIL.MsgE($"{Dr.TITLE} 의 Matrix 입력값이 올바르지 않습니다\n값:{Dr.MATRIX}\n" +
"Matrix 값은 50*4 형태로 입력하세요");
return;
}
if (int.TryParse(matbuf[1], out int colcount) == false)
{
UTIL.MsgE($"{Dr.TITLE} 의 Matrix 입력값이 올바르지 않습니다\n값:{Dr.MATRIX}\n" +
"Matrix 값은 50*4 형태로 입력하세요");
return;
}
//전체채널 수량을 체크
this.prb.Maximum = rowcount * colcount;
this.prb.Value = 0;
// workmsg(rowcount * colcount)
lbMsg.Text = $"{Dr.TITLE} 생성 중({prb.Maximum}건)";
////아이템갯수만큼 돈다.
for (int i = 0; i <= (colcount * rowcount - 1); i++)
{
this.prb.Value++;
grpinfo.Add(IDX + 1, Dr.IDX);
IDX++;
}
Application.DoEvents();
}
Application.DoEvents();
////장치의 데이터를 맵핑시킨다.
////모든장치목록을 갱신합니다. 순서대로 맵핑시킨다.
//데이터삭제
int cindex = 0;
IDX = 0;
coloridx = 0;
bool idxerr = false;
var DTD = this.DocumentElement1.DEVICE.Where(t => t.USE == 1).OrderBy(t => t.IDX);
foreach (var DRD in DTD)
{
var DeviceID = DRD.IDX;
var UNITCH = DRD.CHCOUNT.Split(','); // DRD("CHCOUNT")
foreach (string UC in UNITCH)
{
var ucBuf = UC.Split('*');
int unit = int.Parse(ucBuf[0]); ////sub unit no
int ch = int.Parse(ucBuf[1]); ////channel no
this.prb.Value = 0;
this.prb.Maximum = ch;
this.lbMsg.Text = $"{DRD.TITLE}/{unit}:{ch}";
Application.DoEvents();
for (int i = 1; i <= ch; i++) //채널은 1번부터 시작한다.
{
//this.prb.Value++;
if (grpinfo.ContainsKey(IDX + 1) == false)
{
//해당키는 더이상 속하지 않는다.
UTIL.MsgE($"번호 {IDX + 1}은 사용자 그룹에 속하지 않는 번호이므로 생성하지 않습니다");
idxerr = true;
break;
}
var newdr = this.DocumentElement1.CHANNEL.NewCHANNELRow();
newdr.IDX = IDX + 1;// ["IDX"] = IDX + 1;
newdr.TITLE = $"#{(IDX + 1):000}";
newdr.ENABLE = DRD.USE;
newdr.GIDX = grpinfo[IDX + 1];// Dr.IDX; ////이셀의 그룹인덱스
newdr.MACHINE = $"{DeviceID},{unit},{i}";
newdr.IDX_M = DeviceID;
newdr.IDX_U = unit;
newdr.IDX_C = i - 1;
newdr.ALAMTYPE = 0; ////기본알람은그룹알람으로
newdr.ALAMH = 0;
newdr.ALAML = 0;
newdr.DECPOS = 3;
newdr.UNIT = "V";
short mok = (short)(Math.Floor((double)coloridx / Colormap.Count));
short namu = (short)(coloridx % Colormap.Count);
Color C = Colormap[namu];
newdr.COLOR = C.ToArgb();
this.DocumentElement1.CHANNEL.Rows.Add(newdr);
IDX++;
cindex++;
coloridx++;
}
if (idxerr) break;
}
if (idxerr) break;
}
this.dv_channel.ResumeLayout();
this.dv_channel.Visible = true;
//this.bn_channel.Visible = true;
Application.DoEvents();
}
private void ToolStripButton2_Click(System.Object sender, System.EventArgs e)
{
bool retval = false;
foreach (GM10 d in PUB.DAQ)
{
if (UTIL.MsgQ("다음 장치를 재구성하시겠습니까?" + "\r\n" + "장치명:" + d.title) != DialogResult.Yes) return;
bool Result = d.Reconstrction();
if (Result)
{
retval = true;
}
}
if (retval)
{
UTIL.MsgI("프로그램을 다시 시작 하세요");
}
}
public void DV_WIN_CellContentClick(System.Object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
}
public void DV_WIN_DataError(object sender, System.Windows.Forms.DataGridViewDataErrorEventArgs e)
{
}
public void ToolStripMenuItem_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_device.Current as DataRowView;
if (drv == null) return;
var drDev = drv.Row as DocumentElement.DEVICERow;
if (drDev == null) return;
GM10 M = new GM10(drDev.IP, drDev.PORT, "title", "", 99);
if (!M.Connect().Result)
{
UTIL.MsgE("장치를 연결할 수 없습니다" + "\r\n" + "장치의 전원및 연결상태를 확인하세요");
return;
}
bool retval = M.Reconstrction();
if (retval)
{
UTIL.MsgI("장치구조재구성 완료" + "\r\n" + "프로그램을 재시작하세요");
}
else
{
UTIL.MsgE("장치구조재구성 실패");
}
}
public void ToolStripMenuItem_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_device.Current as DataRowView;
if (drv == null) return;
var drDev = drv.Row as DocumentElement.DEVICERow;
if (drDev == null) return;
GM10 M = new GM10(drDev.IP, drDev.PORT, "title", "", System.Convert.ToInt32(drv["IDX"]));
if (!M.Connect().Result)
{
UTIL.MsgE("장치를 연결할 수 없습니다" + "\r\n" + "장치의 전원및 연결상태를 확인하세요");
return;
}
string kadevicestr = "";
foreach (DataRow dr in this.DocumentElement1.GRP.Rows)
{
string kd = dr["KADEVICE"].ToString();
if (kd.Trim() == "")
{
continue;
}
if (string.IsNullOrEmpty(kadevicestr))
{
kadevicestr = kd;
}
else
{
kadevicestr += "/" + kd;
}
}
bool retval = M.ReSetting(kadevicestr, System.Convert.ToString(drv["SNCOMMAND"]), System.Convert.ToString(drv["KACOMMAND"]), System.Convert.ToString(drv["CHCOMMAND"]));
if (retval)
{
UTIL.MsgI("장치자동설정 완료" + "\r\n" + "프로그램을 재시작하세요");
}
else
{
UTIL.MsgE("장치자동설정 실패");
}
}
public void ToolStripMenuItem1_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_channel.Current as DataRowView;
if (ReferenceEquals(drv, null))
{
return;
}
string MACHINE = System.Convert.ToString(drv["MACHINE"]);
string idx = System.Convert.ToString(drv["IDX"]);
var offset = UTIL.InputBox("변경할 장치ID를 입력하세요(0,0,1,45) DEVID,UNITID,STARTCH,ACCNUM", "0,0,1,45");
if (offset.Item1 == false) return;
short dev = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[0]);
short unit = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[1]);
short se = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[2]);
short ae = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[3]);
short acc = (short)0;
this.prb.Minimum = 0;
this.prb.Maximum = Math.Min(System.Convert.ToInt32(double.Parse(idx) + se), this.DocumentElement1.CHANNEL.Rows.Count);
this.prb.Value = 0;
this.dv_channel.SuspendLayout();
//1,1,20,반복갯수
for (int i = int.Parse(idx); i <= Math.Min(System.Convert.ToInt32(double.Parse(idx) + ae), this.DocumentElement1.CHANNEL.Rows.Count); i++)
{
this.prb.Value++;
Application.DoEvents();
if (acc > ae)
{
break; ////반복횟수를 넘기면 빠져나간다.
}
try
{
this.DocumentElement1.CHANNEL.Rows[i - 1]["MACHINE"] = dev + "," + System.Convert.ToString(unit) + "," + (se + acc).ToString();
}
catch (Exception)
{
}
acc++;
}
this.dv_channel.ResumeLayout();
this.dv_channel.Refresh();
}
public void ToolStrip1_ItemClicked(System.Object sender, System.Windows.Forms.ToolStripItemClickedEventArgs e)
{
}
public void bt_editcell_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_channel.Current as DataRowView;
if (ReferenceEquals(drv, null))
{
return;
}
string MACHINE = System.Convert.ToString(drv["MACHINE"]);
string idx = System.Convert.ToString(drv["IDX"]);
var offset = UTIL.InputBox("이름규칙을 입력하세요" + "\r\n" + "앞문자,시작번호,끝번호", "A,1,500");
if (offset.Item1 == false) return;
string sc = System.Convert.ToString(offset.Item2.Split(",".ToCharArray())[0]);
short ss = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[1]);
short se = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[2]);
this.prb.Minimum = 0;
this.prb.Maximum = System.Convert.ToInt32(this.DocumentElement1.CHANNEL.Rows.Count - double.Parse(idx));
this.prb.Value = 0;
for (int i = int.Parse(idx); i <= this.DocumentElement1.CHANNEL.Rows.Count; i++)
{
if (this.prb.Value < this.prb.Maximum)
{
this.prb.Value++;
}
try
{
if (ss > se)
{
goto endOfForLoop;
}
this.DocumentElement1.CHANNEL.Rows[i - 1]["TITLE"] = sc + ss.ToString("000"); //// "" '// Me.DTCHANNEL.Rows(i - 1 + CInt(offset))("MACHINE")
ss++;
}
catch (Exception)
{
}
}
endOfForLoop:
1.GetHashCode(); //VBConversions note: C# requires an executable line here, so a dummy line was added.
}
public void ID변경ToolStripMenuItem_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_channel.Current as DataRowView;
if (ReferenceEquals(drv, null))
{
return;
}
string MACHINE = System.Convert.ToString(drv["MACHINE"]);
string idx = System.Convert.ToString(drv["IDX"]);
var offset = UTIL.InputBox("그룹규칙을 입력하세요" + "\r\n" + "시작번호,반복갯수", "1,160");
if (offset.Item1 == false) return;
short ss = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[0]);
short se = System.Convert.ToInt16(offset.Item2.Split(",".ToCharArray())[1]);
short acc = (short)0;
this.prb.Minimum = 0;
this.prb.Maximum = System.Convert.ToInt32(this.DocumentElement1.CHANNEL.Rows.Count - double.Parse(idx));
this.prb.Value = 0;
for (int i = int.Parse(idx); i <= this.DocumentElement1.CHANNEL.Rows.Count; i++)
{
if (this.prb.Value < this.prb.Maximum)
{
this.prb.Value++;
}
try
{
if (acc > se)
{
return;
}
this.DocumentElement1.CHANNEL.Rows[i - 1]["GIDX"] = ss; //// "" '// Me.DTCHANNEL.Rows(i - 1 + CInt(offset))("MACHINE")
acc++;
}
catch (Exception)
{
}
}
}
public void DECPOS변경ToolStripMenuItem_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_channel.Current as DataRowView;
if (ReferenceEquals(drv, null))
{
return;
}
string MACHINE = System.Convert.ToString(drv["MACHINE"]);
string idx = System.Convert.ToString(drv["IDX"]);
var offset = UTIL.InputBox("DECPOS를 입력하세요", "3");
if (offset.Item1 == false) return;
//Dim ss As Short = offset.Split(",")(0)
//Dim se As Short = offset.Split(",")(1)
//Dim acc As Short = 0
this.prb.Minimum = 0;
this.prb.Maximum = System.Convert.ToInt32(this.DocumentElement1.CHANNEL.Rows.Count - double.Parse(idx));
this.prb.Value = 0;
for (int i = int.Parse(idx); i <= this.DocumentElement1.CHANNEL.Rows.Count; i++)
{
if (this.prb.Value < this.prb.Maximum)
{
this.prb.Value++;
}
this.DocumentElement1.CHANNEL.Rows[i - 1]["DECPOS"] = offset; //// "" '// Me.DTCHANNEL.Rows(i - 1 + CInt(offset))("MACHINE")
}
}
public void UNIT변경ToolStripMenuItem_Click(System.Object sender, System.EventArgs e)
{
DataRowView drv = this.bs_channel.Current as DataRowView;
if (ReferenceEquals(drv, null))
{
return;
}
string MACHINE = System.Convert.ToString(drv["MACHINE"]);
string idx = System.Convert.ToString(drv["IDX"]);
var offset = UTIL.InputBox("UNIT를 입력하세요", "V");
if (offset.Item1 == false) return;
//Dim ss As Short = offset.Split(",")(0)
//Dim se As Short = offset.Split(",")(1)
//Dim acc As Short = 0
this.prb.Minimum = 0;
this.prb.Maximum = System.Convert.ToInt32(this.DocumentElement1.CHANNEL.Rows.Count - double.Parse(idx));
this.prb.Value = 0;
for (int i = int.Parse(idx); i <= this.DocumentElement1.CHANNEL.Rows.Count; i++)
{
if (this.prb.Value < this.prb.Maximum)
{
this.prb.Value++;
}
this.DocumentElement1.CHANNEL.Rows[i - 1]["UNIT"] = offset; //// "" '// Me.DTCHANNEL.Rows(i - 1 + CInt(offset))("MACHINE")
}
}
public void Button1_Click(object sender, EventArgs e)
{
PUB.masterk.SetOutput((int)tb_plcidx.Value, true);
}
public void Button2_Click(object sender, EventArgs e)
{
PUB.masterk.SetOutput((int)tb_plcidx.Value, false);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
var od = new FolderBrowserDialog();
od.SelectedPath = this.tb_savepath.Text;
if (od.ShowDialog() != DialogResult.OK) return;
tb_savepath.Text = od.SelectedPath;
}
private void toolStripButton1_Click_1(object sender, EventArgs e)
{
if (UTIL.MsgQ("현재 등록된 장비의 로컬 테스트 IP(127.0.1)로 변경할까요?\n동일 IP로 인해 포트번호는 자동 증가 합니다") != DialogResult.Yes) return;
var port = 34150;
foreach (var dr in this.DocumentElement1.DEVICE)
{
dr.IP = "127.0.0.1";
dr.PORT = port++;
}
this.DocumentElement1.DEVICE.AcceptChanges();
}
private void toolStripButton2_Click_1(object sender, EventArgs e)
{
if (UTIL.MsgQ("현재 등록된 장비의 IP(192.168.0.1) 부터 자동 할당 할까요?") != DialogResult.Yes) return;
var ip = 1;
foreach (var dr in this.DocumentElement1.DEVICE)
{
dr.IP = $"192.168.0.{ip++}";
dr.PORT = 34150;
}
this.DocumentElement1.DEVICE.AcceptChanges();
}
}
}

View File

@@ -0,0 +1,676 @@
<?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="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAWCSURBVFhH7ZZ7TFNnGMaZFrzPy3QxE5cQk12yGS+oUQFb
rVJCobSUtrQFoqCACDjBTRCxjjXqcHG6EaYDZRh1U1TwPnEgN6kgAioqyjVetiVL9t/+WLLk3fscDh1w
kLTb/vRJnvQ73/e+v+c732lP6vFK7sh+0WPW7h9lyfYrsqv2K6OabFdlf8EYY05Y4xqx/P9TziVPX/vl
0YX7f5pBZ5rVdKsnm1qf76Onv5cIxhhzWEMNatEjtv83fXZxdO4X5dOp4lECdf9WQO2/7qb7L7ZQ87M4
anoaJRhjzGENNahFD3pFjPuynfbwsl3wzC+sXUCPfvmS7r3I4LC11NBrYhtfYpNQg1r0oBcMsESs68ou
9cw/7lhBbT/nUMuzBD5ig1tGD3rBAEvEuqass565eZXv87PdzncUS/U9Ef/CBqEXDLDAFPEja/sp2ZKc
sqnk6EpiwHqq79a7bUePiU5djxA+wQALTLDFmJfr45NeRSf52Bp7E+lml57qusLdsqPHTD+UG0mt8aNb
vTECAywwwRZjhlf6sTE+O0qm0o0nVj5CK9V26txyfbeFSmuiSK5YRklpgbyZ6L55ZoEJNjLEOKlSi70y
Dl57l6o7LGwdW+uyb3ZZqbw5joLUKyhMr6Dqhxs43Ciug2UhsJEhxkmVVOhZUXxzIdV0mKjqicZl13Wa
qfJeAmn1Sr77ACqtjuXHYR1UAybYyBDjpEoskD0vafKnqg493XisER3GzQan/5nvcy2HOzo2U0xsMCkU
CsorjuZHESupAxNsZIhxUm3IG/tn6V0FVXJoxeMQdig1dG+l8zWbnG7s3crHaRTW8Yn1xFQdKZVKSs8y
8HNPEHsHG0ywkSHGSbWOF8+2KPidHkAld/wFX20z0449kaRSqQRvyTRQVftmKmtV0bUH0ZTGoZi3RIfS
9fspPB/k7B1oMMFGhhgnlfmg7PnJBj+h+FTTcsFnm5V07eFa2pptpuDgYMHbPrVQRftG2rUvWrjWhKnp
XG0KXbqvd/YNNZhgI0OMk8qyf1z5ocqFQvH3t5c6fa5FRVWPt1FappU0Go3g9RuNznH+iUS60mYd1DPU
YIKNDDFOKlPu2IxdZ+bwUcnpROOSQT7XEkzVj7ZTUqqFdDqd01n2dfwoYiX1Qw0m2MgQ46SKsI+bFXNg
Chev5F0vp2O3Fg9yaWs4VT7YSYnJURQREUEJm6xU3W6j03cCJbUDDRaYYCNDjBteGvv4/L0XPqQzvONi
xyL6zuE7yGWtBipv2cUnEUOXHNl8bZTUDDQYYO298AGBLca8XGE5E+YaP59Mp2/jFPzoKL88hrq0xUj1
nXuFz+HWBxoMsEy5UwhsMWZkqXdO2JOY7813t5qONyylwrr5Eh+pWzDs/ECjFwywwBTxrikoa/zXaUVz
qOzuGgYto4La+fRt7TyXjFr0oBcMsESsS3rNZrONio+P91yTOemb+LzZDFJRSbOciup96XDN3BGNGtSi
B72BGZMOBQUFjTEYDKPB7osYQQhPSUkZw9/yaWyf1elvHlHvnEK55xfR5bZg/iUo+We1nI5yUAEfM4wx
5rCGGtSiJzB9ZpHJZHqHw2dGRUVNkMvlMo4YeRPYKYq5cbbRaFwcGRmpDovz/0SV6l0RaptG6Uffo8MV
AXS8Xskvn1DBGGMOa6hRbfau1Mb5ZXKvjhkrsAncELPx53TkDQw9AQbMYy81m83+2rUrwwOTfQ4otkxv
XPXRtE552sQ/YIxXpc24rUr2+So8VqnnwACuX2axWHzdPgGW8zsQEhIy3mq1vs6gqdgQQ6cDxm9Ab5wQ
j9/uN675jt/iuhlarfYN9PD8ZPZEt74DA4RiYTP9BgR3gc3BfO3Vb1xzjQw1A3v6OQC+klQeHn8Dilbt
ICLsniEAAAAASUVORK5CYII=
</value>
</data>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 17</value>
</metadata>
<metadata name="bn_Device.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>244, 17</value>
</metadata>
<metadata name="BN_WIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>288, 56</value>
</metadata>
<metadata name="bn_group.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>788, 17</value>
</metadata>
<metadata name="bn_channel.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>570, 17</value>
</metadata>
<metadata name="M_IDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_USE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_TITLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_IP.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PORT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_CHCOUNT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_SNCOMMAND.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_KACOMMAND.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>386, 56</value>
</metadata>
<metadata name="bs_device.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>352, 17</value>
</metadata>
<metadata name="DocumentElement1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>706, 56</value>
</metadata>
<metadata name="DocumentElement1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>706, 56</value>
</metadata>
<metadata name="bn_Device.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>244, 17</value>
</metadata>
<data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="BindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="bs_win.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>193, 56</value>
</metadata>
<metadata name="BN_WIN.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>288, 56</value>
</metadata>
<data name="ToolStripButton16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton17.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton18.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="ToolStripButton21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="G_IDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_USE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_WINDOW.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_TITLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_FONT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_KADEVICE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 56</value>
</metadata>
<metadata name="G_ALAMTYPE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_ALAMH.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_ALAML.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_AUTOH.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_AUTOL.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_POS.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_MATRIX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_SPAN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_NBOFF.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="G_NBSEQ.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bs_group.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>685, 17</value>
</metadata>
<metadata name="DS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 56</value>
</metadata>
<metadata name="bn_group.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>788, 17</value>
</metadata>
<data name="ToolStripButton9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton10.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton12.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton13.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="ToolStripButton14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="C_IDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="c_ENABLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_GIDX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_TITLE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_MACHINE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_MACHINE2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_ALAMTYPE.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_ALAMH.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_ALAML.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_DECPOS.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_UNIT.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="VOFFSET.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="C_COLOR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IDX_M.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IDX_U.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IDX_C.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>546, 56</value>
</metadata>
<metadata name="bs_channel.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>457, 17</value>
</metadata>
<metadata name="bn_channel.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>570, 17</value>
</metadata>
<data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABSklE
QVQ4T2MYvODuAvb/t+Zx/r86h+v/xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHyS
IFBz3f8/D6r+72gXJ2zApZk8/89O5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/
q0gV08BTQH/+eVgP1FQLxJX//9wrAeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VA
jQVAjdlAjalAjQn//92KBmoM+//vRtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n
5mn8n5Cl9b87Q/d/e6r+/+ZEQ8JhMhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4Jw
fZwR6Qa0JBn8b4g3/F8Ta/y/MtqEdAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABb0lE
QVQ4T7WQTSjDYRzHd1XeSu3iglo5IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/
LVLaBf+4PB9jqLW/seJ7eep5vt/P7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9
JkS7HtFRAXMTipC3hsJcBiM9oe+cOgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDq
Pz9s4YXHBc3FgS8ZsxD1edDX8rvwp9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXi
sxjg4uh9uXdpfsjy7A8LvL+DVh2PJUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcg
tVUje69DIexuIueqcaZEIXU1gPykOGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vw
P0ilegWKIwMchCbSyQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABKklE
QVQ4T2MYPKBw1vP/TQue/8+c+Pg/VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+w
Korvefh/6f7///2rL+A2IKHnyf9pW95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v
/PvfJf8AbgMCmx/+r5v/Dq4ouOXu/0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z
+79/17f/OoXv/lskrMdtgH3p3f/Zk19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v2
9b9u8DzcBhhm3f4f1vISpyL91Mv/NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCr
peWacAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAtklE
QVQ4T2MYOiC8/cF/KJN0EN/94H9wwzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DN
reuAtnf+/e+Sf4B4A4Jb7v5ftPf//w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhP
ehjop5z/b1L04r9K1qf/xpHLSDcABAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA
0BRgmAS6UFUAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAAAo0lE
QVQ4T2MYfKBw1vP/UCZ5IHfms/8J3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDI
rkf/p2z79b9k6d//CdP//rfJPUuaIYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhz
gX3p3f+BLc/I0wwCFnl3/tsUXCFPMwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="ToolStripButton8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA64AAAOuAFqQfVbAAABLElE
QVQ4T2MYXKBw1vP/UCYGAMk1LXj+P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h
6w6GIpDcwn0f/gc3XMNtQELPk/+z9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8T
pv/9b5N7Fq4YJNe7+sN/r9ITuA0IbH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9f
MvcdXLOiSw9cMUguf9qb//YZ23EbYF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtf
w72EFRhm3caqGQRAcmEtL//rBs/DbYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7R
v7O5DE6cAAAAAElFTkSuQmCC
</value>
</data>
<data name="bt_remakelist.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
RK5CYII=
</value>
</data>
<metadata name="bs_normal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>107</value>
</metadata>
</root>

71
cVMS.NET_CS/Setting/Frm_Grp.Designer.cs generated Normal file
View File

@@ -0,0 +1,71 @@
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_Grp : 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.PropertyGrid1 = new System.Windows.Forms.PropertyGrid();
this.KeyDown += new System.Windows.Forms.KeyEventHandler(Frm_Grp_KeyDown);
this.Load += new System.EventHandler(Frm_Cell_Load);
this.SuspendLayout();
//
//PropertyGrid1
//
this.PropertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.PropertyGrid1.Font = new System.Drawing.Font("나눔고딕", (float) (9.75F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(129));
this.PropertyGrid1.Location = new System.Drawing.Point(0, 0);
this.PropertyGrid1.Name = "PropertyGrid1";
this.PropertyGrid1.Size = new System.Drawing.Size(423, 488);
this.PropertyGrid1.TabIndex = 0;
//
//Frm_Grp
//
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(423, 488);
this.Controls.Add(this.PropertyGrid1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frm_Grp";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "그룹설정";
this.ResumeLayout(false);
}
internal System.Windows.Forms.PropertyGrid PropertyGrid1;
}
}

View File

@@ -0,0 +1,96 @@
using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using AR;
using vmsnet;
namespace vmsnet
{
public partial class Frm_Grp
{
public HMI.CGROUP cellidx = null;
public Frm_Grp()
{
// 이 호출은 디자이너에 필요합니다.
InitializeComponent();
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
}
public Frm_Grp(HMI.CGROUP pidx)
{
// 이 호출은 디자이너에 필요합니다.
InitializeComponent();
cellidx = pidx;
cellidx.OnChangeData += cellidx_OnChangeData;
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
}
public void Frm_Grp_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}
public void Frm_Cell_Load(object sender, System.EventArgs e)
{
this.Text = "그룹(" + cellidx. + ")속성";
this.PropertyGrid1.SelectedObject = cellidx;
//Select Case cellidx.알람형태
// Case 0
// Me.rad_alam_0.Checked = True
// Case 1
// Me.rad_alam_1.Checked = True
// Case 2
// Me.rad_alam_2.Checked = True
// Case 3
// Me.rad_alam_3.Checked = True
//End Select
//Me.lb_alam_hi.DataBindings.Add("text", cellidx, "상위알람")
//Me.lb_alam_low.DataBindings.Add("text", cellidx, "하위알람")
//Me.lb_row.DataBindings.Add("text", cellidx, "줄번호")
//Me.lb_col.DataBindings.Add("text", cellidx, "열번호")
//Dim bd As New System.Windows.Forms.Binding("text", cellidx, "column")
}
private void cellidx_OnChangeData()
{
bool OK = false;
var dr = PUB.DS.GRP.Select("idx=" + cellidx.IDX.ToString()) as DocumentElement.GRPRow[];
if (dr.Length == 1)
{
DocumentElement.GRPRow Drow = dr[0];
Drow.TITLE = cellidx.;
Drow.FONT = cellidx..Name + "," + System.Convert.ToString(cellidx..Size) + "," + System.Convert.ToString(cellidx..Style);
Drow.ALAMH = cellidx.HIGH;
Drow.ALAML = cellidx.LOW;
Drow.NBOFF = cellidx.NullBalanceOffset;
Drow.NBSEQ = cellidx._null_itemseq;
Drow.AcceptChanges();
PUB.DS.AcceptChanges();
OK = true;
}
else
{
OK = false;
}
if (!OK)
{
UTIL.MsgE("그룹 정보가 업데이트되지 않았습니다");
}
}
}
}

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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

71
cVMS.NET_CS/Setting/Frm_Win.Designer.cs generated Normal file
View File

@@ -0,0 +1,71 @@
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_Win : 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.PropertyGrid1 = new System.Windows.Forms.PropertyGrid();
this.KeyDown += new System.Windows.Forms.KeyEventHandler(Frm_Grp_KeyDown);
this.Load += new System.EventHandler(Frm_Cell_Load);
this.SuspendLayout();
//
//PropertyGrid1
//
this.PropertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.PropertyGrid1.Font = new System.Drawing.Font("나눔고딕", (float) (9.75F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(129));
this.PropertyGrid1.Location = new System.Drawing.Point(0, 0);
this.PropertyGrid1.Name = "PropertyGrid1";
this.PropertyGrid1.Size = new System.Drawing.Size(423, 488);
this.PropertyGrid1.TabIndex = 0;
//
//Frm_Win
//
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(423, 488);
this.Controls.Add(this.PropertyGrid1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frm_Win";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "창설정";
this.ResumeLayout(false);
}
internal System.Windows.Forms.PropertyGrid PropertyGrid1;
}
}

View File

@@ -0,0 +1,59 @@
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_Win
{
public HMI.CWINDOW cellidx = null;
public Frm_Win()
{
// 이 호출은 디자이너에 필요합니다.
InitializeComponent();
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
}
public Frm_Win(HMI.CWINDOW pidx)
{
// 이 호출은 디자이너에 필요합니다.
InitializeComponent();
cellidx = pidx;
cellidx.OnChangeData += cellidx_OnChangeData;
// InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
}
public void Frm_Grp_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}
public void Frm_Cell_Load(object sender, System.EventArgs e)
{
this.Text = "윈도우(" + cellidx. + ")속성";
this.PropertyGrid1.SelectedObject = cellidx;
}
private void cellidx_OnChangeData()
{
bool rlt = System.Convert.ToBoolean(PUBC.UpdateWin(cellidx.IDX, cellidx.)); // DCC.ExecuteNonQuery
if (!rlt)
{
UTIL.MsgE($"그룹 정보가 업데이트되지 않았습니다({rlt})");
}
}
}
}

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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,233 @@
namespace vmsnet.Setting
{
partial class fDesignSetting
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fDesignSetting));
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.linkLabel2 = new System.Windows.Forms.LinkLabel();
this.tbfontnb = new System.Windows.Forms.TextBox();
this.linkLabel3 = new System.Windows.Forms.LinkLabel();
this.tbfontcellname = new System.Windows.Forms.TextBox();
this.tbfontcellvalue = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.tbFontSummary = new System.Windows.Forms.TextBox();
this.linkLabel4 = new System.Windows.Forms.LinkLabel();
this.tbFontCellTitle = new System.Windows.Forms.TextBox();
this.linkLabel5 = new System.Windows.Forms.LinkLabel();
this.tbFontAvalue = new System.Windows.Forms.TextBox();
this.linkLabel6 = new System.Windows.Forms.LinkLabel();
this.SuspendLayout();
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
this.linkLabel1.Location = new System.Drawing.Point(23, 32);
this.linkLabel1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(289, 32);
this.linkLabel1.TabIndex = 0;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "Null balance Display Font";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// linkLabel2
//
this.linkLabel2.AutoSize = true;
this.linkLabel2.Location = new System.Drawing.Point(45, 146);
this.linkLabel2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.linkLabel2.Name = "linkLabel2";
this.linkLabel2.Size = new System.Drawing.Size(267, 32);
this.linkLabel2.TabIndex = 0;
this.linkLabel2.TabStop = true;
this.linkLabel2.Text = "Cell Name Dispaly Font";
this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked);
//
// tbfontnb
//
this.tbfontnb.Location = new System.Drawing.Point(320, 32);
this.tbfontnb.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbfontnb.Name = "tbfontnb";
this.tbfontnb.ReadOnly = true;
this.tbfontnb.Size = new System.Drawing.Size(394, 39);
this.tbfontnb.TabIndex = 1;
//
// linkLabel3
//
this.linkLabel3.AutoSize = true;
this.linkLabel3.Location = new System.Drawing.Point(49, 203);
this.linkLabel3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.linkLabel3.Name = "linkLabel3";
this.linkLabel3.Size = new System.Drawing.Size(263, 32);
this.linkLabel3.TabIndex = 0;
this.linkLabel3.TabStop = true;
this.linkLabel3.Text = "Cell Value Display Font";
this.linkLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel3_LinkClicked);
//
// tbfontcellname
//
this.tbfontcellname.Location = new System.Drawing.Point(320, 146);
this.tbfontcellname.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbfontcellname.Name = "tbfontcellname";
this.tbfontcellname.ReadOnly = true;
this.tbfontcellname.Size = new System.Drawing.Size(394, 39);
this.tbfontcellname.TabIndex = 1;
//
// tbfontcellvalue
//
this.tbfontcellvalue.Location = new System.Drawing.Point(320, 203);
this.tbfontcellvalue.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbfontcellvalue.Name = "tbfontcellvalue";
this.tbfontcellvalue.ReadOnly = true;
this.tbfontcellvalue.Size = new System.Drawing.Size(394, 39);
this.tbfontcellvalue.TabIndex = 1;
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.button1.Location = new System.Drawing.Point(10, 379);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(708, 67);
this.button1.TabIndex = 2;
this.button1.Text = "OK";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// tbFontSummary
//
this.tbFontSummary.Location = new System.Drawing.Point(320, 317);
this.tbFontSummary.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbFontSummary.Name = "tbFontSummary";
this.tbFontSummary.ReadOnly = true;
this.tbFontSummary.Size = new System.Drawing.Size(394, 39);
this.tbFontSummary.TabIndex = 4;
//
// linkLabel4
//
this.linkLabel4.AutoSize = true;
this.linkLabel4.Location = new System.Drawing.Point(56, 317);
this.linkLabel4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.linkLabel4.Name = "linkLabel4";
this.linkLabel4.Size = new System.Drawing.Size(256, 32);
this.linkLabel4.TabIndex = 3;
this.linkLabel4.TabStop = true;
this.linkLabel4.Text = "Summary Display Font";
this.linkLabel4.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel4_LinkClicked);
//
// tbFontCellTitle
//
this.tbFontCellTitle.Location = new System.Drawing.Point(320, 89);
this.tbFontCellTitle.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbFontCellTitle.Name = "tbFontCellTitle";
this.tbFontCellTitle.ReadOnly = true;
this.tbFontCellTitle.Size = new System.Drawing.Size(394, 39);
this.tbFontCellTitle.TabIndex = 6;
//
// linkLabel5
//
this.linkLabel5.AutoSize = true;
this.linkLabel5.Location = new System.Drawing.Point(63, 89);
this.linkLabel5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.linkLabel5.Name = "linkLabel5";
this.linkLabel5.Size = new System.Drawing.Size(249, 32);
this.linkLabel5.TabIndex = 5;
this.linkLabel5.TabStop = true;
this.linkLabel5.Text = "Cell Title Dispaly Font";
this.linkLabel5.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel5_LinkClicked);
//
// tbFontAvalue
//
this.tbFontAvalue.Location = new System.Drawing.Point(320, 260);
this.tbFontAvalue.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbFontAvalue.Name = "tbFontAvalue";
this.tbFontAvalue.ReadOnly = true;
this.tbFontAvalue.Size = new System.Drawing.Size(394, 39);
this.tbFontAvalue.TabIndex = 8;
//
// linkLabel6
//
this.linkLabel6.AutoSize = true;
this.linkLabel6.Location = new System.Drawing.Point(26, 260);
this.linkLabel6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.linkLabel6.Name = "linkLabel6";
this.linkLabel6.Size = new System.Drawing.Size(286, 32);
this.linkLabel6.TabIndex = 7;
this.linkLabel6.TabStop = true;
this.linkLabel6.Text = "Alarm Value Display Font";
this.linkLabel6.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel6_LinkClicked);
//
// fDesignSetting
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(728, 456);
this.Controls.Add(this.tbFontAvalue);
this.Controls.Add(this.linkLabel6);
this.Controls.Add(this.tbFontCellTitle);
this.Controls.Add(this.linkLabel5);
this.Controls.Add(this.tbFontSummary);
this.Controls.Add(this.linkLabel4);
this.Controls.Add(this.button1);
this.Controls.Add(this.tbfontcellvalue);
this.Controls.Add(this.tbfontcellname);
this.Controls.Add(this.tbfontnb);
this.Controls.Add(this.linkLabel3);
this.Controls.Add(this.linkLabel2);
this.Controls.Add(this.linkLabel1);
this.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "fDesignSetting";
this.Padding = new System.Windows.Forms.Padding(10);
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Design Setting";
this.Load += new System.EventHandler(this.fDesignSetting_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.LinkLabel linkLabel2;
private System.Windows.Forms.TextBox tbfontnb;
private System.Windows.Forms.LinkLabel linkLabel3;
private System.Windows.Forms.TextBox tbfontcellname;
private System.Windows.Forms.TextBox tbfontcellvalue;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox tbFontSummary;
private System.Windows.Forms.LinkLabel linkLabel4;
private System.Windows.Forms.TextBox tbFontCellTitle;
private System.Windows.Forms.LinkLabel linkLabel5;
private System.Windows.Forms.TextBox tbFontAvalue;
private System.Windows.Forms.LinkLabel linkLabel6;
}
}

View File

@@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace vmsnet.Setting
{
public partial class fDesignSetting : Form
{
public fDesignSetting()
{
InitializeComponent();
this.button1.Click += (s1, e1) => this.DialogResult = DialogResult.OK;
}
private void fDesignSetting_Load(object sender, EventArgs e)
{
tbfontnb.Text = PUB.DESIGN.font_nb;
tbfontcellname.Text = PUB.DESIGN.font_cellname;
tbfontcellvalue.Text = PUB.DESIGN.font_cellvalue;
tbFontSummary.Text = PUB.DESIGN.font_summary;
tbFontCellTitle.Text = PUB.DESIGN.font_celltitle;
tbFontAvalue.Text = PUB.DESIGN.font_alarmvalue;
}
private void button1_Click(object sender, EventArgs e)
{
PUB.DESIGN.font_nb = tbfontnb.Text;
PUB.DESIGN.font_cellname = tbfontcellname.Text;
PUB.DESIGN.font_cellvalue = tbfontcellvalue.Text;
PUB.DESIGN.font_summary = tbFontSummary.Text;
PUB.DESIGN.font_celltitle = tbFontCellTitle.Text;
PUB.DESIGN.font_alarmvalue = tbFontAvalue.Text;
PUB.DESIGN.Save();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetFontData(tbfontnb);
}
void SetFontData(TextBox tb)
{
using (var fd = new FontDialog())
{
fd.Font = PUB.GetFontFromStr(tb.Text);
if (fd.ShowDialog() == DialogResult.OK)
{
tb.Text = $"{fd.Font.Name},{fd.Font.Size},{(fd.Font.Bold ? 1 : 0)}";
}
}
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetFontData(tbfontcellname);
}
private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetFontData(tbfontcellvalue);
}
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetFontData(tbFontSummary);
}
private void linkLabel5_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetFontData(tbFontCellTitle);
}
private void linkLabel6_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SetFontData(tbFontAvalue);
}
}
}

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
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
rEHwD6xB+B+sQfgfrEH8P6xB/j+sQf5/rEE=
</value>
</data>
</root>