diff --git a/ITC81DB_0H/Controls/CenterBasic/ControlCenterBasicProduct.cs b/ITC81DB_0H/Controls/CenterBasic/ControlCenterBasicProduct.cs
index 757d2cb..6c80b93 100644
--- a/ITC81DB_0H/Controls/CenterBasic/ControlCenterBasicProduct.cs
+++ b/ITC81DB_0H/Controls/CenterBasic/ControlCenterBasicProduct.cs
@@ -299,8 +299,7 @@ namespace ITC81DB_0H.Controls
{
string before = "", after = "";
before = this.SelectedProductItem.Name;
- this.SelectedProductItem.Name = this.textBoxProductName.Text;
- after = this.SelectedProductItem.Name;
+ after = this.SelectedProductItem.Name = this.textBoxProductName.Text;
this.ParentForm.ParentForm.CollectionProductItem[this.SelectedProductNo - 1].Name = this.textBoxProductName.Text;
this.listBoxProductList.SelectedIndexChanged -= new EventHandler(this.listBoxProductList_SelectedIndexChanged);
@@ -329,7 +328,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.ClearAlarm(0);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ChangeProductName, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ChangeName, "", before, after);
}
else if (e.KeyChar == 27)
{
@@ -431,6 +430,10 @@ namespace ITC81DB_0H.Controls
}
else
{
+ string before = "", after = "";
+
+ before = this.labelOverRange.Text;
+
this.ParentForm.ParentForm.ClearAlarm(0);
this.labelOverRange.Text = myKeyPad.StringValue;
@@ -438,6 +441,11 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.CollectionProductItem[this.SelectedProductNo - 1].OverRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.SaveProductFile(this.SelectedProductItem, this.SelectedProductNo - 1);
this.DisplayControls(this.SelectedProductItem);
+
+ after = this.labelOverRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "", before, after);
}
}
}
@@ -445,6 +453,7 @@ namespace ITC81DB_0H.Controls
{
int digit = 0, temp = 0, range = 0;
string value = "", feedbackValue = "";
+ string before = "", after = "";
int oldUnderRangeDeviation = this.SelectedProductItem.UnderRangeDeviation;
int oldOverRangeDeviation = this.SelectedProductItem.OverRangeDeviation;
@@ -454,12 +463,21 @@ namespace ITC81DB_0H.Controls
if (myKeyPad.ShowDialog() != DialogResult.OK)
return;
+ before = this.labelPassRange.Text;
+
this.ParentForm.ParentForm.ClearAlarm(0);
this.SelectedProductItem.PassRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.CollectionProductItem[this.SelectedProductNo - 1].PassRange = myKeyPad.StringValue.Replace(".", "");
+ after = this.labelPassRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.PassRange, "", before, after);
+
#region UnderRange
+ before = this.labelUnderRange.Text;
+
temp = this.SelectedProductItem.PassRangeInt + oldUnderRangeDeviation;
if (temp < 0)
value = "0";
@@ -468,9 +486,16 @@ namespace ITC81DB_0H.Controls
this.SelectedProductItem.UnderRange = value;
this.ParentForm.ParentForm.CollectionProductItem[this.SelectedProductNo - 1].UnderRange = value;
+
+ after = this.labelUnderRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "Change Pass Value", before, after);
#endregion
#region OverRange
+ before = this.labelOverRange.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
range = 9999;
else
@@ -490,6 +515,11 @@ namespace ITC81DB_0H.Controls
this.SelectedProductItem.OverRange = value;
this.ParentForm.ParentForm.CollectionProductItem[this.SelectedProductNo - 1].OverRange = value;
+
+ after = this.labelOverRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "Change Pass Value", before, after);
#endregion
this.ParentForm.ParentForm.SaveProductFile(this.SelectedProductItem, this.SelectedProductNo - 1);
@@ -510,6 +540,10 @@ namespace ITC81DB_0H.Controls
}
else
{
+ string before = "", after = "";
+
+ before = this.labelUnderRange.Text;
+
this.ParentForm.ParentForm.ClearAlarm(0);
this.labelUnderRange.Text = myKeyPad.StringValue;
@@ -518,6 +552,11 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveProductFile(this.SelectedProductItem, this.SelectedProductNo - 1);
this.DisplayControls(this.SelectedProductItem);
+
+ after = this.labelUnderRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "", before, after);
}
}
}
@@ -544,6 +583,10 @@ namespace ITC81DB_0H.Controls
}
else
{
+ string before = "", after = "";
+
+ before = this.labelOverRange.Text;
+
this.ParentForm.ParentForm.ClearAlarm(0);
this.labelDeviationOver.Text = myKeyPad.StringValue;
@@ -552,6 +595,11 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveProductFile(this.SelectedProductItem, this.SelectedProductNo - 1);
this.DisplayControls(this.SelectedProductItem);
+
+ after = this.labelOverRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "Change Deviation", before, after);
}
}
}
@@ -578,6 +626,10 @@ namespace ITC81DB_0H.Controls
}
else
{
+ string before = "", after = "";
+
+ before = this.labelUnderRange.Text;
+
this.ParentForm.ParentForm.ClearAlarm(0);
this.labelDeviationUnder.Text = myKeyPad.StringValue;
@@ -586,6 +638,11 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveProductFile(this.SelectedProductItem, this.SelectedProductNo - 1);
this.DisplayControls(this.SelectedProductItem);
+
+ after = this.labelUnderRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "Change Deviation", before, after);
}
}
}
@@ -605,12 +662,21 @@ namespace ITC81DB_0H.Controls
}
else
{
+ string before = "", after = "";
+
+ before = this.labelTareRange.Text;
+
this.ParentForm.ParentForm.ClearAlarm(0);
this.labelTareRange.Text = myKeyPad.StringValue;
this.SelectedProductItem.TareRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.CollectionProductItem[this.SelectedProductNo - 1].TareRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.SaveProductFile(this.SelectedProductItem, this.SelectedProductNo - 1);
+
+ after = this.labelTareRange.Text;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TareRange, "", before, after);
}
}
}
diff --git a/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiEthernet.cs b/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiEthernet.cs
index 3ca9f9f..7411c04 100644
--- a/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiEthernet.cs
+++ b/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiEthernet.cs
@@ -27,6 +27,7 @@ namespace ITC81DB_0H.Controls
public ControlConfiSerialHitachi ControlHitachi;
public ControlConfiSerialMarkoPrint ControlMarkoprint;
public ControlConfiModbus ControlModbusTCP;
+ public ControlConfiMULTiJET ControlMultiJet;
private delegate void ConnetedIPStatusCallback(string value);
#endregion
@@ -193,6 +194,12 @@ namespace ITC81DB_0H.Controls
this.Controls.Add(this.ControlModbusTCP);
this.ControlModbusTCP.Location = new Point(0, 217);
+ this.ControlMultiJet = new ControlConfiMULTiJET(this.ParentForm);
+ this.Controls.Add(this.ControlMultiJet);
+ this.ControlMultiJet.Location = new Point(0, 217);
+
+ this.ControlVisible(false);
+
if (this.ParentForm.ParentForm.SystemConfig2.IsEthernetEnable == true)
{
this.buttonStart.Enabled = true;
@@ -252,6 +259,11 @@ namespace ITC81DB_0H.Controls
this.comboBoxEthernetMode.Items.Add("-"); // Impinj Speedway-R420(RFID) 21
this.comboBoxEthernetMode.Items.Add("Modbus TCP"); // 모드버스 TCP 22
this.comboBoxEthernetMode.Items.Add("STD2"); // STD2 23
+ this.comboBoxEthernetMode.Items.Add("MULTi-JET"); // MULTi-JET 24
+ this.comboBoxEthernetMode.Items.Add("DJ(VIDEOJET)"); // DJ VIDEOJET 25
+ this.comboBoxEthernetMode.Items.Add("LINX8830"); // LINX8830 잉크젯 프린터 26
+ this.comboBoxEthernetMode.Items.Add("MYJET"); // MYJET 잉크젯 프린터 27
+ this.comboBoxEthernetMode.Items.Add("OPT4"); // 바코드 값과 함께 전송(Tasco건) 28
}
else
{
@@ -364,9 +376,24 @@ namespace ITC81DB_0H.Controls
case 20: // markem-imaje 9410 OPT3
this.labelFormat.Text = "0xE8,0x00,0x08,0x01,0x00,0x05,W[5],Chksum[1]";
break;
- case (int)Define.E_EthernetMode.f23_STD2: // STD2
+ case (int)Define.E_CommMode.f22_Modbus: // Modbus_TCP
+ this.labelFormat.Text = "ID, Product No, Under, Pass, Over, Under Count, Pass Count, Over Count, NG Count, ExNG Count, Total Count, Grade, Weight, Status(Run/Stop)";
+ break;
+ case (int)Define.E_CommMode.f23_STD2: // STD2
this.labelFormat.Text = "STX[1],ID[5],No[4],U[6],P[6],O[6],UC[7],PC[7],OC[7],ExC[7],TC[9],Grd[1],Sign[1],Weight[6],ETX[1]";
break;
+ case (int)Define.E_CommMode.f24_MULTi_JET: // Multi-jet
+ this.labelFormat.Text = "0x1B,0x02,Slave Address[1],0x1D,0x02,0x01,0x0A,Date[10],0x02,0x07,Weight[6],'g',0x1B,0x03,Chksum[1]";
+ break;
+ case (int)Define.E_CommMode.f26_LINX8830: // LINX8830
+ this.labelFormat.Text = "0x1B,0x02,0x1D,0x06,0x00,Weight[6],0x1B,0x03";
+ break;
+ case (int)Define.E_CommMode.f27_MYJET: // MYJET
+ this.labelFormat.Text = "0x1B,0x02,IP[1],0x1D,0x01,0x01,0x06,Weight[6],0x1B,0x03,Checksum[1]";
+ break;
+ case (int)Define.E_CommMode.f28_OPT4: // OPT4
+ this.labelFormat.Text = "0x02,Date[yyyy-MM-dd HH:mm:ss, 19];Grade[1];Weight[6];Data,0x03";
+ break;
default:
this.buttonTestSend.Enabled = false;
this.labelFormat.Text = "Private use";
@@ -410,10 +437,11 @@ namespace ITC81DB_0H.Controls
{
this.DisplayBottomSettingMenu();
- if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f9_Hitachi
- || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f11_Markoprint
- || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f16_OPC
- || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f22_Modbus_TCP)
+ if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f9_Hitachi
+ || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f11_Markoprint
+ || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f16_OPC
+ || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f22_Modbus
+ || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f24_MULTi_JET)
this.buttonAddon.Visible = true;
else
this.buttonAddon.Visible = false;
@@ -423,6 +451,7 @@ namespace ITC81DB_0H.Controls
this.ControlHitachi.Visible = visible;
this.ControlMarkoprint.Visible = visible;
this.ControlModbusTCP.Visible = visible;
+ this.ControlMultiJet.Visible = visible;
}
private void DisplayBottomSettingMenu()
{
@@ -430,25 +459,31 @@ namespace ITC81DB_0H.Controls
this.buttonTestSend.Enabled = true;
- if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f9_Hitachi)
+ if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f9_Hitachi)
{
this.ControlHitachi.Visible = true;
this.ControlHitachi.BringToFront();
this.ControlHitachi.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
}
- else if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f11_Markoprint)
+ else if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f11_Markoprint)
{
this.ControlMarkoprint.Visible = true;
this.ControlMarkoprint.BringToFront();
this.ControlMarkoprint.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
}
- else if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f22_Modbus_TCP
- || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_EthernetMode.f16_OPC)
+ else if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f22_Modbus
+ || this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f16_OPC)
{
this.ControlModbusTCP.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
this.ControlModbusTCP.Visible = true;
this.ControlModbusTCP.BringToFront();
}
+ else if (this.comboBoxEthernetMode.SelectedIndex == (int)Define.E_CommMode.f24_MULTi_JET)
+ {
+ this.ControlMultiJet.Visible = true;
+ this.ControlMultiJet.BringToFront();
+ this.ControlMultiJet.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
+ }
else
{
@@ -476,7 +511,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxEthernetOpMode.SelectedIndex = this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode;
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false)
{
- if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f23_STD2)
+ if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f23_STD2)
this.comboBoxEthernetMode.SelectedIndex = ModeSTD2;
else if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode > this.comboBoxEthernetMode.Items.Count - 1)
{
@@ -1086,9 +1121,9 @@ namespace ITC81DB_0H.Controls
this.buttonSave2.Enabled = false;
if (beforeServerIP != afterServerIP)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetServerIPAddress, "", beforeServerIP, afterServerIP);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPServerIPAddress, "", beforeServerIP, afterServerIP);
if (beforeServerPort != afterServerPort)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetServerPort, "", beforeServerPort, afterServerPort);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPServerPort, "", beforeServerPort, afterServerPort);
}
private void labelHostPort_Click(object sender, EventArgs e)
@@ -1383,20 +1418,20 @@ namespace ITC81DB_0H.Controls
}
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false && mode == ModeSTD2)
- mode = (int)Define.E_SerialMode.f23_STD2;
+ mode = (int)Define.E_CommMode.f23_STD2;
else
mode = this.comboBoxEthernetMode.SelectedIndex;
this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode = mode;
afterComMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(mode);
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f22_Modbus_TCP
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f16_OPC
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f16_OPC
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f16_OPC
- || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f16_OPC
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f16_OPC
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f16_OPC
+ || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f16_OPC)
this.ParentForm.ParentForm.ChildFormMainDisplay.MainBottomModbusIconAdd(true);
else
this.ParentForm.ParentForm.ChildFormMainDisplay.MainBottomModbusIconAdd(false);
@@ -1409,11 +1444,11 @@ namespace ITC81DB_0H.Controls
afterLocalPort = this.labelLocalPort.Text;
if (beforeLocalPort != afterLocalPort)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetLocalPort, "", beforeLocalPort, afterLocalPort);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPLocalPort, "", beforeLocalPort, afterLocalPort);
if (beforeOpMode != afterOpMode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetOperationMode, "", beforeOpMode, afterOpMode);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPOpMode, "", beforeOpMode, afterOpMode);
if (beforeComMode != afterComMode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetComMode, "", beforeComMode, afterComMode);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPComMode, "", beforeComMode, afterComMode);
}
private void buttonAddon_Click(object sender, EventArgs e)
diff --git a/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiSerial.cs b/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiSerial.cs
index 2dac3d6..d784af6 100644
--- a/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiSerial.cs
+++ b/ITC81DB_0H/Controls/CenterConfiguration/ControlCenterConfiSerial.cs
@@ -29,6 +29,7 @@ namespace ITC81DB_0H.Controls
public ControlConfiSerialMarkoPrint ControlMarkoprint;
public ControlConfiSerialBarcode ControlBarcode;
public ControlConfiModbus ControlModbusRTU;
+ public ControlConfiMULTiJET ControlMultiJet;
#endregion
#region Constructor
@@ -148,6 +149,10 @@ namespace ITC81DB_0H.Controls
this.Controls.Add(this.ControlModbusRTU);
this.ControlModbusRTU.Location = new Point(0, 217);
+ this.ControlMultiJet = new ControlConfiMULTiJET(this.ParentForm);
+ this.Controls.Add(this.ControlMultiJet);
+ this.ControlMultiJet.Location = new Point(0, 217);
+
this.ControlVisible(false);
this.comboBoxSerialBaudRate.Items.Clear();
@@ -194,6 +199,11 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialMode.Items.Add("-"); // RFID 21
this.comboBoxSerialMode.Items.Add("Modbus RTU"); // 모드버스 RTU 22
this.comboBoxSerialMode.Items.Add("STD2"); // STD2 23
+ this.comboBoxSerialMode.Items.Add("MULTi-JET"); // MULTi-JET 24
+ this.comboBoxSerialMode.Items.Add("DJ(VIDEOJET)"); // DJ VIDEOJET 25
+ this.comboBoxSerialMode.Items.Add("LINX8830"); // LINX8830 잉크젯 프린터 26
+ this.comboBoxSerialMode.Items.Add("MYJET"); // MYJET 잉크젯 프린터 27
+ this.comboBoxSerialMode.Items.Add("OPT4"); // 바코드 값과 함께 전송(Tasco건) 28
//this.comboBoxSerialMode.Items.Add("Barcode");
//this.comboBoxSerialMode.Items.Add("User Define");
}
@@ -208,6 +218,232 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialMode.SelectedIndexChanged += new EventHandler(this.comboBoxSerialMode_SelectedIndexChanged);
}
+ public string ReturnBaudrateName(int num)
+ {
+ switch (num)
+ {
+ case 0:
+ return "9600";
+ case 1:
+ return "19200";
+ case 2:
+ return "38400";
+ case 3:
+ return "57600";
+ case 4:
+ return "115200";
+ default:
+ return "9600";
+ }
+ }
+ public string ReturnCommunicationModeName(int num)
+ {
+ if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
+ {
+ #region 독일어
+ switch (num)
+ {
+ case 0:
+ return "Keiner";
+ case 1:
+ return "STD1";
+ case 2:
+ return "Fernzugriff";
+ case 3:
+ return "Drucker";
+ case 4:
+ return "imaje9410-1";
+ case 5:
+ return "imaje9028-1";
+ case 6:
+ return "OPT0";
+ case 7:
+ return "imaje9410-2";
+ case 8:
+ return "imaje9028-2";
+ case 9:
+ return "Hitachi";
+ case 10:
+ return "MACSA";
+ case 11:
+ return "Markoprint";
+ case 12:
+ return "alphaJET";
+ case 13:
+ return "VJ1510";
+ case 14:
+ return "OPT1";
+ case 15:
+ return "OPT2";
+ case 16:
+ return "OPC";
+ case 17:
+ return "OPT3";
+ case 18:
+ return "HP-200";
+ case 19:
+ return "Smart Jet";
+ case 20:
+ return "imaje 9410 OPT3";
+ case 21:
+ return "RFID R420";
+ case 22:
+ return "Modbus";
+ case 23:
+ return "STD2";
+ case 24:
+ return "MULTi-JET";
+ case 25:
+ return "DJ(VIDEOJET)";
+ case 26:
+ return "LINX8830";
+ case 27:
+ return "MYJET";
+ case 28:
+ return "OPT4";
+ default:
+ return "Keiner";
+ }
+ #endregion
+ }
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ {
+ #region 스페인어
+ switch (num)
+ {
+ case 0:
+ return "Ninguna";
+ case 1:
+ return "STD1";
+ case 2:
+ return "Remoto";
+ case 3:
+ return "Impresora industrial";
+ case 4:
+ return "imaje9410-1";
+ case 5:
+ return "imaje9028-1";
+ case 6:
+ return "OPT0";
+ case 7:
+ return "imaje9410-2";
+ case 8:
+ return "imaje9028-2";
+ case 9:
+ return "Hitachi";
+ case 10:
+ return "MACSA";
+ case 11:
+ return "Markoprint";
+ case 12:
+ return "alphaJET";
+ case 13:
+ return "VJ1510";
+ case 14:
+ return "OPT1";
+ case 15:
+ return "OPT2";
+ case 16:
+ return "OPC";
+ case 17:
+ return "OPT3";
+ case 18:
+ return "HP-200";
+ case 19:
+ return "Smart Jet";
+ case 20:
+ return "imaje 9410 OPT3";
+ case 21:
+ return "RFID R420";
+ case 22:
+ return "Modbus";
+ case 23:
+ return "STD2";
+ case 24:
+ return "MULTi-JET";
+ case 25:
+ return "DJ(VIDEOJET)";
+ case 26:
+ return "LINX8830";
+ case 27:
+ return "MYJET";
+ case 28:
+ return "OPT4";
+ default:
+ return "Ninguna";
+ }
+ #endregion
+ }
+ else
+ {
+ #region 한국어
+ switch (num)
+ {
+ case 0:
+ return "None";
+ case 1:
+ return "STD1";
+ case 2:
+ return "Remote";
+ case 3:
+ return "Printer";
+ case 4:
+ return "imaje9410-1";
+ case 5:
+ return "imaje9028-1";
+ case 6:
+ return "OPT0";
+ case 7:
+ return "imaje9410-2";
+ case 8:
+ return "imaje9028-2";
+ case 9:
+ return "Hitachi";
+ case 10:
+ return "MACSA";
+ case 11:
+ return "Markoprint";
+ case 12:
+ return "alphaJET";
+ case 13:
+ return "VJ1510";
+ case 14:
+ return "OPT1";
+ case 15:
+ return "OPT2";
+ case 16:
+ return "OPC";
+ case 17:
+ return "OPT3";
+ case 18:
+ return "HP-200";
+ case 19:
+ return "Smart Jet";
+ case 20:
+ return "imaje 9410 OPT3";
+ case 21:
+ return "RFID R420";
+ case 22:
+ return "Modbus";
+ case 23:
+ return "STD2";
+ case 24:
+ return "MULTi-JET";
+ case 25:
+ return "DJ(VIDEOJET)";
+ case 26:
+ return "LINX8830";
+ case 27:
+ return "MYJET";
+ case 28:
+ return "OPT4";
+ default:
+ return "None";
+ }
+ #endregion
+ }
+ }
+
private void UpdateLabelFormatDisplay()
{
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false)
@@ -299,12 +535,27 @@ namespace ITC81DB_0H.Controls
case 20: // markem-imaje 9410 OPT3
this.labelFormat.Text = "0xE8,0x00,0x08,0x01,0x00,0x05,W[5],Chksum[1]";
break;
- case (int)Define.E_SerialMode.f23_STD2: // STD2
+ case (int)Define.E_CommMode.f23_STD2: // STD2
this.labelFormat.Text = "STX[1],ID[5],No[4],U[6],P[6],O[6],UC[7],PC[7],OC[7],ExC[7],TC[9],Grd[1],Sign[1],Weight[6],ETX[1]";
break;
+ case (int)Define.E_CommMode.f24_MULTi_JET: // Multi-jet
+ this.labelFormat.Text = "0x1B,0x02,Slave Address[1],0x1D,0x02,0x01,0x0A,Date[10],0x02,0x07,Weight[6],'g',0x1B,0x03,Chksum[1]";
+ break;
+ case (int)Define.E_CommMode.f26_LINX8830: // LINX8830
+ this.labelFormat.Text = "0x1B,0x02,0x1D,0x06,0x00,Weight[6],0x1B,0x03";
+ break;
+ case (int)Define.E_CommMode.f27_MYJET: // MYJET
+ this.labelFormat.Text = "0x1B,0x02,0x05,0x1D,0x01,0x01,0x06,Weight[6],0x1B,0x03,Checksum[1]";
+ break;
+ case (int)Define.E_CommMode.f28_OPT4: // OPT4
+ this.labelFormat.Text = "0x02,Date[yyyy-MM-dd HH:mm:ss, 19];Grade[1];Weight[6];Data,0x03";
+ break;
default:
- this.buttonTestSend.Enabled = false;
- this.labelFormat.Text = "Private use";
+ if (this.ParentForm.ParentForm.SystemConfig2.Barcode == 0)
+ {
+ this.buttonTestSend.Enabled = false;
+ this.labelFormat.Text = "Private use";
+ }
break;
}
}
@@ -315,6 +566,7 @@ namespace ITC81DB_0H.Controls
this.ControlHitachi.Visible = visible;
this.ControlMarkoprint.Visible = visible;
this.ControlModbusRTU.Visible = visible;
+ this.ControlMultiJet.Visible = visible;
//this.ControlBarcode.Visible = visible;
}
private void ButtonAddOnDisplay()
@@ -322,10 +574,11 @@ namespace ITC81DB_0H.Controls
this.ControlVisible(false);
this.DisplayBottomSettingMenu();
- if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f9_Hitachi
- || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f11_Markoprint
- || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f16_OPC
- || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f22_Modbus_RTU)
+ if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f9_Hitachi
+ || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f11_Markoprint
+ || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f16_OPC
+ || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f22_Modbus
+ || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f24_MULTi_JET)
this.buttonAddon.Visible = true;
else
this.buttonAddon.Visible = false;
@@ -356,7 +609,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialMode.SelectedIndexChanged -= new EventHandler(this.comboBoxSerialMode_SelectedIndexChanged);
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false)
{
- if (item.SerialCOM1Mode == (int)Define.E_SerialMode.f23_STD2)
+ if (item.SerialCOM1Mode == (int)Define.E_CommMode.f23_STD2)
this.comboBoxSerialMode.SelectedIndex = ModeSTD2;
else if (item.SerialCOM1Mode > this.comboBoxSerialMode.Items.Count - 1)
this.comboBoxSerialMode.SelectedIndex = 0;
@@ -371,12 +624,12 @@ namespace ITC81DB_0H.Controls
this.labelTransmissionDelayTime.Text = item.TransmissionDelayTimeCOM1.ToString();
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f16_OPC)
{
this.comboBoxSerialBaudRate.Enabled = false;
this.ControlModbusRTU.OPCSettings();
}
- else if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f22_Modbus_RTU)
+ else if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f22_Modbus)
this.ControlModbusRTU.ModbusRTUDefaultSettings();
else
this.ControlModbusRTU.SerialDefaultSettings();
@@ -426,7 +679,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialMode.SelectedIndexChanged -= new EventHandler(this.comboBoxSerialMode_SelectedIndexChanged);
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false)
{
- if (item.SerialCOM3Mode == (int)Define.E_SerialMode.f23_STD2)
+ if (item.SerialCOM3Mode == (int)Define.E_CommMode.f23_STD2)
this.comboBoxSerialMode.SelectedIndex = ModeSTD2;
else if (item.SerialCOM3Mode > this.comboBoxSerialMode.Items.Count - 1)
this.comboBoxSerialMode.SelectedIndex = 0;
@@ -441,12 +694,12 @@ namespace ITC81DB_0H.Controls
this.labelTransmissionDelayTime.Text = this.ParentForm.ParentForm.SystemConfig1.TransmissionDelayTimeCOM3.ToString();
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f16_OPC) // OPC
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f16_OPC) // OPC
{
this.comboBoxSerialBaudRate.Enabled = false;
this.ControlModbusRTU.OPCSettings();
}
- else if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f22_Modbus_RTU)
+ else if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f22_Modbus)
this.ControlModbusRTU.ModbusRTUDefaultSettings();
else
this.ControlModbusRTU.SerialDefaultSettings();
@@ -464,7 +717,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialMode.SelectedIndexChanged -= new EventHandler(this.comboBoxSerialMode_SelectedIndexChanged);
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false)
{
- if (item.SerialCOM4Mode == (int)Define.E_SerialMode.f23_STD2)
+ if (item.SerialCOM4Mode == (int)Define.E_CommMode.f23_STD2)
this.comboBoxSerialMode.SelectedIndex = ModeSTD2;
else if (item.SerialCOM4Mode > this.comboBoxSerialMode.Items.Count - 1)
this.comboBoxSerialMode.SelectedIndex = 0;
@@ -479,12 +732,12 @@ namespace ITC81DB_0H.Controls
this.labelTransmissionDelayTime.Text = item.TransmissionDelayTimeCOM4.ToString();
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f16_OPC) // OPC
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f16_OPC) // OPC
{
this.comboBoxSerialBaudRate.Enabled = false;
this.ControlModbusRTU.OPCSettings();
}
- else if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f22_Modbus_RTU)
+ else if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f22_Modbus)
this.ControlModbusRTU.ModbusRTUDefaultSettings();
else
this.ControlModbusRTU.SerialDefaultSettings();
@@ -505,13 +758,23 @@ namespace ITC81DB_0H.Controls
}
private void SaveComboBox(int baudrate, int mode)
{
- string beforeBaudrate = "", afterBaudrate = "", beforeMode = "", afterMode = "";
- Define.E_MenuBottomConfiguration temp = this.ParentForm.CurrentConfigurationMenu();
+ string[] beforeBaudrate = new string[3];
+ string[] afterBaudrate = new string[3];
+ string[] beforeMode = new string[3];
+ string[] afterMode = new string[3];
+ Define.E_MenuBottomConfiguration temp = this.ParentForm.CurrentConfigurationMenu();
this.ParentForm.ParentForm.ChangeSerialCOM3FrameBufferSize(1024);
this.ParentForm.ParentForm.ChangeSerialCOM3ReceiveDetect(SmartX.SmartSerialPort.RECEIVEDETECTTYPE.EVENT_QUEUE);
- if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f16_OPC)
+ beforeBaudrate[0] = this.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1BaudRate);
+ beforeBaudrate[1] = this.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3BaudRate);
+ beforeBaudrate[2] = this.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4BaudRate);
+ beforeMode[0] = this.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode);
+ beforeMode[1] = this.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode);
+ beforeMode[2] = this.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode);
+
+ if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f16_OPC)
{
this.ControlModbusRTU.OPCSettings();
@@ -525,7 +788,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialBaudRate.SelectedIndex = 0;
this.comboBoxSerialBaudRate.SelectedIndexChanged += new EventHandler(this.comboBoxSerialBaudRate_SelectedIndexChanged);
this.comboBoxSerialBaudRate.Enabled = false;
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = (int)Define.E_SerialMode.f16_OPC;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = (int)Define.E_CommMode.f16_OPC;
this.ParentForm.ParentForm.OpenSerialCOM1();
break;
case Define.E_MenuBottomConfiguration.SerialCOM3:
@@ -535,7 +798,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialBaudRate.SelectedIndex = 0;
this.comboBoxSerialBaudRate.SelectedIndexChanged += new EventHandler(this.comboBoxSerialBaudRate_SelectedIndexChanged);
this.comboBoxSerialBaudRate.Enabled = false;
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = (int)Define.E_SerialMode.f16_OPC;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = (int)Define.E_CommMode.f16_OPC;
this.ParentForm.ParentForm.OpenSerialCOM3();
break;
case Define.E_MenuBottomConfiguration.SerialCOM4:
@@ -545,7 +808,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialBaudRate.SelectedIndex = 0;
this.comboBoxSerialBaudRate.SelectedIndexChanged += new EventHandler(this.comboBoxSerialBaudRate_SelectedIndexChanged);
this.comboBoxSerialBaudRate.Enabled = false;
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = (int)Define.E_SerialMode.f16_OPC;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = (int)Define.E_CommMode.f16_OPC;
this.ParentForm.ParentForm.OpenSerialCOM4();
break;
default:
@@ -553,7 +816,7 @@ namespace ITC81DB_0H.Controls
}
#endregion
}
- else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f21_Impinj_Speedway_R420)
+ else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f21_Impinj_Speedway_R420)
{
#region RFID Speedway R420
switch (temp)
@@ -564,7 +827,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialBaudRate.SelectedIndex = 4;
this.comboBoxSerialBaudRate.SelectedIndexChanged += new EventHandler(this.comboBoxSerialBaudRate_SelectedIndexChanged);
this.ParentForm.ParentForm.SystemConfig1.SerialCOM1BaudRate = 4;
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = (int)Define.E_SerialMode.f21_Impinj_Speedway_R420;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = (int)Define.E_CommMode.f21_Impinj_Speedway_R420;
this.ParentForm.ParentForm.ChangeSerialCOM1FrameSeparateType(Define.E_SeparateType.ETXONLY);
this.ParentForm.ParentForm.OpenSerialCOM1();
break;
@@ -574,7 +837,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialBaudRate.SelectedIndex = 4;
this.comboBoxSerialBaudRate.SelectedIndexChanged += new EventHandler(this.comboBoxSerialBaudRate_SelectedIndexChanged);
this.ParentForm.ParentForm.SystemConfig1.SerialCOM3BaudRate = 4;
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = (int)Define.E_SerialMode.f21_Impinj_Speedway_R420;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = (int)Define.E_CommMode.f21_Impinj_Speedway_R420;
this.ParentForm.ParentForm.ChangeSerialCOM3FrameSeparateType(Define.E_SeparateType.ETXONLY);
this.ParentForm.ParentForm.OpenSerialCOM3();
break;
@@ -584,7 +847,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxSerialBaudRate.SelectedIndex = 4;
this.comboBoxSerialBaudRate.SelectedIndexChanged += new EventHandler(this.comboBoxSerialBaudRate_SelectedIndexChanged);
this.ParentForm.ParentForm.SystemConfig1.SerialCOM4BaudRate = 4;
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = (int)Define.E_SerialMode.f21_Impinj_Speedway_R420;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = (int)Define.E_CommMode.f21_Impinj_Speedway_R420;
this.ParentForm.ParentForm.ChangeSerialCOM4FrameSeparateType(Define.E_SeparateType.ETXONLY);
this.ParentForm.ParentForm.OpenSerialCOM4();
break;
@@ -601,61 +864,31 @@ namespace ITC81DB_0H.Controls
{
case Define.E_MenuBottomConfiguration.SerialCOM1:
this.ParentForm.ParentForm.CloseSerialCOM1();
- beforeBaudrate = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1BaudRate);
this.ParentForm.ParentForm.SystemConfig1.SerialCOM1BaudRate = baudrate;
- afterBaudrate = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1BaudRate);
- if (beforeBaudrate != afterBaudrate)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM1Baudrate, "", beforeBaudrate, afterBaudrate);
-
- beforeMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode);
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false && mode == ModeSTD2)
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = (int)Define.E_SerialMode.f23_STD2;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = (int)Define.E_CommMode.f23_STD2;
else
this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode = mode;
- afterMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode);
- if (beforeMode != afterMode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM1Mode, "", beforeMode, afterMode);
-
this.ParentForm.ParentForm.ChangeSerialCOM1FrameSeparateType(Define.E_SeparateType.STXANDETX);
this.ParentForm.ParentForm.OpenSerialCOM1();
break;
case Define.E_MenuBottomConfiguration.SerialCOM3:
this.ParentForm.ParentForm.CloseSerialCOM3();
- beforeBaudrate = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3BaudRate);
this.ParentForm.ParentForm.SystemConfig1.SerialCOM3BaudRate = baudrate;
- afterBaudrate = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3BaudRate);
- if (beforeBaudrate != afterBaudrate)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM3Baudrate, "", beforeBaudrate, afterBaudrate);
-
- beforeMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode);
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false && mode == ModeSTD2)
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = (int)Define.E_SerialMode.f23_STD2;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = (int)Define.E_CommMode.f23_STD2;
else
this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode = mode;
- afterMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode);
- if (beforeMode != afterMode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM3Mode, "", beforeMode, afterMode);
-
this.ParentForm.ParentForm.ChangeSerialCOM3FrameSeparateType(Define.E_SeparateType.STXANDETX);
this.ParentForm.ParentForm.OpenSerialCOM3();
break;
case Define.E_MenuBottomConfiguration.SerialCOM4:
this.ParentForm.ParentForm.CloseSerialCOM4();
- beforeBaudrate = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4BaudRate);
this.ParentForm.ParentForm.SystemConfig1.SerialCOM4BaudRate = baudrate;
- afterBaudrate = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4BaudRate);
- if (beforeBaudrate != afterBaudrate)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM4Baudrate, "", beforeBaudrate, afterBaudrate);
-
- beforeMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode);
if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false && mode == ModeSTD2)
- this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = (int)Define.E_SerialMode.f23_STD2;
+ this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = (int)Define.E_CommMode.f23_STD2;
else
this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode = mode;
- afterMode = this.ParentForm.ParentForm.ChildFormMenu.CenterInforSystem3.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode);
- if (beforeMode != afterMode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM4Mode, "", beforeMode, afterMode);
-
this.ParentForm.ParentForm.ChangeSerialCOM4FrameSeparateType(Define.E_SeparateType.STXANDETX);
this.ParentForm.ParentForm.OpenSerialCOM4();
break;
@@ -663,15 +896,35 @@ namespace ITC81DB_0H.Controls
break;
}
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f22_Modbus_TCP)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f22_Modbus)
this.ParentForm.ParentForm.ChildFormMainDisplay.MainBottomModbusIconAdd(true);
else
this.ParentForm.ParentForm.ChildFormMainDisplay.MainBottomModbusIconAdd(false);
}
+ afterBaudrate[0] = this.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1BaudRate);
+ afterBaudrate[1] = this.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3BaudRate);
+ afterBaudrate[2] = this.ReturnBaudrateName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4BaudRate);
+ afterMode[0] = this.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode);
+ afterMode[1] = this.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode);
+ afterMode[2] = this.ReturnCommunicationModeName(this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode);
+
+ if (beforeBaudrate[0] != afterBaudrate[0])
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM1Baudrate, "", beforeBaudrate[0], afterBaudrate[0]);
+ if (beforeBaudrate[1] != afterBaudrate[1])
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM3Baudrate, "", beforeBaudrate[1], afterBaudrate[1]);
+ if (beforeBaudrate[2] != afterBaudrate[2])
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM4Baudrate, "", beforeBaudrate[2], afterBaudrate[2]);
+ if (beforeMode[0] != afterMode[0])
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM1Mode, "", beforeMode[0], afterMode[0]);
+ if (beforeMode[1] != afterMode[1])
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM3Mode, "", beforeMode[1], afterMode[1]);
+ if (beforeMode[2] != afterMode[2])
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.COM4Mode, "", beforeMode[2], afterMode[2]);
+
this.ParentForm.ParentForm.SaveSystemConfigurationFile1(this.ParentForm.ParentForm.SystemConfig1);
}
@@ -696,25 +949,31 @@ namespace ITC81DB_0H.Controls
this.buttonTestSend.Enabled = true;
- if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f9_Hitachi)
+ if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f9_Hitachi)
{
this.ControlHitachi.Visible = true;
this.ControlHitachi.BringToFront();
this.ControlHitachi.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
}
- else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f11_Markoprint)
+ else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f11_Markoprint)
{
this.ControlMarkoprint.Visible = true;
this.ControlMarkoprint.BringToFront();
this.ControlMarkoprint.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
}
- else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_SerialMode.f16_OPC)
+ else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f22_Modbus
+ || this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f16_OPC)
{
this.ControlModbusRTU.Visible = true;
this.ControlModbusRTU.BringToFront();
this.ControlModbusRTU.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
}
+ else if (this.comboBoxSerialMode.SelectedIndex == (int)Define.E_CommMode.f24_MULTi_JET)
+ {
+ this.ControlMultiJet.Visible = true;
+ this.ControlMultiJet.BringToFront();
+ this.ControlMultiJet.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu());
+ }
else
{
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipEngineer.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipEngineer.cs
index 0d42534..d965f2c 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipEngineer.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipEngineer.cs
@@ -554,15 +554,18 @@ namespace ITC81DB_0H.Controls
if (myDlg.ShowDialog() == DialogResult.Yes)
{
if (this.buttonPart11.ButtonStatus == SmartButton.BUTSTATUS.UP)
+ {
this.ParentForm.ParentForm.SystemConfig3.IsPart11 = false;
+ this.ParentForm.ParentForm.SystemConfig1.IsLogin = false;
+ this.ParentForm.LoginVisible(false);
+ }
else
{
- if (this.ParentForm.ParentForm.SystemConfig1.IsLogin == false)
- this.ParentForm.ParentForm.SystemConfig1.IsLogin = true;
+ this.ParentForm.ParentForm.SystemConfig1.IsLogin = true;
this.ParentForm.ParentForm.SystemConfig3.IsPart11 = true;
+ this.ParentForm.LoginVisible(true);
}
- this.ParentForm.ParentForm.ChildFormMenu.CenterEquipUser.DisplayOnlyPart11Item();
this.ParentForm.ParentForm.SaveSystemConfigurationFile1(this.ParentForm.ParentForm.SystemConfig1);
this.ParentForm.ParentForm.SaveSystemConfigurationFile3(this.ParentForm.ParentForm.SystemConfig3);
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipFunctionSetting.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipFunctionSetting.cs
index fa21cac..5c7213e 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipFunctionSetting.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipFunctionSetting.cs
@@ -840,7 +840,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.PI6, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExInputPIN6Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExIn6Mode, "", before, after);
}
private void comboBoxPIN5_SelectedIndexChanged(object sender, EventArgs e)
{
@@ -856,7 +856,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.PI5, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExInputPIN5Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExIn5Mode, "", before, after);
}
private void comboBoxPIN4_SelectedIndexChanged(object sender, EventArgs e)
{
@@ -872,7 +872,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.PI4, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExInputPIN4Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExIn4Mode, "", before, after);
}
private void comboBoxPIN3_SelectedIndexChanged(object sender, EventArgs e)
{
@@ -888,7 +888,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.PI3, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExInputPIN3Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExIn3Mode, "", before, after);
}
private void comboBoxPIN2_SelectedIndexChanged(object sender, EventArgs e)
{
@@ -904,7 +904,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.PI2, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExInputPIN2Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExIn2Mode, "", before, after);
}
private void buttonLogin_Click(object sender, EventArgs e)
@@ -913,10 +913,7 @@ namespace ITC81DB_0H.Controls
string before = "", after = "";
if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == true)
- {
- this.buttonLogin.ButtonDown();
return;
- }
if (this.ParentForm.ParentForm.SystemConfig1.IsLogin == false)
before = "OFF";
@@ -933,11 +930,13 @@ namespace ITC81DB_0H.Controls
if (this.buttonLogin.ButtonStatus == SmartX.SmartButton.BUTSTATUS.UP)
{
this.ParentForm.ParentForm.SystemConfig1.IsLogin = false;
+ this.ParentForm.LoginVisible(false);
after = "OFF";
}
else
{
this.ParentForm.ParentForm.SystemConfig1.IsLogin = true;
+ this.ParentForm.LoginVisible(true);
after = "ON";
}
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipInitialize.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipInitialize.cs
index d476dbb..564ac56 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipInitialize.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipInitialize.cs
@@ -203,7 +203,7 @@ namespace ITC81DB_0H.Controls
this.DeleteCounterFile();
this.progressBarInitialize.Value = 100;
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Initialization_LCD, "");
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_LCD, "");
this.InitializeStep = Define.E_Step3.Step3;
this.UpdateLabelStatus(this.InitializeStep, this.ParentForm.ParentForm.SystemConfig1.Language);
@@ -227,7 +227,7 @@ namespace ITC81DB_0H.Controls
this.CopyFolder(this.ParentForm.ParentForm.PathFlashDiskSystemFile2Folder, this.ParentForm.ParentForm.PathSDCardSystemFile2Folder);
this.progressBarInitialize.Value += 15;
this.DeleteCounterFile();
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Initialization_LCD, "");
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_LCD, "");
this.progressBarInitialize.Value += 15;
this.timer.Enabled = true;
@@ -406,7 +406,7 @@ namespace ITC81DB_0H.Controls
this.progressBarInitialize.Value = 100;
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Initialization_Main, "");
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_Main, "");
this.InitializeStep = Define.E_Step3.Step3;
this.UpdateLabelStatus(this.InitializeStep, this.ParentForm.ParentForm.SystemConfig1.Language);
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.Designer.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.Designer.cs
index 685f819..51ab4ce 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.Designer.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.Designer.cs
@@ -30,20 +30,16 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenterEquipUser));
this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.comboBoxAccessRight = new System.Windows.Forms.ComboBox();
+ this.labelAccessRightAdmin = new SmartX.SmartLabel();
+ this.smartSeparatorLine2 = new SmartX.SmartSeparatorLine();
+ this.smartSeparatorLine1 = new SmartX.SmartSeparatorLine();
this.labelAutoLogoutWarning = new SmartX.SmartLabel();
this.labelTitlePassword = new SmartX.SmartLabel();
this.buttonNew = new SmartX.SmartButton();
this.smartKeyboard = new SmartX.SmartKeyboard();
this.buttonSave = new SmartX.SmartButton();
this.buttonDelete = new SmartX.SmartButton();
- this.buttonChangeLevelName = new SmartX.SmartButton();
- this.textBoxLevel2 = new System.Windows.Forms.TextBox();
- this.textBoxLevel1 = new System.Windows.Forms.TextBox();
- this.textBoxLevel3 = new System.Windows.Forms.TextBox();
- this.buttonLevel3 = new SmartX.SmartButton();
- this.buttonLevel2 = new SmartX.SmartButton();
- this.buttonLevel1 = new SmartX.SmartButton();
- this.labelAccessRight = new SmartX.SmartLabel();
this.labelTitleAccessRight = new SmartX.SmartLabel();
this.smartLabel11 = new SmartX.SmartLabel();
this.labelAutomaticLogoutTime = new SmartX.SmartLabel();
@@ -63,31 +59,7 @@
this.textBoxID = new System.Windows.Forms.TextBox();
this.buttonGroupEditor = new SmartX.SmartButton();
this.listBoxUserList = new SmartX.SmartListBox();
- this.groupBoxAccessRight = new SmartX.SmartGroupBox();
- this.checkBoxUser = new SmartX.SmartCheckBox();
- this.labelTitleMain = new SmartX.SmartLabel();
- this.labelTitleMenu = new SmartX.SmartLabel();
- this.checkBoxLog = new SmartX.SmartCheckBox();
- this.checkBoxFeature = new SmartX.SmartCheckBox();
- this.checkBoxInitialization = new SmartX.SmartCheckBox();
- this.checkBoxUpdate = new SmartX.SmartCheckBox();
- this.checkBoxExternalOutput = new SmartX.SmartCheckBox();
- this.checkBoxIOTest = new SmartX.SmartCheckBox();
- this.checkBoxAutoZero = new SmartX.SmartCheckBox();
- this.checkBoxSorter = new SmartX.SmartCheckBox();
- this.checkBoxJudgment = new SmartX.SmartCheckBox();
- this.checkBoxCalibration = new SmartX.SmartCheckBox();
- this.checkBoxEthernet = new SmartX.SmartCheckBox();
- this.checkBoxSerial = new SmartX.SmartCheckBox();
- this.checkBoxDataStat = new SmartX.SmartCheckBox();
- this.checkBoxProduct = new SmartX.SmartCheckBox();
- this.checkBoxTime = new SmartX.SmartCheckBox();
- this.checkBoxSubMenu = new SmartX.SmartCheckBox();
- this.checkBoxClear = new SmartX.SmartCheckBox();
- this.checkBoxChangeWeight = new SmartX.SmartCheckBox();
- this.checkBoxChangeNo = new SmartX.SmartCheckBox();
this.smartGroupBox1.SuspendLayout();
- this.groupBoxAccessRight.SuspendLayout();
this.SuspendLayout();
//
// smartGroupBox1
@@ -95,20 +67,16 @@
this.smartGroupBox1.BackColor = System.Drawing.Color.Black;
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.comboBoxAccessRight);
+ this.smartGroupBox1.Controls.Add(this.labelAccessRightAdmin);
+ this.smartGroupBox1.Controls.Add(this.smartSeparatorLine2);
+ this.smartGroupBox1.Controls.Add(this.smartSeparatorLine1);
this.smartGroupBox1.Controls.Add(this.labelAutoLogoutWarning);
this.smartGroupBox1.Controls.Add(this.labelTitlePassword);
this.smartGroupBox1.Controls.Add(this.buttonNew);
this.smartGroupBox1.Controls.Add(this.smartKeyboard);
this.smartGroupBox1.Controls.Add(this.buttonSave);
this.smartGroupBox1.Controls.Add(this.buttonDelete);
- this.smartGroupBox1.Controls.Add(this.buttonChangeLevelName);
- this.smartGroupBox1.Controls.Add(this.textBoxLevel2);
- this.smartGroupBox1.Controls.Add(this.textBoxLevel1);
- this.smartGroupBox1.Controls.Add(this.textBoxLevel3);
- this.smartGroupBox1.Controls.Add(this.buttonLevel3);
- this.smartGroupBox1.Controls.Add(this.buttonLevel2);
- this.smartGroupBox1.Controls.Add(this.buttonLevel1);
- this.smartGroupBox1.Controls.Add(this.labelAccessRight);
this.smartGroupBox1.Controls.Add(this.labelTitleAccessRight);
this.smartGroupBox1.Controls.Add(this.smartLabel11);
this.smartGroupBox1.Controls.Add(this.labelAutomaticLogoutTime);
@@ -128,7 +96,6 @@
this.smartGroupBox1.Controls.Add(this.textBoxID);
this.smartGroupBox1.Controls.Add(this.buttonGroupEditor);
this.smartGroupBox1.Controls.Add(this.listBoxUserList);
- this.smartGroupBox1.Controls.Add(this.groupBoxAccessRight);
this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.Black;
this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.Black;
this.smartGroupBox1.FrameLineThickness = 1;
@@ -143,6 +110,66 @@
this.smartGroupBox1.Text = "smartGroupBox1";
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
+ // comboBoxAccessRight
+ //
+ this.comboBoxAccessRight.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Regular);
+ this.comboBoxAccessRight.Location = new System.Drawing.Point(390, 76);
+ this.comboBoxAccessRight.Name = "comboBoxAccessRight";
+ this.comboBoxAccessRight.Size = new System.Drawing.Size(250, 26);
+ this.comboBoxAccessRight.TabIndex = 206;
+ this.comboBoxAccessRight.SelectedIndexChanged += new System.EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
+ //
+ // labelAccessRightAdmin
+ //
+ this.labelAccessRightAdmin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
+ this.labelAccessRightAdmin.BackPictureBox = null;
+ this.labelAccessRightAdmin.BackPictureBox1 = null;
+ this.labelAccessRightAdmin.BackPictureBox2 = null;
+ this.labelAccessRightAdmin.BorderColor = System.Drawing.Color.White;
+ this.labelAccessRightAdmin.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelAccessRightAdmin.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
+ this.labelAccessRightAdmin.ForeColor = System.Drawing.Color.White;
+ this.labelAccessRightAdmin.InitVisible = true;
+ this.labelAccessRightAdmin.LineSpacing = 0F;
+ this.labelAccessRightAdmin.Location = new System.Drawing.Point(390, 76);
+ this.labelAccessRightAdmin.Name = "labelAccessRightAdmin";
+ this.labelAccessRightAdmin.Size = new System.Drawing.Size(250, 26);
+ this.labelAccessRightAdmin.TabIndex = 209;
+ this.labelAccessRightAdmin.Text = "Administrator";
+ this.labelAccessRightAdmin.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.labelAccessRightAdmin.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelAccessRightAdmin.Wordwrap = false;
+ //
+ // smartSeparatorLine2
+ //
+ this.smartSeparatorLine2.InitVisible = true;
+ this.smartSeparatorLine2.Line1Color = System.Drawing.Color.DimGray;
+ this.smartSeparatorLine2.Line1Width = 1F;
+ this.smartSeparatorLine2.Line2Color = System.Drawing.Color.LightGray;
+ this.smartSeparatorLine2.Line2Visible = true;
+ this.smartSeparatorLine2.Line2Width = 1F;
+ this.smartSeparatorLine2.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
+ this.smartSeparatorLine2.Location = new System.Drawing.Point(263, 217);
+ this.smartSeparatorLine2.Name = "smartSeparatorLine2";
+ this.smartSeparatorLine2.Size = new System.Drawing.Size(433, 2);
+ this.smartSeparatorLine2.TabIndex = 208;
+ this.smartSeparatorLine2.Text = "smartSeparatorLine2";
+ //
+ // smartSeparatorLine1
+ //
+ this.smartSeparatorLine1.InitVisible = true;
+ this.smartSeparatorLine1.Line1Color = System.Drawing.Color.DimGray;
+ this.smartSeparatorLine1.Line1Width = 1F;
+ this.smartSeparatorLine1.Line2Color = System.Drawing.Color.LightGray;
+ this.smartSeparatorLine1.Line2Visible = true;
+ this.smartSeparatorLine1.Line2Width = 1F;
+ this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
+ this.smartSeparatorLine1.Location = new System.Drawing.Point(263, 120);
+ this.smartSeparatorLine1.Name = "smartSeparatorLine1";
+ this.smartSeparatorLine1.Size = new System.Drawing.Size(433, 2);
+ this.smartSeparatorLine1.TabIndex = 207;
+ this.smartSeparatorLine1.Text = "smartSeparatorLine1";
+ //
// labelAutoLogoutWarning
//
this.labelAutoLogoutWarning.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
@@ -155,7 +182,7 @@
this.labelAutoLogoutWarning.ForeColor = System.Drawing.Color.Red;
this.labelAutoLogoutWarning.InitVisible = true;
this.labelAutoLogoutWarning.LineSpacing = 0F;
- this.labelAutoLogoutWarning.Location = new System.Drawing.Point(547, 372);
+ this.labelAutoLogoutWarning.Location = new System.Drawing.Point(547, 237);
this.labelAutoLogoutWarning.Name = "labelAutoLogoutWarning";
this.labelAutoLogoutWarning.Size = new System.Drawing.Size(149, 26);
this.labelAutoLogoutWarning.TabIndex = 205;
@@ -197,7 +224,7 @@
this.buttonNew.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonNew.DownImage")));
this.buttonNew.GroupID = 0;
this.buttonNew.InitVisible = true;
- this.buttonNew.Location = new System.Drawing.Point(263, 406);
+ this.buttonNew.Location = new System.Drawing.Point(14, 405);
this.buttonNew.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNew.Name = "buttonNew";
this.buttonNew.NestedClickEventPrevent = false;
@@ -218,10 +245,11 @@
//
// smartKeyboard
//
+ this.smartKeyboard.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(198)))), ((int)(((byte)(195)))), ((int)(((byte)(198)))));
this.smartKeyboard.ControlKeyDisable = false;
this.smartKeyboard.DesignMinimize = true;
this.smartKeyboard.FontColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.smartKeyboard.HanYoungKeyDisable = false;
+ this.smartKeyboard.HanYoungKeyDisable = true;
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.KeyFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.smartKeyboard.KeyOutLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(157)))), ((int)(((byte)(157)))));
@@ -261,7 +289,7 @@
this.buttonSave.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonSave.DownImage")));
this.buttonSave.GroupID = 0;
this.buttonSave.InitVisible = true;
- this.buttonSave.Location = new System.Drawing.Point(375, 406);
+ this.buttonSave.Location = new System.Drawing.Point(207, 405);
this.buttonSave.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonSave.Name = "buttonSave";
this.buttonSave.NestedClickEventPrevent = false;
@@ -293,7 +321,7 @@
this.buttonDelete.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonDelete.DownImage")));
this.buttonDelete.GroupID = 0;
this.buttonDelete.InitVisible = true;
- this.buttonDelete.Location = new System.Drawing.Point(319, 406);
+ this.buttonDelete.Location = new System.Drawing.Point(70, 405);
this.buttonDelete.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonDelete.Name = "buttonDelete";
this.buttonDelete.NestedClickEventPrevent = false;
@@ -313,194 +341,6 @@
this.buttonDelete.Visible = false;
this.buttonDelete.Click += new System.EventHandler(this.buttonDelete_Click);
//
- // buttonChangeLevelName
- //
- this.buttonChangeLevelName.BackPictureBox = null;
- this.buttonChangeLevelName.BackPictureBox1 = null;
- this.buttonChangeLevelName.BackPictureBox2 = null;
- this.buttonChangeLevelName.ButtonColor = System.Drawing.Color.LightGray;
- this.buttonChangeLevelName.ButtonImageAutoSize = true;
- this.buttonChangeLevelName.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
- this.buttonChangeLevelName.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonChangeLevelName.DisableImage")));
- this.buttonChangeLevelName.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonChangeLevelName.DownImage")));
- this.buttonChangeLevelName.GroupID = 0;
- this.buttonChangeLevelName.InitVisible = true;
- this.buttonChangeLevelName.Location = new System.Drawing.Point(590, 405);
- this.buttonChangeLevelName.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
- this.buttonChangeLevelName.Name = "buttonChangeLevelName";
- this.buttonChangeLevelName.NestedClickEventPrevent = false;
- this.buttonChangeLevelName.OutlinePixel = 1;
- this.buttonChangeLevelName.RepeatInterval = 200;
- this.buttonChangeLevelName.RepeatIntervalAccelerate = null;
- this.buttonChangeLevelName.SafeInterval = 200;
- this.buttonChangeLevelName.Size = new System.Drawing.Size(50, 50);
- this.buttonChangeLevelName.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
- this.buttonChangeLevelName.TabIndex = 200;
- this.buttonChangeLevelName.TextColor = System.Drawing.Color.Black;
- this.buttonChangeLevelName.TextDownColor = System.Drawing.Color.White;
- this.buttonChangeLevelName.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
- this.buttonChangeLevelName.TextLocation = new System.Drawing.Point(0, 0);
- this.buttonChangeLevelName.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
- this.buttonChangeLevelName.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonChangeLevelName.UpImage")));
- this.buttonChangeLevelName.Visible = false;
- this.buttonChangeLevelName.Click += new System.EventHandler(this.buttonChangeLevelName_Click);
- //
- // textBoxLevel2
- //
- this.textBoxLevel2.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular);
- this.textBoxLevel2.Location = new System.Drawing.Point(411, 110);
- this.textBoxLevel2.Name = "textBoxLevel2";
- this.textBoxLevel2.Size = new System.Drawing.Size(140, 23);
- this.textBoxLevel2.TabIndex = 198;
- this.textBoxLevel2.Text = "Level2";
- this.textBoxLevel2.Visible = false;
- this.textBoxLevel2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxLevel2_KeyPress);
- //
- // textBoxLevel1
- //
- this.textBoxLevel1.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular);
- this.textBoxLevel1.Location = new System.Drawing.Point(263, 110);
- this.textBoxLevel1.Name = "textBoxLevel1";
- this.textBoxLevel1.Size = new System.Drawing.Size(140, 23);
- this.textBoxLevel1.TabIndex = 195;
- this.textBoxLevel1.Text = "Level1";
- this.textBoxLevel1.Visible = false;
- this.textBoxLevel1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxLevel1_KeyPress);
- //
- // textBoxLevel3
- //
- this.textBoxLevel3.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular);
- this.textBoxLevel3.Location = new System.Drawing.Point(558, 110);
- this.textBoxLevel3.Name = "textBoxLevel3";
- this.textBoxLevel3.Size = new System.Drawing.Size(140, 23);
- this.textBoxLevel3.TabIndex = 197;
- this.textBoxLevel3.Text = "Level3";
- this.textBoxLevel3.Visible = false;
- this.textBoxLevel3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxLevel3_KeyPress);
- //
- // buttonLevel3
- //
- this.buttonLevel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.buttonLevel3.BackPictureBox = null;
- this.buttonLevel3.BackPictureBox1 = null;
- this.buttonLevel3.BackPictureBox2 = null;
- this.buttonLevel3.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.buttonLevel3.ButtonImageAutoSize = true;
- this.buttonLevel3.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
- this.buttonLevel3.DisableImage = null;
- this.buttonLevel3.DownImage = null;
- this.buttonLevel3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
- this.buttonLevel3.GroupID = 0;
- this.buttonLevel3.InitVisible = true;
- this.buttonLevel3.Location = new System.Drawing.Point(558, 107);
- this.buttonLevel3.Mode = SmartX.SmartButton.BUTTONMODE.RADIO;
- this.buttonLevel3.Name = "buttonLevel3";
- this.buttonLevel3.NestedClickEventPrevent = false;
- this.buttonLevel3.OutlinePixel = 1;
- this.buttonLevel3.RepeatInterval = 200;
- this.buttonLevel3.RepeatIntervalAccelerate = null;
- this.buttonLevel3.SafeInterval = 200;
- this.buttonLevel3.Size = new System.Drawing.Size(140, 30);
- this.buttonLevel3.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
- this.buttonLevel3.TabIndex = 194;
- this.buttonLevel3.Text = "Level3";
- this.buttonLevel3.TextColor = System.Drawing.Color.White;
- this.buttonLevel3.TextDownColor = System.Drawing.Color.MidnightBlue;
- this.buttonLevel3.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
- this.buttonLevel3.TextLocation = new System.Drawing.Point(0, 0);
- this.buttonLevel3.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
- this.buttonLevel3.UpImage = null;
- this.buttonLevel3.Click += new System.EventHandler(this.buttonLevel_Click);
- //
- // buttonLevel2
- //
- this.buttonLevel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.buttonLevel2.BackPictureBox = null;
- this.buttonLevel2.BackPictureBox1 = null;
- this.buttonLevel2.BackPictureBox2 = null;
- this.buttonLevel2.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.buttonLevel2.ButtonImageAutoSize = true;
- this.buttonLevel2.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
- this.buttonLevel2.DisableImage = null;
- this.buttonLevel2.DownImage = null;
- this.buttonLevel2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
- this.buttonLevel2.GroupID = 0;
- this.buttonLevel2.InitVisible = true;
- this.buttonLevel2.Location = new System.Drawing.Point(411, 107);
- this.buttonLevel2.Mode = SmartX.SmartButton.BUTTONMODE.RADIO;
- this.buttonLevel2.Name = "buttonLevel2";
- this.buttonLevel2.NestedClickEventPrevent = false;
- this.buttonLevel2.OutlinePixel = 1;
- this.buttonLevel2.RepeatInterval = 200;
- this.buttonLevel2.RepeatIntervalAccelerate = null;
- this.buttonLevel2.SafeInterval = 200;
- this.buttonLevel2.Size = new System.Drawing.Size(140, 30);
- this.buttonLevel2.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
- this.buttonLevel2.TabIndex = 193;
- this.buttonLevel2.Text = "Level2";
- this.buttonLevel2.TextColor = System.Drawing.Color.White;
- this.buttonLevel2.TextDownColor = System.Drawing.Color.MidnightBlue;
- this.buttonLevel2.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
- this.buttonLevel2.TextLocation = new System.Drawing.Point(0, 0);
- this.buttonLevel2.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
- this.buttonLevel2.UpImage = null;
- this.buttonLevel2.Click += new System.EventHandler(this.buttonLevel_Click);
- //
- // buttonLevel1
- //
- this.buttonLevel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.buttonLevel1.BackPictureBox = null;
- this.buttonLevel1.BackPictureBox1 = null;
- this.buttonLevel1.BackPictureBox2 = null;
- this.buttonLevel1.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.buttonLevel1.ButtonImageAutoSize = true;
- this.buttonLevel1.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
- this.buttonLevel1.DisableImage = null;
- this.buttonLevel1.DownImage = null;
- this.buttonLevel1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
- this.buttonLevel1.GroupID = 0;
- this.buttonLevel1.InitVisible = true;
- this.buttonLevel1.Location = new System.Drawing.Point(263, 107);
- this.buttonLevel1.Mode = SmartX.SmartButton.BUTTONMODE.RADIO;
- this.buttonLevel1.Name = "buttonLevel1";
- this.buttonLevel1.NestedClickEventPrevent = false;
- this.buttonLevel1.OutlinePixel = 1;
- this.buttonLevel1.RepeatInterval = 200;
- this.buttonLevel1.RepeatIntervalAccelerate = null;
- this.buttonLevel1.SafeInterval = 200;
- this.buttonLevel1.Size = new System.Drawing.Size(140, 30);
- this.buttonLevel1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
- this.buttonLevel1.TabIndex = 192;
- this.buttonLevel1.Text = "Level1";
- this.buttonLevel1.TextColor = System.Drawing.Color.White;
- this.buttonLevel1.TextDownColor = System.Drawing.Color.MidnightBlue;
- this.buttonLevel1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
- this.buttonLevel1.TextLocation = new System.Drawing.Point(0, 0);
- this.buttonLevel1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
- this.buttonLevel1.UpImage = null;
- this.buttonLevel1.Click += new System.EventHandler(this.buttonLevel_Click);
- //
- // labelAccessRight
- //
- this.labelAccessRight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.labelAccessRight.BackPictureBox = null;
- this.labelAccessRight.BackPictureBox1 = null;
- this.labelAccessRight.BackPictureBox2 = null;
- this.labelAccessRight.BorderColor = System.Drawing.Color.White;
- this.labelAccessRight.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelAccessRight.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold);
- this.labelAccessRight.ForeColor = System.Drawing.Color.White;
- this.labelAccessRight.InitVisible = true;
- this.labelAccessRight.LineSpacing = 0F;
- this.labelAccessRight.Location = new System.Drawing.Point(390, 76);
- this.labelAccessRight.Name = "labelAccessRight";
- this.labelAccessRight.Size = new System.Drawing.Size(161, 26);
- this.labelAccessRight.TabIndex = 187;
- this.labelAccessRight.Text = "Level1";
- this.labelAccessRight.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
- this.labelAccessRight.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
- this.labelAccessRight.Wordwrap = false;
- //
// labelTitleAccessRight
//
this.labelTitleAccessRight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
@@ -534,7 +374,7 @@
this.smartLabel11.ForeColor = System.Drawing.Color.White;
this.smartLabel11.InitVisible = true;
this.smartLabel11.LineSpacing = 0F;
- this.smartLabel11.Location = new System.Drawing.Point(454, 372);
+ this.smartLabel11.Location = new System.Drawing.Point(454, 237);
this.smartLabel11.Name = "smartLabel11";
this.smartLabel11.Size = new System.Drawing.Size(90, 26);
this.smartLabel11.TabIndex = 185;
@@ -555,7 +395,7 @@
this.labelAutomaticLogoutTime.ForeColor = System.Drawing.Color.Black;
this.labelAutomaticLogoutTime.InitVisible = true;
this.labelAutomaticLogoutTime.LineSpacing = 0F;
- this.labelAutomaticLogoutTime.Location = new System.Drawing.Point(390, 372);
+ this.labelAutomaticLogoutTime.Location = new System.Drawing.Point(390, 237);
this.labelAutomaticLogoutTime.Name = "labelAutomaticLogoutTime";
this.labelAutomaticLogoutTime.Size = new System.Drawing.Size(62, 26);
this.labelAutomaticLogoutTime.TabIndex = 184;
@@ -577,7 +417,7 @@
this.labelTitleAutomaticLogoutTime.ForeColor = System.Drawing.Color.White;
this.labelTitleAutomaticLogoutTime.InitVisible = true;
this.labelTitleAutomaticLogoutTime.LineSpacing = 0F;
- this.labelTitleAutomaticLogoutTime.Location = new System.Drawing.Point(263, 372);
+ this.labelTitleAutomaticLogoutTime.Location = new System.Drawing.Point(263, 237);
this.labelTitleAutomaticLogoutTime.Name = "labelTitleAutomaticLogoutTime";
this.labelTitleAutomaticLogoutTime.Size = new System.Drawing.Size(121, 26);
this.labelTitleAutomaticLogoutTime.TabIndex = 183;
@@ -598,7 +438,7 @@
this.labelExpiryDateOfPassword2.ForeColor = System.Drawing.Color.White;
this.labelExpiryDateOfPassword2.InitVisible = true;
this.labelExpiryDateOfPassword2.LineSpacing = 0F;
- this.labelExpiryDateOfPassword2.Location = new System.Drawing.Point(549, 341);
+ this.labelExpiryDateOfPassword2.Location = new System.Drawing.Point(549, 172);
this.labelExpiryDateOfPassword2.Name = "labelExpiryDateOfPassword2";
this.labelExpiryDateOfPassword2.Size = new System.Drawing.Size(149, 27);
this.labelExpiryDateOfPassword2.TabIndex = 182;
@@ -620,7 +460,7 @@
this.smartLabel8.ForeColor = System.Drawing.Color.White;
this.smartLabel8.InitVisible = true;
this.smartLabel8.LineSpacing = 0F;
- this.smartLabel8.Location = new System.Drawing.Point(454, 341);
+ this.smartLabel8.Location = new System.Drawing.Point(454, 172);
this.smartLabel8.Name = "smartLabel8";
this.smartLabel8.Size = new System.Drawing.Size(90, 26);
this.smartLabel8.TabIndex = 181;
@@ -641,7 +481,7 @@
this.labelExpiryDateOfPassword.ForeColor = System.Drawing.Color.Black;
this.labelExpiryDateOfPassword.InitVisible = true;
this.labelExpiryDateOfPassword.LineSpacing = 0F;
- this.labelExpiryDateOfPassword.Location = new System.Drawing.Point(390, 341);
+ this.labelExpiryDateOfPassword.Location = new System.Drawing.Point(390, 172);
this.labelExpiryDateOfPassword.Name = "labelExpiryDateOfPassword";
this.labelExpiryDateOfPassword.Size = new System.Drawing.Size(62, 26);
this.labelExpiryDateOfPassword.TabIndex = 180;
@@ -663,7 +503,7 @@
this.labelTitleExpiryDateOfPassword.ForeColor = System.Drawing.Color.White;
this.labelTitleExpiryDateOfPassword.InitVisible = true;
this.labelTitleExpiryDateOfPassword.LineSpacing = 0F;
- this.labelTitleExpiryDateOfPassword.Location = new System.Drawing.Point(263, 341);
+ this.labelTitleExpiryDateOfPassword.Location = new System.Drawing.Point(263, 172);
this.labelTitleExpiryDateOfPassword.Name = "labelTitleExpiryDateOfPassword";
this.labelTitleExpiryDateOfPassword.Size = new System.Drawing.Size(121, 26);
this.labelTitleExpiryDateOfPassword.TabIndex = 179;
@@ -684,7 +524,7 @@
this.labelExpiryDateOfAccount2.ForeColor = System.Drawing.Color.White;
this.labelExpiryDateOfAccount2.InitVisible = true;
this.labelExpiryDateOfAccount2.LineSpacing = 0F;
- this.labelExpiryDateOfAccount2.Location = new System.Drawing.Point(549, 309);
+ this.labelExpiryDateOfAccount2.Location = new System.Drawing.Point(549, 140);
this.labelExpiryDateOfAccount2.Name = "labelExpiryDateOfAccount2";
this.labelExpiryDateOfAccount2.Size = new System.Drawing.Size(149, 26);
this.labelExpiryDateOfAccount2.TabIndex = 178;
@@ -706,7 +546,7 @@
this.smartLabel3.ForeColor = System.Drawing.Color.White;
this.smartLabel3.InitVisible = true;
this.smartLabel3.LineSpacing = 0F;
- this.smartLabel3.Location = new System.Drawing.Point(454, 309);
+ this.smartLabel3.Location = new System.Drawing.Point(454, 140);
this.smartLabel3.Name = "smartLabel3";
this.smartLabel3.Size = new System.Drawing.Size(90, 26);
this.smartLabel3.TabIndex = 177;
@@ -727,7 +567,7 @@
this.labelExpiryDateOfAccount.ForeColor = System.Drawing.Color.Black;
this.labelExpiryDateOfAccount.InitVisible = true;
this.labelExpiryDateOfAccount.LineSpacing = 0F;
- this.labelExpiryDateOfAccount.Location = new System.Drawing.Point(390, 309);
+ this.labelExpiryDateOfAccount.Location = new System.Drawing.Point(390, 140);
this.labelExpiryDateOfAccount.Name = "labelExpiryDateOfAccount";
this.labelExpiryDateOfAccount.Size = new System.Drawing.Size(62, 26);
this.labelExpiryDateOfAccount.TabIndex = 176;
@@ -749,7 +589,7 @@
this.labelTitleExpiryDateOfAccount.ForeColor = System.Drawing.Color.White;
this.labelTitleExpiryDateOfAccount.InitVisible = true;
this.labelTitleExpiryDateOfAccount.LineSpacing = 0F;
- this.labelTitleExpiryDateOfAccount.Location = new System.Drawing.Point(263, 309);
+ this.labelTitleExpiryDateOfAccount.Location = new System.Drawing.Point(263, 140);
this.labelTitleExpiryDateOfAccount.Name = "labelTitleExpiryDateOfAccount";
this.labelTitleExpiryDateOfAccount.Size = new System.Drawing.Size(121, 26);
this.labelTitleExpiryDateOfAccount.TabIndex = 175;
@@ -921,7 +761,7 @@
this.listBoxUserList.InitVisible = true;
this.listBoxUserList.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxUserList.ItemOffsetGap = 10;
- this.listBoxUserList.ItemOffsetX = 0;
+ this.listBoxUserList.ItemOffsetX = 5;
this.listBoxUserList.ItemOffsetY = 0;
this.listBoxUserList.Location = new System.Drawing.Point(14, 12);
this.listBoxUserList.MouseMoveEventSpace = 3;
@@ -937,593 +777,11 @@
this.listBoxUserList.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxUserList.SeparationlineVisibleBottom = true;
this.listBoxUserList.SeparationlineVisibleTop = true;
- this.listBoxUserList.Size = new System.Drawing.Size(243, 444);
+ this.listBoxUserList.Size = new System.Drawing.Size(243, 386);
this.listBoxUserList.TabIndex = 171;
this.listBoxUserList.Text = "smartListBox1";
this.listBoxUserList.SelectedIndexChanged += new System.EventHandler(this.listBoxUserList_SelectedIndexChanged);
//
- // groupBoxAccessRight
- //
- this.groupBoxAccessRight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.groupBoxAccessRight.BackPictureBox = null;
- this.groupBoxAccessRight.BackPictureBox1 = null;
- this.groupBoxAccessRight.Controls.Add(this.checkBoxUser);
- this.groupBoxAccessRight.Controls.Add(this.labelTitleMain);
- this.groupBoxAccessRight.Controls.Add(this.labelTitleMenu);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxLog);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxFeature);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxInitialization);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxUpdate);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxExternalOutput);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxIOTest);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxAutoZero);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxSorter);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxJudgment);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxCalibration);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxEthernet);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxSerial);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxDataStat);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxProduct);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxTime);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxSubMenu);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxClear);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxChangeWeight);
- this.groupBoxAccessRight.Controls.Add(this.checkBoxChangeNo);
- this.groupBoxAccessRight.FrameLineColor1 = System.Drawing.Color.White;
- this.groupBoxAccessRight.FrameLineColor2 = System.Drawing.Color.Black;
- this.groupBoxAccessRight.FrameLineThickness = 1;
- this.groupBoxAccessRight.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.Rectangle;
- this.groupBoxAccessRight.Image = null;
- this.groupBoxAccessRight.InitVisible = true;
- this.groupBoxAccessRight.Location = new System.Drawing.Point(254, 129);
- this.groupBoxAccessRight.Name = "groupBoxAccessRight";
- this.groupBoxAccessRight.RoundRadius = 5;
- this.groupBoxAccessRight.Size = new System.Drawing.Size(453, 185);
- this.groupBoxAccessRight.TabIndex = 188;
- this.groupBoxAccessRight.TextColor = System.Drawing.Color.Black;
- //
- // checkBoxUser
- //
- this.checkBoxUser.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxUser.BackPictureBox = null;
- this.checkBoxUser.BackPictureBox1 = null;
- this.checkBoxUser.BackPictureBox2 = null;
- this.checkBoxUser.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxUser.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxUser.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxUser.CheckBoxSymbolSize = 14;
- this.checkBoxUser.Checked = false;
- this.checkBoxUser.CheckLineWidth = 3;
- this.checkBoxUser.Enabled = false;
- this.checkBoxUser.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxUser.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxUser.ImageCheckBox = null;
- this.checkBoxUser.ImageUnCheckBox = null;
- this.checkBoxUser.InitVisible = true;
- this.checkBoxUser.Location = new System.Drawing.Point(302, 52);
- this.checkBoxUser.Name = "checkBoxUser";
- this.checkBoxUser.Size = new System.Drawing.Size(135, 14);
- this.checkBoxUser.TabIndex = 194;
- this.checkBoxUser.Text = "유저설정권한";
- this.checkBoxUser.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // labelTitleMain
- //
- this.labelTitleMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.labelTitleMain.BackPictureBox = null;
- this.labelTitleMain.BackPictureBox1 = null;
- this.labelTitleMain.BackPictureBox2 = null;
- this.labelTitleMain.BorderColor = System.Drawing.Color.White;
- this.labelTitleMain.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelTitleMain.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
- this.labelTitleMain.ForeColor = System.Drawing.Color.White;
- this.labelTitleMain.InitVisible = true;
- this.labelTitleMain.LineSpacing = 0F;
- this.labelTitleMain.Location = new System.Drawing.Point(16, 18);
- this.labelTitleMain.Name = "labelTitleMain";
- this.labelTitleMain.Size = new System.Drawing.Size(135, 14);
- this.labelTitleMain.TabIndex = 193;
- this.labelTitleMain.Text = "Main";
- this.labelTitleMain.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
- this.labelTitleMain.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
- this.labelTitleMain.Wordwrap = false;
- //
- // labelTitleMenu
- //
- this.labelTitleMenu.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
- this.labelTitleMenu.BackPictureBox = null;
- this.labelTitleMenu.BackPictureBox1 = null;
- this.labelTitleMenu.BackPictureBox2 = null;
- this.labelTitleMenu.BorderColor = System.Drawing.Color.White;
- this.labelTitleMenu.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelTitleMenu.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
- this.labelTitleMenu.ForeColor = System.Drawing.Color.White;
- this.labelTitleMenu.InitVisible = true;
- this.labelTitleMenu.LineSpacing = 0F;
- this.labelTitleMenu.Location = new System.Drawing.Point(16, 103);
- this.labelTitleMenu.Name = "labelTitleMenu";
- this.labelTitleMenu.Size = new System.Drawing.Size(135, 14);
- this.labelTitleMenu.TabIndex = 192;
- this.labelTitleMenu.Text = "Menu";
- this.labelTitleMenu.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
- this.labelTitleMenu.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
- this.labelTitleMenu.Wordwrap = false;
- //
- // checkBoxLog
- //
- this.checkBoxLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxLog.BackPictureBox = null;
- this.checkBoxLog.BackPictureBox1 = null;
- this.checkBoxLog.BackPictureBox2 = null;
- this.checkBoxLog.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxLog.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxLog.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxLog.CheckBoxSymbolSize = 14;
- this.checkBoxLog.Checked = false;
- this.checkBoxLog.CheckLineWidth = 3;
- this.checkBoxLog.Enabled = false;
- this.checkBoxLog.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxLog.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxLog.ImageCheckBox = null;
- this.checkBoxLog.ImageUnCheckBox = null;
- this.checkBoxLog.InitVisible = true;
- this.checkBoxLog.Location = new System.Drawing.Point(302, 69);
- this.checkBoxLog.Name = "checkBoxLog";
- this.checkBoxLog.Size = new System.Drawing.Size(135, 14);
- this.checkBoxLog.TabIndex = 21;
- this.checkBoxLog.Text = "로그";
- this.checkBoxLog.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxFeature
- //
- this.checkBoxFeature.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxFeature.BackPictureBox = null;
- this.checkBoxFeature.BackPictureBox1 = null;
- this.checkBoxFeature.BackPictureBox2 = null;
- this.checkBoxFeature.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxFeature.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxFeature.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxFeature.CheckBoxSymbolSize = 14;
- this.checkBoxFeature.Checked = false;
- this.checkBoxFeature.CheckLineWidth = 3;
- this.checkBoxFeature.Enabled = false;
- this.checkBoxFeature.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxFeature.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxFeature.ImageCheckBox = null;
- this.checkBoxFeature.ImageUnCheckBox = null;
- this.checkBoxFeature.InitVisible = true;
- this.checkBoxFeature.Location = new System.Drawing.Point(302, 35);
- this.checkBoxFeature.Name = "checkBoxFeature";
- this.checkBoxFeature.Size = new System.Drawing.Size(135, 14);
- this.checkBoxFeature.TabIndex = 20;
- this.checkBoxFeature.Text = "기능설정";
- this.checkBoxFeature.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxInitialization
- //
- this.checkBoxInitialization.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxInitialization.BackPictureBox = null;
- this.checkBoxInitialization.BackPictureBox1 = null;
- this.checkBoxInitialization.BackPictureBox2 = null;
- this.checkBoxInitialization.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxInitialization.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxInitialization.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxInitialization.CheckBoxSymbolSize = 14;
- this.checkBoxInitialization.Checked = false;
- this.checkBoxInitialization.CheckLineWidth = 3;
- this.checkBoxInitialization.Enabled = false;
- this.checkBoxInitialization.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxInitialization.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxInitialization.ImageCheckBox = null;
- this.checkBoxInitialization.ImageUnCheckBox = null;
- this.checkBoxInitialization.InitVisible = true;
- this.checkBoxInitialization.Location = new System.Drawing.Point(302, 18);
- this.checkBoxInitialization.Name = "checkBoxInitialization";
- this.checkBoxInitialization.Size = new System.Drawing.Size(135, 14);
- this.checkBoxInitialization.TabIndex = 19;
- this.checkBoxInitialization.Text = "공장초기화";
- this.checkBoxInitialization.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxUpdate
- //
- this.checkBoxUpdate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxUpdate.BackPictureBox = null;
- this.checkBoxUpdate.BackPictureBox1 = null;
- this.checkBoxUpdate.BackPictureBox2 = null;
- this.checkBoxUpdate.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxUpdate.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxUpdate.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxUpdate.CheckBoxSymbolSize = 14;
- this.checkBoxUpdate.Checked = false;
- this.checkBoxUpdate.CheckLineWidth = 3;
- this.checkBoxUpdate.Enabled = false;
- this.checkBoxUpdate.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxUpdate.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxUpdate.ImageCheckBox = null;
- this.checkBoxUpdate.ImageUnCheckBox = null;
- this.checkBoxUpdate.InitVisible = true;
- this.checkBoxUpdate.Location = new System.Drawing.Point(161, 154);
- this.checkBoxUpdate.Name = "checkBoxUpdate";
- this.checkBoxUpdate.Size = new System.Drawing.Size(135, 14);
- this.checkBoxUpdate.TabIndex = 18;
- this.checkBoxUpdate.Text = "업데이트";
- this.checkBoxUpdate.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxExternalOutput
- //
- this.checkBoxExternalOutput.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxExternalOutput.BackPictureBox = null;
- this.checkBoxExternalOutput.BackPictureBox1 = null;
- this.checkBoxExternalOutput.BackPictureBox2 = null;
- this.checkBoxExternalOutput.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxExternalOutput.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxExternalOutput.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxExternalOutput.CheckBoxSymbolSize = 14;
- this.checkBoxExternalOutput.Checked = false;
- this.checkBoxExternalOutput.CheckLineWidth = 3;
- this.checkBoxExternalOutput.Enabled = false;
- this.checkBoxExternalOutput.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxExternalOutput.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxExternalOutput.ImageCheckBox = null;
- this.checkBoxExternalOutput.ImageUnCheckBox = null;
- this.checkBoxExternalOutput.InitVisible = true;
- this.checkBoxExternalOutput.Location = new System.Drawing.Point(161, 137);
- this.checkBoxExternalOutput.Name = "checkBoxExternalOutput";
- this.checkBoxExternalOutput.Size = new System.Drawing.Size(135, 14);
- this.checkBoxExternalOutput.TabIndex = 16;
- this.checkBoxExternalOutput.Text = "외부출력";
- this.checkBoxExternalOutput.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxIOTest
- //
- this.checkBoxIOTest.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxIOTest.BackPictureBox = null;
- this.checkBoxIOTest.BackPictureBox1 = null;
- this.checkBoxIOTest.BackPictureBox2 = null;
- this.checkBoxIOTest.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxIOTest.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxIOTest.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxIOTest.CheckBoxSymbolSize = 14;
- this.checkBoxIOTest.Checked = false;
- this.checkBoxIOTest.CheckLineWidth = 3;
- this.checkBoxIOTest.Enabled = false;
- this.checkBoxIOTest.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxIOTest.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxIOTest.ImageCheckBox = null;
- this.checkBoxIOTest.ImageUnCheckBox = null;
- this.checkBoxIOTest.InitVisible = true;
- this.checkBoxIOTest.Location = new System.Drawing.Point(161, 120);
- this.checkBoxIOTest.Name = "checkBoxIOTest";
- this.checkBoxIOTest.Size = new System.Drawing.Size(135, 14);
- this.checkBoxIOTest.TabIndex = 15;
- this.checkBoxIOTest.Text = "I/O테스트";
- this.checkBoxIOTest.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxAutoZero
- //
- this.checkBoxAutoZero.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxAutoZero.BackPictureBox = null;
- this.checkBoxAutoZero.BackPictureBox1 = null;
- this.checkBoxAutoZero.BackPictureBox2 = null;
- this.checkBoxAutoZero.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxAutoZero.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxAutoZero.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxAutoZero.CheckBoxSymbolSize = 14;
- this.checkBoxAutoZero.Checked = false;
- this.checkBoxAutoZero.CheckLineWidth = 3;
- this.checkBoxAutoZero.Enabled = false;
- this.checkBoxAutoZero.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxAutoZero.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxAutoZero.ImageCheckBox = null;
- this.checkBoxAutoZero.ImageUnCheckBox = null;
- this.checkBoxAutoZero.InitVisible = true;
- this.checkBoxAutoZero.Location = new System.Drawing.Point(161, 103);
- this.checkBoxAutoZero.Name = "checkBoxAutoZero";
- this.checkBoxAutoZero.Size = new System.Drawing.Size(135, 14);
- this.checkBoxAutoZero.TabIndex = 14;
- this.checkBoxAutoZero.Text = "자동영점";
- this.checkBoxAutoZero.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxSorter
- //
- this.checkBoxSorter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxSorter.BackPictureBox = null;
- this.checkBoxSorter.BackPictureBox1 = null;
- this.checkBoxSorter.BackPictureBox2 = null;
- this.checkBoxSorter.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxSorter.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxSorter.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxSorter.CheckBoxSymbolSize = 14;
- this.checkBoxSorter.Checked = false;
- this.checkBoxSorter.CheckLineWidth = 3;
- this.checkBoxSorter.Enabled = false;
- this.checkBoxSorter.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxSorter.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxSorter.ImageCheckBox = null;
- this.checkBoxSorter.ImageUnCheckBox = null;
- this.checkBoxSorter.InitVisible = true;
- this.checkBoxSorter.Location = new System.Drawing.Point(161, 86);
- this.checkBoxSorter.Name = "checkBoxSorter";
- this.checkBoxSorter.Size = new System.Drawing.Size(135, 14);
- this.checkBoxSorter.TabIndex = 13;
- this.checkBoxSorter.Text = "선별기설정";
- this.checkBoxSorter.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxJudgment
- //
- this.checkBoxJudgment.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxJudgment.BackPictureBox = null;
- this.checkBoxJudgment.BackPictureBox1 = null;
- this.checkBoxJudgment.BackPictureBox2 = null;
- this.checkBoxJudgment.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxJudgment.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxJudgment.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxJudgment.CheckBoxSymbolSize = 14;
- this.checkBoxJudgment.Checked = false;
- this.checkBoxJudgment.CheckLineWidth = 3;
- this.checkBoxJudgment.Enabled = false;
- this.checkBoxJudgment.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxJudgment.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxJudgment.ImageCheckBox = null;
- this.checkBoxJudgment.ImageUnCheckBox = null;
- this.checkBoxJudgment.InitVisible = true;
- this.checkBoxJudgment.Location = new System.Drawing.Point(161, 69);
- this.checkBoxJudgment.Name = "checkBoxJudgment";
- this.checkBoxJudgment.Size = new System.Drawing.Size(135, 14);
- this.checkBoxJudgment.TabIndex = 12;
- this.checkBoxJudgment.Text = "판정설정";
- this.checkBoxJudgment.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxCalibration
- //
- this.checkBoxCalibration.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxCalibration.BackPictureBox = null;
- this.checkBoxCalibration.BackPictureBox1 = null;
- this.checkBoxCalibration.BackPictureBox2 = null;
- this.checkBoxCalibration.CheckBoxBackColor = System.Drawing.Color.Silver;
- this.checkBoxCalibration.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxCalibration.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxCalibration.CheckBoxSymbolSize = 14;
- this.checkBoxCalibration.Checked = false;
- this.checkBoxCalibration.CheckLineWidth = 3;
- this.checkBoxCalibration.Enabled = false;
- this.checkBoxCalibration.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxCalibration.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxCalibration.ImageCheckBox = null;
- this.checkBoxCalibration.ImageUnCheckBox = null;
- this.checkBoxCalibration.InitVisible = true;
- this.checkBoxCalibration.Location = new System.Drawing.Point(161, 52);
- this.checkBoxCalibration.Name = "checkBoxCalibration";
- this.checkBoxCalibration.Size = new System.Drawing.Size(135, 14);
- this.checkBoxCalibration.TabIndex = 11;
- this.checkBoxCalibration.Text = "중량조정";
- this.checkBoxCalibration.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxEthernet
- //
- this.checkBoxEthernet.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxEthernet.BackPictureBox = null;
- this.checkBoxEthernet.BackPictureBox1 = null;
- this.checkBoxEthernet.BackPictureBox2 = null;
- this.checkBoxEthernet.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxEthernet.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxEthernet.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxEthernet.CheckBoxSymbolSize = 14;
- this.checkBoxEthernet.Checked = false;
- this.checkBoxEthernet.CheckLineWidth = 3;
- this.checkBoxEthernet.Enabled = false;
- this.checkBoxEthernet.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxEthernet.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxEthernet.ImageCheckBox = null;
- this.checkBoxEthernet.ImageUnCheckBox = null;
- this.checkBoxEthernet.InitVisible = true;
- this.checkBoxEthernet.Location = new System.Drawing.Point(161, 35);
- this.checkBoxEthernet.Name = "checkBoxEthernet";
- this.checkBoxEthernet.Size = new System.Drawing.Size(135, 14);
- this.checkBoxEthernet.TabIndex = 8;
- this.checkBoxEthernet.Text = "이더넷통신";
- this.checkBoxEthernet.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxSerial
- //
- this.checkBoxSerial.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxSerial.BackPictureBox = null;
- this.checkBoxSerial.BackPictureBox1 = null;
- this.checkBoxSerial.BackPictureBox2 = null;
- this.checkBoxSerial.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxSerial.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxSerial.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxSerial.CheckBoxSymbolSize = 14;
- this.checkBoxSerial.Checked = false;
- this.checkBoxSerial.CheckLineWidth = 3;
- this.checkBoxSerial.Enabled = false;
- this.checkBoxSerial.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxSerial.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxSerial.ImageCheckBox = null;
- this.checkBoxSerial.ImageUnCheckBox = null;
- this.checkBoxSerial.InitVisible = true;
- this.checkBoxSerial.Location = new System.Drawing.Point(161, 18);
- this.checkBoxSerial.Name = "checkBoxSerial";
- this.checkBoxSerial.Size = new System.Drawing.Size(135, 14);
- this.checkBoxSerial.TabIndex = 7;
- this.checkBoxSerial.Text = "시리얼통신";
- this.checkBoxSerial.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxDataStat
- //
- this.checkBoxDataStat.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxDataStat.BackPictureBox = null;
- this.checkBoxDataStat.BackPictureBox1 = null;
- this.checkBoxDataStat.BackPictureBox2 = null;
- this.checkBoxDataStat.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxDataStat.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxDataStat.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxDataStat.CheckBoxSymbolSize = 14;
- this.checkBoxDataStat.Checked = false;
- this.checkBoxDataStat.CheckLineWidth = 3;
- this.checkBoxDataStat.Enabled = false;
- this.checkBoxDataStat.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxDataStat.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxDataStat.ImageCheckBox = null;
- this.checkBoxDataStat.ImageUnCheckBox = null;
- this.checkBoxDataStat.InitVisible = true;
- this.checkBoxDataStat.Location = new System.Drawing.Point(16, 154);
- this.checkBoxDataStat.Name = "checkBoxDataStat";
- this.checkBoxDataStat.Size = new System.Drawing.Size(135, 14);
- this.checkBoxDataStat.TabIndex = 6;
- this.checkBoxDataStat.Text = "데이터집계";
- this.checkBoxDataStat.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxProduct
- //
- this.checkBoxProduct.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxProduct.BackPictureBox = null;
- this.checkBoxProduct.BackPictureBox1 = null;
- this.checkBoxProduct.BackPictureBox2 = null;
- this.checkBoxProduct.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxProduct.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxProduct.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxProduct.CheckBoxSymbolSize = 14;
- this.checkBoxProduct.Checked = false;
- this.checkBoxProduct.CheckLineWidth = 3;
- this.checkBoxProduct.Enabled = false;
- this.checkBoxProduct.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxProduct.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxProduct.ImageCheckBox = null;
- this.checkBoxProduct.ImageUnCheckBox = null;
- this.checkBoxProduct.InitVisible = true;
- this.checkBoxProduct.Location = new System.Drawing.Point(16, 137);
- this.checkBoxProduct.Name = "checkBoxProduct";
- this.checkBoxProduct.Size = new System.Drawing.Size(135, 14);
- this.checkBoxProduct.TabIndex = 5;
- this.checkBoxProduct.Text = "품목설정";
- this.checkBoxProduct.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxTime
- //
- this.checkBoxTime.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxTime.BackPictureBox = null;
- this.checkBoxTime.BackPictureBox1 = null;
- this.checkBoxTime.BackPictureBox2 = null;
- this.checkBoxTime.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxTime.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxTime.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxTime.CheckBoxSymbolSize = 14;
- this.checkBoxTime.Checked = false;
- this.checkBoxTime.CheckLineWidth = 3;
- this.checkBoxTime.Enabled = false;
- this.checkBoxTime.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxTime.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxTime.ImageCheckBox = null;
- this.checkBoxTime.ImageUnCheckBox = null;
- this.checkBoxTime.InitVisible = true;
- this.checkBoxTime.Location = new System.Drawing.Point(16, 120);
- this.checkBoxTime.Name = "checkBoxTime";
- this.checkBoxTime.Size = new System.Drawing.Size(135, 14);
- this.checkBoxTime.TabIndex = 4;
- this.checkBoxTime.Text = "시간설정";
- this.checkBoxTime.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxSubMenu
- //
- this.checkBoxSubMenu.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxSubMenu.BackPictureBox = null;
- this.checkBoxSubMenu.BackPictureBox1 = null;
- this.checkBoxSubMenu.BackPictureBox2 = null;
- this.checkBoxSubMenu.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxSubMenu.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxSubMenu.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxSubMenu.CheckBoxSymbolSize = 14;
- this.checkBoxSubMenu.Checked = false;
- this.checkBoxSubMenu.CheckLineWidth = 3;
- this.checkBoxSubMenu.Enabled = false;
- this.checkBoxSubMenu.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxSubMenu.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxSubMenu.ImageCheckBox = null;
- this.checkBoxSubMenu.ImageUnCheckBox = null;
- this.checkBoxSubMenu.InitVisible = true;
- this.checkBoxSubMenu.Location = new System.Drawing.Point(16, 86);
- this.checkBoxSubMenu.Name = "checkBoxSubMenu";
- this.checkBoxSubMenu.Size = new System.Drawing.Size(135, 14);
- this.checkBoxSubMenu.TabIndex = 3;
- this.checkBoxSubMenu.Text = "서브메뉴";
- this.checkBoxSubMenu.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxClear
- //
- this.checkBoxClear.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxClear.BackPictureBox = null;
- this.checkBoxClear.BackPictureBox1 = null;
- this.checkBoxClear.BackPictureBox2 = null;
- this.checkBoxClear.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxClear.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxClear.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxClear.CheckBoxSymbolSize = 14;
- this.checkBoxClear.Checked = false;
- this.checkBoxClear.CheckLineWidth = 3;
- this.checkBoxClear.Enabled = false;
- this.checkBoxClear.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxClear.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxClear.ImageCheckBox = null;
- this.checkBoxClear.ImageUnCheckBox = null;
- this.checkBoxClear.InitVisible = true;
- this.checkBoxClear.Location = new System.Drawing.Point(16, 69);
- this.checkBoxClear.Name = "checkBoxClear";
- this.checkBoxClear.Size = new System.Drawing.Size(135, 14);
- this.checkBoxClear.TabIndex = 2;
- this.checkBoxClear.Text = "소거";
- this.checkBoxClear.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxChangeWeight
- //
- this.checkBoxChangeWeight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxChangeWeight.BackPictureBox = null;
- this.checkBoxChangeWeight.BackPictureBox1 = null;
- this.checkBoxChangeWeight.BackPictureBox2 = null;
- this.checkBoxChangeWeight.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxChangeWeight.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxChangeWeight.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxChangeWeight.CheckBoxSymbolSize = 14;
- this.checkBoxChangeWeight.Checked = false;
- this.checkBoxChangeWeight.CheckLineWidth = 3;
- this.checkBoxChangeWeight.Enabled = false;
- this.checkBoxChangeWeight.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxChangeWeight.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxChangeWeight.ImageCheckBox = null;
- this.checkBoxChangeWeight.ImageUnCheckBox = null;
- this.checkBoxChangeWeight.InitVisible = true;
- this.checkBoxChangeWeight.Location = new System.Drawing.Point(16, 52);
- this.checkBoxChangeWeight.Name = "checkBoxChangeWeight";
- this.checkBoxChangeWeight.Size = new System.Drawing.Size(135, 14);
- this.checkBoxChangeWeight.TabIndex = 1;
- this.checkBoxChangeWeight.Text = "중량설정";
- this.checkBoxChangeWeight.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
- // checkBoxChangeNo
- //
- this.checkBoxChangeNo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
- this.checkBoxChangeNo.BackPictureBox = null;
- this.checkBoxChangeNo.BackPictureBox1 = null;
- this.checkBoxChangeNo.BackPictureBox2 = null;
- this.checkBoxChangeNo.CheckBoxBackColor = System.Drawing.Color.LightGray;
- this.checkBoxChangeNo.CheckBoxCheckColor = System.Drawing.Color.Green;
- this.checkBoxChangeNo.CheckBoxForeColor = System.Drawing.Color.Black;
- this.checkBoxChangeNo.CheckBoxSymbolSize = 14;
- this.checkBoxChangeNo.Checked = false;
- this.checkBoxChangeNo.CheckLineWidth = 3;
- this.checkBoxChangeNo.Enabled = false;
- this.checkBoxChangeNo.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular);
- this.checkBoxChangeNo.ForeColor = System.Drawing.Color.Silver;
- this.checkBoxChangeNo.ImageCheckBox = null;
- this.checkBoxChangeNo.ImageUnCheckBox = null;
- this.checkBoxChangeNo.InitVisible = true;
- this.checkBoxChangeNo.Location = new System.Drawing.Point(16, 35);
- this.checkBoxChangeNo.Name = "checkBoxChangeNo";
- this.checkBoxChangeNo.Size = new System.Drawing.Size(135, 14);
- this.checkBoxChangeNo.TabIndex = 0;
- this.checkBoxChangeNo.Text = "품번번경";
- this.checkBoxChangeNo.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
- //
// ControlCenterEquipUser
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -1532,7 +790,6 @@
this.Name = "ControlCenterEquipUser";
this.Size = new System.Drawing.Size(710, 470);
this.smartGroupBox1.ResumeLayout(false);
- this.groupBoxAccessRight.ResumeLayout(false);
this.ResumeLayout(false);
}
@@ -1549,37 +806,7 @@
private SmartX.SmartKeyboard smartKeyboard;
private SmartX.SmartButton buttonPasswordEdit;
public SmartX.SmartLabel labelTitleAccessRight;
- public SmartX.SmartLabel labelAccessRight;
- private SmartX.SmartGroupBox groupBoxAccessRight;
- private SmartX.SmartCheckBox checkBoxChangeNo;
- private SmartX.SmartCheckBox checkBoxCalibration;
- private SmartX.SmartCheckBox checkBoxEthernet;
- private SmartX.SmartCheckBox checkBoxSerial;
- private SmartX.SmartCheckBox checkBoxDataStat;
- private SmartX.SmartCheckBox checkBoxProduct;
- private SmartX.SmartCheckBox checkBoxTime;
- private SmartX.SmartCheckBox checkBoxSubMenu;
- private SmartX.SmartCheckBox checkBoxClear;
- private SmartX.SmartCheckBox checkBoxChangeWeight;
- private SmartX.SmartCheckBox checkBoxLog;
- private SmartX.SmartCheckBox checkBoxFeature;
- private SmartX.SmartCheckBox checkBoxInitialization;
- private SmartX.SmartCheckBox checkBoxUpdate;
- private SmartX.SmartCheckBox checkBoxExternalOutput;
- private SmartX.SmartCheckBox checkBoxIOTest;
- private SmartX.SmartCheckBox checkBoxAutoZero;
- private SmartX.SmartCheckBox checkBoxSorter;
- private SmartX.SmartCheckBox checkBoxJudgment;
- public SmartX.SmartLabel labelTitleMain;
- public SmartX.SmartLabel labelTitleMenu;
- private SmartX.SmartButton buttonLevel1;
- private SmartX.SmartButton buttonLevel3;
- private SmartX.SmartButton buttonLevel2;
- private System.Windows.Forms.TextBox textBoxLevel2;
- private System.Windows.Forms.TextBox textBoxLevel1;
- private System.Windows.Forms.TextBox textBoxLevel3;
private SmartX.SmartButton buttonDelete;
- private SmartX.SmartButton buttonChangeLevelName;
public SmartX.SmartLabel smartLabel11;
public SmartX.SmartLabel labelAutomaticLogoutTime;
public SmartX.SmartLabel labelTitleAutomaticLogoutTime;
@@ -1595,6 +822,9 @@
private SmartX.SmartButton buttonNew;
public SmartX.SmartLabel labelTitlePassword;
public SmartX.SmartLabel labelAutoLogoutWarning;
- private SmartX.SmartCheckBox checkBoxUser;
+ private System.Windows.Forms.ComboBox comboBoxAccessRight;
+ private SmartX.SmartSeparatorLine smartSeparatorLine2;
+ private SmartX.SmartSeparatorLine smartSeparatorLine1;
+ public SmartX.SmartLabel labelAccessRightAdmin;
}
}
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.cs
index 1c2fa14..4980679 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.cs
@@ -8,12 +8,12 @@ using System.Text;
using System.Windows.Forms;
using System.Threading;
-using ITC81DB_0H.Forms;
using ITC81DB_0H.Controls;
using ITC81DB_0H.DialogForms;
using ITC81DB_2H_ImageDll;
using ITC81DB_2H.Datastore;
using ITC81DB_0H.Part11_UserManager;
+using ITC81DB_0H.Forms;
namespace ITC81DB_0H.Controls
{
@@ -25,8 +25,11 @@ namespace ITC81DB_0H.Controls
private bool IsNew;
private object LockObject = new object();
private bool PasswordChar;
-
+
private UserItem m_SelectedUserItem;
+
+ private string BeforeID;
+ private string BeforePassword;
#endregion
#region Constructor
@@ -72,31 +75,6 @@ namespace ITC81DB_0H.Controls
this.labelTitleAutomaticLogoutTime.Text = "Auto Logout";
this.labelAutoLogoutWarning.Text = "* Applies to all ID";
this.labelTitleAccessRight.Text = "Access right";
-
- this.labelTitleMain.Text = "Main";
- this.labelTitleMenu.Text = "Menu";
-
- this.checkBoxChangeNo.Text = "Change No.";
- this.checkBoxChangeWeight.Text = "Change Weight";
- this.checkBoxClear.Text = "Clear";
- this.checkBoxSubMenu.Text = "SubMenu";
-
- this.checkBoxTime.Text = "Time setting";
- this.checkBoxProduct.Text = "Product settings";
- this.checkBoxDataStat.Text = "Data stats";
- this.checkBoxSerial.Text = "Serial port";
- this.checkBoxEthernet.Text = "Ethernet";
- this.checkBoxCalibration.Text = "Calibration";
- this.checkBoxJudgment.Text = "Judgment";
- this.checkBoxSorter.Text = "Sorter settings";
- this.checkBoxAutoZero.Text = "Auto zero";
- this.checkBoxIOTest.Text = "I/O test";
- this.checkBoxExternalOutput.Text = "External output";
- this.checkBoxUpdate.Text = "Update";
- this.checkBoxInitialization.Text = "Initialization";
- this.checkBoxFeature.Text = "Feature settings";
- this.checkBoxUser.Text = "User setting permission";
- this.checkBoxLog.Text = "Log";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
{
@@ -109,31 +87,6 @@ namespace ITC81DB_0H.Controls
this.labelTitleAutomaticLogoutTime.Text = "自动注销";
this.labelAutoLogoutWarning.Text = "* 适用于所有身份证";
this.labelTitleAccessRight.Text = "访问权";
-
- this.labelTitleMain.Text = "主屏幕";
- this.labelTitleMenu.Text = "菜单";
-
- this.checkBoxChangeNo.Text = "产品变化";
- this.checkBoxChangeWeight.Text = "体重设定";
- this.checkBoxClear.Text = "消除";
- this.checkBoxSubMenu.Text = "子菜单";
-
- this.checkBoxTime.Text = "时间设定";
- this.checkBoxProduct.Text = "产品设置";
- this.checkBoxDataStat.Text = "数据统计";
- this.checkBoxSerial.Text = "串行端口";
- this.checkBoxEthernet.Text = "以太网";
- this.checkBoxCalibration.Text = "校准";
- this.checkBoxJudgment.Text = "判断设置";
- this.checkBoxSorter.Text = "筛选设定";
- this.checkBoxAutoZero.Text = "自动零点跟踪";
- this.checkBoxIOTest.Text = "I/O测试";
- this.checkBoxExternalOutput.Text = "外部输出";
- this.checkBoxUpdate.Text = "更新";
- this.checkBoxInitialization.Text = "工厂初期化";
- this.checkBoxFeature.Text = "功能设定";
- this.checkBoxUser.Text = "用户设置权限";
- this.checkBoxLog.Text = "日志";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Czech)
{
@@ -149,31 +102,6 @@ namespace ITC81DB_0H.Controls
this.labelTitleAutomaticLogoutTime.Text = "Автоматический выход";
this.labelAutoLogoutWarning.Text = "* Все идентификаторы";
this.labelTitleAccessRight.Text = "Право доступа";
-
- this.labelTitleMain.Text = "Зернистый";
- this.labelTitleMenu.Text = "Меню";
-
- this.checkBoxChangeNo.Text = "Изменять товар";
- this.checkBoxChangeWeight.Text = "Настройки вектора";
- this.checkBoxClear.Text = "Сброс";
- this.checkBoxSubMenu.Text = "Подменю";
-
- this.checkBoxTime.Text = "Настройки времени";
- this.checkBoxProduct.Text = "Настройки продукта";
- this.checkBoxDataStat.Text = "Статистика данных";
- this.checkBoxSerial.Text = "Послед. порт";
- this.checkBoxEthernet.Text = "Локальная сеть";
- this.checkBoxCalibration.Text = "Калибровка";
- this.checkBoxJudgment.Text = "Oтбраковки";
- this.checkBoxSorter.Text = "Cортировки";
- this.checkBoxAutoZero.Text = "Автоотслеживание нуля";
- this.checkBoxIOTest.Text = "Тест ввода/вывода";
- this.checkBoxExternalOutput.Text = "Внешний выход";
- this.checkBoxUpdate.Text = "Обновить";
- this.checkBoxInitialization.Text = "Инициализация";
- this.checkBoxFeature.Text = "Функция";
- this.checkBoxUser.Text = "Пользователь";
- this.checkBoxLog.Text = "Бревно";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
{
@@ -186,31 +114,6 @@ namespace ITC81DB_0H.Controls
this.labelTitleAutomaticLogoutTime.Text = "Automatische Abmeldung";
this.labelAutoLogoutWarning.Text = "* Gilt für alle ID";
this.labelTitleAccessRight.Text = "Zugangsberechtigung";
-
- this.labelTitleMain.Text = "Hauptbildschirm";
- this.labelTitleMenu.Text = "Menü";
-
- this.checkBoxChangeNo.Text = "Warenwechsel";
- this.checkBoxChangeWeight.Text = "Gewichts-Einstellungen";
- this.checkBoxClear.Text = "Löschen";
- this.checkBoxSubMenu.Text = "Untermenü";
-
- this.checkBoxTime.Text = "Zeiteinstellung";
- this.checkBoxProduct.Text = "Produkt";
- this.checkBoxDataStat.Text = "Statistik";
- this.checkBoxSerial.Text = "Seriell";
- this.checkBoxEthernet.Text = "Ethernet";
- this.checkBoxCalibration.Text = "Kalibrierung";
- this.checkBoxJudgment.Text = "Beurteilung";
- this.checkBoxSorter.Text = "Sorter";
- this.checkBoxAutoZero.Text = "Automatische Nullung";
- this.checkBoxIOTest.Text = "I/O Test";
- this.checkBoxExternalOutput.Text = "Externer Ausgang";
- this.checkBoxUpdate.Text = "Aktualisierung";
- this.checkBoxInitialization.Text = "Werkseinstellung";
- this.checkBoxFeature.Text = "Besonderheit";
- this.checkBoxUser.Text = "Benutzer";
- this.checkBoxLog.Text = "Protokoll";
}
else
{
@@ -223,38 +126,20 @@ namespace ITC81DB_0H.Controls
this.labelTitleAutomaticLogoutTime.Text = "자동 로그아웃";
this.labelAutoLogoutWarning.Text = "* 모든 ID에 적용됨";
this.labelTitleAccessRight.Text = "접근 권한";
-
- this.labelTitleMain.Text = "메인화면";
- this.labelTitleMenu.Text = "메뉴화면";
-
- this.checkBoxChangeNo.Text = "품번변경";
- this.checkBoxChangeWeight.Text = "중량설정";
- this.checkBoxClear.Text = "소거";
- this.checkBoxSubMenu.Text = "서브메뉴";
-
- this.checkBoxTime.Text = "시간설정";
- this.checkBoxProduct.Text = "품목설정";
- this.checkBoxDataStat.Text = "데이터집계";
- this.checkBoxSerial.Text = "시리얼통신";
- this.checkBoxEthernet.Text = "이더넷통신";
- this.checkBoxCalibration.Text = "중량조정";
- this.checkBoxJudgment.Text = "판정설정";
- this.checkBoxSorter.Text = "선별기설정";
- this.checkBoxAutoZero.Text = "자동영점";
- this.checkBoxIOTest.Text = "I/O테스트";
- this.checkBoxExternalOutput.Text = "외부출력";
- this.checkBoxUpdate.Text = "업데이트";
- this.checkBoxInitialization.Text = "공장초기화";
- this.checkBoxFeature.Text = "기능설정";
- this.checkBoxUser.Text = "유저설정권한";
- this.checkBoxLog.Text = "로그";
}
}
private void DefaultSetting()
{
this.IsNew = false;
this.PasswordChar = false;
- this.DisplayOnlyPart11Item();
+ this.BeforeID = "";
+ this.BeforePassword = "";
+ this.DisplayOnlyPart11Item(this.ParentForm.ParentForm.SystemConfig3.IsPart11);
+
+ this.UpdateAccessRightComboBox();
+ this.comboBoxAccessRight.SelectedIndexChanged -= new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
+ this.comboBoxAccessRight.SelectedIndex = 0;
+ this.comboBoxAccessRight.SelectedIndexChanged += new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.Show();
@@ -284,9 +169,9 @@ namespace ITC81DB_0H.Controls
}
}
- public void DisplayOnlyPart11Item()
+ public void DisplayOnlyPart11Item(bool bValue)
{
- if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == true)
+ if (bValue == true)
{
this.labelTitleExpiryDateOfAccount.Visible = true;
this.labelExpiryDateOfAccount.Visible = true;
@@ -301,6 +186,9 @@ namespace ITC81DB_0H.Controls
this.smartLabel8.Visible = true;
this.smartLabel11.Visible = true;
this.labelAutoLogoutWarning.Visible = true;
+
+ this.smartSeparatorLine1.Visible = true;
+ this.smartSeparatorLine2.Visible = true;
}
else
{
@@ -317,8 +205,18 @@ namespace ITC81DB_0H.Controls
this.smartLabel8.Visible = false;
this.smartLabel11.Visible = false;
this.labelAutoLogoutWarning.Visible = false;
+
+ this.smartSeparatorLine1.Visible = false;
+ this.smartSeparatorLine2.Visible = false;
}
}
+ public void UpdateAccessRightComboBox()
+ {
+ this.comboBoxAccessRight.Items.Clear();
+ this.comboBoxAccessRight.Items.Add(this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name);
+ this.comboBoxAccessRight.Items.Add(this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name);
+ this.comboBoxAccessRight.Items.Add(this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name);
+ }
private void SetTextBoxPasswordChar(bool bValue)
{
@@ -353,16 +251,7 @@ namespace ITC81DB_0H.Controls
else
this.textBoxPassword.BackColor = Color.Silver;
}
- private void SetEnableAccessRightButton(bool value)
- {
- this.buttonLevel1.Enabled = value;
- this.buttonLevel2.Enabled = value;
- this.buttonLevel3.Enabled = value;
- this.buttonLevel1.ButtonUp();
- this.buttonLevel2.ButtonUp();
- this.buttonLevel3.ButtonUp();
- }
private void SetEnableOnlyPart11Value(bool value)
{
this.labelExpiryDateOfAccount.Enabled = value;
@@ -383,15 +272,10 @@ namespace ITC81DB_0H.Controls
{
this.listBoxUserList.Enabled = value;
- this.buttonLevel1.Enabled = value;
- this.buttonLevel2.Enabled = value;
- this.buttonLevel3.Enabled = value;
-
this.buttonNew.Enabled = value;
this.buttonDelete.Enabled = value;
this.buttonSave.Enabled = value;
- this.buttonChangeLevelName.Enabled = value;
this.buttonGroupEditor.Enabled = value;
this.SetEnableOnlyPart11Value(value);
@@ -522,33 +406,6 @@ namespace ITC81DB_0H.Controls
return;
}
-
- if (this.labelAccessRight.Text == "")
- {
- // 필수 설정 항목을 설정해 주십시오
- DialogFormMessage msg = new DialogFormMessage(null, 16, this.ParentForm.ParentForm.SystemConfig1.Language);
- msg.ShowDialog();
-
- return;
- }
-
- if (this.labelExpiryDateOfAccount.Text == "000")
- {
- // 필수 설정 항목을 설정해 주십시오
- DialogFormMessage msg = new DialogFormMessage(null, 16, this.ParentForm.ParentForm.SystemConfig1.Language);
- msg.ShowDialog();
-
- return;
- }
-
- if (this.labelExpiryDateOfPassword.Text == "00")
- {
- // 필수 설정 항목을 설정해 주십시오
- DialogFormMessage msg = new DialogFormMessage(null, 16, this.ParentForm.ParentForm.SystemConfig1.Language);
- msg.ShowDialog();
-
- return;
- }
#endregion
item.ID = this.textBoxID.Text;
@@ -556,17 +413,15 @@ namespace ITC81DB_0H.Controls
item.ExpireAccount = int.Parse(this.labelExpiryDateOfAccount.Text);
item.ExpirePassword = int.Parse(this.labelExpiryDateOfPassword.Text);
- if (this.buttonLevel1.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- item.ActiveLevel = 1;
- else if (this.buttonLevel2.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- item.ActiveLevel = 2;
- else if (this.buttonLevel3.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- item.ActiveLevel = 3;
- else if (this.SelectedUserItem.Group == Define.E_UserGroup.Admin)
+ if (this.SelectedUserItem.Group == Define.E_UserGroup.Admin)
{
- if(this.ParentForm.ParentForm.SystemConfig3.IsPart11 == true)
+ if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == true)
item.ActiveLevel = 9;
}
+ else
+ {
+ item.ActiveLevel = this.comboBoxAccessRight.SelectedIndex + 1;
+ }
menuId.fMenu = new bool[UserManager.USER_MENU_ID_MAX];
for (int i = 0; i < UserManager.USER_MENU_ID_MAX; i++)
@@ -611,14 +466,8 @@ namespace ITC81DB_0H.Controls
this.buttonSave.Visible = false;
}
- }
-
- public void UpdateLevelNameDisplay(SystemConfigurationItem2 system)
- {
- this.buttonLevel1.Text = this.textBoxLevel1.Text = system.UserGroupLevel1Name;
- this.buttonLevel2.Text = this.textBoxLevel2.Text = system.UserGroupLevel2Name;
- this.buttonLevel3.Text = this.textBoxLevel3.Text = system.UserGroupLevel3Name;
- }
+ }
+
private void UpdateInitializeUserDisplay(SystemConfigurationItem2 system)
{
this.SelectedUserItem = new UserItem();
@@ -629,43 +478,22 @@ namespace ITC81DB_0H.Controls
this.textBoxPassword.Text = "";
this.labelExpiryDateOfAccount.Text = "180";
this.labelExpiryDateOfPassword.Text = "90";
- this.labelExpiryDateOfAccount2.Text = "yyyy.mm.DD";
- this.labelExpiryDateOfPassword2.Text = "yyyy.mm.DD";
- this.labelAccessRight.Text = "";
+ this.labelExpiryDateOfAccount2.Text = "-";
+ this.labelExpiryDateOfPassword2.Text = "-";
this.labelExpiryDateOfAccount2.ForeColor = Color.White;
this.labelExpiryDateOfPassword2.ForeColor = Color.White;
- this.checkBoxChangeNo.Checked = false;
- this.checkBoxChangeWeight.Checked = false;
- this.checkBoxClear.Checked = false;
- this.checkBoxSubMenu.Checked = false;
-
- this.checkBoxTime.Checked = false;
- this.checkBoxProduct.Checked = false;
- this.checkBoxDataStat.Checked = false;
- this.checkBoxSerial.Checked = false;
- this.checkBoxEthernet.Checked = false;
- this.checkBoxCalibration.Checked = false;
- this.checkBoxJudgment.Checked = false;
- this.checkBoxSorter.Checked = false;
- this.checkBoxAutoZero.Checked = false;
- this.checkBoxIOTest.Checked = false;
- this.checkBoxExternalOutput.Checked = false;
- this.checkBoxUpdate.Checked = false;
- this.checkBoxInitialization.Checked = false;
- this.checkBoxFeature.Checked = false;
- this.checkBoxUser.Checked = false;
- this.checkBoxLog.Checked = false;
+ this.comboBoxAccessRight.SelectedIndexChanged -= new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
+ this.comboBoxAccessRight.SelectedIndex = 0;
+ this.comboBoxAccessRight.SelectedIndexChanged += new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
this.KeyboardClose();
this.SetEnableID(true);
- this.SetEnableAccessRightButton(true);
this.SetTextBoxPasswordChar(this.PasswordChar);
this.buttonDelete.Visible = false;
this.buttonSave.Visible = false;
- this.buttonChangeLevelName.Visible = false;
this.listBoxUserList.SelectedIndexChanged -= new EventHandler(this.listBoxUserList_SelectedIndexChanged);
this.listBoxUserList.SelectItemIndex = -1;
@@ -785,8 +613,7 @@ namespace ITC81DB_0H.Controls
this.labelExpiryDateOfPassword2.ForeColor = Color.White;
this.buttonDelete.Visible = false;
-
- this.SetEnableAccessRightButton(false);
+ this.comboBoxAccessRight.Visible = false;
this.SetEnableOnlyPart11Value(false);
if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.Group == Define.E_UserGroup.Admin
@@ -797,17 +624,9 @@ namespace ITC81DB_0H.Controls
}
else
{
+ #region 만료일
this.labelExpiryDateOfAccount.Text = item.ExpireAccount.ToString();
this.labelExpiryDateOfPassword.Text = item.ExpirePassword.ToString();
- this.SetEnableOnlyPart11Value(true);
-
- if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ActiveLevel < item.ActiveLevel)
- {
- this.buttonDelete.Visible = false;
- this.SetEnableAccessRightButton(false);
- this.SetEnableOnlyPart11Value(false);
- this.SetEnablePassword(false);
- }
if (item.IsLockAccount == true)
{
@@ -874,9 +693,28 @@ namespace ITC81DB_0H.Controls
this.labelExpiryDateOfPassword2.ForeColor = Color.White;
this.labelExpiryDateOfPassword2.Text = string.Format("{0:yy/MM/dd} ~ {1:yy/MM/dd}", item.DateRegister, item.DateExpireRegister);
}
- }
+ #endregion
- this.CheckBoxCheckedAsLevel(item.Group);
+ this.comboBoxAccessRight.Visible = true;
+ this.comboBoxAccessRight.BringToFront();
+ this.comboBoxAccessRight.SelectedIndexChanged -= new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
+ this.comboBoxAccessRight.SelectedIndex = item.ActiveLevel - 1;
+ this.comboBoxAccessRight.SelectedIndexChanged += new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged);
+
+ if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ActiveLevel < item.ActiveLevel)
+ {
+ this.buttonDelete.Visible = false;
+ this.comboBoxAccessRight.Enabled = false;
+ this.SetEnableOnlyPart11Value(false);
+
+ this.SetEnablePassword(false);
+ }
+ else
+ {
+ this.SetEnableOnlyPart11Value(true);
+ this.comboBoxAccessRight.Enabled = true;
+ }
+ }
//this.cbAdministrator.Visible = true;
//this.cbAdministrator.Checked = item.IsAdmin;
@@ -888,181 +726,6 @@ namespace ITC81DB_0H.Controls
this.listBoxUserList.AddItem(items[i]);
}
- private void CheckBoxCheckedAsLevel(Define.E_UserGroup level)
- {
- switch (level)
- {
- case Define.E_UserGroup.Level1:
- this.buttonLevel1.ButtonDown();
- this.buttonLevel2.ButtonUp();
- this.buttonLevel3.ButtonUp();
-
- this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name;
-
- this.checkBoxChangeNo.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplayProductNo;
- this.checkBoxChangeWeight.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting;
- this.checkBoxClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplayClear;
- this.checkBoxSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplaySubMenu;
-
- this.checkBoxTime.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsBasicTime;
- this.checkBoxProduct.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsBasicProduct;
- this.checkBoxDataStat.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsBasicDataStatistics;
- this.checkBoxSerial.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsConfiSerial;
- this.checkBoxEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsConfiEthernet;
- this.checkBoxCalibration.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsSystemCalibration;
- this.checkBoxJudgment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsSystemJudgmentSetting;
- this.checkBoxSorter.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsSystemSorterSetting;
- this.checkBoxAutoZero.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsSystemAutoZero;
- this.checkBoxIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsSystemIOTest;
- this.checkBoxExternalOutput.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsSystemExternalOutput;
- this.checkBoxUpdate.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsEquipUpdate;
- this.checkBoxInitialization.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsEquipInitialize;
- this.checkBoxFeature.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsEquipFunctionSetting;
- this.checkBoxUser.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsEquipUserSetting;
- this.checkBoxLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsLogEnable;
- break;
- case Define.E_UserGroup.Level2:
- this.buttonLevel1.ButtonUp();
- this.buttonLevel2.ButtonDown();
- this.buttonLevel3.ButtonUp();
-
- this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name;
-
- this.checkBoxChangeNo.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplayProductNo;
- this.checkBoxChangeWeight.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplayWeightSetting;
- this.checkBoxClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplayClear;
- this.checkBoxSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplaySubMenu;
-
- this.checkBoxTime.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsBasicTime;
- this.checkBoxProduct.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsBasicProduct;
- this.checkBoxDataStat.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsBasicDataStatistics;
- this.checkBoxSerial.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsConfiSerial;
- this.checkBoxEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsConfiEthernet;
- this.checkBoxCalibration.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsSystemCalibration;
- this.checkBoxJudgment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsSystemJudgmentSetting;
- this.checkBoxSorter.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsSystemSorterSetting;
- this.checkBoxAutoZero.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsSystemAutoZero;
- this.checkBoxIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsSystemIOTest;
- this.checkBoxExternalOutput.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsSystemExternalOutput;
- this.checkBoxUpdate.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsEquipUpdate;
- this.checkBoxInitialization.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsEquipInitialize;
- this.checkBoxFeature.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsEquipFunctionSetting;
- this.checkBoxUser.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsEquipUserSetting;
- this.checkBoxLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsLogEnable;
- break;
- case Define.E_UserGroup.Level3:
- this.buttonLevel1.ButtonUp();
- this.buttonLevel2.ButtonUp();
- this.buttonLevel3.ButtonDown();
-
- this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name;
-
- this.checkBoxChangeNo.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplayProductNo;
- this.checkBoxChangeWeight.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplayWeightSetting;
- this.checkBoxClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplayClear;
- this.checkBoxSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplaySubMenu;
-
- this.checkBoxTime.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsBasicTime;
- this.checkBoxProduct.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsBasicProduct;
- this.checkBoxDataStat.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsBasicDataStatistics;
- this.checkBoxSerial.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsConfiSerial;
- this.checkBoxEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsConfiEthernet;
- this.checkBoxCalibration.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsSystemCalibration;
- this.checkBoxJudgment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsSystemJudgmentSetting;
- this.checkBoxSorter.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsSystemSorterSetting;
- this.checkBoxAutoZero.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsSystemAutoZero;
- this.checkBoxIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsSystemIOTest;
- this.checkBoxExternalOutput.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsSystemExternalOutput;
- this.checkBoxUpdate.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsEquipUpdate;
- this.checkBoxInitialization.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsEquipInitialize;
- this.checkBoxFeature.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsEquipFunctionSetting;
- this.checkBoxUser.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsEquipUserSetting;
- this.checkBoxLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsLogEnable;
- break;
- case Define.E_UserGroup.Admin:
- this.SetEnableAccessRightButton(false);
-
- this.labelAccessRight.Text = "Administrator";
-
- this.checkBoxChangeNo.Checked = true;
- this.checkBoxChangeWeight.Checked = true;
- this.checkBoxClear.Checked = true;
- this.checkBoxSubMenu.Checked = true;
-
- this.checkBoxTime.Checked = true;
- this.checkBoxProduct.Checked = true;
- this.checkBoxDataStat.Checked = true;
- this.checkBoxSerial.Checked = true;
- this.checkBoxEthernet.Checked = true;
- this.checkBoxCalibration.Checked = true;
- this.checkBoxJudgment.Checked = true;
- this.checkBoxSorter.Checked = true;
- this.checkBoxAutoZero.Checked = true;
- this.checkBoxIOTest.Checked = true;
- this.checkBoxExternalOutput.Checked = true;
- this.checkBoxUpdate.Checked = true;
- this.checkBoxInitialization.Checked = true;
- this.checkBoxFeature.Checked = true;
- this.checkBoxUser.Checked = true;
- this.checkBoxLog.Checked = true;
- break;
- case Define.E_UserGroup.Developer:
- this.SetEnableAccessRightButton(false);
-
- this.labelAccessRight.Text = "Developer";
-
- this.checkBoxChangeNo.Checked = true;
- this.checkBoxChangeWeight.Checked = true;
- this.checkBoxClear.Checked = true;
- this.checkBoxSubMenu.Checked = true;
-
- this.checkBoxTime.Checked = true;
- this.checkBoxProduct.Checked = true;
- this.checkBoxDataStat.Checked = true;
- this.checkBoxSerial.Checked = true;
- this.checkBoxEthernet.Checked = true;
- this.checkBoxCalibration.Checked = true;
- this.checkBoxJudgment.Checked = true;
- this.checkBoxSorter.Checked = true;
- this.checkBoxAutoZero.Checked = true;
- this.checkBoxIOTest.Checked = true;
- this.checkBoxExternalOutput.Checked = true;
- this.checkBoxUpdate.Checked = true;
- this.checkBoxInitialization.Checked = true;
- this.checkBoxFeature.Checked = true;
- this.checkBoxUser.Checked = true;
- this.checkBoxLog.Checked = true;
- break;
- default:
- this.SetEnableAccessRightButton(false);
-
- this.labelAccessRight.Text = "";
-
- this.checkBoxChangeNo.Checked = false;
- this.checkBoxChangeWeight.Checked = false;
- this.checkBoxClear.Checked = false;
- this.checkBoxSubMenu.Checked = false;
-
- this.checkBoxTime.Checked = false;
- this.checkBoxProduct.Checked = false;
- this.checkBoxDataStat.Checked = false;
- this.checkBoxSerial.Checked = false;
- this.checkBoxEthernet.Checked = false;
- this.checkBoxCalibration.Checked = false;
- this.checkBoxJudgment.Checked = false;
- this.checkBoxSorter.Checked = false;
- this.checkBoxAutoZero.Checked = false;
- this.checkBoxIOTest.Checked = false;
- this.checkBoxExternalOutput.Checked = false;
- this.checkBoxUpdate.Checked = false;
- this.checkBoxInitialization.Checked = false;
- this.checkBoxFeature.Checked = false;
- this.checkBoxUser.Checked = false;
- this.checkBoxLog.Checked = false;
- break;
- }
- }
-
public void CallBackGetUserData(UserManager.UserMgr_user_list_t user)
{
this.UpdateCurrentUserItem(user);
@@ -1126,7 +789,6 @@ namespace ITC81DB_0H.Controls
this.SetEnableID(false);
this.SetEnablePassword(false);
this.SetEnableOnlyPart11Value(false);
- this.buttonLevel1.Enabled = this.buttonLevel2.Enabled = this.buttonLevel3.Enabled = false;
this.labelAutomaticLogoutTime.Enabled = false;
DialogFormMessage dlg = new DialogFormMessage(Define.E_MessageBoxIcon.Asterisk, code, message1, message2, 0);
@@ -1355,7 +1017,6 @@ namespace ITC81DB_0H.Controls
this.labelAutomaticLogoutTime.Enabled = true;
this.UpdateUserListBoxDisplay(this.ParentForm.ParentForm.ListDllUserName);
- this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
this.UpdateInitializeUserDisplay(this.ParentForm.ParentForm.SystemConfig2);
}
#endregion
@@ -1366,7 +1027,6 @@ namespace ITC81DB_0H.Controls
int index = this.listBoxUserList.SelectItemIndex;
this.IsNew = false;
- this.SetEnableAccessRightButton(true);
this.SetEnablePassword(true);
this.SetTextBoxPasswordChar(this.PasswordChar);
this.labelAutomaticLogoutTime.Enabled = true;
@@ -1374,8 +1034,6 @@ namespace ITC81DB_0H.Controls
if (index == 0)
{
UserManager.UserManager_GetUserListID(this.listBoxUserList.Items[index]);
-
- this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Admin);
}
else if (index < 0)
{
@@ -1423,7 +1081,7 @@ namespace ITC81DB_0H.Controls
{
e.Handled = true;
- this.textBoxID.Text = this.SelectedUserItem.ID;
+ this.textBoxID.Text = this.BeforeID;
this.KeyboardClose();
}
else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
@@ -1456,7 +1114,7 @@ namespace ITC81DB_0H.Controls
this.SetTextBoxPasswordChar(this.PasswordChar);
if (this.IsNew == true)
this.SetEnableID(true);
- this.textBoxPassword.Text = this.SelectedUserItem.Password;
+ this.textBoxPassword.Text = this.BeforePassword;
this.KeyboardClose();
}
else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
@@ -1465,33 +1123,20 @@ namespace ITC81DB_0H.Controls
e.Handled = true;
}
}
+
private void smartKeyboard_OnXKeyClick(object sender, EventArgs e)
{
if (this.smartKeyboard.TargetInputObject == this.textBoxPassword)
{
- this.textBoxPassword.Text = this.SelectedUserItem.Password;
+ this.textBoxPassword.Text = this.BeforePassword;
if (this.PasswordChar == false)
this.SetTextBoxPasswordChar(this.PasswordChar);
+ this.textBoxPassword.Select(this.textBoxPassword.Text.Length, 0);
}
- else if (this.smartKeyboard.TargetInputObject == this.textBoxLevel1
- || this.smartKeyboard.TargetInputObject == this.textBoxLevel2
- || this.smartKeyboard.TargetInputObject == this.textBoxLevel3)
+ else if (this.smartKeyboard.TargetInputObject == this.textBoxID)
{
- if (this.buttonLevel1.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- {
- this.textBoxLevel1.Visible = false;
- }
- else if (this.buttonLevel2.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- {
- this.textBoxLevel2.Visible = false;
- }
- else if (this.buttonLevel3.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- {
- this.textBoxLevel3.Visible = false;
- }
-
- this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
- this.buttonChangeLevelName.Visible = true;
+ this.textBoxID.Text = this.BeforeID;
+ this.textBoxID.Select(this.textBoxID.Text.Length, 0);
}
this.KeyboardClose();
@@ -1499,130 +1144,9 @@ namespace ITC81DB_0H.Controls
if (this.IsNew == true)
this.SetEnableID(true);
}
-
- private void textBoxLevel1_KeyPress(object sender, KeyPressEventArgs e)
+
+ private void comboBoxAccessRight_SelectedIndexChanged(object sender, EventArgs e)
{
- if (e.KeyChar == '\r')
- {
- e.Handled = true;
- this.KeyboardClose();
-
- this.textBoxLevel1.Visible = false;
-
- if (this.textBoxLevel1.Text == ""
- || this.textBoxLevel1.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name
- || this.textBoxLevel1.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name)
- {
- this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
- this.buttonChangeLevelName.Visible = true;
- }
- else
- {
- this.buttonLevel1.Text = this.textBoxLevel1.Text;
- this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name = this.buttonLevel1.Text;
- this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
-
- this.ParentForm.ParentForm.ChildFormMainDisplay.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
- this.ParentForm.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
- }
- }
- else if (e.KeyChar == 27)
- {
- e.Handled = true;
-
- this.textBoxLevel1.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name;
- this.KeyboardClose();
- }
- else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
- || e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
- {
- e.Handled = true;
- }
- }
- private void textBoxLevel2_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == '\r')
- {
- e.Handled = true;
- this.KeyboardClose();
-
- this.textBoxLevel2.Visible = false;
-
- if (this.textBoxLevel2.Text == ""
- || this.textBoxLevel2.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name
- || this.textBoxLevel2.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name)
- {
- this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
- this.buttonChangeLevelName.Visible = true;
- }
- else
- {
- this.buttonLevel2.Text = this.textBoxLevel2.Text;
- this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name = this.buttonLevel2.Text;
- this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
-
- this.ParentForm.ParentForm.ChildFormMainDisplay.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
- this.ParentForm.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
- }
- }
- else if (e.KeyChar == 27)
- {
- e.Handled = true;
-
- this.textBoxLevel2.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name;
- this.KeyboardClose();
- }
- else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
- || e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
- {
- e.Handled = true;
- }
- }
- private void textBoxLevel3_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == '\r')
- {
- e.Handled = true;
- this.KeyboardClose();
-
- this.textBoxLevel3.Visible = false;
-
- if (this.textBoxLevel3.Text == ""
- || this.textBoxLevel3.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name
- || this.textBoxLevel3.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name)
- {
- this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
- this.buttonChangeLevelName.Visible = true;
- }
- else
- {
- this.buttonLevel3.Text = this.textBoxLevel3.Text;
- this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name = this.buttonLevel3.Text;
- this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
-
- this.ParentForm.ParentForm.ChildFormMainDisplay.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
- this.ParentForm.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
- }
- }
- else if (e.KeyChar == 27)
- {
- e.Handled = true;
-
- this.textBoxLevel3.Text = this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name;
- this.KeyboardClose();
- }
- else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
- || e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
- {
- e.Handled = true;
- }
- }
-
- private void buttonPassword_Click(object sender, EventArgs e)
- {
- this.SetTextBoxPasswordChar(true);
- this.textBoxPassword.Text = "user1004!";
-
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
@@ -1665,6 +1189,8 @@ namespace ITC81DB_0H.Controls
this.smartKeyboard.Size = new Size(704, 276);
this.smartKeyboard.Hide();
+ this.BeforeID = this.textBoxID.Text;
+
this.smartKeyboard.TargetInputObject = this.textBoxID;
this.smartKeyboard.Show();
@@ -1681,6 +1207,8 @@ namespace ITC81DB_0H.Controls
this.smartKeyboard.Size = new Size(704, 276);
this.smartKeyboard.Hide();
+ this.BeforePassword = this.textBoxPassword.Text;
+
this.smartKeyboard.TargetInputObject = this.textBoxPassword;
this.smartKeyboard.Show();
@@ -1792,7 +1320,7 @@ namespace ITC81DB_0H.Controls
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, true, false);
// Part 11
- detail = string.Format("Extension of ID expiry date : {0}", this.SelectedUserItem.ID);
+ detail = string.Format("Extend EXP date(ID) : {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
else
@@ -1839,7 +1367,7 @@ namespace ITC81DB_0H.Controls
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, true, false);
// Part 11
- detail = string.Format("ID Release : {0}", this.SelectedUserItem.ID);
+ detail = string.Format("Release ID : {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
}
@@ -1857,7 +1385,7 @@ namespace ITC81DB_0H.Controls
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, false, true);
// Part 11
- detail = string.Format("Extension of PW expiry date : {0}", this.SelectedUserItem.ID);
+ detail = string.Format("Extend EXP date(PW) : {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
else
@@ -1904,7 +1432,7 @@ namespace ITC81DB_0H.Controls
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, false, true);
// Part 11
- detail = string.Format("PW Release : {0}", this.SelectedUserItem.ID);
+ detail = string.Format("Release PW: {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
}
@@ -1916,68 +1444,6 @@ namespace ITC81DB_0H.Controls
this.ParentForm.CenterEquipUserGroupEditor.BringToFront();
this.ParentForm.CenterEquipUserGroupEditor.DisplayRefresh(this.ParentForm.ParentForm.CurrentSystemStatus);
}
-
- private void buttonLevel_Click(object sender, EventArgs e)
- {
- SmartX.SmartButton button = sender as SmartX.SmartButton;
-
- if (button == this.buttonLevel1)
- {
- this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Level1);
- }
- else if (button == this.buttonLevel2)
- {
- this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Level2);
- }
- else if (button == this.buttonLevel3)
- {
- this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Level3);
- }
-
- this.buttonChangeLevelName.Visible = true;
-
- if (this.buttonSave.Visible == false)
- this.buttonSave.Visible = true;
- }
- private void buttonChangeLevelName_Click(object sender, EventArgs e)
- {
- this.SetEnableID(false);
- this.SetEnablePassword(false);
- this.SetEnableControl(false);
-
- if(this.buttonSave.Visible == true)
- this.buttonSave.Visible = false;
-
- this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
- this.smartKeyboard.Location = new Point(3, 137);
- this.smartKeyboard.Size = new Size(704, 276);
- this.smartKeyboard.Hide();
-
- if (this.buttonLevel1.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- {
- this.textBoxLevel1.Visible = true;
- this.textBoxLevel1.BringToFront();
- this.smartKeyboard.TargetInputObject = this.textBoxLevel1;
- this.textBoxLevel1.Select(this.textBoxLevel1.Text.Length, 0);
- }
- else if (this.buttonLevel2.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- {
- this.textBoxLevel2.Visible = true;
- this.textBoxLevel2.BringToFront();
- this.smartKeyboard.TargetInputObject = this.textBoxLevel2;
- this.textBoxLevel2.Select(this.textBoxLevel2.Text.Length, 0);
- }
- else if (this.buttonLevel3.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
- {
- this.textBoxLevel3.Visible = true;
- this.textBoxLevel3.BringToFront();
- this.smartKeyboard.TargetInputObject = this.textBoxLevel3;
- this.textBoxLevel3.Select(this.textBoxLevel3.Text.Length, 0);
- }
-
- this.smartKeyboard.Show();
- this.buttonChangeLevelName.Visible = false;
- }
#endregion
}
}
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.resx b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.resx
index 8da3f05..04e0040 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.resx
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUser.resx
@@ -165,40 +165,34 @@
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
- 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
- SUVORK5CYII=
+ 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
+ RK5CYII=
@@ -248,50 +242,39 @@
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
- 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
- SUVORK5CYII=
+ 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
@@ -341,43 +324,43 @@
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
- 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
- eo2GJkxMTPAf+yfKnQHgovQAAAAASUVORK5CYII=
+ 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
+ SUVORK5CYII=
@@ -427,39 +410,36 @@
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
- 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
+ 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
@@ -509,50 +489,40 @@
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
- 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
+ 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
@@ -602,50 +572,46 @@
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
- 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
+ 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
@@ -695,42 +661,28 @@
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
- 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
- SUVORK5CYII=
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAABOJJREFUaEPdmtlLlG0Y
+ xt//I7fyTPFMBEUkCDpWMElcUNwQwt1Ky303t1zKPfc109Lcd1NLKvUgyANBQf+O++N3x/i5zMHAJ+nz
+ HVxzMPO+81zXXM993fczM5aLi4tchru7u8TFxUlfX5/s7u7K8fGxnJ6eysnJyV8Fax4dHcmPHz/k3bt3
+ EhUVJXfv3r3CF1wRwsU7OztyeHgov379UiHfv3/X524CrA0HuMBpa2tLQkNDL3AGZ0JQ+urVK714b29P
+ b1hZWZHFxUWZm5uT2dnZGwFrw2F1dVW2t7dlf39fORYWFoqrq+tVIZWVlfL792/59u2bLC0tyczMjExO
+ TsrHjx9lYmJCxsfHbwSsDQe4wGl5eVk5HhwcSG5u7kUh0dHRKgIX+BQ+ffqkb/Lhw4dbBTjBDZfgCudH
+ jx79EXLv3j21DCCCT2BsbOzWAkFwhOvXr191+7u5uYkVGxsrP3/+lIWFBbXQ3s23DYiBK7VDPVP8Vnt7
+ u2xsbOge5KL3798bAbhOTU3J5uamvH79WixUAfbf6OioUWCLEUzUjUVtkAaoHBkZMQpwplZIMouCwSJe
+ GB4eNgpw/vz5sxa8RYxhzdDQkHFADLXN9rK+fPmiCTA4OGgcEIMJ1LhFYlHo/f39xmFgYEALntbx/xGy
+ vr6umdzb22scOGZgAiOLtba2pjHW09NjHBBDl1chjMc0l+7ubuOAGHYTvUSFkMddXV3GATG2pmjRFcnj
+ zs5O48DxFxOmp6f/CCGPOzo6jANiMEGF0EyIsba2NuPA5I4JjFgqhExubW11GMnJyeLj4yMeHh7i6el5
+ bfDy8pL79+9Ldna23XUvAzF0eBVCMyGPW1paHEJaWpp4e3tLUFCQxMTESEJCwrUhPj5eIiMjJSQkRIqL
+ i+2ufx6IYTcxb1nz8/MaY2/fvnUIDx8+VBH2iFwX+IBevHhhd/3zaG5uVhP0PEJ0EWNNTU0O4cGDB9fu
+ xGU8efJEysrK7K5/Hm/evFETGHpVCJnc2NjoEB4/fiyJiYl2CVwX2FaQtLf+eSAGE1QI0UWM1dfXO4SC
+ ggJJTU1VXLegpKQkKSkpOatZe+ufR0NDg5rAvKVCyGQO8I6iqqpKE4O0u3xG+C+wHV8d5YMYmqIKIbog
+ VVtbaxzq6upUNIOjCiHGampqjANiaIoMjhbRxX5ku5iG6upqNYHtqELIY76JNw2IQQjHEIujIlFXUVFh
+ HPgFARMICYuKJ5NpQKahvLxcTWBwtKh4Yoz8Ng2lpaVqAtFtUfEIoZuaBsTQFBkcLSqePOanLNNQVFSk
+ JtCYLQqFTM7PzzcOjEuYwEhzJiQvL884IIamqEIYg8ljfljMyckxCojBBEYsi1GYDskLHGZMApxt44r1
+ 8uVLtYcnOSubBHYRU3BmZqZYgYGBmsXY9Pz5c2OQlZWlnGmIHL8t/j3A1iLKuODp06dGAK70Ebq7s7Oz
+ WDygiH3GvuMirLrNgKOtJAICAv4V4uTkJOHh4dryUZqRkSHp6em3EnCDI7NWcHCwcj/7C4dNTEREhLZ+
+ LuQmvsOync9vGnCBk21L8d3XnTt3lPuZEJsYXsAq7CMRnj17pjfzRikpKTcC1sYFuMAJQb6+vhdEXBBi
+ E4MzXOTv768OcaMt7kiKvwnbmogJCwsTPz8/5QbH8yJcXFzkHy+tNzQzINeKAAAAAElFTkSuQmCC
@@ -780,49 +732,30 @@
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
- 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
+ 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
@@ -872,312 +805,36 @@
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
- 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
- SUVORK5CYII=
-
-
-
-
- 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
- KacAAAAASUVORK5CYII=
-
-
-
-
- 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
- NBeN7Ndd9m8AAAAASUVORK5CYII=
-
-
-
-
- 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
+ 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
+ aHkAAAAASUVORK5CYII=
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.Designer.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.Designer.cs
index 8d376b5..1d68027 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.Designer.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.Designer.cs
@@ -30,6 +30,14 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenterEquipUserGroupEditor));
this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.smartKeyboard = new SmartX.SmartKeyboard();
+ this.buttonEditLevel3 = new SmartX.SmartButton();
+ this.buttonEditLevel2 = new SmartX.SmartButton();
+ this.buttonEditLevel1 = new SmartX.SmartButton();
+ this.textBoxLevel2 = new System.Windows.Forms.TextBox();
+ this.textBoxLevel1 = new System.Windows.Forms.TextBox();
+ this.textBoxLevel3 = new System.Windows.Forms.TextBox();
+ this.labelTitleChangeName = new SmartX.SmartLabel();
this.checkBoxL3Log = new SmartX.SmartCheckBox();
this.checkBoxNotLoginLog = new SmartX.SmartCheckBox();
this.checkBoxL2Log = new SmartX.SmartCheckBox();
@@ -158,6 +166,14 @@
this.smartGroupBox1.BackColor = System.Drawing.Color.Black;
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.smartKeyboard);
+ this.smartGroupBox1.Controls.Add(this.buttonEditLevel3);
+ this.smartGroupBox1.Controls.Add(this.buttonEditLevel2);
+ this.smartGroupBox1.Controls.Add(this.buttonEditLevel1);
+ this.smartGroupBox1.Controls.Add(this.textBoxLevel2);
+ this.smartGroupBox1.Controls.Add(this.textBoxLevel1);
+ this.smartGroupBox1.Controls.Add(this.textBoxLevel3);
+ this.smartGroupBox1.Controls.Add(this.labelTitleChangeName);
this.smartGroupBox1.Controls.Add(this.checkBoxL3Log);
this.smartGroupBox1.Controls.Add(this.checkBoxNotLoginLog);
this.smartGroupBox1.Controls.Add(this.checkBoxL2Log);
@@ -292,6 +308,199 @@
this.smartGroupBox1.Text = "smartGroupBox1";
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
+ // smartKeyboard
+ //
+ this.smartKeyboard.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(198)))), ((int)(((byte)(195)))), ((int)(((byte)(198)))));
+ this.smartKeyboard.ControlKeyDisable = true;
+ this.smartKeyboard.DesignMinimize = true;
+ this.smartKeyboard.FontColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.smartKeyboard.HanYoungKeyDisable = true;
+ this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
+ this.smartKeyboard.KeyFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
+ this.smartKeyboard.KeyOutLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(157)))), ((int)(((byte)(157)))));
+ this.smartKeyboard.KeyOutLineWidth = 1;
+ this.smartKeyboard.KeyPressImage1 = ((System.Drawing.Image)(resources.GetObject("smartKeyboard.KeyPressImage1")));
+ this.smartKeyboard.KeyPressImage2 = ((System.Drawing.Image)(resources.GetObject("smartKeyboard.KeyPressImage2")));
+ this.smartKeyboard.KeyPressImage3 = ((System.Drawing.Image)(resources.GetObject("smartKeyboard.KeyPressImage3")));
+ this.smartKeyboard.KeyUpImage1 = ((System.Drawing.Image)(resources.GetObject("smartKeyboard.KeyUpImage1")));
+ this.smartKeyboard.KeyUpImage2 = ((System.Drawing.Image)(resources.GetObject("smartKeyboard.KeyUpImage2")));
+ this.smartKeyboard.KeyUpImage3 = ((System.Drawing.Image)(resources.GetObject("smartKeyboard.KeyUpImage3")));
+ this.smartKeyboard.LeftMargin = 5;
+ this.smartKeyboard.Location = new System.Drawing.Point(12, 3);
+ this.smartKeyboard.Name = "smartKeyboard";
+ this.smartKeyboard.PressFontColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37)))));
+ this.smartKeyboard.PressKeyFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(146)))), ((int)(((byte)(146)))));
+ this.smartKeyboard.PressKeyOutLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(41)))), ((int)(((byte)(41)))));
+ this.smartKeyboard.RoundedCorners = true;
+ this.smartKeyboard.SetBackimage = null;
+ this.smartKeyboard.Size = new System.Drawing.Size(16, 11);
+ this.smartKeyboard.TabIndex = 730;
+ this.smartKeyboard.TABKeyDisable = false;
+ this.smartKeyboard.TargetInputObject = null;
+ this.smartKeyboard.Text = "smartKeyboard1";
+ this.smartKeyboard.ThemeStyle = SmartX.SmartKeyboard.KEYBOARDTHEMESTYLE.STANDARD8;
+ this.smartKeyboard.TopMargin = 110;
+ this.smartKeyboard.OnXKeyClick += new System.EventHandler(this.smartKeyboard_OnXKeyClick);
+ //
+ // buttonEditLevel3
+ //
+ this.buttonEditLevel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.buttonEditLevel3.BackPictureBox = null;
+ this.buttonEditLevel3.BackPictureBox1 = null;
+ this.buttonEditLevel3.BackPictureBox2 = null;
+ this.buttonEditLevel3.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.buttonEditLevel3.ButtonImageAutoSize = true;
+ this.buttonEditLevel3.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
+ this.buttonEditLevel3.DisableImage = null;
+ this.buttonEditLevel3.DownImage = null;
+ this.buttonEditLevel3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.buttonEditLevel3.GroupID = 0;
+ this.buttonEditLevel3.InitVisible = true;
+ this.buttonEditLevel3.Location = new System.Drawing.Point(302, 436);
+ this.buttonEditLevel3.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
+ this.buttonEditLevel3.Name = "buttonEditLevel3";
+ this.buttonEditLevel3.NestedClickEventPrevent = false;
+ this.buttonEditLevel3.OutlinePixel = 1;
+ this.buttonEditLevel3.RepeatInterval = 200;
+ this.buttonEditLevel3.RepeatIntervalAccelerate = null;
+ this.buttonEditLevel3.SafeInterval = 200;
+ this.buttonEditLevel3.Size = new System.Drawing.Size(50, 23);
+ this.buttonEditLevel3.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
+ this.buttonEditLevel3.TabIndex = 728;
+ this.buttonEditLevel3.Text = "Edit";
+ this.buttonEditLevel3.TextColor = System.Drawing.Color.White;
+ this.buttonEditLevel3.TextDownColor = System.Drawing.Color.MidnightBlue;
+ this.buttonEditLevel3.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
+ this.buttonEditLevel3.TextLocation = new System.Drawing.Point(0, 0);
+ this.buttonEditLevel3.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
+ this.buttonEditLevel3.UpImage = null;
+ this.buttonEditLevel3.Click += new System.EventHandler(this.buttonEdit_Click);
+ //
+ // buttonEditLevel2
+ //
+ this.buttonEditLevel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.buttonEditLevel2.BackPictureBox = null;
+ this.buttonEditLevel2.BackPictureBox1 = null;
+ this.buttonEditLevel2.BackPictureBox2 = null;
+ this.buttonEditLevel2.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.buttonEditLevel2.ButtonImageAutoSize = true;
+ this.buttonEditLevel2.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
+ this.buttonEditLevel2.DisableImage = null;
+ this.buttonEditLevel2.DownImage = null;
+ this.buttonEditLevel2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.buttonEditLevel2.GroupID = 0;
+ this.buttonEditLevel2.InitVisible = true;
+ this.buttonEditLevel2.Location = new System.Drawing.Point(302, 411);
+ this.buttonEditLevel2.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
+ this.buttonEditLevel2.Name = "buttonEditLevel2";
+ this.buttonEditLevel2.NestedClickEventPrevent = false;
+ this.buttonEditLevel2.OutlinePixel = 1;
+ this.buttonEditLevel2.RepeatInterval = 200;
+ this.buttonEditLevel2.RepeatIntervalAccelerate = null;
+ this.buttonEditLevel2.SafeInterval = 200;
+ this.buttonEditLevel2.Size = new System.Drawing.Size(50, 23);
+ this.buttonEditLevel2.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
+ this.buttonEditLevel2.TabIndex = 727;
+ this.buttonEditLevel2.Text = "Edit";
+ this.buttonEditLevel2.TextColor = System.Drawing.Color.White;
+ this.buttonEditLevel2.TextDownColor = System.Drawing.Color.MidnightBlue;
+ this.buttonEditLevel2.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
+ this.buttonEditLevel2.TextLocation = new System.Drawing.Point(0, 0);
+ this.buttonEditLevel2.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
+ this.buttonEditLevel2.UpImage = null;
+ this.buttonEditLevel2.Click += new System.EventHandler(this.buttonEdit_Click);
+ //
+ // buttonEditLevel1
+ //
+ this.buttonEditLevel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.buttonEditLevel1.BackPictureBox = null;
+ this.buttonEditLevel1.BackPictureBox1 = null;
+ this.buttonEditLevel1.BackPictureBox2 = null;
+ this.buttonEditLevel1.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.buttonEditLevel1.ButtonImageAutoSize = true;
+ this.buttonEditLevel1.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
+ this.buttonEditLevel1.DisableImage = null;
+ this.buttonEditLevel1.DownImage = null;
+ this.buttonEditLevel1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.buttonEditLevel1.GroupID = 0;
+ this.buttonEditLevel1.InitVisible = true;
+ this.buttonEditLevel1.Location = new System.Drawing.Point(302, 386);
+ this.buttonEditLevel1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
+ this.buttonEditLevel1.Name = "buttonEditLevel1";
+ this.buttonEditLevel1.NestedClickEventPrevent = false;
+ this.buttonEditLevel1.OutlinePixel = 1;
+ this.buttonEditLevel1.RepeatInterval = 200;
+ this.buttonEditLevel1.RepeatIntervalAccelerate = null;
+ this.buttonEditLevel1.SafeInterval = 200;
+ this.buttonEditLevel1.Size = new System.Drawing.Size(50, 23);
+ this.buttonEditLevel1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
+ this.buttonEditLevel1.TabIndex = 726;
+ this.buttonEditLevel1.Text = "Edit";
+ this.buttonEditLevel1.TextColor = System.Drawing.Color.White;
+ this.buttonEditLevel1.TextDownColor = System.Drawing.Color.MidnightBlue;
+ this.buttonEditLevel1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
+ this.buttonEditLevel1.TextLocation = new System.Drawing.Point(0, 0);
+ this.buttonEditLevel1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
+ this.buttonEditLevel1.UpImage = null;
+ this.buttonEditLevel1.Click += new System.EventHandler(this.buttonEdit_Click);
+ //
+ // textBoxLevel2
+ //
+ this.textBoxLevel2.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular);
+ this.textBoxLevel2.Location = new System.Drawing.Point(125, 411);
+ this.textBoxLevel2.MaxLength = 15;
+ this.textBoxLevel2.Name = "textBoxLevel2";
+ this.textBoxLevel2.Size = new System.Drawing.Size(171, 23);
+ this.textBoxLevel2.TabIndex = 725;
+ this.textBoxLevel2.Text = "Level2";
+ this.textBoxLevel2.GotFocus += new System.EventHandler(this.textBoxLevel2_GotFocus);
+ this.textBoxLevel2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxLevel2_KeyPress);
+ //
+ // textBoxLevel1
+ //
+ this.textBoxLevel1.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular);
+ this.textBoxLevel1.Location = new System.Drawing.Point(125, 386);
+ this.textBoxLevel1.MaxLength = 15;
+ this.textBoxLevel1.Name = "textBoxLevel1";
+ this.textBoxLevel1.Size = new System.Drawing.Size(171, 23);
+ this.textBoxLevel1.TabIndex = 723;
+ this.textBoxLevel1.Text = "Level1";
+ this.textBoxLevel1.GotFocus += new System.EventHandler(this.textBoxLevel1_GotFocus);
+ this.textBoxLevel1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxLevel1_KeyPress);
+ //
+ // textBoxLevel3
+ //
+ this.textBoxLevel3.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular);
+ this.textBoxLevel3.Location = new System.Drawing.Point(125, 436);
+ this.textBoxLevel3.MaxLength = 15;
+ this.textBoxLevel3.Name = "textBoxLevel3";
+ this.textBoxLevel3.Size = new System.Drawing.Size(171, 23);
+ this.textBoxLevel3.TabIndex = 724;
+ this.textBoxLevel3.Text = "Level3";
+ this.textBoxLevel3.GotFocus += new System.EventHandler(this.textBoxLevel3_GotFocus);
+ this.textBoxLevel3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxLevel3_KeyPress);
+ //
+ // labelTitleChangeName
+ //
+ this.labelTitleChangeName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.labelTitleChangeName.BackPictureBox = null;
+ this.labelTitleChangeName.BackPictureBox1 = null;
+ this.labelTitleChangeName.BackPictureBox2 = null;
+ this.labelTitleChangeName.BorderColor = System.Drawing.Color.Wheat;
+ this.labelTitleChangeName.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleChangeName.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleChangeName.ForeColor = System.Drawing.Color.White;
+ this.labelTitleChangeName.InitVisible = true;
+ this.labelTitleChangeName.LineSpacing = 0F;
+ this.labelTitleChangeName.Location = new System.Drawing.Point(12, 386);
+ this.labelTitleChangeName.Name = "labelTitleChangeName";
+ this.labelTitleChangeName.Size = new System.Drawing.Size(107, 73);
+ this.labelTitleChangeName.TabIndex = 729;
+ this.labelTitleChangeName.Text = "레벨명변경";
+ this.labelTitleChangeName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.labelTitleChangeName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleChangeName.Wordwrap = true;
+ //
// checkBoxL3Log
//
this.checkBoxL3Log.BackPictureBox = null;
@@ -462,7 +671,7 @@
this.checkBoxL3EquipmentEngineer.ImageCheckBox = null;
this.checkBoxL3EquipmentEngineer.ImageUnCheckBox = null;
this.checkBoxL3EquipmentEngineer.InitVisible = true;
- this.checkBoxL3EquipmentEngineer.Location = new System.Drawing.Point(292, 441);
+ this.checkBoxL3EquipmentEngineer.Location = new System.Drawing.Point(636, 356);
this.checkBoxL3EquipmentEngineer.Name = "checkBoxL3EquipmentEngineer";
this.checkBoxL3EquipmentEngineer.Size = new System.Drawing.Size(20, 20);
this.checkBoxL3EquipmentEngineer.TabIndex = 694;
@@ -886,7 +1095,7 @@
this.checkBoxNotLoginEquipmentEngineer.ImageCheckBox = null;
this.checkBoxNotLoginEquipmentEngineer.ImageUnCheckBox = null;
this.checkBoxNotLoginEquipmentEngineer.InitVisible = true;
- this.checkBoxNotLoginEquipmentEngineer.Location = new System.Drawing.Point(321, 441);
+ this.checkBoxNotLoginEquipmentEngineer.Location = new System.Drawing.Point(665, 356);
this.checkBoxNotLoginEquipmentEngineer.Name = "checkBoxNotLoginEquipmentEngineer";
this.checkBoxNotLoginEquipmentEngineer.Size = new System.Drawing.Size(20, 20);
this.checkBoxNotLoginEquipmentEngineer.TabIndex = 664;
@@ -905,7 +1114,7 @@
this.labelTitleEngineer.ForeColor = System.Drawing.Color.White;
this.labelTitleEngineer.InitVisible = true;
this.labelTitleEngineer.LineSpacing = 0F;
- this.labelTitleEngineer.Location = new System.Drawing.Point(12, 441);
+ this.labelTitleEngineer.Location = new System.Drawing.Point(356, 356);
this.labelTitleEngineer.Name = "labelTitleEngineer";
this.labelTitleEngineer.Size = new System.Drawing.Size(219, 20);
this.labelTitleEngineer.TabIndex = 663;
@@ -930,7 +1139,7 @@
this.checkBoxL2EquipmentEngineer.ImageCheckBox = null;
this.checkBoxL2EquipmentEngineer.ImageUnCheckBox = null;
this.checkBoxL2EquipmentEngineer.InitVisible = true;
- this.checkBoxL2EquipmentEngineer.Location = new System.Drawing.Point(265, 441);
+ this.checkBoxL2EquipmentEngineer.Location = new System.Drawing.Point(609, 356);
this.checkBoxL2EquipmentEngineer.Name = "checkBoxL2EquipmentEngineer";
this.checkBoxL2EquipmentEngineer.Size = new System.Drawing.Size(20, 20);
this.checkBoxL2EquipmentEngineer.TabIndex = 662;
@@ -953,7 +1162,7 @@
this.checkBoxL1EquipmentEngineer.ImageCheckBox = null;
this.checkBoxL1EquipmentEngineer.ImageUnCheckBox = null;
this.checkBoxL1EquipmentEngineer.InitVisible = true;
- this.checkBoxL1EquipmentEngineer.Location = new System.Drawing.Point(237, 441);
+ this.checkBoxL1EquipmentEngineer.Location = new System.Drawing.Point(581, 356);
this.checkBoxL1EquipmentEngineer.Name = "checkBoxL1EquipmentEngineer";
this.checkBoxL1EquipmentEngineer.Size = new System.Drawing.Size(20, 20);
this.checkBoxL1EquipmentEngineer.TabIndex = 661;
@@ -2952,5 +3161,13 @@
private SmartX.SmartCheckBox checkBoxL2Log;
private SmartX.SmartCheckBox checkBoxL1Log;
private SmartX.SmartLabel labelTitleLog;
+ private SmartX.SmartButton buttonEditLevel3;
+ private SmartX.SmartButton buttonEditLevel2;
+ private SmartX.SmartButton buttonEditLevel1;
+ private System.Windows.Forms.TextBox textBoxLevel2;
+ private System.Windows.Forms.TextBox textBoxLevel1;
+ private System.Windows.Forms.TextBox textBoxLevel3;
+ private SmartX.SmartLabel labelTitleChangeName;
+ private SmartX.SmartKeyboard smartKeyboard;
}
}
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.cs b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.cs
index 1545ce7..19c9a07 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.cs
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.cs
@@ -11,6 +11,7 @@ using ITC81DB_0H.Forms;
using ITC81DB_0H.DialogForms;
using ITC81DB_2H_ImageDll;
using ITC81DB_2H.Datastore;
+using SmartX;
namespace ITC81DB_0H.Controls
{
@@ -18,6 +19,10 @@ namespace ITC81DB_0H.Controls
{
#region Field
private FormMenu m_ParentForm;
+
+ private string BeforeTextBox1;
+ private string BeforeTextBox2;
+ private string BeforeTextBox3;
#endregion
#region Constructor
@@ -79,6 +84,7 @@ namespace ITC81DB_0H.Controls
this.labelTitleEngineer.Text = "Engineer settings";
this.labelTitleLog.Text = "Log";
+ this.labelTitleChangeName.Text = "Change Lv Name";
#endregion
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
@@ -115,6 +121,7 @@ namespace ITC81DB_0H.Controls
this.labelTitleEngineer.Text = "工程师设置";
this.labelTitleLog.Text = "日志";
+ this.labelTitleChangeName.Text = "更改级别名称";
#endregion
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Czech)
@@ -154,6 +161,7 @@ namespace ITC81DB_0H.Controls
this.labelTitleEngineer.Text = "Инженерные настройки";
this.labelTitleLog.Text = "Системный журнал";
+ this.labelTitleChangeName.Text = "Изменить имя уровня";
#endregion
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
@@ -190,6 +198,7 @@ namespace ITC81DB_0H.Controls
this.labelTitleEngineer.Text = "Ingenieur-Einstellungen";
this.labelTitleLog.Text = "Systemprotokoll";
+ this.labelTitleChangeName.Text = "Ebenennamen ändern";
#endregion
}
else
@@ -226,11 +235,15 @@ namespace ITC81DB_0H.Controls
this.labelTitleEngineer.Text = "엔지니어설정";
this.labelTitleLog.Text = "로그";
+ this.labelTitleChangeName.Text = "레벨명변경";
#endregion
}
}
private void DefaultSetting()
{
+ this.BeforeTextBox1 = "";
+ this.BeforeTextBox2 = "";
+ this.BeforeTextBox3 = "";
}
private void UpdateDisplay(UserGroup group)
@@ -407,6 +420,13 @@ namespace ITC81DB_0H.Controls
this.ParentForm.BottomLog.UpdateMenuDisplay(status);
}
+ public void UpdateLevelNameDisplay(SystemConfigurationItem2 system)
+ {
+ this.textBoxLevel1.Text = system.UserGroupLevel1Name;
+ this.textBoxLevel2.Text = system.UserGroupLevel2Name;
+ this.textBoxLevel3.Text = system.UserGroupLevel3Name;
+ }
+
public void DisplayRefresh(SystemStatus status)
{
if(this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.Group == Define.E_UserGroup.Developer)
@@ -414,6 +434,7 @@ namespace ITC81DB_0H.Controls
else
this.UpdateNotLoginVisible(false);
this.UpdateDisplay(this.ParentForm.ParentForm.CurrentUserGroup);
+ this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
}
#endregion
@@ -424,6 +445,182 @@ namespace ITC81DB_0H.Controls
this.buttonSave.Visible = true;
}
+
+ private void textBoxLevel1_GotFocus(object sender, EventArgs e)
+ {
+ this.smartKeyboard.TargetInputObject = this.textBoxLevel1;
+ this.textBoxLevel1.Select(this.textBoxLevel1.Text.Length, 0);
+ }
+ private void textBoxLevel2_GotFocus(object sender, EventArgs e)
+ {
+ this.smartKeyboard.TargetInputObject = this.textBoxLevel2;
+ this.textBoxLevel2.Select(this.textBoxLevel2.Text.Length, 0);
+ }
+ private void textBoxLevel3_GotFocus(object sender, EventArgs e)
+ {
+ this.smartKeyboard.TargetInputObject = this.textBoxLevel3;
+ this.textBoxLevel3.Select(this.textBoxLevel3.Text.Length, 0);
+ }
+
+ private void buttonEdit_Click(object sender, EventArgs e)
+ {
+ SmartButton button = sender as SmartButton;
+
+ this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
+ this.smartKeyboard.Location = new Point(8, 0);
+ this.smartKeyboard.Size = new Size(695, 377);
+ this.smartKeyboard.KeyFillColor = Color.Black;
+ this.smartKeyboard.BackColor = Color.FromArgb(30, 30, 30);
+
+ if (button == this.buttonEditLevel1)
+ {
+ this.BeforeTextBox1 = this.textBoxLevel1.Text;
+ this.smartKeyboard.TargetInputObject = this.textBoxLevel1;
+ this.textBoxLevel1.Select(this.textBoxLevel1.Text.Length, 0);
+ }
+ else if (button == this.buttonEditLevel2)
+ {
+ this.BeforeTextBox2 = this.textBoxLevel2.Text;
+ this.smartKeyboard.TargetInputObject = this.textBoxLevel2;
+ this.textBoxLevel2.Select(this.textBoxLevel2.Text.Length, 0);
+ }
+ else if (button == this.buttonEditLevel3)
+ {
+ this.BeforeTextBox3 = this.textBoxLevel3.Text;
+ this.smartKeyboard.TargetInputObject = this.textBoxLevel3;
+ this.textBoxLevel3.Select(this.textBoxLevel3.Text.Length, 0);
+ }
+
+ this.smartKeyboard.Show();
+ }
+
+ private void textBoxLevel1_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == '\r')
+ {
+ e.Handled = true;
+ this.smartKeyboard.Hide();
+
+ if (this.textBoxLevel1.Text == ""
+ || this.textBoxLevel1.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name
+ || this.textBoxLevel1.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name)
+ {
+ this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
+ }
+ else
+ {
+ this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name = this.textBoxLevel1.Text;
+ this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
+
+ this.ParentForm.ParentForm.ChildFormMenu.CenterEquipUser.UpdateAccessRightComboBox();
+ this.ParentForm.ParentForm.ChildFormMainDisplay.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
+ this.ParentForm.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
+ }
+ }
+ else if (e.KeyChar == 27)
+ {
+ e.Handled = true;
+
+ this.textBoxLevel1.Text = this.BeforeTextBox1;
+ this.smartKeyboard.Hide();
+ }
+ else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
+ || e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
+ {
+ e.Handled = true;
+ }
+ }
+ private void textBoxLevel2_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == '\r')
+ {
+ e.Handled = true;
+ this.smartKeyboard.Hide();
+
+ if (this.textBoxLevel2.Text == ""
+ || this.textBoxLevel2.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name
+ || this.textBoxLevel2.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name)
+ {
+ this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
+ }
+ else
+ {
+ this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name = this.textBoxLevel2.Text;
+ this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
+
+ this.ParentForm.ParentForm.ChildFormMenu.CenterEquipUser.UpdateAccessRightComboBox();
+ this.ParentForm.ParentForm.ChildFormMainDisplay.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
+ this.ParentForm.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
+ }
+ }
+ else if (e.KeyChar == 27)
+ {
+ e.Handled = true;
+
+ this.textBoxLevel2.Text = this.BeforeTextBox2;
+ this.smartKeyboard.Hide();
+ }
+ else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
+ || e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
+ {
+ e.Handled = true;
+ }
+ }
+ private void textBoxLevel3_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == '\r')
+ {
+ e.Handled = true;
+ this.smartKeyboard.Hide();
+
+ if (this.textBoxLevel3.Text == ""
+ || this.textBoxLevel3.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel1Name
+ || this.textBoxLevel3.Text == this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel2Name)
+ {
+ this.UpdateLevelNameDisplay(this.ParentForm.ParentForm.SystemConfig2);
+ }
+ else
+ {
+ this.ParentForm.ParentForm.SystemConfig2.UserGroupLevel3Name = this.textBoxLevel3.Text;
+ this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
+
+ this.ParentForm.ParentForm.ChildFormMenu.CenterEquipUser.UpdateAccessRightComboBox();
+ this.ParentForm.ParentForm.ChildFormMainDisplay.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
+ this.ParentForm.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.ParentForm.CurrentSystemStatus);
+ }
+ }
+ else if (e.KeyChar == 27)
+ {
+ e.Handled = true;
+
+ this.textBoxLevel3.Text = this.BeforeTextBox3;
+ this.smartKeyboard.Hide();
+ }
+ else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
+ || e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
+ {
+ e.Handled = true;
+ }
+ }
+
+ private void smartKeyboard_OnXKeyClick(object sender, EventArgs e)
+ {
+ if (this.smartKeyboard.TargetInputObject == this.textBoxLevel1)
+ {
+ this.textBoxLevel1.Text = this.BeforeTextBox1;
+ }
+ else if (this.smartKeyboard.TargetInputObject == this.textBoxLevel2)
+ {
+ this.textBoxLevel2.Text = this.BeforeTextBox2;
+ }
+ else if (this.smartKeyboard.TargetInputObject == this.textBoxLevel3)
+ {
+ this.textBoxLevel3.Text = this.BeforeTextBox3;
+ }
+
+ this.smartKeyboard.Hide();
+ }
+
private void buttonSave_Click(object sender, EventArgs e)
{
#region Level1
diff --git a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.resx b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.resx
index 8ccd266..2d82866 100644
--- a/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.resx
+++ b/ITC81DB_0H/Controls/CenterEquipment/ControlCenterEquipUserGroupEditor.resx
@@ -118,6 +118,420 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 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
+ 6nc2xOg6Bq4AAAAASUVORK5CYII=
+
+
+
+
+ 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
+ vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
+ Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
+ bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
+ llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
+ ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
+ xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
+ eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
+ YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
+ XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
+ WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
+ xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
+ dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
+ V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
+ Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
+ Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
+ PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
+ 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
+ /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
+ XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
+ fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
+ tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAABPlJREFUeF7t2UkvbFsY
+ xnFfQN+Uvi19T+m7KkX0QogIMWFCCGIkrkQIMyYGxEATEQOJb6BvDkEIX+AkZ2J+v8B777OSXaWoe+6Z
+ KLXkGfxSp2ST/drnX2vtzUf+9hEi0suHcMvKyiQ7O1vMZrMkJCRIXFycxMbGSkxMjDZwvvHx8er8k5KS
+ JDk5WVJSUiQ1NdUB7/F1zJmYmKjVrNHR0Q7GrL+bV+dZ3/vO19a4ppGRkRIeHi6hoaESFRUllZWVLo2C
+ S7iFhYWSmZkpGRkZ6heA4fHLMYb3VsZ/XOOCAs4ZcP64gL9jzOjtcxr+a17M8X/zfpdZjXndzfiWTvMa
+ c+JDBgEjWpPJJP7+/lJeXu4+XIvF4og2PT1d8vPzpbi42KGoqEgdQ0SfB4tnQUGB5Obmqg4RckhIiAQE
+ BMjg4KBruHZ7rWO7gYMrKiqkvr5e6urqxGazSXV1tVRVVRGRB2BrXFpaquJFuNg2BwYGSnBwsGxsbDjD
+ ReU4ICcnR0Xa2toq7e3t0tTU5IjXarWSF8K1ec/dceT9ampqHLA1RrjY7mPbjGj9/Pxcw0WwWHFROVba
+ trY2aWlpkdraWvUJgBUYD63Iu+DiuuPuWNILbk3xkBi3r+jTuI1dX193hltUZJG0tDT1DYgV8eITAO/f
+ 7r2J6POhNzxjysrKUqsuFlR8IGMBdVlxESjCLSkpUcs0tltYafFQyt0PJqLPZYSbl5en7nmxoNrtdtnc
+ 3HSGi5qxVUaoCBbxom4s1+5+KBF9LiNcvOK5E541NTY2yvb2tmu4+JstQkXdOJDhEn0dhkukIYZLpCGG
+ S6QhhkukIYZLpCGGS6QhhkukIYZLpCGGS6QhhkukIYZLpCGGS6QhhkukIYZLpCGGS6QhhkukIYZLpCGG
+ S6QhhkukIYZLpCGGS6QhhkukIYZLpCGGS6QhhkukIYZLpCGGS6QhhkukIYZLpCGGS6QhhkukIYZLpCGG
+ S6QhhkukIYZLpCGGS6ShPw7XbDYzXCIv8Yfhlqlw8Q0ItqqqiuESfSEEm5mZKXl5eapHhNvQ0CBbW1vO
+ cCsqyiUpKUkKCgrU6osD8cpwib4GgkW4CBg9Itrm5mbZ2dlxhoulOC4uTrKzs1WspaWlisViUTETkWcg
+ VECL6enp6t82m01aWlqks7NT9vb2nOHa7XYxmUySmJgoqampqnR8I/bYRORZ6A/RokXEjNW2q6tL+vr6
+ 5ODgwBluR0eHBAUFSUREhMTGxqqA8ZQZcO9LRJ6BW1bjFeHiYXF3d7cMDQ3J6OiobGxsOMOdnf1L/Pz8
+ VLxhYWGSkJCg9tjvl3Ei+lzGVhm3rFarVXp7e2ViYuLfRmdlbm7ONVxA2b6+vhIaGqrubZuamtSeGrUT
+ kef09PRIf3+/DA8Pq2BXVlZkdXVVDg8PVasu4f74canuc7FM49HzwMCAjIyMyPj4uExOThKRh0xNTcn0
+ 9LQsLS3J2tqa+tvt/v6+PDw8fAwXfv36qWJF9WNjYzIzMyPz8/OysLBARB6yuLgoy8vLsr6+Lru7u3J6
+ euoSLbiEC6+vr/L09CSXl5cOFxcXcn5+rpydnXk1nCPO9/r6Wm5vb+X+/l4eHx/l+flZXl5eHPAec+IX
+ cnd3Jzc3N3J1deUyqw7z4nxx7oB5MQ/mejvvd5kV5/jdr+3JyYkcHx/L0dGResUM8L7TD+ESkbfzkX8A
+ aDYV804BSLEAAAAASUVORK5CYII=
+
+
+
+
+ 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
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA7NJREFUaEPtm0kvZGEU
+ hm3M8zzPhJjnGBfmeWZhShAWBDGEIIZE0MQsodHSId3KtLLwA/yyt70nubhdtejlR39JPdetiu/me845
+ 99bmLTvg9fWf8Ho0f2CxWPDy8iJ/Ly8vcXp6iqOjI+zv72Nvb08Zdnd3sbOzI2xtbWFtbQ1zc3MYGxvD
+ 6uqq8Lfb6/H9DQWfn5/x9PSE+/t7XF1d4ezsDMfHxzg8PMTBwYFSGA2g+ObmJpaWljA6OoqWlhZkZGRg
+ amrKtixFHx8fRfL6+lo6yqqxYsvLy1hcXMTCwoKSzM/PY3Z2FuPj4+jt7UVZWRni4uIQHBwsXTfJUvT8
+ /BwXFxc4OTnB9va2VGliYgLDw8Po7+9HX1+f0vT09KCzsxPV1dVIS0tDVFQU/P39RdgYaZF9eLjH+vo6
+ NjY2pIuTk5MYGBiQxY2NjaitrUVNTY2SUM6AHc3Ly0NiYiLCw8Ph6+sLDw8Psyw7OzMzg+npaYyMjEiV
+ mpqaUF5ejpKSEhQVFaGgoEB5cnNzpavx8fEICQmBt7c33N3d8e3bprmzQ0NDGBwcRHd3t3SztLRULpCT
+ kyNkZ2crDfeYmZmJlJSUt/vVy8sLbm5u1mNMya6uLrS2tqKqqko6ypGwdWFVMWRjY2PfZF1dXbGysvIu
+ e3dnkfuTcHwrKipkdDkWti6qKv8ke3t7g/b2dnR0dMgI81790rJtbW0i/OVlLRYtq2VVRstqWS2rZZVF
+ y2pZLatllUXLalktq2WVRctqWS2rZZVFy2pZLatllUXLalktq2WVRcv+97KMBH01WU9PT2vZm5vfkuRk
+ dxsaGiQW91llk5OTERMTg6CgIJF1cXGRiOKb7K9f16ivr0dzczPq6uok3VZYWPjpZBm7TUpKQnR0NAIC
+ AiS3aCX78+elCDLsyBEuLi5Gfn6+ROSysrI+Bewqc4sJCQmIiIiAn5+fRPmcnZ3Nst+/nyA1NVWqw4Ws
+ UHp6uiwmPFcZ7pH7ZxqVI2yENNlVR0dHc3bxx48Lyecy4MhEJ6tjwAuojLFP7pvjGxoaKl1lGtXJyQkO
+ Dg4Sp3+TZVAzMDBQKsJ/DgsLk7xuZGSkwEKoCvfHseWe+VAyMsYcX4ra29ubZQkfTj4+PgIXsDpMYvNG
+ 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
+ vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
+ vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
+ Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
+ bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
+ llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
+ ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
+ xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
+ eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
+ YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
+ XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
+ WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
+ xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
+ dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
+ V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
+ Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
+ Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
+ PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
+ 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
+ /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
+ XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
+ fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
+ tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAABK1JREFUeF7t2slKY1kc
+ x3EXzibRGI0DKI4Yp+AQRaOCQ4zzgEYExWnhQjBOieIURQMOIGSjZVu2tkoVloI05XO48AW6HqJf4N/9
+ P5C0KUNjQ1dyT/lbfDbm3ovh1pf/OccKoz/DCADk8ircb9/+oMfHR/J4POR2u2lzc5NWVlbI6XQKDodD
+ cZaWlnyU+jsC/Bv+t7u4uEhzc3M0MzND4+PjZLPZyG63k8vl8muU+YX79PREDw8PdHt7SxcXF3R8fExH
+ R0e0t7cnIma7u7uKs7Oz4xPo85/Ne/u+7wW/z+3tbVpfX6f5+XkRb0tLC+Xl5dHCwkLgcJ+fn4mjvbu7
+ o5ubGzo9PRXRcqxbW1u0sbEhHsjW1tbejff2fSG0VldXaXl5mWZnZ2lkZIQaGxspNzeX0tLS6ODgwD/c
+ +/svItTz83M6OTmhw8NDsUTmsT09PU2Tk5Oi/rGxMVAgfjcvBboG5DE6OkpDQ0PU1tZGRqORsrKyKDk5
+ mfR6vW/Z7AuXx/T+/r74gMfy1NSUuLmnp4c6Ojqovb0dFIjfzfcCXQfKx6F6NTc3U3V1NRkMBsrIyCCd
+ TkcajcY/3K9ffxfTlQ92eGPMxff29or1dUNDA9XV1VFtbS0ojNlsDijQtSCXqqoqMW3z8/MpPT2dtFot
+ qdXqv4frnv/EnZiYEMtiXlfzlG1qahIPMJlMQmVlJQAEAfdWXl5OJSUl4mCK97cJCQmkUqnE4ZUv3M+f
+ P4llMU/agYEBslqtYtLyqA70YAD4sbzheg+mONy4uDhxUOwL9+bmmvr7+2l4eFgskS0Wi1ge87gO9FAA
+ +LHeFO719ZUI1nsYxXtbhAsQOm8Ol4NFuADKgHABJIRwASSEcAEkhHABJIRwASSEcAEkhHABJIRwASSE
+ cAEkhHABJIRwASSEcAEkhHABJIRwASSEcAEkhHABJIRwASSEcAEkhHABJIRwASSEcAEkhHABJIRwASSE
+ cAEkhHABJIRwASSEcAEkhHABJIRwASSEcAEkhHABJIRwASSEcAEkhHABJPTGcH9DuAAK8uZwu7u7ES6A
+ Qnwfbnx8/Otwr64uqauriwYHB0XAzc3NCBcghDjc4uJiysnJodTUVBFubGwsuVyuf8K9vPyVrFYr9fX1
+ UWdnJzU1NZHZbEa4ACFSVlZGRUVFlJ2dTXq9njQazetwz85+ERO2tbVVLJPr6+uppqaGTCYTVVRUAECQ
+ 8KRlpaWlVFBQQJmZmZSUlEQqlYpiYmL8w/3w4YQKCwvFjVy60WgUN/IaGwCCi5fIBoNBLJN5f6vVasW0
+ jYqK8g/348czUTZvhPPy8gAgRLhBlpWVRenp6WLaqtVqio6OpsjISP9w7++/iAtSUlLERpgrZ3wjAAQP
+ d8cN8r42MTFRRMtLZI42IiLCP1zGp8m8AfbiUywACD7uj4PlP/94Jy1Hy2dQ3l594fLU5YnLF77EtQNA
+ 8HB3vJ9l3mh1Op1o9FW43ngtFou4EABCLzw8XPy/ipfRMr9wGV/APB4Pud1u2tzcpJWVFXI6nYLD4VCc
+ paUln0Cf/1fLy8uK/r7/N6W/20A//9mNj4+TzWYju93+Klr2KlwAULow+gsaTfOFfjD8VAAAAABJRU5E
+ rkJggg==
+
+
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
diff --git a/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.Designer.cs b/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.Designer.cs
index 61b666f..57b297b 100644
--- a/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.Designer.cs
+++ b/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.Designer.cs
@@ -30,6 +30,10 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenterInforSystem));
this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.labelTitleDllAes128 = new SmartX.SmartLabel();
+ this.labelTitleDllUserMgr = new SmartX.SmartLabel();
+ this.labelAes128Ver = new SmartX.SmartLabel();
+ this.labelUserMgrVer = new SmartX.SmartLabel();
this.buttonNext = new SmartX.SmartButton();
this.smartLabel1 = new SmartX.SmartLabel();
this.smartLabel3 = new SmartX.SmartLabel();
@@ -55,6 +59,10 @@
this.smartGroupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(46)))), ((int)(((byte)(46)))));
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.labelTitleDllAes128);
+ this.smartGroupBox1.Controls.Add(this.labelTitleDllUserMgr);
+ this.smartGroupBox1.Controls.Add(this.labelAes128Ver);
+ this.smartGroupBox1.Controls.Add(this.labelUserMgrVer);
this.smartGroupBox1.Controls.Add(this.buttonNext);
this.smartGroupBox1.Controls.Add(this.smartLabel1);
this.smartGroupBox1.Controls.Add(this.smartLabel3);
@@ -85,6 +93,94 @@
this.smartGroupBox1.TabIndex = 176;
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
+ // labelTitleDllAes128
+ //
+ this.labelTitleDllAes128.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
+ this.labelTitleDllAes128.BackPictureBox = null;
+ this.labelTitleDllAes128.BackPictureBox1 = null;
+ this.labelTitleDllAes128.BackPictureBox2 = null;
+ this.labelTitleDllAes128.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleDllAes128.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleDllAes128.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
+ this.labelTitleDllAes128.ForeColor = System.Drawing.Color.White;
+ this.labelTitleDllAes128.InitVisible = true;
+ this.labelTitleDllAes128.LineSpacing = 0F;
+ this.labelTitleDllAes128.Location = new System.Drawing.Point(385, 327);
+ this.labelTitleDllAes128.Name = "labelTitleDllAes128";
+ this.labelTitleDllAes128.Size = new System.Drawing.Size(150, 33);
+ this.labelTitleDllAes128.TabIndex = 200;
+ this.labelTitleDllAes128.Text = "DllAes128 Ver.";
+ this.labelTitleDllAes128.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.labelTitleDllAes128.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleDllAes128.Visible = false;
+ this.labelTitleDllAes128.Wordwrap = false;
+ //
+ // labelTitleDllUserMgr
+ //
+ this.labelTitleDllUserMgr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
+ this.labelTitleDllUserMgr.BackPictureBox = null;
+ this.labelTitleDllUserMgr.BackPictureBox1 = null;
+ this.labelTitleDllUserMgr.BackPictureBox2 = null;
+ this.labelTitleDllUserMgr.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleDllUserMgr.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleDllUserMgr.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
+ this.labelTitleDllUserMgr.ForeColor = System.Drawing.Color.White;
+ this.labelTitleDllUserMgr.InitVisible = true;
+ this.labelTitleDllUserMgr.LineSpacing = 0F;
+ this.labelTitleDllUserMgr.Location = new System.Drawing.Point(61, 327);
+ this.labelTitleDllUserMgr.Name = "labelTitleDllUserMgr";
+ this.labelTitleDllUserMgr.Size = new System.Drawing.Size(150, 33);
+ this.labelTitleDllUserMgr.TabIndex = 199;
+ this.labelTitleDllUserMgr.Text = "DllUserMgr Ver.";
+ this.labelTitleDllUserMgr.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.labelTitleDllUserMgr.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleDllUserMgr.Visible = false;
+ this.labelTitleDllUserMgr.Wordwrap = false;
+ //
+ // labelAes128Ver
+ //
+ this.labelAes128Ver.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
+ this.labelAes128Ver.BackPictureBox = null;
+ this.labelAes128Ver.BackPictureBox1 = null;
+ this.labelAes128Ver.BackPictureBox2 = null;
+ this.labelAes128Ver.BorderColor = System.Drawing.Color.Black;
+ this.labelAes128Ver.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelAes128Ver.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
+ this.labelAes128Ver.ForeColor = System.Drawing.Color.White;
+ this.labelAes128Ver.InitVisible = true;
+ this.labelAes128Ver.LineSpacing = 0F;
+ this.labelAes128Ver.Location = new System.Drawing.Point(541, 327);
+ this.labelAes128Ver.Name = "labelAes128Ver";
+ this.labelAes128Ver.Size = new System.Drawing.Size(139, 33);
+ this.labelAes128Ver.TabIndex = 198;
+ this.labelAes128Ver.Text = "1.0";
+ this.labelAes128Ver.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.labelAes128Ver.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelAes128Ver.Visible = false;
+ this.labelAes128Ver.Wordwrap = false;
+ //
+ // labelUserMgrVer
+ //
+ this.labelUserMgrVer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
+ this.labelUserMgrVer.BackPictureBox = null;
+ this.labelUserMgrVer.BackPictureBox1 = null;
+ this.labelUserMgrVer.BackPictureBox2 = null;
+ this.labelUserMgrVer.BorderColor = System.Drawing.Color.Black;
+ this.labelUserMgrVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelUserMgrVer.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
+ this.labelUserMgrVer.ForeColor = System.Drawing.Color.White;
+ this.labelUserMgrVer.InitVisible = true;
+ this.labelUserMgrVer.LineSpacing = 0F;
+ this.labelUserMgrVer.Location = new System.Drawing.Point(216, 327);
+ this.labelUserMgrVer.Name = "labelUserMgrVer";
+ this.labelUserMgrVer.Size = new System.Drawing.Size(163, 33);
+ this.labelUserMgrVer.TabIndex = 197;
+ this.labelUserMgrVer.Text = "1.0";
+ this.labelUserMgrVer.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.labelUserMgrVer.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelUserMgrVer.Visible = false;
+ this.labelUserMgrVer.Wordwrap = false;
+ //
// buttonNext
//
this.buttonNext.BackPictureBox = null;
@@ -126,7 +222,7 @@
this.smartLabel1.BackPictureBox2 = null;
this.smartLabel1.BorderColor = System.Drawing.Color.Black;
this.smartLabel1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel1.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel1.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel1.ForeColor = System.Drawing.Color.White;
this.smartLabel1.InitVisible = true;
this.smartLabel1.LineSpacing = 0F;
@@ -147,7 +243,7 @@
this.smartLabel3.BackPictureBox2 = null;
this.smartLabel3.BorderColor = System.Drawing.Color.Black;
this.smartLabel3.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel3.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel3.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel3.ForeColor = System.Drawing.Color.White;
this.smartLabel3.InitVisible = true;
this.smartLabel3.LineSpacing = 0F;
@@ -168,7 +264,7 @@
this.smartLabel4.BackPictureBox2 = null;
this.smartLabel4.BorderColor = System.Drawing.Color.Black;
this.smartLabel4.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel4.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel4.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel4.ForeColor = System.Drawing.Color.White;
this.smartLabel4.InitVisible = true;
this.smartLabel4.LineSpacing = 0F;
@@ -255,7 +351,7 @@
this.labelSerialNo.BackPictureBox2 = null;
this.labelSerialNo.BorderColor = System.Drawing.Color.Black;
this.labelSerialNo.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelSerialNo.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.labelSerialNo.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.labelSerialNo.ForeColor = System.Drawing.Color.White;
this.labelSerialNo.InitVisible = true;
this.labelSerialNo.LineSpacing = 0F;
@@ -263,7 +359,7 @@
this.labelSerialNo.Name = "labelSerialNo";
this.labelSerialNo.Size = new System.Drawing.Size(139, 33);
this.labelSerialNo.TabIndex = 61;
- this.labelSerialNo.Text = "18G0000";
+ this.labelSerialNo.Text = "23G0000";
this.labelSerialNo.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelSerialNo.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelSerialNo.Wordwrap = false;
@@ -278,7 +374,7 @@
this.smartLabel2.BackPictureBox2 = null;
this.smartLabel2.BorderColor = System.Drawing.Color.Black;
this.smartLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel2.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel2.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel2.ForeColor = System.Drawing.Color.White;
this.smartLabel2.InitVisible = true;
this.smartLabel2.LineSpacing = 0F;
@@ -299,7 +395,7 @@
this.smartLabel34.BackPictureBox2 = null;
this.smartLabel34.BorderColor = System.Drawing.Color.Black;
this.smartLabel34.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel34.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel34.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel34.ForeColor = System.Drawing.Color.White;
this.smartLabel34.InitVisible = true;
this.smartLabel34.LineSpacing = 0F;
@@ -320,7 +416,7 @@
this.smartLabel35.BackPictureBox2 = null;
this.smartLabel35.BorderColor = System.Drawing.Color.Black;
this.smartLabel35.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel35.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel35.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel35.ForeColor = System.Drawing.Color.White;
this.smartLabel35.InitVisible = true;
this.smartLabel35.LineSpacing = 0F;
@@ -341,7 +437,7 @@
this.smartLabel36.BackPictureBox2 = null;
this.smartLabel36.BorderColor = System.Drawing.Color.Black;
this.smartLabel36.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.smartLabel36.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.smartLabel36.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.smartLabel36.ForeColor = System.Drawing.Color.White;
this.smartLabel36.InitVisible = true;
this.smartLabel36.LineSpacing = 0F;
@@ -362,7 +458,7 @@
this.labelModel.BackPictureBox2 = null;
this.labelModel.BorderColor = System.Drawing.Color.Black;
this.labelModel.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelModel.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.labelModel.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.labelModel.ForeColor = System.Drawing.Color.White;
this.labelModel.InitVisible = true;
this.labelModel.LineSpacing = 0F;
@@ -383,11 +479,11 @@
this.labelDisplayVer.BackPictureBox2 = null;
this.labelDisplayVer.BorderColor = System.Drawing.Color.Black;
this.labelDisplayVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelDisplayVer.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.labelDisplayVer.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.labelDisplayVer.ForeColor = System.Drawing.Color.White;
this.labelDisplayVer.InitVisible = true;
this.labelDisplayVer.LineSpacing = 0F;
- this.labelDisplayVer.Location = new System.Drawing.Point(542, 289);
+ this.labelDisplayVer.Location = new System.Drawing.Point(542, 288);
this.labelDisplayVer.Name = "labelDisplayVer";
this.labelDisplayVer.Size = new System.Drawing.Size(139, 33);
this.labelDisplayVer.TabIndex = 55;
@@ -404,11 +500,11 @@
this.labelControlVer.BackPictureBox2 = null;
this.labelControlVer.BorderColor = System.Drawing.Color.Black;
this.labelControlVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelControlVer.Font = new System.Drawing.Font("새굴림", 14F, System.Drawing.FontStyle.Bold);
+ this.labelControlVer.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold);
this.labelControlVer.ForeColor = System.Drawing.Color.White;
this.labelControlVer.InitVisible = true;
this.labelControlVer.LineSpacing = 0F;
- this.labelControlVer.Location = new System.Drawing.Point(217, 289);
+ this.labelControlVer.Location = new System.Drawing.Point(217, 288);
this.labelControlVer.Name = "labelControlVer";
this.labelControlVer.Size = new System.Drawing.Size(163, 33);
this.labelControlVer.TabIndex = 54;
@@ -492,5 +588,9 @@
public SmartX.SmartLabel smartLabel4;
public SmartX.SmartLabel smartLabel5;
private SmartX.SmartButton buttonNext;
+ private SmartX.SmartLabel labelTitleDllAes128;
+ private SmartX.SmartLabel labelTitleDllUserMgr;
+ public SmartX.SmartLabel labelAes128Ver;
+ public SmartX.SmartLabel labelUserMgrVer;
}
}
diff --git a/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs b/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs
index 90f4da2..7caf617 100644
--- a/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs
+++ b/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs
@@ -11,6 +11,8 @@ using ITC81DB_0H.DialogForms;
using ITC81DB_0H.Forms;
using ITC81DB_2H_ImageDll;
using ITC81DB_2H.Datastore;
+using ITC81DB_0H.Part11_UserManager;
+using ITC81DB_0H.Part11_Encryption;
namespace ITC81DB_0H.Controls
{
@@ -66,10 +68,25 @@ namespace ITC81DB_0H.Controls
}
private void DefaultSetting()
{
+ this.labelUserMgrVer.Text = "";
+ this.labelAes128Ver.Text = "";
this.labelSerialNo.Text = this.ParentForm.ParentForm.SystemConfig1.SerialNumber;
this.labelDisplayVer.Text = FormMain.DisplayVersion;
}
+ public void UpdatePart11UserManagerVersionDisplay(string ver)
+ {
+ this.labelUserMgrVer.Text = ver;
+ this.labelTitleDllUserMgr.Visible = true;
+ this.labelUserMgrVer.Visible = true;
+ }
+ public void UpdatePart11AesEncryptionVersionDisplay(string ver)
+ {
+ this.labelAes128Ver.Text = ver;
+ this.labelTitleDllAes128.Visible = true;
+ this.labelAes128Ver.Visible = true;
+ }
+
public void UpdateMainBoardVersionDisplay(string version)
{
if (version.Length < 8)
@@ -95,6 +112,11 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SetDisplayMode(Define.E_DisplayMode.Menu);
this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus);
+ if (this.ParentForm.ParentForm.SystemConfig1.IsLogin == true)
+ UserManager.UserManager_GetVersion();
+ if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == true)
+ Encryption.AesEncryption_GetVersion();
+
this.smartKeyboard.Hide();
this.textBoxSerialNo.Text = this.labelSerialNo.Text;
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHelp.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHelp.cs
index 107beb6..d487dfc 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHelp.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHelp.cs
@@ -55,9 +55,9 @@ namespace ITC81DB_0H.Controls
this.buttonLogHistory.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogHistoryDisable));
this.buttonLogHistory.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogHistoryDown));
this.buttonLogHistory.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogHistoryUp));
- this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDisable));
- this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDown));
- this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersUp));
+ this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogOthersDisable));
+ this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogOthersDown));
+ this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogOthersUp));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
{
@@ -67,9 +67,9 @@ namespace ITC81DB_0H.Controls
this.buttonLogHistory.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnHelpLogHistoryDisable));
this.buttonLogHistory.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnHelpLogHistoryDown));
this.buttonLogHistory.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnHelpLogHistoryUp));
- this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDisable));
- this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDown));
- this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersUp));
+ this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnHelpLogOthersDisable));
+ this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnHelpLogOthersDown));
+ this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnHelpLogOthersUp));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Czech)
{
@@ -82,9 +82,9 @@ namespace ITC81DB_0H.Controls
this.buttonLogHistory.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusHelpLogHistoryDisable));
this.buttonLogHistory.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusHelpLogHistoryDown));
this.buttonLogHistory.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusHelpLogHistoryUp));
- this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDisable));
- this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDown));
- this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersUp));
+ this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusHelpLogOthersDisable));
+ this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusHelpLogOthersDown));
+ this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusHelpLogOthersUp));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
{
@@ -94,9 +94,9 @@ namespace ITC81DB_0H.Controls
this.buttonLogHistory.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerHelpLogHistoryDisable));
this.buttonLogHistory.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerHelpLogHistoryDown));
this.buttonLogHistory.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerHelpLogHistoryUp));
- this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDisable));
- this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDown));
- this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersUp));
+ this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerHelpLogOthersDisable));
+ this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerHelpLogOthersDown));
+ this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerHelpLogOthersUp));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
{
@@ -106,9 +106,9 @@ namespace ITC81DB_0H.Controls
this.buttonLogHistory.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogHistoryDisable));
this.buttonLogHistory.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogHistoryDown));
this.buttonLogHistory.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogHistoryUp));
- this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDisable));
- this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersDown));
- this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.korHelpLogOthersUp));
+ this.buttonLogOthers.DisableImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogOthersDisable));
+ this.buttonLogOthers.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogOthersDown));
+ this.buttonLogOthers.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engHelpLogOthersUp));
}
else
{
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.cs
index 8d9ea77..ed0d479 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.cs
@@ -38,6 +38,8 @@ namespace ITC81DB_0H.Controls
private List ListLoginID;
private List ListEvent;
private List ListDetail;
+ private List ListBefore;
+ private List ListAfter;
#endregion
#region Constructor
@@ -103,7 +105,7 @@ namespace ITC81DB_0H.Controls
{
this.labelTitleFileList.Text = "파일 목록";
this.labelTitleFileName.Text = "파일 이름";
- this.labelTitleFind.Text = "Search line";
+ this.labelTitleFind.Text = "데이터 검색(Line)";
}
}
private void DefaultSetting()
@@ -119,6 +121,8 @@ namespace ITC81DB_0H.Controls
this.ListLoginID = new List();
this.ListEvent = new List();
this.ListDetail = new List();
+ this.ListBefore = new List();
+ this.ListAfter = new List();
this.CollectionListBox = new Collection();
this.CollectionListBox.Clear();
@@ -126,6 +130,8 @@ namespace ITC81DB_0H.Controls
this.CollectionListBox.Add(this.listBoxLoginID);
this.CollectionListBox.Add(this.listBoxEvent);
this.CollectionListBox.Add(this.listBoxDetail);
+ this.CollectionListBox.Add(this.listBoxBefore);
+ this.CollectionListBox.Add(this.listBoxAfter);
}
private void UpdateInitialStatus()
{
@@ -263,6 +269,17 @@ namespace ITC81DB_0H.Controls
}
}
+ private void SearchLineEnabled(bool bValue)
+ {
+ if (bValue == false)
+ this.labelFind.BackColor = Color.Gray;
+ else
+ this.labelFind.BackColor = Color.White;
+
+ this.labelFind.Enabled = bValue;
+ this.buttonFind.Enabled = bValue;
+ }
+
public void ClearData()
{
this.CollectionData.Clear();
@@ -271,6 +288,8 @@ namespace ITC81DB_0H.Controls
this.ListLoginID.Clear();
this.ListEvent.Clear();
this.ListDetail.Clear();
+ this.ListBefore.Clear();
+ this.ListAfter.Clear();
}
public void ClearListBox()
{
@@ -357,6 +376,8 @@ namespace ITC81DB_0H.Controls
this.ListLoginID.Add(this.CollectionData[i][2]);
this.ListEvent.Add(this.CollectionData[i][3]);
this.ListDetail.Add(this.CollectionData[i][4]);
+ this.ListBefore.Add(this.CollectionData[i][5]);
+ this.ListAfter.Add(this.CollectionData[i][6]);
}
}
private void UpdateListBoxDataDisplay()
@@ -367,6 +388,8 @@ namespace ITC81DB_0H.Controls
this.listBoxLoginID.AddItem(this.ListLoginID[i]);
this.listBoxEvent.AddItem(this.ListEvent[i]);
this.listBoxDetail.AddItem(this.ListDetail[i]);
+ this.listBoxBefore.AddItem(this.ListBefore[i]);
+ this.listBoxAfter.AddItem(this.ListAfter[i]);
}
}
@@ -387,8 +410,8 @@ namespace ITC81DB_0H.Controls
bool bValue = this.smartFile1.ReadStringAllBuffer();
if (bValue == false)
{
- this.smartFile1.Close();
- this.IsFileOpen = false;
+ this.FileClose();
+
return;
}
@@ -409,14 +432,18 @@ namespace ITC81DB_0H.Controls
this.TotalCount = (int)lineNum - 1; // 맨 첫 줄 제외
this.CurrentCount = this.TotalCount;
- this.labelFind.Text = this.CurrentCount.ToString();
+ if (this.TotalCount < ListBoxLineCount)
+ this.SearchLineEnabled(false);
+ else
+ this.SearchLineEnabled(true);
+ this.labelFind.Text = this.CurrentCount.ToString();
+ this.UpdateData(startIndex, endIndex);
+
// File Name
string[] data = fullFilePath.Split('\\');
this.labelFileName.Text = data[data.Length - 1];
- this.UpdateData(startIndex, endIndex);
-
this.ParentForm.SplashFinish();
this.Enabled = true;
@@ -426,8 +453,7 @@ namespace ITC81DB_0H.Controls
DialogFormMessage myMsg = new DialogFormMessage(16, this.ParentForm.ParentForm.SystemConfig1.Language);
myMsg.ShowDialog();
this.ParentForm.SplashFinish();
- this.smartFile1.Close();
- this.IsFileOpen = false;
+ this.FileClose();
this.Enabled = true;
}
}
@@ -529,6 +555,50 @@ namespace ITC81DB_0H.Controls
else
{
this.labelFind.Text = myKeyPad.StringValue;
+
+ if (this.labelFind.Text == "" || this.labelFind.Text == null || this.listBoxTime.ItemCount == 0)
+ return;
+
+ int startIndex = 0, endIndex = 0;
+ int index = int.Parse(this.labelFind.Text);
+
+ try
+ {
+ this.ClearData();
+ this.ClearListBox();
+
+ if (this.TotalCount > ListBoxLineCount)
+ {
+ if (index - ListBoxLineCount < 0)
+ {
+ startIndex = 0 + 1;
+ endIndex = ListBoxLineCount + 1;
+
+ this.CurrentCount = ListBoxLineCount;
+ }
+ else
+ {
+ startIndex = index - ListBoxLineCount;
+ endIndex = index;
+
+ this.CurrentCount = index;
+ }
+ }
+ else
+ {
+ startIndex = 0 + 1;
+ endIndex = this.TotalCount + 1;
+
+ this.CurrentCount = this.TotalCount;
+ }
+
+ this.UpdateData(startIndex, endIndex);
+ }
+ catch
+ {
+ DialogFormMessage myMsg = new DialogFormMessage(16, this.ParentForm.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
}
}
}
@@ -582,7 +652,6 @@ namespace ITC81DB_0H.Controls
private void buttonBackup_Click(object sender, EventArgs e)
{
this.FileClose();
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.DataBackup, "History");
this.ParentForm.Backup(Define.E_DataType.History, this.treeView);
}
@@ -594,6 +663,13 @@ namespace ITC81DB_0H.Controls
{
this.ListBoxScrollDown(ListBoxLineCount);
}
+
+ private void listBox_Click(object sender, EventArgs e)
+ {
+ SmartX.SmartListBox listBox = sender as SmartX.SmartListBox;
+
+ listBox.SelectItemIndex = -1;
+ }
#endregion
}
}
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.designer.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.designer.cs
index 8ed0d31..02c36ac 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.designer.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogHistory.designer.cs
@@ -30,6 +30,10 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenterLogHistory));
this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.listBoxAfter = new SmartX.SmartListBox();
+ this.smartLabel6 = new SmartX.SmartLabel();
+ this.listBoxBefore = new SmartX.SmartListBox();
+ this.smartLabel5 = new SmartX.SmartLabel();
this.listBoxLoginID = new SmartX.SmartListBox();
this.smartLabel1 = new SmartX.SmartLabel();
this.labelTitleFind = new SmartX.SmartLabel();
@@ -62,6 +66,10 @@
this.smartGroupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(46)))), ((int)(((byte)(46)))));
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.listBoxAfter);
+ this.smartGroupBox1.Controls.Add(this.smartLabel6);
+ this.smartGroupBox1.Controls.Add(this.listBoxBefore);
+ this.smartGroupBox1.Controls.Add(this.smartLabel5);
this.smartGroupBox1.Controls.Add(this.listBoxLoginID);
this.smartGroupBox1.Controls.Add(this.smartLabel1);
this.smartGroupBox1.Controls.Add(this.labelTitleFind);
@@ -98,6 +106,118 @@
this.smartGroupBox1.TabIndex = 173;
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
+ // listBoxAfter
+ //
+ this.listBoxAfter.BackColor = System.Drawing.Color.White;
+ this.listBoxAfter.BackPictureBox = null;
+ this.listBoxAfter.BackPictureBox1 = null;
+ this.listBoxAfter.BackPictureBox2 = null;
+ this.listBoxAfter.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
+ this.listBoxAfter.ColumnDelimiter = '\0';
+ this.listBoxAfter.ColumnOffsets = null;
+ this.listBoxAfter.Enabled = false;
+ this.listBoxAfter.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular);
+ this.listBoxAfter.FontColor = System.Drawing.Color.Black;
+ this.listBoxAfter.InitVisible = true;
+ this.listBoxAfter.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
+ this.listBoxAfter.ItemOffsetGap = 8;
+ this.listBoxAfter.ItemOffsetX = 5;
+ this.listBoxAfter.ItemOffsetY = 0;
+ this.listBoxAfter.Location = new System.Drawing.Point(596, 141);
+ this.listBoxAfter.MouseMoveEventSpace = 3;
+ this.listBoxAfter.MouseMoveSpace = 10;
+ this.listBoxAfter.Name = "listBoxAfter";
+ this.listBoxAfter.OutLineColor = System.Drawing.SystemColors.ControlText;
+ this.listBoxAfter.SelectColor = System.Drawing.Color.Blue;
+ this.listBoxAfter.SelectFilled = true;
+ this.listBoxAfter.SelectFontColor = System.Drawing.Color.DarkBlue;
+ this.listBoxAfter.SelectItemIndex = -1;
+ this.listBoxAfter.SeparationlineColor1 = System.Drawing.Color.Gray;
+ this.listBoxAfter.SeparationlineColor2 = System.Drawing.Color.LightGray;
+ this.listBoxAfter.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
+ this.listBoxAfter.SeparationlineVisibleBottom = true;
+ this.listBoxAfter.SeparationlineVisibleTop = true;
+ this.listBoxAfter.Size = new System.Drawing.Size(50, 318);
+ this.listBoxAfter.TabIndex = 257;
+ this.listBoxAfter.Text = "smartListBox2";
+ //
+ // smartLabel6
+ //
+ this.smartLabel6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.smartLabel6.BackPictureBox = null;
+ this.smartLabel6.BackPictureBox1 = null;
+ this.smartLabel6.BackPictureBox2 = null;
+ this.smartLabel6.BorderColor = System.Drawing.Color.Black;
+ this.smartLabel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.smartLabel6.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.smartLabel6.ForeColor = System.Drawing.Color.White;
+ this.smartLabel6.InitVisible = true;
+ this.smartLabel6.LineSpacing = 0F;
+ this.smartLabel6.Location = new System.Drawing.Point(596, 118);
+ this.smartLabel6.Name = "smartLabel6";
+ this.smartLabel6.Size = new System.Drawing.Size(50, 23);
+ this.smartLabel6.TabIndex = 256;
+ this.smartLabel6.Text = "After";
+ this.smartLabel6.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.smartLabel6.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.smartLabel6.Wordwrap = false;
+ //
+ // listBoxBefore
+ //
+ this.listBoxBefore.BackColor = System.Drawing.Color.White;
+ this.listBoxBefore.BackPictureBox = null;
+ this.listBoxBefore.BackPictureBox1 = null;
+ this.listBoxBefore.BackPictureBox2 = null;
+ this.listBoxBefore.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
+ this.listBoxBefore.ColumnDelimiter = '\0';
+ this.listBoxBefore.ColumnOffsets = null;
+ this.listBoxBefore.Enabled = false;
+ this.listBoxBefore.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular);
+ this.listBoxBefore.FontColor = System.Drawing.Color.Black;
+ this.listBoxBefore.InitVisible = true;
+ this.listBoxBefore.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
+ this.listBoxBefore.ItemOffsetGap = 8;
+ this.listBoxBefore.ItemOffsetX = 5;
+ this.listBoxBefore.ItemOffsetY = 0;
+ this.listBoxBefore.Location = new System.Drawing.Point(545, 141);
+ this.listBoxBefore.MouseMoveEventSpace = 3;
+ this.listBoxBefore.MouseMoveSpace = 10;
+ this.listBoxBefore.Name = "listBoxBefore";
+ this.listBoxBefore.OutLineColor = System.Drawing.SystemColors.ControlText;
+ this.listBoxBefore.SelectColor = System.Drawing.Color.Blue;
+ this.listBoxBefore.SelectFilled = true;
+ this.listBoxBefore.SelectFontColor = System.Drawing.Color.DarkBlue;
+ this.listBoxBefore.SelectItemIndex = -1;
+ this.listBoxBefore.SeparationlineColor1 = System.Drawing.Color.Gray;
+ this.listBoxBefore.SeparationlineColor2 = System.Drawing.Color.LightGray;
+ this.listBoxBefore.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
+ this.listBoxBefore.SeparationlineVisibleBottom = true;
+ this.listBoxBefore.SeparationlineVisibleTop = true;
+ this.listBoxBefore.Size = new System.Drawing.Size(50, 318);
+ this.listBoxBefore.TabIndex = 255;
+ this.listBoxBefore.Text = "smartListBox1";
+ //
+ // smartLabel5
+ //
+ this.smartLabel5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.smartLabel5.BackPictureBox = null;
+ this.smartLabel5.BackPictureBox1 = null;
+ this.smartLabel5.BackPictureBox2 = null;
+ this.smartLabel5.BorderColor = System.Drawing.Color.Black;
+ this.smartLabel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.smartLabel5.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.smartLabel5.ForeColor = System.Drawing.Color.White;
+ this.smartLabel5.InitVisible = true;
+ this.smartLabel5.LineSpacing = 0F;
+ this.smartLabel5.Location = new System.Drawing.Point(545, 118);
+ this.smartLabel5.Name = "smartLabel5";
+ this.smartLabel5.Size = new System.Drawing.Size(50, 23);
+ this.smartLabel5.TabIndex = 254;
+ this.smartLabel5.Text = "Before";
+ this.smartLabel5.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.smartLabel5.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.smartLabel5.Wordwrap = false;
+ //
// listBoxLoginID
//
this.listBoxLoginID.BackColor = System.Drawing.Color.White;
@@ -115,7 +235,7 @@
this.listBoxLoginID.ItemOffsetGap = 8;
this.listBoxLoginID.ItemOffsetX = 2;
this.listBoxLoginID.ItemOffsetY = 0;
- this.listBoxLoginID.Location = new System.Drawing.Point(301, 141);
+ this.listBoxLoginID.Location = new System.Drawing.Point(267, 141);
this.listBoxLoginID.MouseMoveEventSpace = 3;
this.listBoxLoginID.MouseMoveSpace = 10;
this.listBoxLoginID.Name = "listBoxLoginID";
@@ -129,9 +249,10 @@
this.listBoxLoginID.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxLoginID.SeparationlineVisibleBottom = true;
this.listBoxLoginID.SeparationlineVisibleTop = true;
- this.listBoxLoginID.Size = new System.Drawing.Size(68, 318);
+ this.listBoxLoginID.Size = new System.Drawing.Size(60, 318);
this.listBoxLoginID.TabIndex = 253;
this.listBoxLoginID.Text = "smartListBox1";
+ this.listBoxLoginID.Click += new System.EventHandler(this.listBox_Click);
//
// smartLabel1
//
@@ -145,11 +266,11 @@
this.smartLabel1.ForeColor = System.Drawing.Color.White;
this.smartLabel1.InitVisible = true;
this.smartLabel1.LineSpacing = 0F;
- this.smartLabel1.Location = new System.Drawing.Point(301, 118);
+ this.smartLabel1.Location = new System.Drawing.Point(267, 118);
this.smartLabel1.Name = "smartLabel1";
- this.smartLabel1.Size = new System.Drawing.Size(68, 23);
+ this.smartLabel1.Size = new System.Drawing.Size(60, 23);
this.smartLabel1.TabIndex = 252;
- this.smartLabel1.Text = "Login ID";
+ this.smartLabel1.Text = "ID";
this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel1.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel1.Wordwrap = false;
@@ -165,9 +286,9 @@
this.labelTitleFind.ForeColor = System.Drawing.Color.White;
this.labelTitleFind.InitVisible = true;
this.labelTitleFind.LineSpacing = 0F;
- this.labelTitleFind.Location = new System.Drawing.Point(240, 78);
+ this.labelTitleFind.Location = new System.Drawing.Point(214, 78);
this.labelTitleFind.Name = "labelTitleFind";
- this.labelTitleFind.Size = new System.Drawing.Size(173, 34);
+ this.labelTitleFind.Size = new System.Drawing.Size(204, 34);
this.labelTitleFind.TabIndex = 251;
this.labelTitleFind.Text = "데이터 찾기(Line)";
this.labelTitleFind.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -186,7 +307,7 @@
this.labelFind.ForeColor = System.Drawing.Color.Black;
this.labelFind.InitVisible = true;
this.labelFind.LineSpacing = 0F;
- this.labelFind.Location = new System.Drawing.Point(419, 77);
+ this.labelFind.Location = new System.Drawing.Point(424, 77);
this.labelFind.Name = "labelFind";
this.labelFind.Size = new System.Drawing.Size(175, 35);
this.labelFind.TabIndex = 250;
@@ -207,7 +328,7 @@
this.buttonFind.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonFind.DownImage")));
this.buttonFind.GroupID = 0;
this.buttonFind.InitVisible = true;
- this.buttonFind.Location = new System.Drawing.Point(600, 77);
+ this.buttonFind.Location = new System.Drawing.Point(605, 77);
this.buttonFind.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonFind.Name = "buttonFind";
this.buttonFind.NestedClickEventPrevent = false;
@@ -224,6 +345,7 @@
this.buttonFind.TextLocation = new System.Drawing.Point(0, 0);
this.buttonFind.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonFind.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonFind.UpImage")));
+ this.buttonFind.Visible = false;
this.buttonFind.Click += new System.EventHandler(this.buttonFind_Click);
//
// buttonRead
@@ -238,7 +360,7 @@
this.buttonRead.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonRead.DownImage")));
this.buttonRead.GroupID = 0;
this.buttonRead.InitVisible = true;
- this.buttonRead.Location = new System.Drawing.Point(600, 37);
+ this.buttonRead.Location = new System.Drawing.Point(605, 37);
this.buttonRead.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonRead.Name = "buttonRead";
this.buttonRead.NestedClickEventPrevent = false;
@@ -274,7 +396,7 @@
this.listBoxDetail.ItemOffsetGap = 8;
this.listBoxDetail.ItemOffsetX = 2;
this.listBoxDetail.ItemOffsetY = 0;
- this.listBoxDetail.Location = new System.Drawing.Point(489, 141);
+ this.listBoxDetail.Location = new System.Drawing.Point(419, 141);
this.listBoxDetail.MouseMoveEventSpace = 3;
this.listBoxDetail.MouseMoveSpace = 10;
this.listBoxDetail.Name = "listBoxDetail";
@@ -288,9 +410,10 @@
this.listBoxDetail.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxDetail.SeparationlineVisibleBottom = true;
this.listBoxDetail.SeparationlineVisibleTop = true;
- this.listBoxDetail.Size = new System.Drawing.Size(152, 318);
+ this.listBoxDetail.Size = new System.Drawing.Size(125, 318);
this.listBoxDetail.TabIndex = 243;
this.listBoxDetail.Text = "smartListBox2";
+ this.listBoxDetail.Click += new System.EventHandler(this.listBox_Click);
//
// listBoxEvent
//
@@ -309,7 +432,7 @@
this.listBoxEvent.ItemOffsetGap = 8;
this.listBoxEvent.ItemOffsetX = 2;
this.listBoxEvent.ItemOffsetY = 0;
- this.listBoxEvent.Location = new System.Drawing.Point(370, 141);
+ this.listBoxEvent.Location = new System.Drawing.Point(328, 141);
this.listBoxEvent.MouseMoveEventSpace = 3;
this.listBoxEvent.MouseMoveSpace = 10;
this.listBoxEvent.Name = "listBoxEvent";
@@ -323,9 +446,10 @@
this.listBoxEvent.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxEvent.SeparationlineVisibleBottom = true;
this.listBoxEvent.SeparationlineVisibleTop = true;
- this.listBoxEvent.Size = new System.Drawing.Size(118, 318);
+ this.listBoxEvent.Size = new System.Drawing.Size(90, 318);
this.listBoxEvent.TabIndex = 242;
this.listBoxEvent.Text = "smartListBox1";
+ this.listBoxEvent.Click += new System.EventHandler(this.listBox_Click);
//
// listBoxTime
//
@@ -344,7 +468,7 @@
this.listBoxTime.ItemOffsetGap = 8;
this.listBoxTime.ItemOffsetX = 2;
this.listBoxTime.ItemOffsetY = 0;
- this.listBoxTime.Location = new System.Drawing.Point(240, 141);
+ this.listBoxTime.Location = new System.Drawing.Point(214, 141);
this.listBoxTime.MouseMoveEventSpace = 3;
this.listBoxTime.MouseMoveSpace = 10;
this.listBoxTime.Name = "listBoxTime";
@@ -358,16 +482,17 @@
this.listBoxTime.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxTime.SeparationlineVisibleBottom = true;
this.listBoxTime.SeparationlineVisibleTop = true;
- this.listBoxTime.Size = new System.Drawing.Size(60, 318);
+ this.listBoxTime.Size = new System.Drawing.Size(52, 318);
this.listBoxTime.TabIndex = 241;
this.listBoxTime.Text = "smartListBox1";
+ this.listBoxTime.Click += new System.EventHandler(this.listBox_Click);
//
// treeView
//
this.treeView.CheckBoxes = true;
this.treeView.Location = new System.Drawing.Point(8, 37);
this.treeView.Name = "treeView";
- this.treeView.Size = new System.Drawing.Size(226, 422);
+ this.treeView.Size = new System.Drawing.Size(200, 422);
this.treeView.TabIndex = 240;
this.treeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView_AfterSelect);
//
@@ -382,7 +507,7 @@
this.labelTotalIndex.ForeColor = System.Drawing.Color.White;
this.labelTotalIndex.InitVisible = true;
this.labelTotalIndex.LineSpacing = 0F;
- this.labelTotalIndex.Location = new System.Drawing.Point(646, 273);
+ this.labelTotalIndex.Location = new System.Drawing.Point(652, 273);
this.labelTotalIndex.Name = "labelTotalIndex";
this.labelTotalIndex.Size = new System.Drawing.Size(50, 21);
this.labelTotalIndex.TabIndex = 239;
@@ -402,7 +527,7 @@
this.labelCurrentIndex.ForeColor = System.Drawing.Color.White;
this.labelCurrentIndex.InitVisible = true;
this.labelCurrentIndex.LineSpacing = 0F;
- this.labelCurrentIndex.Location = new System.Drawing.Point(646, 238);
+ this.labelCurrentIndex.Location = new System.Drawing.Point(652, 238);
this.labelCurrentIndex.Name = "labelCurrentIndex";
this.labelCurrentIndex.Size = new System.Drawing.Size(50, 21);
this.labelCurrentIndex.TabIndex = 238;
@@ -420,7 +545,7 @@
this.smartSeparatorLine1.Line2Visible = true;
this.smartSeparatorLine1.Line2Width = 1F;
this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
- this.smartSeparatorLine1.Location = new System.Drawing.Point(646, 265);
+ this.smartSeparatorLine1.Location = new System.Drawing.Point(652, 265);
this.smartSeparatorLine1.Name = "smartSeparatorLine1";
this.smartSeparatorLine1.Size = new System.Drawing.Size(50, 2);
this.smartSeparatorLine1.TabIndex = 237;
@@ -438,9 +563,9 @@
this.smartLabel4.ForeColor = System.Drawing.Color.White;
this.smartLabel4.InitVisible = true;
this.smartLabel4.LineSpacing = 0F;
- this.smartLabel4.Location = new System.Drawing.Point(489, 118);
+ this.smartLabel4.Location = new System.Drawing.Point(419, 118);
this.smartLabel4.Name = "smartLabel4";
- this.smartLabel4.Size = new System.Drawing.Size(152, 23);
+ this.smartLabel4.Size = new System.Drawing.Size(125, 23);
this.smartLabel4.TabIndex = 231;
this.smartLabel4.Text = "Detail";
this.smartLabel4.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -459,9 +584,9 @@
this.smartLabel3.ForeColor = System.Drawing.Color.White;
this.smartLabel3.InitVisible = true;
this.smartLabel3.LineSpacing = 0F;
- this.smartLabel3.Location = new System.Drawing.Point(370, 118);
+ this.smartLabel3.Location = new System.Drawing.Point(328, 118);
this.smartLabel3.Name = "smartLabel3";
- this.smartLabel3.Size = new System.Drawing.Size(118, 23);
+ this.smartLabel3.Size = new System.Drawing.Size(90, 23);
this.smartLabel3.TabIndex = 228;
this.smartLabel3.Text = "Event";
this.smartLabel3.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -480,9 +605,9 @@
this.smartLabel2.ForeColor = System.Drawing.Color.White;
this.smartLabel2.InitVisible = true;
this.smartLabel2.LineSpacing = 0F;
- this.smartLabel2.Location = new System.Drawing.Point(240, 118);
+ this.smartLabel2.Location = new System.Drawing.Point(214, 118);
this.smartLabel2.Name = "smartLabel2";
- this.smartLabel2.Size = new System.Drawing.Size(60, 23);
+ this.smartLabel2.Size = new System.Drawing.Size(52, 23);
this.smartLabel2.TabIndex = 227;
this.smartLabel2.Text = "Time";
this.smartLabel2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -502,7 +627,7 @@
this.buttonDown.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Regular);
this.buttonDown.GroupID = 0;
this.buttonDown.InitVisible = true;
- this.buttonDown.Location = new System.Drawing.Point(646, 310);
+ this.buttonDown.Location = new System.Drawing.Point(652, 310);
this.buttonDown.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonDown.Name = "buttonDown";
this.buttonDown.NestedClickEventPrevent = false;
@@ -535,7 +660,7 @@
this.buttonUp.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Regular);
this.buttonUp.GroupID = 0;
this.buttonUp.InitVisible = true;
- this.buttonUp.Location = new System.Drawing.Point(646, 73);
+ this.buttonUp.Location = new System.Drawing.Point(652, 73);
this.buttonUp.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonUp.Name = "buttonUp";
this.buttonUp.NestedClickEventPrevent = false;
@@ -567,9 +692,9 @@
this.labelFileName.ForeColor = System.Drawing.Color.White;
this.labelFileName.InitVisible = true;
this.labelFileName.LineSpacing = 0F;
- this.labelFileName.Location = new System.Drawing.Point(240, 37);
+ this.labelFileName.Location = new System.Drawing.Point(214, 37);
this.labelFileName.Name = "labelFileName";
- this.labelFileName.Size = new System.Drawing.Size(354, 35);
+ this.labelFileName.Size = new System.Drawing.Size(385, 35);
this.labelFileName.TabIndex = 224;
this.labelFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelFileName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
@@ -586,9 +711,9 @@
this.labelTitleFileName.ForeColor = System.Drawing.Color.White;
this.labelTitleFileName.InitVisible = true;
this.labelTitleFileName.LineSpacing = 0F;
- this.labelTitleFileName.Location = new System.Drawing.Point(240, 12);
+ this.labelTitleFileName.Location = new System.Drawing.Point(214, 12);
this.labelTitleFileName.Name = "labelTitleFileName";
- this.labelTitleFileName.Size = new System.Drawing.Size(396, 21);
+ this.labelTitleFileName.Size = new System.Drawing.Size(432, 21);
this.labelTitleFileName.TabIndex = 223;
this.labelTitleFileName.Text = "파일 이름";
this.labelTitleFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -628,7 +753,7 @@
this.labelCount.LineSpacing = 0F;
this.labelCount.Location = new System.Drawing.Point(148, 12);
this.labelCount.Name = "labelCount";
- this.labelCount.Size = new System.Drawing.Size(86, 21);
+ this.labelCount.Size = new System.Drawing.Size(60, 21);
this.labelCount.TabIndex = 219;
this.labelCount.Text = "0";
this.labelCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -648,7 +773,7 @@
this.buttonBackup.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Bold);
this.buttonBackup.GroupID = 0;
this.buttonBackup.InitVisible = true;
- this.buttonBackup.Location = new System.Drawing.Point(646, 12);
+ this.buttonBackup.Location = new System.Drawing.Point(652, 12);
this.buttonBackup.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonBackup.Name = "buttonBackup";
this.buttonBackup.NestedClickEventPrevent = false;
@@ -711,6 +836,10 @@
private SmartX.SmartListBox listBoxLoginID;
private SmartX.SmartLabel smartLabel1;
private System.Windows.Forms.TreeView treeView;
+ private SmartX.SmartListBox listBoxAfter;
+ private SmartX.SmartLabel smartLabel6;
+ private SmartX.SmartListBox listBoxBefore;
+ private SmartX.SmartLabel smartLabel5;
}
}
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.cs
index 95c3ea3..e30d713 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.cs
@@ -33,8 +33,10 @@ namespace ITC81DB_0H.Controls
private List ListInspectionFile;
private Collection CollectionListBox;
private Collection CollectionData; // 파일에서 읽은 데이터
+ private Collection CollectionStringData;
private List ListTime;
+ private List ListNo;
private List ListGrade;
private List ListUnder;
private List ListPass;
@@ -105,7 +107,7 @@ namespace ITC81DB_0H.Controls
{
this.labelTitleFileList.Text = "파일 목록";
this.labelTitleFileName.Text = "파일 이름";
- this.labelTitleFind.Text = "Search line";
+ this.labelTitleFind.Text = "데이터 검색(Line)";
}
}
private void DefaultSetting()
@@ -118,15 +120,18 @@ namespace ITC81DB_0H.Controls
this.CollectionData = new Collection();
this.ListTime = new List();
+ this.ListNo = new List();
this.ListGrade = new List();
this.ListUnder = new List();
this.ListPass = new List();
this.ListOver = new List();
this.ListWeight = new List();
+ this.CollectionStringData = new Collection();
this.CollectionListBox = new Collection();
this.CollectionListBox.Clear();
this.CollectionListBox.Add(this.listBoxTime);
+ this.CollectionListBox.Add(this.listBoxNo);
this.CollectionListBox.Add(this.listBoxGrade);
this.CollectionListBox.Add(this.listBoxUnder);
this.CollectionListBox.Add(this.listBoxPass);
@@ -223,7 +228,7 @@ namespace ITC81DB_0H.Controls
this.labelCount.Text = fileCount.ToString();
}
-
+
///
/// 모든 자식 노드를 가져온다.
///
@@ -287,11 +292,23 @@ namespace ITC81DB_0H.Controls
}
}
+ private void SearchLineEnabled(bool bValue)
+ {
+ if (bValue == false)
+ this.labelFind.BackColor = Color.Gray;
+ else
+ this.labelFind.BackColor = Color.White;
+
+ this.labelFind.Enabled = bValue;
+ this.buttonFind.Enabled = bValue;
+ }
+
public void ClearData()
{
this.CollectionData.Clear();
this.ListTime.Clear();
+ this.ListNo.Clear();
this.ListGrade.Clear();
this.ListUnder.Clear();
this.ListPass.Clear();
@@ -369,12 +386,18 @@ namespace ITC81DB_0H.Controls
this.UpdateListBoxDataDisplay();
this.UpdateListBoxCount();
}
+ private void UpdateListBoxCount()
+ {
+ this.labelTotalIndex.Text = this.TotalCount.ToString();
+ this.labelCurrentIndex.Text = this.CurrentCount.ToString();
+ }
private void UpdateListData()
{
// List Item Add
for (int i = 0; i < this.CollectionData.Count; i++)
{
this.ListTime.Add(this.CollectionData[i][1]);
+ this.ListNo.Add(this.CollectionData[i][2]);
this.ListGrade.Add(this.CollectionData[i][10]);
this.ListUnder.Add(this.CollectionData[i][5]);
this.ListPass.Add(this.CollectionData[i][6]);
@@ -382,16 +405,12 @@ namespace ITC81DB_0H.Controls
this.ListWeight.Add(this.CollectionData[i][9]);
}
}
- private void UpdateListBoxCount()
- {
- this.labelTotalIndex.Text = this.TotalCount.ToString();
- this.labelCurrentIndex.Text = this.CurrentCount.ToString();
- }
private void UpdateListBoxDataDisplay()
{
for (int i = 0; i < this.ListTime.Count; i++)
{
this.listBoxTime.AddItem(this.ListTime[i]);
+ this.listBoxNo.AddItem(this.ListNo[i]);
this.listBoxGrade.AddItem(this.ListGrade[i]);
this.listBoxUnder.AddItem(this.ListUnder[i]);
this.listBoxPass.AddItem(this.ListPass[i]);
@@ -441,6 +460,11 @@ namespace ITC81DB_0H.Controls
this.TotalCount = (int)lineNum - 1; // 맨 첫 줄 제외
this.CurrentCount = this.TotalCount;
+ if (this.TotalCount < ListBoxLineCount)
+ this.SearchLineEnabled(false);
+ else
+ this.SearchLineEnabled(true);
+
this.labelFind.Text = this.CurrentCount.ToString();
this.UpdateData(startIndex, endIndex);
@@ -517,22 +541,7 @@ namespace ITC81DB_0H.Controls
//this.labelFileName.Text = e.Node.Text;
this.SelectedNodeFullPath = this.treeView.SelectedNode.FullPath;
}
- //else
- //{
- // var nodes = e.Node;
- // foreach (TreeNode node in nodes.Nodes)
- // {
- // List childNodes = new List();
- // this.GetAllChildNodes(node, ref childNodes);
-
- // foreach (TreeNode childNode in childNodes)
- // {
- // childNode.Checked = nodes.Checked;
- // }
- // }
- //}
}
-
private void buttonRead_Click(object sender, EventArgs e)
{
if (this.SelectedNodeFullPath == "" || this.SelectedNodeFullPath == null)
@@ -569,6 +578,50 @@ namespace ITC81DB_0H.Controls
else
{
this.labelFind.Text = myKeyPad.StringValue;
+
+ if (this.labelFind.Text == "" || this.labelFind.Text == null || this.listBoxTime.ItemCount == 0)
+ return;
+
+ int startIndex = 0, endIndex = 0;
+ int index = int.Parse(this.labelFind.Text);
+
+ try
+ {
+ this.ClearData();
+ this.ClearListBox();
+
+ if (this.TotalCount > ListBoxLineCount)
+ {
+ if (index - ListBoxLineCount < 0)
+ {
+ startIndex = 0 + 1;
+ endIndex = ListBoxLineCount + 1;
+
+ this.CurrentCount = ListBoxLineCount;
+ }
+ else
+ {
+ startIndex = index - ListBoxLineCount;
+ endIndex = index;
+
+ this.CurrentCount = index;
+ }
+ }
+ else
+ {
+ startIndex = 0 + 1;
+ endIndex = this.TotalCount + 1;
+
+ this.CurrentCount = this.TotalCount;
+ }
+
+ this.UpdateData(startIndex, endIndex);
+ }
+ catch
+ {
+ DialogFormMessage myMsg = new DialogFormMessage(16, this.ParentForm.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
}
}
}
@@ -622,7 +675,6 @@ namespace ITC81DB_0H.Controls
private void buttonBackup_Click(object sender, EventArgs e)
{
this.FileClose();
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.DataBackup, "Inspection");
this.ParentForm.Backup(Define.E_DataType.Inspection, this.treeView);
}
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.designer.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.designer.cs
index 95a3f16..462f2b5 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.designer.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogInspection.designer.cs
@@ -30,6 +30,8 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenterLogInspection));
this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.listBoxNo = new SmartX.SmartListBox();
+ this.smartLabel7 = new SmartX.SmartLabel();
this.listBoxPass = new SmartX.SmartListBox();
this.smartLabel1 = new SmartX.SmartLabel();
this.labelTitleFind = new SmartX.SmartLabel();
@@ -66,6 +68,8 @@
this.smartGroupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(46)))), ((int)(((byte)(46)))));
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.listBoxNo);
+ this.smartGroupBox1.Controls.Add(this.smartLabel7);
this.smartGroupBox1.Controls.Add(this.listBoxPass);
this.smartGroupBox1.Controls.Add(this.smartLabel1);
this.smartGroupBox1.Controls.Add(this.labelTitleFind);
@@ -106,6 +110,62 @@
this.smartGroupBox1.TabIndex = 173;
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
+ // listBoxNo
+ //
+ this.listBoxNo.BackColor = System.Drawing.Color.White;
+ this.listBoxNo.BackPictureBox = null;
+ this.listBoxNo.BackPictureBox1 = null;
+ this.listBoxNo.BackPictureBox2 = null;
+ this.listBoxNo.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
+ this.listBoxNo.ColumnDelimiter = '\0';
+ this.listBoxNo.ColumnOffsets = null;
+ this.listBoxNo.Enabled = false;
+ this.listBoxNo.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular);
+ this.listBoxNo.FontColor = System.Drawing.Color.Black;
+ this.listBoxNo.InitVisible = true;
+ this.listBoxNo.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
+ this.listBoxNo.ItemOffsetGap = 8;
+ this.listBoxNo.ItemOffsetX = 5;
+ this.listBoxNo.ItemOffsetY = 0;
+ this.listBoxNo.Location = new System.Drawing.Point(296, 141);
+ this.listBoxNo.MouseMoveEventSpace = 3;
+ this.listBoxNo.MouseMoveSpace = 10;
+ this.listBoxNo.Name = "listBoxNo";
+ this.listBoxNo.OutLineColor = System.Drawing.SystemColors.ControlText;
+ this.listBoxNo.SelectColor = System.Drawing.Color.Blue;
+ this.listBoxNo.SelectFilled = true;
+ this.listBoxNo.SelectFontColor = System.Drawing.Color.DarkBlue;
+ this.listBoxNo.SelectItemIndex = -1;
+ this.listBoxNo.SeparationlineColor1 = System.Drawing.Color.Gray;
+ this.listBoxNo.SeparationlineColor2 = System.Drawing.Color.LightGray;
+ this.listBoxNo.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
+ this.listBoxNo.SeparationlineVisibleBottom = true;
+ this.listBoxNo.SeparationlineVisibleTop = true;
+ this.listBoxNo.Size = new System.Drawing.Size(45, 318);
+ this.listBoxNo.TabIndex = 253;
+ this.listBoxNo.Text = "smartListBox1";
+ //
+ // smartLabel7
+ //
+ this.smartLabel7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
+ this.smartLabel7.BackPictureBox = null;
+ this.smartLabel7.BackPictureBox1 = null;
+ this.smartLabel7.BackPictureBox2 = null;
+ this.smartLabel7.BorderColor = System.Drawing.Color.Black;
+ this.smartLabel7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.smartLabel7.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.smartLabel7.ForeColor = System.Drawing.Color.White;
+ this.smartLabel7.InitVisible = true;
+ this.smartLabel7.LineSpacing = 0F;
+ this.smartLabel7.Location = new System.Drawing.Point(296, 118);
+ this.smartLabel7.Name = "smartLabel7";
+ this.smartLabel7.Size = new System.Drawing.Size(45, 23);
+ this.smartLabel7.TabIndex = 252;
+ this.smartLabel7.Text = "No.";
+ this.smartLabel7.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.smartLabel7.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.smartLabel7.Wordwrap = false;
+ //
// listBoxPass
//
this.listBoxPass.BackColor = System.Drawing.Color.White;
@@ -121,9 +181,9 @@
this.listBoxPass.InitVisible = true;
this.listBoxPass.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxPass.ItemOffsetGap = 8;
- this.listBoxPass.ItemOffsetX = 2;
+ this.listBoxPass.ItemOffsetX = 5;
this.listBoxPass.ItemOffsetY = 0;
- this.listBoxPass.Location = new System.Drawing.Point(439, 141);
+ this.listBoxPass.Location = new System.Drawing.Point(464, 141);
this.listBoxPass.MouseMoveEventSpace = 3;
this.listBoxPass.MouseMoveSpace = 10;
this.listBoxPass.Name = "listBoxPass";
@@ -137,7 +197,7 @@
this.listBoxPass.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxPass.SeparationlineVisibleBottom = true;
this.listBoxPass.SeparationlineVisibleTop = true;
- this.listBoxPass.Size = new System.Drawing.Size(62, 318);
+ this.listBoxPass.Size = new System.Drawing.Size(60, 318);
this.listBoxPass.TabIndex = 251;
this.listBoxPass.Text = "smartListBox3";
//
@@ -153,9 +213,9 @@
this.smartLabel1.ForeColor = System.Drawing.Color.White;
this.smartLabel1.InitVisible = true;
this.smartLabel1.LineSpacing = 0F;
- this.smartLabel1.Location = new System.Drawing.Point(439, 118);
+ this.smartLabel1.Location = new System.Drawing.Point(464, 118);
this.smartLabel1.Name = "smartLabel1";
- this.smartLabel1.Size = new System.Drawing.Size(62, 23);
+ this.smartLabel1.Size = new System.Drawing.Size(60, 23);
this.smartLabel1.TabIndex = 250;
this.smartLabel1.Text = "Pass";
this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -175,7 +235,7 @@
this.labelTitleFind.LineSpacing = 0F;
this.labelTitleFind.Location = new System.Drawing.Point(240, 78);
this.labelTitleFind.Name = "labelTitleFind";
- this.labelTitleFind.Size = new System.Drawing.Size(173, 34);
+ this.labelTitleFind.Size = new System.Drawing.Size(178, 34);
this.labelTitleFind.TabIndex = 249;
this.labelTitleFind.Text = "데이터 찾기(Line)";
this.labelTitleFind.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -194,7 +254,7 @@
this.labelFind.ForeColor = System.Drawing.Color.Black;
this.labelFind.InitVisible = true;
this.labelFind.LineSpacing = 0F;
- this.labelFind.Location = new System.Drawing.Point(419, 77);
+ this.labelFind.Location = new System.Drawing.Point(424, 77);
this.labelFind.Name = "labelFind";
this.labelFind.Size = new System.Drawing.Size(175, 35);
this.labelFind.TabIndex = 248;
@@ -215,7 +275,7 @@
this.buttonFind.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonFind.DownImage")));
this.buttonFind.GroupID = 0;
this.buttonFind.InitVisible = true;
- this.buttonFind.Location = new System.Drawing.Point(600, 77);
+ this.buttonFind.Location = new System.Drawing.Point(605, 77);
this.buttonFind.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonFind.Name = "buttonFind";
this.buttonFind.NestedClickEventPrevent = false;
@@ -232,6 +292,7 @@
this.buttonFind.TextLocation = new System.Drawing.Point(0, 0);
this.buttonFind.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonFind.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonFind.UpImage")));
+ this.buttonFind.Visible = false;
this.buttonFind.Click += new System.EventHandler(this.buttonFind_Click);
//
// buttonRead
@@ -246,7 +307,7 @@
this.buttonRead.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonRead.DownImage")));
this.buttonRead.GroupID = 0;
this.buttonRead.InitVisible = true;
- this.buttonRead.Location = new System.Drawing.Point(600, 37);
+ this.buttonRead.Location = new System.Drawing.Point(605, 37);
this.buttonRead.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonRead.Name = "buttonRead";
this.buttonRead.NestedClickEventPrevent = false;
@@ -280,9 +341,9 @@
this.listBoxWeight.InitVisible = true;
this.listBoxWeight.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxWeight.ItemOffsetGap = 8;
- this.listBoxWeight.ItemOffsetX = 2;
+ this.listBoxWeight.ItemOffsetX = 5;
this.listBoxWeight.ItemOffsetY = 0;
- this.listBoxWeight.Location = new System.Drawing.Point(565, 141);
+ this.listBoxWeight.Location = new System.Drawing.Point(586, 141);
this.listBoxWeight.MouseMoveEventSpace = 3;
this.listBoxWeight.MouseMoveSpace = 10;
this.listBoxWeight.Name = "listBoxWeight";
@@ -296,7 +357,7 @@
this.listBoxWeight.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxWeight.SeparationlineVisibleBottom = true;
this.listBoxWeight.SeparationlineVisibleTop = true;
- this.listBoxWeight.Size = new System.Drawing.Size(76, 318);
+ this.listBoxWeight.Size = new System.Drawing.Size(60, 318);
this.listBoxWeight.TabIndex = 245;
this.listBoxWeight.Text = "smartListBox4";
//
@@ -315,9 +376,9 @@
this.listBoxOver.InitVisible = true;
this.listBoxOver.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxOver.ItemOffsetGap = 8;
- this.listBoxOver.ItemOffsetX = 2;
+ this.listBoxOver.ItemOffsetX = 5;
this.listBoxOver.ItemOffsetY = 0;
- this.listBoxOver.Location = new System.Drawing.Point(502, 141);
+ this.listBoxOver.Location = new System.Drawing.Point(525, 141);
this.listBoxOver.MouseMoveEventSpace = 3;
this.listBoxOver.MouseMoveSpace = 10;
this.listBoxOver.Name = "listBoxOver";
@@ -331,7 +392,7 @@
this.listBoxOver.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxOver.SeparationlineVisibleBottom = true;
this.listBoxOver.SeparationlineVisibleTop = true;
- this.listBoxOver.Size = new System.Drawing.Size(62, 318);
+ this.listBoxOver.Size = new System.Drawing.Size(60, 318);
this.listBoxOver.TabIndex = 244;
this.listBoxOver.Text = "smartListBox3";
//
@@ -350,9 +411,9 @@
this.listBoxUnder.InitVisible = true;
this.listBoxUnder.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxUnder.ItemOffsetGap = 8;
- this.listBoxUnder.ItemOffsetX = 2;
+ this.listBoxUnder.ItemOffsetX = 5;
this.listBoxUnder.ItemOffsetY = 0;
- this.listBoxUnder.Location = new System.Drawing.Point(376, 141);
+ this.listBoxUnder.Location = new System.Drawing.Point(403, 141);
this.listBoxUnder.MouseMoveEventSpace = 3;
this.listBoxUnder.MouseMoveSpace = 10;
this.listBoxUnder.Name = "listBoxUnder";
@@ -366,7 +427,7 @@
this.listBoxUnder.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxUnder.SeparationlineVisibleBottom = true;
this.listBoxUnder.SeparationlineVisibleTop = true;
- this.listBoxUnder.Size = new System.Drawing.Size(62, 318);
+ this.listBoxUnder.Size = new System.Drawing.Size(60, 318);
this.listBoxUnder.TabIndex = 243;
this.listBoxUnder.Text = "smartListBox2";
//
@@ -385,9 +446,9 @@
this.listBoxGrade.InitVisible = true;
this.listBoxGrade.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxGrade.ItemOffsetGap = 8;
- this.listBoxGrade.ItemOffsetX = 2;
+ this.listBoxGrade.ItemOffsetX = 5;
this.listBoxGrade.ItemOffsetY = 0;
- this.listBoxGrade.Location = new System.Drawing.Point(301, 141);
+ this.listBoxGrade.Location = new System.Drawing.Point(342, 141);
this.listBoxGrade.MouseMoveEventSpace = 3;
this.listBoxGrade.MouseMoveSpace = 10;
this.listBoxGrade.Name = "listBoxGrade";
@@ -401,7 +462,7 @@
this.listBoxGrade.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxGrade.SeparationlineVisibleBottom = true;
this.listBoxGrade.SeparationlineVisibleTop = true;
- this.listBoxGrade.Size = new System.Drawing.Size(74, 318);
+ this.listBoxGrade.Size = new System.Drawing.Size(60, 318);
this.listBoxGrade.TabIndex = 242;
this.listBoxGrade.Text = "smartListBox1";
//
@@ -436,7 +497,7 @@
this.listBoxTime.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxTime.SeparationlineVisibleBottom = true;
this.listBoxTime.SeparationlineVisibleTop = true;
- this.listBoxTime.Size = new System.Drawing.Size(60, 318);
+ this.listBoxTime.Size = new System.Drawing.Size(55, 318);
this.listBoxTime.TabIndex = 241;
this.listBoxTime.Text = "smartListBox1";
//
@@ -460,7 +521,7 @@
this.labelTotalIndex.ForeColor = System.Drawing.Color.White;
this.labelTotalIndex.InitVisible = true;
this.labelTotalIndex.LineSpacing = 0F;
- this.labelTotalIndex.Location = new System.Drawing.Point(646, 273);
+ this.labelTotalIndex.Location = new System.Drawing.Point(652, 273);
this.labelTotalIndex.Name = "labelTotalIndex";
this.labelTotalIndex.Size = new System.Drawing.Size(50, 21);
this.labelTotalIndex.TabIndex = 239;
@@ -480,7 +541,7 @@
this.labelCurrentIndex.ForeColor = System.Drawing.Color.White;
this.labelCurrentIndex.InitVisible = true;
this.labelCurrentIndex.LineSpacing = 0F;
- this.labelCurrentIndex.Location = new System.Drawing.Point(646, 238);
+ this.labelCurrentIndex.Location = new System.Drawing.Point(652, 238);
this.labelCurrentIndex.Name = "labelCurrentIndex";
this.labelCurrentIndex.Size = new System.Drawing.Size(50, 21);
this.labelCurrentIndex.TabIndex = 238;
@@ -498,7 +559,7 @@
this.smartSeparatorLine1.Line2Visible = true;
this.smartSeparatorLine1.Line2Width = 1F;
this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
- this.smartSeparatorLine1.Location = new System.Drawing.Point(646, 265);
+ this.smartSeparatorLine1.Location = new System.Drawing.Point(652, 265);
this.smartSeparatorLine1.Name = "smartSeparatorLine1";
this.smartSeparatorLine1.Size = new System.Drawing.Size(50, 2);
this.smartSeparatorLine1.TabIndex = 237;
@@ -516,9 +577,9 @@
this.smartLabel6.ForeColor = System.Drawing.Color.White;
this.smartLabel6.InitVisible = true;
this.smartLabel6.LineSpacing = 0F;
- this.smartLabel6.Location = new System.Drawing.Point(565, 118);
+ this.smartLabel6.Location = new System.Drawing.Point(586, 118);
this.smartLabel6.Name = "smartLabel6";
- this.smartLabel6.Size = new System.Drawing.Size(76, 23);
+ this.smartLabel6.Size = new System.Drawing.Size(60, 23);
this.smartLabel6.TabIndex = 236;
this.smartLabel6.Text = "Weight";
this.smartLabel6.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -537,9 +598,9 @@
this.smartLabel5.ForeColor = System.Drawing.Color.White;
this.smartLabel5.InitVisible = true;
this.smartLabel5.LineSpacing = 0F;
- this.smartLabel5.Location = new System.Drawing.Point(502, 118);
+ this.smartLabel5.Location = new System.Drawing.Point(525, 118);
this.smartLabel5.Name = "smartLabel5";
- this.smartLabel5.Size = new System.Drawing.Size(62, 23);
+ this.smartLabel5.Size = new System.Drawing.Size(60, 23);
this.smartLabel5.TabIndex = 233;
this.smartLabel5.Text = "Over";
this.smartLabel5.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -558,9 +619,9 @@
this.smartLabel4.ForeColor = System.Drawing.Color.White;
this.smartLabel4.InitVisible = true;
this.smartLabel4.LineSpacing = 0F;
- this.smartLabel4.Location = new System.Drawing.Point(376, 118);
+ this.smartLabel4.Location = new System.Drawing.Point(403, 118);
this.smartLabel4.Name = "smartLabel4";
- this.smartLabel4.Size = new System.Drawing.Size(62, 23);
+ this.smartLabel4.Size = new System.Drawing.Size(60, 23);
this.smartLabel4.TabIndex = 231;
this.smartLabel4.Text = "Under";
this.smartLabel4.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -579,9 +640,9 @@
this.smartLabel3.ForeColor = System.Drawing.Color.White;
this.smartLabel3.InitVisible = true;
this.smartLabel3.LineSpacing = 0F;
- this.smartLabel3.Location = new System.Drawing.Point(301, 118);
+ this.smartLabel3.Location = new System.Drawing.Point(342, 118);
this.smartLabel3.Name = "smartLabel3";
- this.smartLabel3.Size = new System.Drawing.Size(74, 23);
+ this.smartLabel3.Size = new System.Drawing.Size(60, 23);
this.smartLabel3.TabIndex = 228;
this.smartLabel3.Text = "Grade";
this.smartLabel3.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -602,7 +663,7 @@
this.smartLabel2.LineSpacing = 0F;
this.smartLabel2.Location = new System.Drawing.Point(240, 118);
this.smartLabel2.Name = "smartLabel2";
- this.smartLabel2.Size = new System.Drawing.Size(60, 23);
+ this.smartLabel2.Size = new System.Drawing.Size(55, 23);
this.smartLabel2.TabIndex = 227;
this.smartLabel2.Text = "Time";
this.smartLabel2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -622,7 +683,7 @@
this.buttonDown.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Regular);
this.buttonDown.GroupID = 0;
this.buttonDown.InitVisible = true;
- this.buttonDown.Location = new System.Drawing.Point(646, 310);
+ this.buttonDown.Location = new System.Drawing.Point(652, 310);
this.buttonDown.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonDown.Name = "buttonDown";
this.buttonDown.NestedClickEventPrevent = false;
@@ -655,7 +716,7 @@
this.buttonUp.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Regular);
this.buttonUp.GroupID = 0;
this.buttonUp.InitVisible = true;
- this.buttonUp.Location = new System.Drawing.Point(646, 73);
+ this.buttonUp.Location = new System.Drawing.Point(652, 73);
this.buttonUp.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonUp.Name = "buttonUp";
this.buttonUp.NestedClickEventPrevent = false;
@@ -689,7 +750,7 @@
this.labelFileName.LineSpacing = 0F;
this.labelFileName.Location = new System.Drawing.Point(240, 37);
this.labelFileName.Name = "labelFileName";
- this.labelFileName.Size = new System.Drawing.Size(354, 35);
+ this.labelFileName.Size = new System.Drawing.Size(359, 35);
this.labelFileName.TabIndex = 224;
this.labelFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelFileName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
@@ -708,7 +769,7 @@
this.labelTitleFileName.LineSpacing = 0F;
this.labelTitleFileName.Location = new System.Drawing.Point(240, 12);
this.labelTitleFileName.Name = "labelTitleFileName";
- this.labelTitleFileName.Size = new System.Drawing.Size(396, 21);
+ this.labelTitleFileName.Size = new System.Drawing.Size(406, 21);
this.labelTitleFileName.TabIndex = 223;
this.labelTitleFileName.Text = "파일 이름";
this.labelTitleFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -768,7 +829,7 @@
this.buttonBackup.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Bold);
this.buttonBackup.GroupID = 0;
this.buttonBackup.InitVisible = true;
- this.buttonBackup.Location = new System.Drawing.Point(646, 12);
+ this.buttonBackup.Location = new System.Drawing.Point(652, 12);
this.buttonBackup.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonBackup.Name = "buttonBackup";
this.buttonBackup.NestedClickEventPrevent = false;
@@ -835,6 +896,8 @@
private SmartX.SmartLabel labelFind;
private SmartX.SmartListBox listBoxPass;
private SmartX.SmartLabel smartLabel1;
+ private SmartX.SmartLabel smartLabel7;
+ private SmartX.SmartListBox listBoxNo;
}
}
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.cs
index ef99c7f..7ef0229 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.cs
@@ -97,7 +97,7 @@ namespace ITC81DB_0H.Controls
{
this.labelTitleFileList.Text = "파일 목록";
this.labelTitleFileName.Text = "파일 이름";
- this.labelTitleFind.Text = "Search line";
+ this.labelTitleFind.Text = "데이터 검색(Line)";
}
}
private void DefaultSetting()
@@ -245,6 +245,17 @@ namespace ITC81DB_0H.Controls
}
}
+ private void SearchLineEnabled(bool bValue)
+ {
+ if (bValue == false)
+ this.labelFind.BackColor = Color.Gray;
+ else
+ this.labelFind.BackColor = Color.White;
+
+ this.labelFind.Enabled = bValue;
+ this.buttonFind.Enabled = bValue;
+ }
+
public void ClearData()
{
this.CollectionData.Clear();
@@ -253,7 +264,7 @@ namespace ITC81DB_0H.Controls
{
this.listBoxLog.ClearAll();
}
-
+
private void ListBoxScrollUp(int value)
{
if (this.CurrentCount == ListBoxLineCount || (this.CurrentCount < ListBoxLineCount && this.CurrentCount == this.TotalCount)
@@ -328,7 +339,7 @@ namespace ITC81DB_0H.Controls
this.labelTotalIndex.Text = this.TotalCount.ToString();
this.labelCurrentIndex.Text = this.CurrentCount.ToString();
}
-
+
public void LoadDatas(string fullFilePath)
{
// 맨 끝 ListBoxLineCount 만큼의 데이터 Load
@@ -369,14 +380,18 @@ namespace ITC81DB_0H.Controls
this.CurrentCount = this.TotalCount;
+ if (this.TotalCount < ListBoxLineCount)
+ this.SearchLineEnabled(false);
+ else
+ this.SearchLineEnabled(true);
+
this.labelFind.Text = this.CurrentCount.ToString();
+ this.UpdateData(startIndex, endIndex);
// File Name
string[] data = fullFilePath.Split('\\');
this.labelFileName.Text = data[data.Length - 1];
-
- this.UpdateData(startIndex, endIndex);
-
+
this.ParentForm.SplashFinish();
this.Enabled = true;
@@ -450,7 +465,7 @@ namespace ITC81DB_0H.Controls
//{
// var node = e.Node;
// int count = node.Nodes.Count;
-
+
// for (int i = 0; i < count; i++)
// node.Nodes[i].Checked = node.Checked;
//}
@@ -491,6 +506,50 @@ namespace ITC81DB_0H.Controls
else
{
this.labelFind.Text = myKeyPad.StringValue;
+
+ if (this.labelFind.Text == "" || this.labelFind.Text == null || this.listBoxLog.ItemCount == 0)
+ return;
+
+ int startIndex = 0, endIndex = 0;
+ int index = int.Parse(this.labelFind.Text);
+
+ try
+ {
+ this.ClearData();
+ this.ClearListBox();
+
+ if (this.TotalCount > ListBoxLineCount)
+ {
+ if (index - ListBoxLineCount < 0)
+ {
+ startIndex = 0 + 1;
+ endIndex = ListBoxLineCount + 1;
+
+ this.CurrentCount = ListBoxLineCount;
+ }
+ else
+ {
+ startIndex = index - ListBoxLineCount;
+ endIndex = index;
+
+ this.CurrentCount = index;
+ }
+ }
+ else
+ {
+ startIndex = 0 + 1;
+ endIndex = this.TotalCount + 1;
+
+ this.CurrentCount = this.TotalCount;
+ }
+
+ this.UpdateData(startIndex, endIndex);
+ }
+ catch
+ {
+ DialogFormMessage myMsg = new DialogFormMessage(16, this.ParentForm.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
}
}
}
@@ -544,7 +603,6 @@ namespace ITC81DB_0H.Controls
private void buttonBackup_Click(object sender, EventArgs e)
{
this.FileClose();
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.DataBackup, "Others");
this.ParentForm.Backup(Define.E_DataType.Others, this.treeView);
}
diff --git a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.designer.cs b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.designer.cs
index dc81b1e..1d4abd2 100644
--- a/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.designer.cs
+++ b/ITC81DB_0H/Controls/CenterLog/ControlCenterLogOthers.designer.cs
@@ -99,7 +99,7 @@
this.labelTitleFind.LineSpacing = 0F;
this.labelTitleFind.Location = new System.Drawing.Point(254, 78);
this.labelTitleFind.Name = "labelTitleFind";
- this.labelTitleFind.Size = new System.Drawing.Size(159, 34);
+ this.labelTitleFind.Size = new System.Drawing.Size(164, 34);
this.labelTitleFind.TabIndex = 251;
this.labelTitleFind.Text = "데이터 찾기(Line)";
this.labelTitleFind.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -118,7 +118,7 @@
this.labelFind.ForeColor = System.Drawing.Color.Black;
this.labelFind.InitVisible = true;
this.labelFind.LineSpacing = 0F;
- this.labelFind.Location = new System.Drawing.Point(419, 77);
+ this.labelFind.Location = new System.Drawing.Point(424, 77);
this.labelFind.Name = "labelFind";
this.labelFind.Size = new System.Drawing.Size(175, 35);
this.labelFind.TabIndex = 250;
@@ -139,7 +139,7 @@
this.buttonFind.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonFind.DownImage")));
this.buttonFind.GroupID = 0;
this.buttonFind.InitVisible = true;
- this.buttonFind.Location = new System.Drawing.Point(600, 77);
+ this.buttonFind.Location = new System.Drawing.Point(605, 77);
this.buttonFind.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonFind.Name = "buttonFind";
this.buttonFind.NestedClickEventPrevent = false;
@@ -156,6 +156,7 @@
this.buttonFind.TextLocation = new System.Drawing.Point(0, 0);
this.buttonFind.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonFind.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonFind.UpImage")));
+ this.buttonFind.Visible = false;
this.buttonFind.Click += new System.EventHandler(this.buttonFind_Click);
//
// buttonRead
@@ -170,7 +171,7 @@
this.buttonRead.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonRead.DownImage")));
this.buttonRead.GroupID = 0;
this.buttonRead.InitVisible = true;
- this.buttonRead.Location = new System.Drawing.Point(600, 37);
+ this.buttonRead.Location = new System.Drawing.Point(605, 37);
this.buttonRead.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonRead.Name = "buttonRead";
this.buttonRead.NestedClickEventPrevent = false;
@@ -203,7 +204,7 @@
this.smartLabel4.LineSpacing = 0F;
this.smartLabel4.Location = new System.Drawing.Point(254, 118);
this.smartLabel4.Name = "smartLabel4";
- this.smartLabel4.Size = new System.Drawing.Size(387, 23);
+ this.smartLabel4.Size = new System.Drawing.Size(392, 23);
this.smartLabel4.TabIndex = 242;
this.smartLabel4.Text = "Detail";
this.smartLabel4.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@@ -225,7 +226,7 @@
this.listBoxLog.InitVisible = true;
this.listBoxLog.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxLog.ItemOffsetGap = 8;
- this.listBoxLog.ItemOffsetX = 2;
+ this.listBoxLog.ItemOffsetX = 5;
this.listBoxLog.ItemOffsetY = 0;
this.listBoxLog.Location = new System.Drawing.Point(254, 141);
this.listBoxLog.MouseMoveEventSpace = 3;
@@ -241,7 +242,7 @@
this.listBoxLog.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxLog.SeparationlineVisibleBottom = true;
this.listBoxLog.SeparationlineVisibleTop = true;
- this.listBoxLog.Size = new System.Drawing.Size(387, 318);
+ this.listBoxLog.Size = new System.Drawing.Size(392, 318);
this.listBoxLog.TabIndex = 241;
this.listBoxLog.Text = "smartListBox1";
this.listBoxLog.Click += new System.EventHandler(this.listBox_Click);
@@ -266,7 +267,7 @@
this.labelTotalIndex.ForeColor = System.Drawing.Color.White;
this.labelTotalIndex.InitVisible = true;
this.labelTotalIndex.LineSpacing = 0F;
- this.labelTotalIndex.Location = new System.Drawing.Point(646, 273);
+ this.labelTotalIndex.Location = new System.Drawing.Point(652, 273);
this.labelTotalIndex.Name = "labelTotalIndex";
this.labelTotalIndex.Size = new System.Drawing.Size(50, 21);
this.labelTotalIndex.TabIndex = 239;
@@ -286,7 +287,7 @@
this.labelCurrentIndex.ForeColor = System.Drawing.Color.White;
this.labelCurrentIndex.InitVisible = true;
this.labelCurrentIndex.LineSpacing = 0F;
- this.labelCurrentIndex.Location = new System.Drawing.Point(646, 238);
+ this.labelCurrentIndex.Location = new System.Drawing.Point(652, 238);
this.labelCurrentIndex.Name = "labelCurrentIndex";
this.labelCurrentIndex.Size = new System.Drawing.Size(50, 21);
this.labelCurrentIndex.TabIndex = 238;
@@ -304,7 +305,7 @@
this.smartSeparatorLine1.Line2Visible = true;
this.smartSeparatorLine1.Line2Width = 1F;
this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
- this.smartSeparatorLine1.Location = new System.Drawing.Point(646, 265);
+ this.smartSeparatorLine1.Location = new System.Drawing.Point(652, 265);
this.smartSeparatorLine1.Name = "smartSeparatorLine1";
this.smartSeparatorLine1.Size = new System.Drawing.Size(50, 2);
this.smartSeparatorLine1.TabIndex = 237;
@@ -323,7 +324,7 @@
this.buttonDown.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Regular);
this.buttonDown.GroupID = 0;
this.buttonDown.InitVisible = true;
- this.buttonDown.Location = new System.Drawing.Point(646, 310);
+ this.buttonDown.Location = new System.Drawing.Point(652, 310);
this.buttonDown.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonDown.Name = "buttonDown";
this.buttonDown.NestedClickEventPrevent = false;
@@ -356,7 +357,7 @@
this.buttonUp.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Regular);
this.buttonUp.GroupID = 0;
this.buttonUp.InitVisible = true;
- this.buttonUp.Location = new System.Drawing.Point(646, 73);
+ this.buttonUp.Location = new System.Drawing.Point(652, 73);
this.buttonUp.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonUp.Name = "buttonUp";
this.buttonUp.NestedClickEventPrevent = false;
@@ -390,7 +391,7 @@
this.labelFileName.LineSpacing = 0F;
this.labelFileName.Location = new System.Drawing.Point(254, 37);
this.labelFileName.Name = "labelFileName";
- this.labelFileName.Size = new System.Drawing.Size(340, 35);
+ this.labelFileName.Size = new System.Drawing.Size(345, 35);
this.labelFileName.TabIndex = 224;
this.labelFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelFileName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
@@ -469,7 +470,7 @@
this.buttonBackup.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Bold);
this.buttonBackup.GroupID = 0;
this.buttonBackup.InitVisible = true;
- this.buttonBackup.Location = new System.Drawing.Point(646, 12);
+ this.buttonBackup.Location = new System.Drawing.Point(652, 12);
this.buttonBackup.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonBackup.Name = "buttonBackup";
this.buttonBackup.NestedClickEventPrevent = false;
diff --git a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemExternalOutput.cs b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemExternalOutput.cs
index 0ccf1c9..174b9a9 100644
--- a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemExternalOutput.cs
+++ b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemExternalOutput.cs
@@ -649,7 +649,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut1Mode, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput1Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut1Mode, "", before, after);
}
private void labelSorter1DelayTime_Click(object sender, EventArgs e)
{
@@ -677,7 +677,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut1DelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput1Delay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut1Delay, "", before, after);
}
}
}
@@ -707,7 +707,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut1RunTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput1Operation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut1Run, "", before, after);
}
}
}
@@ -733,7 +733,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut2Mode, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput2Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut2Mode, "", before, after);
}
private void labelSorter2DelayTime_Click(object sender, EventArgs e)
{
@@ -761,7 +761,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut2DelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput2Delay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut2Delay, "", before, after);
}
}
}
@@ -791,7 +791,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut2RunTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput2Operation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut2Run, "", before, after);
}
}
}
@@ -817,7 +817,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut3Mode, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput3Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut3Mode, "", before, after);
}
private void labelSorter3DelayTime_Click(object sender, EventArgs e)
{
@@ -845,7 +845,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut3DelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput3Delay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut3Delay, "", before, after);
}
}
}
@@ -875,7 +875,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut3RunTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput3Operation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut3Run, "", before, after);
}
}
}
@@ -901,7 +901,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut4Mode, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput4Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut4Mode, "", before, after);
}
private void labelSorter4DelayTime_Click(object sender, EventArgs e)
{
@@ -929,7 +929,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut4DelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput4Delay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut4Delay, "", before, after);
}
}
}
@@ -959,7 +959,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut4RunTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput4Operation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut4Run, "", before, after);
}
}
}
@@ -984,7 +984,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut5Mode, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput5Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut5Mode, "", before, after);
}
private void labelSorter5DelayTime_Click(object sender, EventArgs e)
{
@@ -1012,7 +1012,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut5DelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput5Delay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut5Delay, "", before, after);
}
}
}
@@ -1042,7 +1042,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut5RunTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput5Operation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut5Run, "", before, after);
}
}
}
@@ -1067,7 +1067,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut6Mode, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput6Mode, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut6Mode, "", before, after);
}
private void labelSorter6DelayTime_Click(object sender, EventArgs e)
{
@@ -1095,7 +1095,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut6DelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput6Delay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut6Delay, "", before, after);
}
}
}
@@ -1125,7 +1125,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalOut6RunTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOutput6Operation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ExOut6Run, "", before, after);
}
}
}
diff --git a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemJudgmentManual.cs b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemJudgmentManual.cs
index 7c1d68d..d25683e 100644
--- a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemJudgmentManual.cs
+++ b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemJudgmentManual.cs
@@ -480,7 +480,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementFilter, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeFilter, "", before, after);
}
}
}
@@ -519,13 +519,13 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.DoubleDelayTime, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementDoubleDelay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeDoubleDelay, "", before, after);
}
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementDelay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeDelay, "", before, after);
}
}
}
@@ -565,7 +565,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementDoubleDelay, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeDoubleDelay, "", before, after);
}
}
}
@@ -597,7 +597,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementNumber, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeNumber, "", before, after);
}
}
}
@@ -641,7 +641,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, "0", CommunicationAddress.BLDCMotorSpeed, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementSpeed, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeSpeed, "", before, after);
}
}
}
@@ -675,7 +675,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementDescendDelayTime, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeDesDelay, "", before, after);
}
}
}
@@ -707,7 +707,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementAscendDelayTime, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeAscDelay, "", before, after);
}
}
}
@@ -742,7 +742,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgementDynamicCorrection, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.JudgeDynamic, "", before, after);
}
}
}
diff --git a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemSorterSetting.cs b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemSorterSetting.cs
index 67a415c..500e979 100644
--- a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemSorterSetting.cs
+++ b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemSorterSetting.cs
@@ -467,17 +467,17 @@ namespace ITC81DB_0H.Controls
after2Run = this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter2RunTime.ToString();
if (before1Mode != after1Mode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorterAMode, "", before1Mode, after1Mode);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorAMode, "", before1Mode, after1Mode);
if (before1Delay != after1Delay)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorterADelay, "", before1Delay, after1Delay);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorADelay, "", before1Delay, after1Delay);
if (before1Run != after1Run)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorterAOperation, "", before1Run, after1Run);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorARun, "", before1Run, after1Run);
if (before2Mode != after2Mode)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorterBMode, "", before2Mode, after2Mode);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorBMode, "", before2Mode, after2Mode);
if (before2Delay != after2Delay)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorterBDelay, "", before2Delay, after2Delay);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorBDelay, "", before2Delay, after2Delay);
if (before2Run != after2Run)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorterBOperation, "", before2Run, after2Run);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorBRun, "", before2Run, after2Run);
StringBuilder sb = new StringBuilder();
sb.Append(Helper.StringZeroFillDigits4(this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter1Mode.ToString()));
@@ -493,8 +493,11 @@ namespace ITC81DB_0H.Controls
private void radioButtonDoubleEntry_Click(object sender, EventArgs e)
{
+ string before = "", after = "";
string value = "";
+ before = this.ParentForm.ParentForm.CurrentSystemParameter1.SorterDoubleEntry;
+
if (this.radioButtonDoubleEntryNone.Checked == true)
value = "0000";
else if (this.radioButtonDoubleEntrySorterA.Checked == true)
@@ -504,14 +507,20 @@ namespace ITC81DB_0H.Controls
else
value = "0000";
- this.ParentForm.ParentForm.CurrentSystemParameter1.SorterDoubleEntry = value;
+ after = this.ParentForm.ParentForm.CurrentSystemParameter1.SorterDoubleEntry = value;
this.ParentForm.ParentForm.SaveSystemParameter1File(this.ParentForm.ParentForm.CurrentSystemParameter1);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.DoubleEnter, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorDoubleEntry, "", before, after);
}
private void radioButtonExternalInput_Click(object sender, EventArgs e)
{
+ string before = "", after = "";
string value = "";
+ before = this.ParentForm.ParentForm.CurrentSystemParameter1.SorterExternalNgInput;
+
if (this.radioButtonExternalInputNone.Checked == true)
value = "0000";
else if (this.radioButtonExternalInputSorterA.Checked == true)
@@ -521,14 +530,20 @@ namespace ITC81DB_0H.Controls
else
value = "0000";
- this.ParentForm.ParentForm.CurrentSystemParameter1.SorterExternalNgInput = value;
+ after = this.ParentForm.ParentForm.CurrentSystemParameter1.SorterExternalNgInput = value;
this.ParentForm.ParentForm.SaveSystemParameter1File(this.ParentForm.ParentForm.CurrentSystemParameter1);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalInput, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorExternalInput, "", before, after);
}
private void radioButtonEtcNg_Click(object sender, EventArgs e)
{
+ string before = "", after = "";
string value = "";
+ before = this.ParentForm.ParentForm.CurrentSystemParameter1.SorterEtcNg;
+
if (this.radioButtonEtcNgNone.Checked == true)
value = "0000";
else if (this.radioButtonEtcNgSorterA.Checked == true)
@@ -538,9 +553,12 @@ namespace ITC81DB_0H.Controls
else
value = "0000";
- this.ParentForm.ParentForm.CurrentSystemParameter1.SorterEtcNg = value;
+ after = this.ParentForm.ParentForm.CurrentSystemParameter1.SorterEtcNg = value;
this.ParentForm.ParentForm.SaveSystemParameter1File(this.ParentForm.ParentForm.CurrentSystemParameter1);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ExternalNG, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorExternalNG, "", before, after);
}
private void comboBoxSorterA_SelectedIndexChanged(object sender, EventArgs e)
diff --git a/ITC81DB_0H/Controls/Etc/ControlCenterSystemAutoZero.cs b/ITC81DB_0H/Controls/Etc/ControlCenterSystemAutoZero.cs
index c065f73..c5b969c 100644
--- a/ITC81DB_0H/Controls/Etc/ControlCenterSystemAutoZero.cs
+++ b/ITC81DB_0H/Controls/Etc/ControlCenterSystemAutoZero.cs
@@ -149,7 +149,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.AutoZeroIsUsing, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.AutoZeroIsUsing, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Auto0IsUsing, "", before, after);
}
private void labelPlusRange_Click(object sender, EventArgs e)
{
@@ -177,7 +177,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.AutoZeroPlusRange, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.AutoZeroRangePlus, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Auto0RangePlus, "", before, after);
}
}
}
@@ -207,7 +207,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.AutoZeroMinusRange, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.AutoZeroRangeMinus, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Auto0RangeMinus, "", before, after);
}
}
}
@@ -225,7 +225,7 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.AutoZeroVariate, value);
if (before != after)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.AutoZeroVariation, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Auto0Variation, "", before, after);
}
#endregion
}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiEthernetLocalIP.cs b/ITC81DB_0H/Controls/Etc/ControlConfiEthernetLocalIP.cs
index c3fceb4..5212f5f 100644
--- a/ITC81DB_0H/Controls/Etc/ControlConfiEthernetLocalIP.cs
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiEthernetLocalIP.cs
@@ -253,11 +253,11 @@ namespace ITC81DB_0H.Controls
this.ParentForm.ParentForm.EthernetClientConnect();
if (beforeIP != afterIP)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetLocalIPAddress, "", beforeIP, afterIP);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPLocalIPAddress, "", beforeIP, afterIP);
if (beforeSubnetMask != afterSubnetMask)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetLocalSubnetMask, "", beforeSubnetMask, afterSubnetMask);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPLocalSubnetMask, "", beforeSubnetMask, afterSubnetMask);
if (beforeGateway != afterGateway)
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetLocalGateway, "", beforeGateway, afterGateway);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPLocalGateway, "", beforeGateway, afterGateway);
}
private void labelLocalIP1_Click(object sender, EventArgs e)
@@ -573,7 +573,7 @@ namespace ITC81DB_0H.Controls
else
after = "DHCP";
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.EthernetLocalIPConfiguration, "", before, after);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPLocalIPConfig, "", before, after);
}
else
{
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.cs b/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.cs
new file mode 100644
index 0000000..33020f3
--- /dev/null
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.cs
@@ -0,0 +1,135 @@
+using System;
+using System.Linq;
+using System.Collections.ObjectModel;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Net.Sockets;
+using System.Text;
+using System.Threading;
+using System.Windows.Forms;
+
+using ITC81DB_2H_ImageDll;
+using ITC81DB_0H.DialogForms;
+using ITC81DB_0H.Forms;
+using ITC81DB_2H.Datastore;
+
+namespace ITC81DB_0H
+{
+ public partial class ControlConfiMULTiJET : UserControl
+ {
+ #region Field
+ private FormMenu m_ParentForm;
+ #endregion
+
+ #region Constructor
+ public ControlConfiMULTiJET(FormMenu parent)
+ {
+ InitializeComponent();
+
+ this.ParentForm = parent;
+
+ this.InitializeDesign();
+ this.DefaultSetting();
+ }
+ #endregion
+
+ #region Property
+ public FormMenu ParentForm
+ {
+ get { return this.m_ParentForm; }
+ private set { this.m_ParentForm = value; }
+ }
+ #endregion
+
+ #region Method
+ public void InitializeDesign()
+ {
+ Class1 images = new Class1();
+
+ if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.English)
+ {
+ this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundBottomAddOn));
+ }
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
+ {
+ this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundBottomAddOn));
+ }
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Czech)
+ {
+ }
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
+ {
+ this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundBottomAddOn));
+ }
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
+ {
+ this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundBottomAddOn));
+ }
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ {
+ this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundBottomAddOn));
+ }
+ else
+ {
+ this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundBottomAddOn));
+ }
+ }
+ private void DefaultSetting()
+ {
+ }
+
+ public void DisplayRefresh(Define.E_MenuBottomConfiguration menu)
+ {
+ if (menu == Define.E_MenuBottomConfiguration.SerialCOM1)
+ {
+ this.labelSlaveAddress.Text = this.ParentForm.ParentForm.SystemConfig3.MULTiJETSlaveAddressCOM1.ToString();
+ }
+ else if (menu == Define.E_MenuBottomConfiguration.SerialCOM3)
+ {
+ this.labelSlaveAddress.Text = this.ParentForm.ParentForm.SystemConfig3.MULTiJETSlaveAddressCOM3.ToString();
+ }
+ else if (menu == Define.E_MenuBottomConfiguration.SerialCOM4)
+ {
+ this.labelSlaveAddress.Text = this.ParentForm.ParentForm.SystemConfig3.MULTiJETSlaveAddressCOM4.ToString();
+ }
+ }
+ #endregion
+
+ #region Event Handler
+ private void labelSlaveAddress_Click(object sender, EventArgs e)
+ {
+ string value = "";
+ DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelSlaveAddress.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
+
+ if (myKeyPad.ShowDialog() == DialogResult.OK)
+ {
+ if (myKeyPad.IntValue < 1 || myKeyPad.IntValue > 255)
+ {
+ // 입력범위를 확인하세요
+ DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
+ else
+ {
+ this.labelSlaveAddress.Text = myKeyPad.StringValue;
+
+ Define.E_MenuBottomConfiguration temp = this.ParentForm.CurrentConfigurationMenu();
+
+ if (temp == Define.E_MenuBottomConfiguration.SerialCOM1)
+ this.ParentForm.ParentForm.SystemConfig3.MULTiJETSlaveAddressCOM1 = myKeyPad.IntValue;
+ else if (temp == Define.E_MenuBottomConfiguration.SerialCOM3)
+ this.ParentForm.ParentForm.SystemConfig3.MULTiJETSlaveAddressCOM3 = myKeyPad.IntValue;
+ else if (temp == Define.E_MenuBottomConfiguration.SerialCOM4)
+ this.ParentForm.ParentForm.SystemConfig3.MULTiJETSlaveAddressCOM4 = myKeyPad.IntValue;
+
+ this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
+ }
+ }
+ }
+ #endregion
+
+ }
+}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.designer.cs b/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.designer.cs
new file mode 100644
index 0000000..871c7c9
--- /dev/null
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.designer.cs
@@ -0,0 +1,116 @@
+namespace ITC81DB_0H
+{
+ partial class ControlConfiMULTiJET
+ {
+ ///
+ /// 필수 디자이너 변수입니다.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 사용 중인 모든 리소스를 정리합니다.
+ ///
+ /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 구성 요소 디자이너에서 생성한 코드
+
+ ///
+ /// 디자이너 지원에 필요한 메서드입니다.
+ /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlConfiMULTiJET));
+ this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.labelSlaveAddress = new SmartX.SmartLabel();
+ this.labelTitleSlaveAddress = new SmartX.SmartLabel();
+ this.smartGroupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // smartGroupBox1
+ //
+ this.smartGroupBox1.BackPictureBox = null;
+ this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.labelSlaveAddress);
+ this.smartGroupBox1.Controls.Add(this.labelTitleSlaveAddress);
+ this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.Black;
+ this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.Black;
+ this.smartGroupBox1.FrameLineThickness = 1;
+ this.smartGroupBox1.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.None;
+ this.smartGroupBox1.Image = ((System.Drawing.Image)(resources.GetObject("smartGroupBox1.Image")));
+ this.smartGroupBox1.InitVisible = true;
+ this.smartGroupBox1.Location = new System.Drawing.Point(0, 0);
+ this.smartGroupBox1.Name = "smartGroupBox1";
+ this.smartGroupBox1.RoundRadius = 5;
+ this.smartGroupBox1.Size = new System.Drawing.Size(710, 253);
+ this.smartGroupBox1.TabIndex = 6;
+ this.smartGroupBox1.Text = "smartGroupBox1";
+ this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
+ //
+ // labelSlaveAddress
+ //
+ this.labelSlaveAddress.BackColor = System.Drawing.SystemColors.Window;
+ this.labelSlaveAddress.BackPictureBox = null;
+ this.labelSlaveAddress.BackPictureBox1 = null;
+ this.labelSlaveAddress.BackPictureBox2 = null;
+ this.labelSlaveAddress.BorderColor = System.Drawing.Color.Black;
+ this.labelSlaveAddress.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.labelSlaveAddress.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
+ this.labelSlaveAddress.InitVisible = true;
+ this.labelSlaveAddress.LineSpacing = 0F;
+ this.labelSlaveAddress.Location = new System.Drawing.Point(435, 16);
+ this.labelSlaveAddress.Name = "labelSlaveAddress";
+ this.labelSlaveAddress.Size = new System.Drawing.Size(82, 28);
+ this.labelSlaveAddress.TabIndex = 135;
+ this.labelSlaveAddress.Text = "58";
+ this.labelSlaveAddress.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
+ this.labelSlaveAddress.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelSlaveAddress.Wordwrap = false;
+ this.labelSlaveAddress.Click += new System.EventHandler(this.labelSlaveAddress_Click);
+ //
+ // labelTitleSlaveAddress
+ //
+ this.labelTitleSlaveAddress.BackPictureBox1 = null;
+ this.labelTitleSlaveAddress.BackPictureBox2 = this.smartGroupBox1;
+ this.labelTitleSlaveAddress.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleSlaveAddress.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleSlaveAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleSlaveAddress.ForeColor = System.Drawing.Color.White;
+ this.labelTitleSlaveAddress.InitVisible = true;
+ this.labelTitleSlaveAddress.LineSpacing = 0F;
+ this.labelTitleSlaveAddress.Location = new System.Drawing.Point(117, 16);
+ this.labelTitleSlaveAddress.Name = "labelTitleSlaveAddress";
+ this.labelTitleSlaveAddress.Size = new System.Drawing.Size(312, 28);
+ this.labelTitleSlaveAddress.TabIndex = 134;
+ this.labelTitleSlaveAddress.Text = "Slave Address";
+ this.labelTitleSlaveAddress.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.labelTitleSlaveAddress.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleSlaveAddress.Wordwrap = false;
+ //
+ // ControlConfiMULTiJET
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+ this.Controls.Add(this.smartGroupBox1);
+ this.Name = "ControlConfiMULTiJET";
+ this.Size = new System.Drawing.Size(710, 253);
+ this.smartGroupBox1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private SmartX.SmartGroupBox smartGroupBox1;
+ public SmartX.SmartLabel labelSlaveAddress;
+ private SmartX.SmartLabel labelTitleSlaveAddress;
+ }
+}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.resx b/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.resx
new file mode 100644
index 0000000..7e32bd5
--- /dev/null
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiMULTiJET.resx
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAsYAAAD9CAYAAAC/SrHyAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
+ DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
+ bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
+ sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
+ AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
+ JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
+ 3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
+ li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
+ ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
+ wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
+ hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
+ 4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
+ VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
+ 5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
+ qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
+ j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
+ 1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
+ rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
+ fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
+ B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
+ yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
+ YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
+ yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
+ vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
+ vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
+ Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
+ bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
+ llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
+ ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
+ xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
+ eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
+ YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
+ XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
+ WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
+ xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
+ dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
+ V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
+ Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
+ Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
+ PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
+ 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
+ /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
+ XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
+ fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
+ tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAC2NJREFUeF7t3c+rlNUf
+ wHEhAjct3LZQuRASCCGC0K5fSCtJSAhEIoSLROHChRsxWqUQUtHmbioiWgjtLCQXIoG4EMRAkMh/wX/h
+ 9PkMHr+n+Z6ZO3Pn3pn7/T6vD7zw3plnnvu4e3M4zzN7Tn5/t1T79+9f2CuvvFLW19fLDz/8UO7cuVP+
+ /vtvAABY2O3bt0eN+dFHH5W1tbVui86rbeFtDeOzZ8+We/fulatXr5bjx4+XAwcOlD179gAAwMIyhrMx
+ r127Vu7evVvOnDnTbdJ5tC28LWGcF/nVV1+VL7/8shw5cqT7HwEAgO3y+uuvl2+//XbUnwcPHuw26iza
+ Ft6WMP7mm2/KpUuXuhcNAAA74YUXXiifffbZaLdCr1Fn0bbwwmF87ty58sUXX3QvFgAAdtKLL75Yvv76
+ 6/Lhhx92W3UzbQsvFMaHDh0a7Sk+fPhw90IBAGCnHTt2rPzxxx9buiGvbeGFwjifPpFL170LBACAZckb
+ 8vJpFb1mnaZt4YXC+Keffipvvvlm9+IAAGBZTpw4UTY2NrrNOk3bwguFcT4m4+WXX+5eHAAALEtuo8jn
+ HPeadZq2hRcK48ePH482PPcuDgAAlmXv3r3l0aNH3Wadpm3hLYfxq6++Wh48eNC9MAAAWLb8drxet07T
+ trAwBgDg/4IwBgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAI
+ whgAAIIwBgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgA
+ AIIwBgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIw
+ BgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIwBgCA
+ IIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIwBgCAIIwB
+ ACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIwBgCAIIwBACAI
+ YwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwrhx8eLFMm3eeeed7ue2Is9V
+ ZzvPCwDA1gjjxvr6erl169ZER48e7X6ummXqscIYAGB3EcbbqBfT6cmTJ88SWBgDAOxWgw/jK1eudGN2
+ M7m63Dtfz/Xr10cB/PTp0+evCWMAgN1l8GGckbuVyf3IvfP13L9/f/SZ/Fv1NWEMALC72ErR0d6El6u8
+ +/bt6x43i/xsnTamhTEAwO4ijMf0nkyRK76b3Xg3SXu+9hzCGABgdxHGIYM1A7a9SS5jOF/LFeM6uVf4
+ 1KlTc60g13O22yhSG8YbGxujv5XaYwAAWJ5Bh3HeQDc+GcIZqDV+19bWRuE6PhnO+d74OVt5njoZ1O17
+ bRi30x4DAMDyDDqMM35zFThXc/PpFOPx2soIzpDOSM7jN1vdzVXouto8vlqc2jDOc+XvtlQAAKyOrRQ7
+ IIO7Poki47i3styGsSAGAFi9wYbxVp9fPG78pryM4BrFOZNWoYUxAMDuMtgwzqjdjmmjNn9ub9ab9iUg
+ whgAYHexlWKCGs75b+/9ce0NehnHm30znjAGANhdhPEE84ZxfQLFrM88FsYAALuLMJ5g3jCelzAGANhd
+ hPEEwhgAYFiE8QTCGABgWITxBMIYAGBYhDEAAARhDAAAQRgDAEAQxgAAEIQxAAAEYQwAAEEYAwBAEMaN
+ K1eujJ5bnP/23k8XL14cPXu493zjfB7xLNrP1Bl/HQCA5RLGjVm+1GNaGM86vc8IYwCA1RLGjUXDON+r
+ NjY2Rsfl5M/te+1n6ghjAIDVEsaNp0+fPsvU/6zq1lgen2nxnDJ060yL3jrCGABgtYTxM23I5tSV3brv
+ uHry5Mno/c3COD9fp10lbs+V6ghjAIDVEsZh3759z4O3Tq4eHz169L+OrcG7WRi30Zvnrq9PGmEMALBa
+ gw/jjOL79+8/y9NS1tfXn2+pyH9PnTr1r+NnCePx1eecdtW4VUcYAwCs1qDDOGO0XSnOKM7Xc6W4jeWM
+ 4Bqum4VxfraGdZ6jvQmvF8d1hDEAwGoNNoxz73Cd3spwypCtkVu3VUwL44zbdrW5fqaN4zayUx1hDACw
+ WoMN49xCkcGa8ufeMSnfa/ca98J4bW1t9HudNorbz9VozpXk+nodYQwAsFpuvgsZvxmm8xgP37oqPC20
+ 8/UM5Azp+lqdPGd7LAAAyyWMQ0bpvDNpj/G4DOjcu5xB3MrXMpDr720sAwCwfMI4zLNiXG/K2yyM22On
+ TZ5nfPUZAIDlE8ZzqnuJp4Vx3shXJ/cV541+GcoZ4LkynD+3N+TlMVaMAQBWSxiHXLGdd6aFcY3nDN5J
+ +41T+3cznnvHAACwHMI45ApunYzadi/wJPWZxz11psVzNetXTAMAsLOEcWjDOKO3d8w8rl+/PjpX77Ft
+ rYzrOlaMAQBWSxiHNoxzBTdXb2cxKXrz9frM4pzcT5wRnH8nZXzn5+vkTXrTtlwAALDzhHHIG9/Go3cW
+ 01aD85wZxG0gj0++l5EsigEAVk8YL0EGdF0trqZFNQAAyyeMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhj
+ AAAIwhgAAIIwBgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAI
+ whgAAIIwBgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgA
+ AIIwBgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIw
+ BgCAIIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIwBgCA
+ IIwBACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIwBgCAIIwB
+ ACAIYwAACMIYAACCMAYAgCCMAQAgCGMAAAjCGAAAgjAGAIAgjAEAIAhjAAAIwhgAAIIwBgCAIIwBACAI
+ YwAACMIYAACCMAYAgCCMAQAgCGMAAAgrC+NDhw6VP//8s3tRAACwbCsL4/To0aOyd+/e7oUBAMCyvPTS
+ S+Xhw4fdZp2mbeGFwvjOnTvlwIED3YsDAIBlyd0Mv//+e7dZp2lbeKEw3tjYKCdOnOheHAAALMvp06fL
+ tWvXus06TdvCC4XxBx98MIrj3sUBAMCyfPfdd+X999/vNus0bQsvFMYHDx4sN2/eLMePH+9eIAAA7LT3
+ 3nuv3Lhxo9urm2lbeKEwTidPnix//fWXvcYAACxdPkL48ePH5d133+226mbaFl44jNOFCxfK559/Ptr0
+ 3LtgAADYbq+99lq5evVq+fjjj7uNOou2hbcljNMnn3wyqvXcd9y7cAAA2C7ZnNme6+vr3TadVdvC2xbG
+ 6a233iq//PJL+fXXX8unn35a3n777XL48GEAAFhYtuX58+dHrfnzzz+P2rPXpPNoW3hbw7h64403yuXL
+ l8uPP/5YfvvtNwAAWFi25aVLl0at2WvQrWhbeEfCGAAA/he0LSyMAQAYrLaFhTEAAIPVtrAwBgBgsNoW
+ FsYAAAxW28LCGACAwWpbWBgDADBYbQsLYwAABqttYWEMAMBgtS0sjAEAGKy2hYUxAACD1bawMAYAYLDa
+ Fv5XGAMAwFAJYwAACMIYAAC+v1v+AXl7Q6A5oKeSAAAAAElFTkSuQmCC
+
+
+
+ WEBPAD
+
+
\ No newline at end of file
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiModbus.cs b/ITC81DB_0H/Controls/Etc/ControlConfiModbus.cs
index 15c6276..1f7064c 100644
--- a/ITC81DB_0H/Controls/Etc/ControlConfiModbus.cs
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiModbus.cs
@@ -101,11 +101,11 @@ namespace ITC81DB_0H.Controls
this.comboBoxRole.Enabled = false;
this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSelectFunction = 0;
if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM1)
- this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM1 = 1;
+ this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM1 = 1;
else if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM3)
- this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM3 = 1;
+ this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM3 = 1;
else if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM4)
- this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM4 = 1;
+ this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM4 = 1;
this.labelSlaveID.Text = "1";
this.labelSlaveID.Enabled = false;
this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
@@ -129,17 +129,17 @@ namespace ITC81DB_0H.Controls
this.StartAddressControlVisible(true);
if (menu == Define.E_MenuBottomConfiguration.SerialCOM1)
{
- this.labelSlaveID.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM1.ToString();
+ this.labelSlaveID.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM1.ToString();
this.labelStartAddress.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM1.ToString();
}
else if (menu == Define.E_MenuBottomConfiguration.SerialCOM3)
{
- this.labelSlaveID.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM3.ToString();
+ this.labelSlaveID.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM3.ToString();
this.labelStartAddress.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM3.ToString();
}
else if (menu == Define.E_MenuBottomConfiguration.SerialCOM4)
{
- this.labelSlaveID.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM4.ToString();
+ this.labelSlaveID.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM4.ToString();
this.labelStartAddress.Text = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM4.ToString();
}
}
@@ -193,7 +193,7 @@ namespace ITC81DB_0H.Controls
this.comboBoxRole.SelectedIndexChanged -= new EventHandler(this.comboBoxRole_SelectedIndexChanged);
if (menu == Define.E_MenuBottomConfiguration.Ethernet)
{
- if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f16_OPC)
{
this.ParentForm.ParentForm.SystemConfig2.ModbusTCPSelectFunction = (int)Define.E_ModbusFunction._04_ReadInputRegister;
this.comboBoxRole.SelectedIndex = this.ParentForm.ParentForm.SystemConfig2.ModbusTCPSelectFunction;
@@ -218,9 +218,9 @@ namespace ITC81DB_0H.Controls
}
else
{
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_EthernetMode.f16_OPC
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_EthernetMode.f16_OPC
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_EthernetMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f16_OPC
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f16_OPC
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f16_OPC)
{
this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSelectFunction = (int)Define.E_ModbusFunction._04_ReadInputRegister;
this.comboBoxRole.SelectedIndex = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSelectFunction;
@@ -247,6 +247,8 @@ namespace ITC81DB_0H.Controls
// Slave ID는 Modbus TCP에서는 0x01로 고정
private void labelSlaveID_Click(object sender, EventArgs e)
{
+ string before = "", after = "";
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelSlaveID.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -262,11 +264,32 @@ namespace ITC81DB_0H.Controls
this.labelSlaveID.Text = myKeyPad.StringValue;
if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM1)
- this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM1 = myKeyPad.IntValue;
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM1.ToString();
+ this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM1 = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_SlaveID, "COM1", before, after);
+ }
else if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM3)
- this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM3 = myKeyPad.IntValue;
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM3.ToString();
+ this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM3 = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_SlaveID, "COM3", before, after);
+ }
else if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM4)
- this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSlaveIDCOM4 = myKeyPad.IntValue;
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM4.ToString();
+ this.ParentForm.ParentForm.SystemConfig2.ModbusSlaveIDCOM4 = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_SlaveID, "COM4", before, after);
+ }
this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
}
@@ -275,6 +298,8 @@ namespace ITC81DB_0H.Controls
private void labelStartAddress_Click(object sender, EventArgs e)
{
+ string before = "", after = "";
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelStartAddress.Text, 5, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -290,13 +315,41 @@ namespace ITC81DB_0H.Controls
this.labelStartAddress.Text = myKeyPad.StringValue;
if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM1)
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM1.ToString();
this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM1 = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_StartAddr, "COM1", before, after);
+ }
else if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM3)
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM3.ToString();
this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM3 = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_StartAddr, "COM3", before, after);
+ }
else if (this.ParentForm.CurrentConfigurationMenu() == Define.E_MenuBottomConfiguration.SerialCOM4)
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM4.ToString();
this.ParentForm.ParentForm.SystemConfig2.ModbusRTUStartAddressCOM4 = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_StartAddr, "COM4", before, after);
+ }
else
+ {
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusTCPStartAddress.ToString();
this.ParentForm.ParentForm.SystemConfig2.ModbusTCPStartAddress = myKeyPad.IntValue;
+ after = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_StartAddr, "TCP", before, after);
+ }
this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
}
@@ -305,25 +358,41 @@ namespace ITC81DB_0H.Controls
private void comboBoxRole_SelectedIndexChanged(object sender, EventArgs e)
{
+ string before = "", after = "";
+
Define.E_MenuBottomConfiguration menu = this.ParentForm.CurrentConfigurationMenu();
if (menu == Define.E_MenuBottomConfiguration.Ethernet)
{
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusTCPSelectFunction.ToString();
+
this.ParentForm.ParentForm.SystemConfig2.ModbusTCPSelectFunction = this.comboBoxRole.SelectedIndex;
if (this.comboBoxRole.SelectedIndex == (int)Define.E_ModbusFunction._04_ReadInputRegister)
this.ModbusTCP04Addon();
else
this.ModbusTCP16Addon();
+
+ after = this.ParentForm.ParentForm.SystemConfig2.ModbusTCPSelectFunction.ToString();
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_Role, "TCP", before, after);
}
else
{
+ before = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSelectFunction.ToString();
+
this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSelectFunction = this.comboBoxRole.SelectedIndex;
if (this.comboBoxRole.SelectedIndex == (int)Define.E_ModbusFunction._04_ReadInputRegister)
this.ModbusRTU04Addon();
else
this.ModbusRTU16Addon(menu);
+
+ after = this.ParentForm.ParentForm.SystemConfig2.ModbusRTUSelectFunction.ToString();
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_Role, "RTU", before, after);
}
this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2);
@@ -331,6 +400,8 @@ namespace ITC81DB_0H.Controls
private void labelReadTimeout_Click(object sender, EventArgs e)
{
+ string before = "", after = "";
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelReadTimeout.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -343,7 +414,11 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelReadTimeout.Text = myKeyPad.StringValue;
+ before = this.labelReadTimeout.Text;
+ after = this.labelReadTimeout.Text = myKeyPad.StringValue;
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Mod_Timeout, "", before, after);
// 코드 완성 안됨. 추후 사용하게 되면 추가 작업해야함
}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard1.cs b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard1.cs
index eca9f0a..0269a18 100644
--- a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard1.cs
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard1.cs
@@ -272,6 +272,8 @@ namespace ITC81DB_0H.Controls
}
public void DisplayRefresh(SystemStatus status)
{
+ this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = Define.E_DisplayStore.ConfiOptionBoard1;
+
int temp = this.ParentForm.ParentForm.SystemConfig1.ProductNumber;
this.ParentForm.ParentForm.LoadProductFile(ref this.CurrentProductItem, temp - 1);
@@ -283,6 +285,10 @@ namespace ITC81DB_0H.Controls
private void labelSampleCount_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1SamplingCount;
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelSampleCount.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -298,12 +304,15 @@ namespace ITC81DB_0H.Controls
this.labelSampleCount.Text = myKeyPad.StringValue;
value = Helper.StringZeroFillDigits4(this.labelSampleCount.Text);
- this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1SamplingCount = myKeyPad.StringValue;
+ after = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1SamplingCount = myKeyPad.StringValue;
this.ParentForm.ParentForm.ChildFormMainDisplay.CurrentBottomMenuControlEnable();
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1SamplingCount, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1SampleCount, "", before, after);
}
}
}
@@ -311,6 +320,10 @@ namespace ITC81DB_0H.Controls
private void labelDelayCount_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1DelayCount;
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelDelayCount.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -326,10 +339,13 @@ namespace ITC81DB_0H.Controls
this.labelDelayCount.Text = myKeyPad.StringValue;
value = Helper.StringZeroFillDigits4(this.labelDelayCount.Text);
- this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1DelayCount = myKeyPad.StringValue;
+ after = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1DelayCount = myKeyPad.StringValue;
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1DelayCount, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1DelayCount, "", before, after);
}
}
}
@@ -337,7 +353,10 @@ namespace ITC81DB_0H.Controls
private void radioButtonPulseWidth_Click(object sender, EventArgs e)
{
int temp = 0;
- string value = "";
+ string value = ""; string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1PulseWidth;
+
SmartX.SmartRadioButton rb = sender as SmartX.SmartRadioButton;
if (rb == null)
@@ -364,11 +383,14 @@ namespace ITC81DB_0H.Controls
break;
}
- this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1PulseWidth = temp.ToString();
+ after = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1PulseWidth = temp.ToString();
value = Helper.StringZeroFillDigits4(temp.ToString());
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1PulseWidth, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1PulseWidth, "", before, after);
}
private void checkBoxUse_Click(object sender, EventArgs e)
@@ -394,6 +416,8 @@ namespace ITC81DB_0H.Controls
sValue = Helper.StringToDecimalPlaces(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
if (this.labelLowerLimit.Text != sValue)
this.labelLowerLimit.Text = sValue;
+
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.OPT1Using, "ON");
}
else
{
@@ -414,6 +438,8 @@ namespace ITC81DB_0H.Controls
sValue = Helper.StringToDecimalPlaces(this.ParentForm.ParentForm.CurrentProductItem.UnderRange, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
if (this.labelLowerLimit.Text != sValue)
this.labelLowerLimit.Text = sValue;
+
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.OPT1Using, "OFF");
}
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange = this.labelUpperLimit.Text.Replace(".", "");
@@ -435,8 +461,11 @@ namespace ITC81DB_0H.Controls
private void labelUpperLimit_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
int digit = 0;
+ before = this.labelUpperLimit.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
digit = 4;
// V6.2.0
@@ -460,7 +489,7 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelUpperLimit.Text = myKeyPad.StringValue;
+ after = this.labelUpperLimit.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.CurrentFeedbackItem.OverRangeDeviation =
this.ParentForm.ParentForm.ChildFormMainDisplay.MainDisplayFeedback.CaculateDeviation(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRangeInt);
@@ -468,6 +497,9 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange);
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1OverRange, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1OverRange, "", before, after);
}
}
}
@@ -475,8 +507,11 @@ namespace ITC81DB_0H.Controls
private void labelLowerLimit_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
int digit = 0;
+ before = this.labelLowerLimit.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
digit = 4;
// V6.2.0
@@ -500,7 +535,7 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelLowerLimit.Text = myKeyPad.StringValue;
+ after = this.labelLowerLimit.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.CurrentFeedbackItem.UnderRangeDeviation =
this.ParentForm.ParentForm.ChildFormMainDisplay.MainDisplayFeedback.CaculateDeviation(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRangeInt);
@@ -508,6 +543,9 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange);
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1UnderRange, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1UnderRange, "", before, after);
}
}
}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.Designer.cs b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.Designer.cs
index b677103..f8c2c31 100644
--- a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.Designer.cs
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.Designer.cs
@@ -30,33 +30,53 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlConfiOptionBoard2));
this.smartGroupBox1 = new SmartX.SmartGroupBox();
+ this.labelTitleHelp = new SmartX.SmartLabel();
+ this.smartLabel8 = new SmartX.SmartLabel();
+ this.smartLabel7 = new SmartX.SmartLabel();
+ this.labelZeroZoneCount = new SmartX.SmartLabel();
+ this.labelTitleZeroZoneCount = new SmartX.SmartLabel();
+ this.labelTitleZeroZoneCycle = new SmartX.SmartLabel();
+ this.labelTitleOutputPort = new SmartX.SmartLabel();
+ this.labelTitleSetting = new SmartX.SmartLabel();
+ this.labelZeroZoneCycle = new SmartX.SmartLabel();
+ this.buttonItemNo = new SmartX.SmartButton();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.radioButtonPortNone = new SmartX.SmartRadioButton();
+ this.radioButtonPort56 = new SmartX.SmartRadioButton();
+ this.radioButtonPort78 = new SmartX.SmartRadioButton();
this.labelHelp5 = new SmartX.SmartLabel();
this.labelHelp4 = new SmartX.SmartLabel();
this.labelHelp3 = new SmartX.SmartLabel();
this.labelHelp2 = new SmartX.SmartLabel();
this.labelHelp1 = new SmartX.SmartLabel();
- this.radioButtonPort78 = new SmartX.SmartRadioButton();
- this.radioButtonPort56 = new SmartX.SmartRadioButton();
- this.radioButtonPortNone = new SmartX.SmartRadioButton();
this.labelDelayTime1 = new SmartX.SmartLabel();
this.labelTitleDelayTime1 = new SmartX.SmartLabel();
this.labelDelayTime2 = new SmartX.SmartLabel();
this.labelTitleDelayTime2 = new SmartX.SmartLabel();
this.smartGroupBox1.SuspendLayout();
+ this.panel1.SuspendLayout();
this.SuspendLayout();
//
// smartGroupBox1
//
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
+ this.smartGroupBox1.Controls.Add(this.labelTitleHelp);
+ this.smartGroupBox1.Controls.Add(this.smartLabel8);
+ this.smartGroupBox1.Controls.Add(this.smartLabel7);
+ this.smartGroupBox1.Controls.Add(this.labelZeroZoneCount);
+ this.smartGroupBox1.Controls.Add(this.labelTitleZeroZoneCount);
+ this.smartGroupBox1.Controls.Add(this.labelTitleZeroZoneCycle);
+ this.smartGroupBox1.Controls.Add(this.labelTitleOutputPort);
+ this.smartGroupBox1.Controls.Add(this.labelTitleSetting);
+ this.smartGroupBox1.Controls.Add(this.labelZeroZoneCycle);
+ this.smartGroupBox1.Controls.Add(this.buttonItemNo);
+ this.smartGroupBox1.Controls.Add(this.panel1);
this.smartGroupBox1.Controls.Add(this.labelHelp5);
this.smartGroupBox1.Controls.Add(this.labelHelp4);
this.smartGroupBox1.Controls.Add(this.labelHelp3);
this.smartGroupBox1.Controls.Add(this.labelHelp2);
this.smartGroupBox1.Controls.Add(this.labelHelp1);
- this.smartGroupBox1.Controls.Add(this.radioButtonPort78);
- this.smartGroupBox1.Controls.Add(this.radioButtonPort56);
- this.smartGroupBox1.Controls.Add(this.radioButtonPortNone);
this.smartGroupBox1.Controls.Add(this.labelDelayTime1);
this.smartGroupBox1.Controls.Add(this.labelTitleDelayTime1);
this.smartGroupBox1.Controls.Add(this.labelDelayTime2);
@@ -75,6 +95,307 @@
this.smartGroupBox1.Text = "smartGroupBox1";
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
+ // labelTitleHelp
+ //
+ this.labelTitleHelp.BackPictureBox1 = null;
+ this.labelTitleHelp.BackPictureBox2 = this.smartGroupBox1;
+ this.labelTitleHelp.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleHelp.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleHelp.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleHelp.ForeColor = System.Drawing.Color.White;
+ this.labelTitleHelp.InitVisible = true;
+ this.labelTitleHelp.LineSpacing = 0F;
+ this.labelTitleHelp.Location = new System.Drawing.Point(18, 311);
+ this.labelTitleHelp.Name = "labelTitleHelp";
+ this.labelTitleHelp.Size = new System.Drawing.Size(82, 30);
+ this.labelTitleHelp.TabIndex = 196;
+ this.labelTitleHelp.Text = "도움말";
+ this.labelTitleHelp.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.labelTitleHelp.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleHelp.Wordwrap = false;
+ //
+ // smartLabel8
+ //
+ this.smartLabel8.BackPictureBox1 = null;
+ this.smartLabel8.BackPictureBox2 = this.smartGroupBox1;
+ this.smartLabel8.BorderColor = System.Drawing.Color.Black;
+ this.smartLabel8.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.smartLabel8.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.smartLabel8.ForeColor = System.Drawing.Color.White;
+ this.smartLabel8.InitVisible = true;
+ this.smartLabel8.LineSpacing = 0F;
+ this.smartLabel8.Location = new System.Drawing.Point(633, 151);
+ this.smartLabel8.Name = "smartLabel8";
+ this.smartLabel8.Size = new System.Drawing.Size(56, 26);
+ this.smartLabel8.TabIndex = 195;
+ this.smartLabel8.Text = "ea";
+ this.smartLabel8.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.smartLabel8.TextVAlign = SmartX.SmartLabel.TextVerAlign.Bottom;
+ this.smartLabel8.Wordwrap = false;
+ //
+ // smartLabel7
+ //
+ this.smartLabel7.BackPictureBox1 = null;
+ this.smartLabel7.BackPictureBox2 = this.smartGroupBox1;
+ this.smartLabel7.BorderColor = System.Drawing.Color.Black;
+ this.smartLabel7.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.smartLabel7.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.smartLabel7.ForeColor = System.Drawing.Color.White;
+ this.smartLabel7.InitVisible = true;
+ this.smartLabel7.LineSpacing = 0F;
+ this.smartLabel7.Location = new System.Drawing.Point(633, 113);
+ this.smartLabel7.Name = "smartLabel7";
+ this.smartLabel7.Size = new System.Drawing.Size(56, 26);
+ this.smartLabel7.TabIndex = 194;
+ this.smartLabel7.Text = "sec";
+ this.smartLabel7.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
+ this.smartLabel7.TextVAlign = SmartX.SmartLabel.TextVerAlign.Bottom;
+ this.smartLabel7.Wordwrap = false;
+ //
+ // labelZeroZoneCount
+ //
+ this.labelZeroZoneCount.BackColor = System.Drawing.Color.Black;
+ this.labelZeroZoneCount.BackPictureBox = null;
+ this.labelZeroZoneCount.BackPictureBox1 = null;
+ this.labelZeroZoneCount.BackPictureBox2 = null;
+ this.labelZeroZoneCount.BorderColor = System.Drawing.Color.Black;
+ this.labelZeroZoneCount.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.labelZeroZoneCount.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Bold);
+ this.labelZeroZoneCount.ForeColor = System.Drawing.Color.White;
+ this.labelZeroZoneCount.InitVisible = true;
+ this.labelZeroZoneCount.LineSpacing = 0F;
+ this.labelZeroZoneCount.Location = new System.Drawing.Point(477, 151);
+ this.labelZeroZoneCount.Name = "labelZeroZoneCount";
+ this.labelZeroZoneCount.Size = new System.Drawing.Size(150, 30);
+ this.labelZeroZoneCount.TabIndex = 193;
+ this.labelZeroZoneCount.Text = "100";
+ this.labelZeroZoneCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
+ this.labelZeroZoneCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelZeroZoneCount.Wordwrap = false;
+ this.labelZeroZoneCount.Click += new System.EventHandler(this.labelZeroZoneCount_Click);
+ //
+ // labelTitleZeroZoneCount
+ //
+ this.labelTitleZeroZoneCount.BackPictureBox1 = null;
+ this.labelTitleZeroZoneCount.BackPictureBox2 = this.smartGroupBox1;
+ this.labelTitleZeroZoneCount.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleZeroZoneCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleZeroZoneCount.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleZeroZoneCount.ForeColor = System.Drawing.Color.White;
+ this.labelTitleZeroZoneCount.InitVisible = true;
+ this.labelTitleZeroZoneCount.LineSpacing = 0F;
+ this.labelTitleZeroZoneCount.Location = new System.Drawing.Point(363, 151);
+ this.labelTitleZeroZoneCount.Name = "labelTitleZeroZoneCount";
+ this.labelTitleZeroZoneCount.Size = new System.Drawing.Size(104, 30);
+ this.labelTitleZeroZoneCount.TabIndex = 192;
+ this.labelTitleZeroZoneCount.Text = "영점실행개수";
+ this.labelTitleZeroZoneCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.labelTitleZeroZoneCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleZeroZoneCount.Wordwrap = false;
+ //
+ // labelTitleZeroZoneCycle
+ //
+ this.labelTitleZeroZoneCycle.BackPictureBox1 = null;
+ this.labelTitleZeroZoneCycle.BackPictureBox2 = this.smartGroupBox1;
+ this.labelTitleZeroZoneCycle.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleZeroZoneCycle.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleZeroZoneCycle.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleZeroZoneCycle.ForeColor = System.Drawing.Color.White;
+ this.labelTitleZeroZoneCycle.InitVisible = true;
+ this.labelTitleZeroZoneCycle.LineSpacing = 0F;
+ this.labelTitleZeroZoneCycle.Location = new System.Drawing.Point(363, 113);
+ this.labelTitleZeroZoneCycle.Name = "labelTitleZeroZoneCycle";
+ this.labelTitleZeroZoneCycle.Size = new System.Drawing.Size(104, 30);
+ this.labelTitleZeroZoneCycle.TabIndex = 191;
+ this.labelTitleZeroZoneCycle.Text = "영점실행주기";
+ this.labelTitleZeroZoneCycle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.labelTitleZeroZoneCycle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleZeroZoneCycle.Wordwrap = false;
+ //
+ // labelTitleOutputPort
+ //
+ this.labelTitleOutputPort.BackPictureBox1 = null;
+ this.labelTitleOutputPort.BackPictureBox2 = this.smartGroupBox1;
+ this.labelTitleOutputPort.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleOutputPort.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleOutputPort.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleOutputPort.ForeColor = System.Drawing.Color.White;
+ this.labelTitleOutputPort.InitVisible = true;
+ this.labelTitleOutputPort.LineSpacing = 0F;
+ this.labelTitleOutputPort.Location = new System.Drawing.Point(363, 49);
+ this.labelTitleOutputPort.Name = "labelTitleOutputPort";
+ this.labelTitleOutputPort.Size = new System.Drawing.Size(104, 30);
+ this.labelTitleOutputPort.TabIndex = 190;
+ this.labelTitleOutputPort.Text = "출력Port";
+ this.labelTitleOutputPort.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.labelTitleOutputPort.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleOutputPort.Wordwrap = false;
+ //
+ // labelTitleSetting
+ //
+ this.labelTitleSetting.BackPictureBox1 = null;
+ this.labelTitleSetting.BackPictureBox2 = this.smartGroupBox1;
+ this.labelTitleSetting.BorderColor = System.Drawing.Color.Black;
+ this.labelTitleSetting.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.labelTitleSetting.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.labelTitleSetting.ForeColor = System.Drawing.Color.White;
+ this.labelTitleSetting.InitVisible = true;
+ this.labelTitleSetting.LineSpacing = 0F;
+ this.labelTitleSetting.Location = new System.Drawing.Point(18, 114);
+ this.labelTitleSetting.Name = "labelTitleSetting";
+ this.labelTitleSetting.Size = new System.Drawing.Size(104, 30);
+ this.labelTitleSetting.TabIndex = 188;
+ this.labelTitleSetting.Text = "품목별 설정";
+ this.labelTitleSetting.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
+ this.labelTitleSetting.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelTitleSetting.Wordwrap = false;
+ //
+ // labelZeroZoneCycle
+ //
+ this.labelZeroZoneCycle.BackColor = System.Drawing.Color.Black;
+ this.labelZeroZoneCycle.BackPictureBox = null;
+ this.labelZeroZoneCycle.BackPictureBox1 = null;
+ this.labelZeroZoneCycle.BackPictureBox2 = null;
+ this.labelZeroZoneCycle.BorderColor = System.Drawing.Color.Black;
+ this.labelZeroZoneCycle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.labelZeroZoneCycle.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Bold);
+ this.labelZeroZoneCycle.ForeColor = System.Drawing.Color.White;
+ this.labelZeroZoneCycle.InitVisible = true;
+ this.labelZeroZoneCycle.LineSpacing = 0F;
+ this.labelZeroZoneCycle.Location = new System.Drawing.Point(477, 113);
+ this.labelZeroZoneCycle.Name = "labelZeroZoneCycle";
+ this.labelZeroZoneCycle.Size = new System.Drawing.Size(150, 30);
+ this.labelZeroZoneCycle.TabIndex = 187;
+ this.labelZeroZoneCycle.Text = "100";
+ this.labelZeroZoneCycle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
+ this.labelZeroZoneCycle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
+ this.labelZeroZoneCycle.Wordwrap = false;
+ this.labelZeroZoneCycle.Click += new System.EventHandler(this.labelZeroZoneCycle_Click);
+ //
+ // buttonItemNo
+ //
+ this.buttonItemNo.BackPictureBox = null;
+ this.buttonItemNo.BackPictureBox1 = null;
+ this.buttonItemNo.BackPictureBox2 = null;
+ this.buttonItemNo.ButtonColor = System.Drawing.Color.Gray;
+ this.buttonItemNo.ButtonImageAutoSize = true;
+ this.buttonItemNo.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
+ this.buttonItemNo.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonItemNo.DisableImage")));
+ this.buttonItemNo.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonItemNo.DownImage")));
+ this.buttonItemNo.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Bold);
+ this.buttonItemNo.GroupID = 0;
+ this.buttonItemNo.InitVisible = true;
+ this.buttonItemNo.Location = new System.Drawing.Point(15, 15);
+ this.buttonItemNo.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
+ this.buttonItemNo.Name = "buttonItemNo";
+ this.buttonItemNo.NestedClickEventPrevent = false;
+ this.buttonItemNo.OutlinePixel = 1;
+ this.buttonItemNo.RepeatInterval = 200;
+ this.buttonItemNo.RepeatIntervalAccelerate = null;
+ this.buttonItemNo.SafeInterval = 200;
+ this.buttonItemNo.Size = new System.Drawing.Size(335, 45);
+ this.buttonItemNo.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
+ this.buttonItemNo.TabIndex = 182;
+ this.buttonItemNo.Text = "100";
+ this.buttonItemNo.TextColor = System.Drawing.Color.White;
+ this.buttonItemNo.TextDownColor = System.Drawing.Color.White;
+ this.buttonItemNo.TextHAlign = SmartX.SmartButton.TextHorAlign.Right;
+ this.buttonItemNo.TextLocation = new System.Drawing.Point(-20, 0);
+ this.buttonItemNo.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
+ this.buttonItemNo.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonItemNo.UpImage")));
+ this.buttonItemNo.Click += new System.EventHandler(this.buttonItemNo_Click);
+ //
+ // panel1
+ //
+ this.panel1.BackColor = System.Drawing.Color.Black;
+ this.panel1.Controls.Add(this.radioButtonPortNone);
+ this.panel1.Controls.Add(this.radioButtonPort56);
+ this.panel1.Controls.Add(this.radioButtonPort78);
+ this.panel1.Location = new System.Drawing.Point(477, 18);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(212, 89);
+ //
+ // radioButtonPortNone
+ //
+ this.radioButtonPortNone.BackColor = System.Drawing.Color.Black;
+ this.radioButtonPortNone.BackPictureBox = null;
+ this.radioButtonPortNone.BackPictureBox1 = null;
+ this.radioButtonPortNone.BackPictureBox2 = null;
+ this.radioButtonPortNone.Checked = false;
+ this.radioButtonPortNone.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.radioButtonPortNone.ForeColor = System.Drawing.Color.White;
+ this.radioButtonPortNone.GroupID = 0;
+ this.radioButtonPortNone.ImageCheckRadioButton = null;
+ this.radioButtonPortNone.ImageUnCheckRadioButton = null;
+ this.radioButtonPortNone.InitVisible = true;
+ this.radioButtonPortNone.Location = new System.Drawing.Point(3, 4);
+ this.radioButtonPortNone.Name = "radioButtonPortNone";
+ this.radioButtonPortNone.OutputOnly = false;
+ this.radioButtonPortNone.RadioBackColor = System.Drawing.Color.White;
+ this.radioButtonPortNone.RadioCheckColor = System.Drawing.Color.Green;
+ this.radioButtonPortNone.RadioForeColor = System.Drawing.Color.Black;
+ this.radioButtonPortNone.RadioSymbolSize = 14;
+ this.radioButtonPortNone.Shadow = false;
+ this.radioButtonPortNone.Size = new System.Drawing.Size(200, 23);
+ this.radioButtonPortNone.TabIndex = 138;
+ this.radioButtonPortNone.Text = "None";
+ this.radioButtonPortNone.TextVAlign = SmartX.SmartRadioButton.TextVerAlign.Middle;
+ this.radioButtonPortNone.Click += new System.EventHandler(this.radioButtonPort_Click);
+ //
+ // radioButtonPort56
+ //
+ this.radioButtonPort56.BackColor = System.Drawing.Color.Black;
+ this.radioButtonPort56.BackPictureBox = null;
+ this.radioButtonPort56.BackPictureBox1 = null;
+ this.radioButtonPort56.BackPictureBox2 = null;
+ this.radioButtonPort56.Checked = false;
+ this.radioButtonPort56.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.radioButtonPort56.ForeColor = System.Drawing.Color.White;
+ this.radioButtonPort56.GroupID = 0;
+ this.radioButtonPort56.ImageCheckRadioButton = null;
+ this.radioButtonPort56.ImageUnCheckRadioButton = null;
+ this.radioButtonPort56.InitVisible = true;
+ this.radioButtonPort56.Location = new System.Drawing.Point(3, 33);
+ this.radioButtonPort56.Name = "radioButtonPort56";
+ this.radioButtonPort56.OutputOnly = false;
+ this.radioButtonPort56.RadioBackColor = System.Drawing.Color.White;
+ this.radioButtonPort56.RadioCheckColor = System.Drawing.Color.Green;
+ this.radioButtonPort56.RadioForeColor = System.Drawing.Color.Black;
+ this.radioButtonPort56.RadioSymbolSize = 14;
+ this.radioButtonPort56.Shadow = false;
+ this.radioButtonPort56.Size = new System.Drawing.Size(200, 23);
+ this.radioButtonPort56.TabIndex = 139;
+ this.radioButtonPort56.Text = "Output Port 5,6";
+ this.radioButtonPort56.TextVAlign = SmartX.SmartRadioButton.TextVerAlign.Middle;
+ this.radioButtonPort56.Click += new System.EventHandler(this.radioButtonPort_Click);
+ //
+ // radioButtonPort78
+ //
+ this.radioButtonPort78.BackColor = System.Drawing.Color.Black;
+ this.radioButtonPort78.BackPictureBox = null;
+ this.radioButtonPort78.BackPictureBox1 = null;
+ this.radioButtonPort78.BackPictureBox2 = null;
+ this.radioButtonPort78.Checked = false;
+ this.radioButtonPort78.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
+ this.radioButtonPort78.ForeColor = System.Drawing.Color.White;
+ this.radioButtonPort78.GroupID = 0;
+ this.radioButtonPort78.ImageCheckRadioButton = null;
+ this.radioButtonPort78.ImageUnCheckRadioButton = null;
+ this.radioButtonPort78.InitVisible = true;
+ this.radioButtonPort78.Location = new System.Drawing.Point(3, 62);
+ this.radioButtonPort78.Name = "radioButtonPort78";
+ this.radioButtonPort78.OutputOnly = false;
+ this.radioButtonPort78.RadioBackColor = System.Drawing.Color.White;
+ this.radioButtonPort78.RadioCheckColor = System.Drawing.Color.Green;
+ this.radioButtonPort78.RadioForeColor = System.Drawing.Color.Black;
+ this.radioButtonPort78.RadioSymbolSize = 14;
+ this.radioButtonPort78.Shadow = false;
+ this.radioButtonPort78.Size = new System.Drawing.Size(200, 23);
+ this.radioButtonPort78.TabIndex = 140;
+ this.radioButtonPort78.Text = "Output Port 7,8";
+ this.radioButtonPort78.TextVAlign = SmartX.SmartRadioButton.TextVerAlign.Middle;
+ this.radioButtonPort78.Click += new System.EventHandler(this.radioButtonPort_Click);
+ //
// labelHelp5
//
this.labelHelp5.BackPictureBox1 = null;
@@ -85,7 +406,7 @@
this.labelHelp5.ForeColor = System.Drawing.Color.White;
this.labelHelp5.InitVisible = true;
this.labelHelp5.LineSpacing = 0F;
- this.labelHelp5.Location = new System.Drawing.Point(103, 430);
+ this.labelHelp5.Location = new System.Drawing.Point(103, 431);
this.labelHelp5.Name = "labelHelp5";
this.labelHelp5.Size = new System.Drawing.Size(585, 15);
this.labelHelp5.TabIndex = 145;
@@ -104,7 +425,7 @@
this.labelHelp4.ForeColor = System.Drawing.Color.White;
this.labelHelp4.InitVisible = true;
this.labelHelp4.LineSpacing = 0F;
- this.labelHelp4.Location = new System.Drawing.Point(103, 409);
+ this.labelHelp4.Location = new System.Drawing.Point(103, 410);
this.labelHelp4.Name = "labelHelp4";
this.labelHelp4.Size = new System.Drawing.Size(585, 15);
this.labelHelp4.TabIndex = 144;
@@ -123,7 +444,7 @@
this.labelHelp3.ForeColor = System.Drawing.Color.White;
this.labelHelp3.InitVisible = true;
this.labelHelp3.LineSpacing = 0F;
- this.labelHelp3.Location = new System.Drawing.Point(103, 388);
+ this.labelHelp3.Location = new System.Drawing.Point(103, 389);
this.labelHelp3.Name = "labelHelp3";
this.labelHelp3.Size = new System.Drawing.Size(585, 15);
this.labelHelp3.TabIndex = 143;
@@ -142,7 +463,7 @@
this.labelHelp2.ForeColor = System.Drawing.Color.White;
this.labelHelp2.InitVisible = true;
this.labelHelp2.LineSpacing = 0F;
- this.labelHelp2.Location = new System.Drawing.Point(103, 367);
+ this.labelHelp2.Location = new System.Drawing.Point(103, 368);
this.labelHelp2.Name = "labelHelp2";
this.labelHelp2.Size = new System.Drawing.Size(585, 15);
this.labelHelp2.TabIndex = 142;
@@ -161,7 +482,7 @@
this.labelHelp1.ForeColor = System.Drawing.Color.White;
this.labelHelp1.InitVisible = true;
this.labelHelp1.LineSpacing = 0F;
- this.labelHelp1.Location = new System.Drawing.Point(103, 346);
+ this.labelHelp1.Location = new System.Drawing.Point(103, 347);
this.labelHelp1.Name = "labelHelp1";
this.labelHelp1.Size = new System.Drawing.Size(585, 15);
this.labelHelp1.TabIndex = 141;
@@ -170,81 +491,6 @@
this.labelHelp1.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelHelp1.Wordwrap = false;
//
- // radioButtonPort78
- //
- this.radioButtonPort78.BackPictureBox1 = null;
- this.radioButtonPort78.BackPictureBox2 = this.smartGroupBox1;
- this.radioButtonPort78.Checked = false;
- this.radioButtonPort78.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
- this.radioButtonPort78.ForeColor = System.Drawing.Color.White;
- this.radioButtonPort78.GroupID = 0;
- this.radioButtonPort78.ImageCheckRadioButton = null;
- this.radioButtonPort78.ImageUnCheckRadioButton = null;
- this.radioButtonPort78.InitVisible = true;
- this.radioButtonPort78.Location = new System.Drawing.Point(130, 113);
- this.radioButtonPort78.Name = "radioButtonPort78";
- this.radioButtonPort78.OutputOnly = false;
- this.radioButtonPort78.RadioBackColor = System.Drawing.Color.White;
- this.radioButtonPort78.RadioCheckColor = System.Drawing.Color.Green;
- this.radioButtonPort78.RadioForeColor = System.Drawing.Color.Black;
- this.radioButtonPort78.RadioSymbolSize = 14;
- this.radioButtonPort78.Shadow = false;
- this.radioButtonPort78.Size = new System.Drawing.Size(200, 30);
- this.radioButtonPort78.TabIndex = 140;
- this.radioButtonPort78.Text = "Output Port 7,8";
- this.radioButtonPort78.TextVAlign = SmartX.SmartRadioButton.TextVerAlign.Middle;
- this.radioButtonPort78.Click += new System.EventHandler(this.radioButtonPort_Click);
- //
- // radioButtonPort56
- //
- this.radioButtonPort56.BackPictureBox1 = null;
- this.radioButtonPort56.BackPictureBox2 = this.smartGroupBox1;
- this.radioButtonPort56.Checked = false;
- this.radioButtonPort56.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
- this.radioButtonPort56.ForeColor = System.Drawing.Color.White;
- this.radioButtonPort56.GroupID = 0;
- this.radioButtonPort56.ImageCheckRadioButton = null;
- this.radioButtonPort56.ImageUnCheckRadioButton = null;
- this.radioButtonPort56.InitVisible = true;
- this.radioButtonPort56.Location = new System.Drawing.Point(130, 77);
- this.radioButtonPort56.Name = "radioButtonPort56";
- this.radioButtonPort56.OutputOnly = false;
- this.radioButtonPort56.RadioBackColor = System.Drawing.Color.White;
- this.radioButtonPort56.RadioCheckColor = System.Drawing.Color.Green;
- this.radioButtonPort56.RadioForeColor = System.Drawing.Color.Black;
- this.radioButtonPort56.RadioSymbolSize = 14;
- this.radioButtonPort56.Shadow = false;
- this.radioButtonPort56.Size = new System.Drawing.Size(200, 30);
- this.radioButtonPort56.TabIndex = 139;
- this.radioButtonPort56.Text = "Output Port 5,6";
- this.radioButtonPort56.TextVAlign = SmartX.SmartRadioButton.TextVerAlign.Middle;
- this.radioButtonPort56.Click += new System.EventHandler(this.radioButtonPort_Click);
- //
- // radioButtonPortNone
- //
- this.radioButtonPortNone.BackPictureBox1 = null;
- this.radioButtonPortNone.BackPictureBox2 = this.smartGroupBox1;
- this.radioButtonPortNone.Checked = false;
- this.radioButtonPortNone.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
- this.radioButtonPortNone.ForeColor = System.Drawing.Color.White;
- this.radioButtonPortNone.GroupID = 0;
- this.radioButtonPortNone.ImageCheckRadioButton = null;
- this.radioButtonPortNone.ImageUnCheckRadioButton = null;
- this.radioButtonPortNone.InitVisible = true;
- this.radioButtonPortNone.Location = new System.Drawing.Point(130, 41);
- this.radioButtonPortNone.Name = "radioButtonPortNone";
- this.radioButtonPortNone.OutputOnly = false;
- this.radioButtonPortNone.RadioBackColor = System.Drawing.Color.White;
- this.radioButtonPortNone.RadioCheckColor = System.Drawing.Color.Green;
- this.radioButtonPortNone.RadioForeColor = System.Drawing.Color.Black;
- this.radioButtonPortNone.RadioSymbolSize = 14;
- this.radioButtonPortNone.Shadow = false;
- this.radioButtonPortNone.Size = new System.Drawing.Size(200, 30);
- this.radioButtonPortNone.TabIndex = 138;
- this.radioButtonPortNone.Text = "None";
- this.radioButtonPortNone.TextVAlign = SmartX.SmartRadioButton.TextVerAlign.Middle;
- this.radioButtonPortNone.Click += new System.EventHandler(this.radioButtonPort_Click);
- //
// labelDelayTime1
//
this.labelDelayTime1.BackColor = System.Drawing.SystemColors.Window;
@@ -256,9 +502,9 @@
this.labelDelayTime1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelDelayTime1.InitVisible = true;
this.labelDelayTime1.LineSpacing = 0F;
- this.labelDelayTime1.Location = new System.Drawing.Point(608, 60);
+ this.labelDelayTime1.Location = new System.Drawing.Point(272, 97);
this.labelDelayTime1.Name = "labelDelayTime1";
- this.labelDelayTime1.Size = new System.Drawing.Size(80, 30);
+ this.labelDelayTime1.Size = new System.Drawing.Size(70, 30);
this.labelDelayTime1.TabIndex = 137;
this.labelDelayTime1.Text = "100";
this.labelDelayTime1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@@ -272,13 +518,13 @@
this.labelTitleDelayTime1.BackPictureBox2 = this.smartGroupBox1;
this.labelTitleDelayTime1.BorderColor = System.Drawing.Color.Black;
this.labelTitleDelayTime1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelTitleDelayTime1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
+ this.labelTitleDelayTime1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelTitleDelayTime1.ForeColor = System.Drawing.Color.White;
this.labelTitleDelayTime1.InitVisible = true;
this.labelTitleDelayTime1.LineSpacing = 0F;
- this.labelTitleDelayTime1.Location = new System.Drawing.Point(452, 60);
+ this.labelTitleDelayTime1.Location = new System.Drawing.Point(130, 97);
this.labelTitleDelayTime1.Name = "labelTitleDelayTime1";
- this.labelTitleDelayTime1.Size = new System.Drawing.Size(150, 30);
+ this.labelTitleDelayTime1.Size = new System.Drawing.Size(136, 30);
this.labelTitleDelayTime1.TabIndex = 136;
this.labelTitleDelayTime1.Text = "지연시간1";
this.labelTitleDelayTime1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -296,9 +542,9 @@
this.labelDelayTime2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelDelayTime2.InitVisible = true;
this.labelDelayTime2.LineSpacing = 0F;
- this.labelDelayTime2.Location = new System.Drawing.Point(608, 96);
+ this.labelDelayTime2.Location = new System.Drawing.Point(272, 133);
this.labelDelayTime2.Name = "labelDelayTime2";
- this.labelDelayTime2.Size = new System.Drawing.Size(80, 30);
+ this.labelDelayTime2.Size = new System.Drawing.Size(70, 30);
this.labelDelayTime2.TabIndex = 135;
this.labelDelayTime2.Text = "100";
this.labelDelayTime2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@@ -312,13 +558,13 @@
this.labelTitleDelayTime2.BackPictureBox2 = this.smartGroupBox1;
this.labelTitleDelayTime2.BorderColor = System.Drawing.Color.Black;
this.labelTitleDelayTime2.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.labelTitleDelayTime2.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
+ this.labelTitleDelayTime2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelTitleDelayTime2.ForeColor = System.Drawing.Color.White;
this.labelTitleDelayTime2.InitVisible = true;
this.labelTitleDelayTime2.LineSpacing = 0F;
- this.labelTitleDelayTime2.Location = new System.Drawing.Point(452, 96);
+ this.labelTitleDelayTime2.Location = new System.Drawing.Point(130, 133);
this.labelTitleDelayTime2.Name = "labelTitleDelayTime2";
- this.labelTitleDelayTime2.Size = new System.Drawing.Size(150, 30);
+ this.labelTitleDelayTime2.Size = new System.Drawing.Size(136, 30);
this.labelTitleDelayTime2.TabIndex = 134;
this.labelTitleDelayTime2.Text = "지연시간2";
this.labelTitleDelayTime2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@@ -333,6 +579,7 @@
this.Name = "ControlConfiOptionBoard2";
this.Size = new System.Drawing.Size(710, 470);
this.smartGroupBox1.ResumeLayout(false);
+ this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
@@ -352,5 +599,16 @@
private SmartX.SmartLabel labelHelp3;
private SmartX.SmartLabel labelHelp2;
private SmartX.SmartLabel labelHelp1;
+ private System.Windows.Forms.Panel panel1;
+ private SmartX.SmartButton buttonItemNo;
+ public SmartX.SmartLabel labelZeroZoneCycle;
+ private SmartX.SmartLabel labelTitleSetting;
+ private SmartX.SmartLabel labelTitleZeroZoneCount;
+ private SmartX.SmartLabel labelTitleZeroZoneCycle;
+ private SmartX.SmartLabel labelTitleOutputPort;
+ private SmartX.SmartLabel smartLabel7;
+ public SmartX.SmartLabel labelZeroZoneCount;
+ private SmartX.SmartLabel labelTitleHelp;
+ private SmartX.SmartLabel smartLabel8;
}
}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.cs b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.cs
index f3981d8..d99b8e3 100644
--- a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.cs
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.cs
@@ -19,7 +19,7 @@ namespace ITC81DB_0H.Controls
#region Field
private FormMenu m_ParentForm;
#endregion
-
+
#region Constructor
public ControlConfiOptionBoard2(FormMenu parent)
{
@@ -29,7 +29,7 @@ namespace ITC81DB_0H.Controls
this.InitializeDesign();
this.DefaultSetting();
- }
+ }
#endregion
#region Property
@@ -37,7 +37,7 @@ namespace ITC81DB_0H.Controls
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
- }
+ }
#endregion
#region Method
@@ -47,8 +47,6 @@ namespace ITC81DB_0H.Controls
if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.English)
{
- this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundDispenser));
-
this.labelTitleDelayTime1.Font = this.labelTitleDelayTime2.Font = new Font("새굴림", 12, FontStyle.Bold);
this.labelTitleDelayTime1.Text = "Delay 1 time";
this.labelTitleDelayTime2.Text = "Delay 2 time";
@@ -57,6 +55,10 @@ namespace ITC81DB_0H.Controls
this.radioButtonPort56.Text = "Output port 5, 6";
this.radioButtonPort78.Text = "Output port 7, 8";
+ this.labelTitleOutputPort.Text = "Output Port";
+ this.labelTitleZeroZoneCycle.Text = "Zero Zone Cycle";
+ this.labelTitleZeroZoneCount.Text = "Zero Zone Count";
+
this.labelHelp1.Text = "1. A : The object enters.";
this.labelHelp2.Text = "2. B : The object enters into the range of dispenser sensor.";
this.labelHelp3.Text = "3. C : After 'Delay 1 time', stick 'Dispenser 1' out.";
@@ -65,8 +67,6 @@ namespace ITC81DB_0H.Controls
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
{
- this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundDispenser));
-
this.labelTitleDelayTime1.Font = this.labelTitleDelayTime2.Font = new Font("새굴림", 12, FontStyle.Bold);
this.labelTitleDelayTime1.Text = "延迟1时间";
this.labelTitleDelayTime2.Text = "延迟2时间";
@@ -75,6 +75,10 @@ namespace ITC81DB_0H.Controls
this.radioButtonPort56.Text = "输出 5, 6";
this.radioButtonPort78.Text = "输出 7, 8";
+ this.labelTitleOutputPort.Text = "输出端口";
+ this.labelTitleZeroZoneCycle.Text = "零执行周期";
+ this.labelTitleZeroZoneCount.Text = "零游程次数";
+
this.labelHelp1.Text = "1. A : 被测量物体进入";
this.labelHelp2.Text = "2. B : 被测量物体进入感应器检测范围";
this.labelHelp3.Text = "3. C : 延迟1时间后,分配器1上升";
@@ -86,8 +90,6 @@ namespace ITC81DB_0H.Controls
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
{
- this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundDispenser));
-
this.labelTitleDelayTime1.Font = this.labelTitleDelayTime2.Font = new Font("새굴림", 10, FontStyle.Bold);
this.labelTitleDelayTime1.Text = "Время задержки 1";
this.labelTitleDelayTime2.Text = "Время задержки 2";
@@ -96,6 +98,10 @@ namespace ITC81DB_0H.Controls
this.radioButtonPort56.Text = "Порт выхода 5, 6";
this.radioButtonPort78.Text = "Порт выхода 7, 8";
+ this.labelTitleOutputPort.Text = "Выходной порт";
+ this.labelTitleZeroZoneCycle.Text = "Нулевой цикл";
+ this.labelTitleZeroZoneCount.Text = "Нулевой счет";
+
this.labelHelp1.Text = "1. A : Входит измеряемый объект";
this.labelHelp2.Text = "2. B : Объект входит в зону действия датчика дозатора";
this.labelHelp3.Text = "3. C : После «Задержки 1» отключите «Вход дозатора1»";
@@ -104,8 +110,6 @@ namespace ITC81DB_0H.Controls
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
{
- this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundDispenser));
-
this.labelTitleDelayTime1.Font = this.labelTitleDelayTime2.Font = new Font("새굴림", 12, FontStyle.Bold);
this.labelTitleDelayTime1.Text = "Vezögerung 1";
this.labelTitleDelayTime2.Text = "Vezögerung 2";
@@ -114,16 +118,38 @@ namespace ITC81DB_0H.Controls
this.radioButtonPort56.Text = "Ausgangsport 5, 6";
this.radioButtonPort78.Text = "Ausgangsport 7, 8";
+ this.labelTitleOutputPort.Text = "Ausgangsport";
+ this.labelTitleZeroZoneCycle.Text = "Nullzonenzyklus";
+ this.labelTitleZeroZoneCount.Text = "Nullzonenanzahl";
+
this.labelHelp1.Text = "1. A : Das Objekt tritt ein.";
this.labelHelp2.Text = "2. B : Das Objekt gelangt in den Bereich des Spenders sensors.";
this.labelHelp3.Text = "3. C : Nach 'Verzögerung 1' stecken Sie 'Dispenser 1' heraus.";
this.labelHelp4.Text = "4. D : Gleichzeitig senkt 'Dispenser 2' ab.";
this.labelHelp5.Text = "5. Nach 2 Stunden Verspätung kehren wir wieder in den A-Zustand zurück.";
}
+ else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ {
+ this.labelTitleDelayTime1.Font = this.labelTitleDelayTime2.Font = new Font("새굴림", 10, FontStyle.Bold);
+ this.labelTitleDelayTime1.Text = "1 Tiempo de retardo";
+ this.labelTitleDelayTime2.Text = "2 Tiempo de retardo";
+
+ this.radioButtonPortNone.Text = "Ninguna";
+ this.radioButtonPort56.Text = "Puerto de salida 5, 6";
+ this.radioButtonPort78.Text = "Puerto de salida 7, 8";
+
+ this.labelTitleOutputPort.Text = "Puerto de salida";
+ this.labelTitleZeroZoneCycle.Text = "Ciclo zona cero";
+ this.labelTitleZeroZoneCount.Text = "Recuento de cero";
+
+ this.labelHelp1.Text = "1. A : El objeto entra.";
+ this.labelHelp2.Text = "2. B : El objeto entra en el rango de sensor de dispensador.";
+ this.labelHelp3.Text = "3. C : Después de 'Tiempo de retraso 1', Stick 'Dispenser 1' Out";
+ this.labelHelp4.Text = "4. D : Al mismo tiempo, 'Dispenser 2' desciende.";
+ this.labelHelp5.Text = "5. Después de 'retraso 2' tiempo, vuelve a un.";
+ }
else
{
- this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundDispenser));
-
this.labelTitleDelayTime1.Font = this.labelTitleDelayTime2.Font = new Font("새굴림", 12, FontStyle.Bold);
this.labelTitleDelayTime1.Text = "지연시간 1";
this.labelTitleDelayTime2.Text = "지연시간 2";
@@ -132,6 +158,10 @@ namespace ITC81DB_0H.Controls
this.radioButtonPort56.Text = "Output port 5, 6";
this.radioButtonPort78.Text = "Output port 7, 8";
+ this.labelTitleOutputPort.Text = "출력 Port";
+ this.labelTitleZeroZoneCycle.Text = "영점실행주기";
+ this.labelTitleZeroZoneCount.Text = "영점실행개수";
+
this.labelHelp1.Text = "1. A : 피계량물이 진입한다.";
this.labelHelp2.Text = "2. B : 피계량물이 Dispenser sensor 범위 안에 진입한다.";
this.labelHelp3.Text = "3. C : '지연시간1'만큼 지난 후, Dispenser1이 올라온다.";
@@ -141,27 +171,62 @@ namespace ITC81DB_0H.Controls
}
private void DefaultSetting()
{
- this.UpdateDisplay(this.ParentForm.ParentForm.CurrentSystemParameter2);
+ this.UpdateCurrentProductDisplay(this.ParentForm.ParentForm.CurrentProductItem, this.ParentForm.ParentForm.CurrentSystemParameter1, this.ParentForm.ParentForm.CurrentSystemParameter2);
}
- private void UpdateDisplay(SystemParameter2 parameter)
+ public void UpdateCurrentProductDisplay(ProductItem product, SystemParameter1 parameter1, SystemParameter2 parameter2)
+ {
+ string value = "";
+
+ value = product.Number.ToString();
+ if (this.buttonItemNo.Text != value)
+ this.buttonItemNo.Text = value;
+
+ value = parameter2.OPT2ZeroZoneCycle;
+ if (this.labelZeroZoneCycle.Text != value)
+ this.labelZeroZoneCycle.Text = value;
+
+ value = parameter2.OPT2ZeroZoneCount;
+ if (this.labelZeroZoneCount.Text != value)
+ this.labelZeroZoneCount.Text = value;
+
+ this.UpdateDelayTime(product);
+ this.UpdateDisplay(parameter1, parameter2);
+ }
+ private void UpdateDelayTime(ProductItem product)
+ {
+ string sValue = "";
+
+ sValue = product.DispenserDelayTime1;
+ if (this.labelDelayTime1.Text != sValue)
+ this.labelDelayTime1.Text = sValue;
+
+ sValue = product.DispenserDelayTime2;
+ if (this.labelDelayTime2.Text != sValue)
+ this.labelDelayTime2.Text = sValue;
+ }
+ private void UpdateDisplay(SystemParameter1 parameter1, SystemParameter2 parameter2)
{
int iValue = 0;
string sValue = "";
try
{
- iValue = int.Parse(parameter.OPT2Port);
+ iValue = int.Parse(parameter2.OPT2Port);
}
- catch
+ catch
{
iValue = 0;
}
+ this.radioButtonPortNone.Click -= new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort56.Click -= new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort78.Click -= new EventHandler(this.radioButtonPort_Click);
+
if (iValue == 1)
{
this.radioButtonPortNone.Checked = false;
- this.radioButtonPort56.Checked = true;
this.radioButtonPort78.Checked = false;
+ this.radioButtonPort56.Checked = true;
}
else if (iValue == 2)
{
@@ -175,26 +240,55 @@ namespace ITC81DB_0H.Controls
this.radioButtonPort56.Checked = false;
this.radioButtonPort78.Checked = false;
}
-
- sValue = parameter.OPT2DelayTime1;
- if (this.labelDelayTime1.Text != sValue)
- this.labelDelayTime1.Text = sValue;
-
- sValue = parameter.OPT2DelayTime2;
- if (this.labelDelayTime2.Text != sValue)
- this.labelDelayTime2.Text = sValue;
+ this.radioButtonPortNone.Click += new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort56.Click += new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort78.Click += new EventHandler(this.radioButtonPort_Click);
}
public void DisplayRefresh(SystemStatus status)
{
- this.UpdateDisplay(this.ParentForm.ParentForm.CurrentSystemParameter2);
+ this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = Define.E_DisplayStore.ConfiOptionBoard2;
+
+ // 로그
+ if (this.ParentForm.ParentForm.IsCommunicationLogOpen == true)
+ this.ParentForm.ParentForm.smartFileCommunicationLog.WriteString(string.Format("Current Product ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, this.ParentForm.ParentForm.SystemConfig1.ProductNumber.ToString()));
+
+ this.UpdateCurrentProductDisplay(this.ParentForm.ParentForm.CurrentProductItem, this.ParentForm.ParentForm.CurrentSystemParameter1, this.ParentForm.ParentForm.CurrentSystemParameter2);
}
#endregion
#region Event Handler
+ private void buttonItemNo_Click(object sender, EventArgs e)
+ {
+ string message = "";
+ DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.buttonItemNo.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
+
+ if (myKeyPad.ShowDialog() == DialogResult.OK)
+ {
+ if (myKeyPad.doubleValue < 1 || myKeyPad.doubleValue > this.ParentForm.ParentForm.ProductCount)
+ {
+ // 입력범위를 확인하세요
+ message = string.Format("1 ~ {0}", this.ParentForm.ParentForm.ProductCount);
+ DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language, message);
+ myMsg.ShowDialog();
+ }
+ else
+ {
+ this.buttonItemNo.Text = myKeyPad.StringValue;
+
+ this.buttonItemNo.Text = "**";
+ this.ParentForm.ParentForm.TransferProductParameter(myKeyPad.IntValue);
+ }
+ }
+ }
+
private void labelDelayTime1_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentProductItem.DispenserDelayTime1;
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelDelayTime1.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -210,17 +304,22 @@ namespace ITC81DB_0H.Controls
this.labelDelayTime1.Text = myKeyPad.StringValue;
value = Helper.StringZeroFillDigits4(this.labelDelayTime1.Text);
- this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2DelayTime1 = myKeyPad.StringValue;
+ after = this.ParentForm.ParentForm.CurrentProductItem.DispenserDelayTime1 = myKeyPad.StringValue;
- this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
- this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT2DelayTime1, value);
+ this.ParentForm.ParentForm.SaveProductFile(this.ParentForm.ParentForm.CurrentProductItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT2Delay1, "", before, after);
}
}
}
-
private void labelDelayTime2_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentProductItem.DispenserDelayTime2;
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelDelayTime2.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -236,10 +335,12 @@ namespace ITC81DB_0H.Controls
this.labelDelayTime2.Text = myKeyPad.StringValue;
value = Helper.StringZeroFillDigits4(this.labelDelayTime2.Text);
- this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2DelayTime2 = myKeyPad.StringValue;
+ after = this.ParentForm.ParentForm.CurrentProductItem.DispenserDelayTime2 = myKeyPad.StringValue;
- this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
- this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT2DelayTime2, value);
+ this.ParentForm.ParentForm.SaveProductFile(this.ParentForm.ParentForm.CurrentProductItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT2Delay2, "", before, after);
}
}
}
@@ -247,7 +348,13 @@ namespace ITC81DB_0H.Controls
private void radioButtonPort_Click(object sender, EventArgs e)
{
string value = "";
+ string before = "", after = "";
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2Port;
+
+ this.radioButtonPortNone.Click -= new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort56.Click -= new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort78.Click -= new EventHandler(this.radioButtonPort_Click);
if (this.radioButtonPortNone.Checked == true)
{
value = "0000";
@@ -266,10 +373,79 @@ namespace ITC81DB_0H.Controls
this.radioButtonPortNone.Checked = false;
this.radioButtonPort56.Checked = false;
}
+ this.radioButtonPortNone.Click += new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort56.Click += new EventHandler(this.radioButtonPort_Click);
+ this.radioButtonPort78.Click += new EventHandler(this.radioButtonPort_Click);
- this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2Port = value;
+ after = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2Port = value;
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT2Port, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT2Port, "", before, after);
+ }
+
+ private void labelZeroZoneCycle_Click(object sender, EventArgs e)
+ {
+ string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2ZeroZoneCycle;
+
+ DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelZeroZoneCycle.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
+
+ if (myKeyPad.ShowDialog() == DialogResult.OK)
+ {
+ if (myKeyPad.doubleValue < 0 || myKeyPad.doubleValue > 9999)
+ {
+ // 입력범위를 확인하세요
+ DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
+ else
+ {
+ this.labelZeroZoneCycle.Text = myKeyPad.StringValue;
+
+ value = Helper.StringZeroFillDigits4(this.labelZeroZoneCycle.Text);
+ after = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2ZeroZoneCycle = myKeyPad.StringValue;
+ this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
+ this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.SubBoardAll, CommunicationAddress.OPT2ZeroZoneCycle, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT2ZeroCycle, "", before, after);
+ }
+ }
+ }
+ private void labelZeroZoneCount_Click(object sender, EventArgs e)
+ {
+ string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2ZeroZoneCount;
+
+ DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelZeroZoneCount.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
+
+ if (myKeyPad.ShowDialog() == DialogResult.OK)
+ {
+ if (myKeyPad.doubleValue < 0 || myKeyPad.doubleValue > 9999)
+ {
+ // 입력범위를 확인하세요
+ DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
+ else
+ {
+ this.labelZeroZoneCount.Text = myKeyPad.StringValue;
+
+ value = Helper.StringZeroFillDigits4(this.labelZeroZoneCount.Text);
+ after = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2ZeroZoneCount = myKeyPad.StringValue;
+ this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
+ this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.SubBoardAll, CommunicationAddress.OPT2ZeroZoneCount, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT2ZeroCount, "", before, after);
+ }
+ }
}
#endregion
}
diff --git a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.resx b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.resx
index 2789724..51d29b0 100644
--- a/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.resx
+++ b/ITC81DB_0H/Controls/Etc/ControlConfiOptionBoard2.resx
@@ -118,6 +118,257 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAU8AAAAtCAIAAACh5H5AAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
+ DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
+ bGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUis
+ iGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQ
+ sf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJO
+ yhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaI
+ b4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArou
+ S49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0i
+ vQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424
+ HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxR
+ RKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKb
+ F6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQ
+ DtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJE
+ geQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhM
+ gqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgs
+ wkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYr
+ oQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHms
+ AdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8
+ Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQ
+ tJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzy
+ pOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4
+ UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrC
+ WbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o
+ 3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0Svo
+ PfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05b
+ RztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAU
+ vdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZv
+ xjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa
+ 2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHI
+ dmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Sn
+ t+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z
+ /z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4Rz
+ wzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8Yqpj
+ ZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbj
+ kqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09m
+ SWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvN
+ e70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quF
+ nbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/
+ VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1F
+ DR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TL
+ d1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/E
+ XRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPq
+ RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
+ lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
+ f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
+ j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAAOxAAADsQBlSsOGwAABTZJREFUeF7t3UlT6lgA
+ huH8DxV168pyZVlaTqU4bBQnnAWxBZzF64A2EOIAKkQFFESLnb+zv3COFnK16zYC1cbvWSg5hCo2b3Jy
+ AqpY3mtsbBwaGtrd3dV1/enpKUdE30cmk7m6ukK/g4ODaFlW/epd7f39/bFYLJlMRqNRVVUDgcDfRPR9
+ BIPBcDiMflExWrZarbLtPFl7Q0OD0+nEHufn5/J1RPSdoeVEIoGuUbfIXNaOoZubGxwY5I5E9P2haHSN
+ ukXmRu043eMYwNSJzAddo24xpVdwlkf9nMATmRXqRuMoXRkeHr67u5PDRGRGt7e3KF3x+XyRSESOEZEZ
+ XVxcoHQlFoupqirHiMiM0DhKV9LpNO+rE5kbGs9kMsrT05McICLzQumsnehHMGrPZrNyi4jMC6VXpPbm
+ 5uampqaWlhaPxyOH3rNardhhZGREbhNRhVWq9s7OTpfL5XQ6V1ZWjo+P5WiBsbGx+fl5fqSHqGqM2h8f
+ H+VW+XR1df2Vt7i4uLm5KUcLsHaiKkPplap9fX3d6/XiDL+0tHRwcCCfeMXaiarMqD2Tycit8kHte3t7
+ wWBwZ2cHk3m32y2feMXaiarMuN9eudrj8Tgu2ldXVzGf393dlc/lfVg7ZgEjIyN9fX1Wq9Vut3+2wkdE
+ JTBqT6fTcqt8UDvyjsVieLywsIAL+KLluqLacWjo6OjAqzD51zTt6Ohobm4OzU9MTPj9frEPEX0FSq9g
+ 7WdnZ3i8sbGB2h0OR+FyXWHtaLunp2d0dDSVSuVyuYs8VVW3trawj9PpFC8hoq+obO2np6diE8Ui+MLl
+ usLaMc/H/peXlw8PD+JZYW1tDVcBeO3+/r4cIqJSGbUXNVYWRbVjor68vFy4XFdY+8DAAObteCtFfzzn
+ 8PBwZmbG5XL9vqRPRP8VSq9G7eDxeAqX60TtoVAIj9vb2zGZ13U9v+M7k5OTOEbwC7lEX2fUfn9/L7fK
+ 5/faj4+PxXIdmvf7/TabDbUjY5zAcdGOHQp3foN98KqipXsiKgFKr1LtIJbrcB2O8zzO7Zi9R6NRHAUw
+ k9/e3v7wO/YTExNTU1Osnejrqlo7iOU6dG6320XtGETtOOF/eHE+NDSE6/Z4PC63iahURu2pVEpulc9n
+ tYvlOpzb8RPli5M2Ls7FDL/o+zO/fv1qa2s7OTkR9+2J6CtQelVrB6TudrvRNgoXtW9ubjocDrFoL/aB
+ o6Oj7u5uTPjT6fTl5SVGdnZ21tbWtra2ig4KRPQnjNqTyaTcKp9/qV0s13m93rfaAZuIeXZ2dnR0FOf8
+ paUlnNVtNhve29uf1hkeHm5tbR0fH+cNOaISoKaK1I5ic7ncZ/f2fD6fruvPz88vLy9iBNP1s7MzDEYi
+ ERwmcCBQVRXPPj4+irt0gPM/HmezWU3TxAgR/Tmj9kQiIbfKJxAIRKNR8cnZD6FY7FC02B4OhxH8XR7e
+ WdHUwO/34wIe75a334lKgHYqUjsR/d+wdqKfwqid/wSO6CdA6cr19TX/VwyR6em6roTy5AARmREa1zRN
+ 8Xq9H94YJyLTQOMoXenr6xMfViMis0Lj/f39Sn19PboPh8NymIjMBXWjcZSu1NbWdnd3I32u1RGZD7pG
+ 3WgcpSt1dXX4NT09HYlE5PNEZBboGnWjcZSuWCwWEfzCwgKOAZzSE5kDWkbR6FqkjtKN2kXwNTU1XV1d
+ wWAwGo1qmlb0NyGJ6FtAueJ7KHiAotG1SB1k7SDO8PjZ29vr8XhCoVAsFtOJ6PtAsygX/aLit6Jl4RbL
+ PwiLiCKz1c8RAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAU8AAAAtCAIAAACh5H5AAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
+ DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
+ bGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUis
+ iGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQ
+ sf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJO
+ yhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaI
+ b4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArou
+ S49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0i
+ vQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424
+ HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxR
+ RKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKb
+ F6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQ
+ DtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJE
+ geQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhM
+ gqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgs
+ wkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYr
+ oQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHms
+ AdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8
+ Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQ
+ tJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzy
+ pOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4
+ UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrC
+ WbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o
+ 3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0Svo
+ PfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05b
+ RztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAU
+ vdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZv
+ xjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa
+ 2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHI
+ dmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Sn
+ t+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z
+ /z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4Rz
+ wzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8Yqpj
+ ZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbj
+ kqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09m
+ SWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvN
+ e70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quF
+ nbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/
+ VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1F
+ DR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TL
+ d1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/E
+ XRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPq
+ RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
+ lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
+ f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
+ j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAAOxAAADsQBlSsOGwAACSNJREFUeF7tnetTVOcZ
+ wM//oaDJt2Qm39oPjjWdsZmYjlcMUJR4DwgGY0zUXCq5TWfSmAajaUdNES+4XFxEFAEvGKMIu8t9WS4L
+ ymUBAaM2TfsP9HfOs9DlpUnxSKfIPO/8ZvOe533PWb/83ud5D+dsrPjJbeGzzy5em5L8Sc6OMxXvlPv2
+ VjUoivK0sLusZvuJMvxdnJCCy1Grx9sk2xetSsw4eTGjNLCh0J902rf2ZF3CCUVRnhpePVmXnO/DXyzG
+ 5UWrkqJuOy1q+4KFC1fs+iDzfGC9x2ecryjK0wguYzReY7doHrV9+a7300r8LAzGCYqiPL1gNF5jt2hu
+ 275odfL2c6q6osxB8Bq7cdy2fcEzz2Serlh/Rgt4RZmbYHdmfiWmW4vXrk/3quqKMpdJ8/ow3Ur8OCfV
+ Y44pijKXwPGkTw5aaXllSafMMUVR5hI4julWlvfG2ilj7uA6NiftGwMCfRsnHjtB5hijiqL8j0CxLO93
+ 1s7SGmPAHaJx4ilf0ilf8mnf7xzoEImK7UygT4S4QB9k1LigoigzCKZbWSW3jKg70FU0XnfGv8ET2Fhg
+ 85onwKFYLaqzFqTk+9ef8ad6/Kln/Ovyx0enXFBRlBkE0603vDeNqDuQGZNxe1NhIO1sQ4bXhs7mwnrc
+ FqXtCfn2WrClqH5rUT2fGwrs5YA4pxsXVBRlBsF0a8fZG0bUHeRtSnfyebq34eEPP/7TaRXBgcySRqyW
+ DM8EVMfz9sh9mbCt2BaebM/pxgUVRZlBMN3KLP7WiLqD1I3SiJ1V2igm09A+uzJIkmcVYJQkT6rf7m3o
+ GIzanuGsBcSl1JdqH6Rvb/WnfJGiKC7AdGt74XUj6g50ZR9Orn6rrOkfMc1/9x6R18/awpPGmbDjXCO2
+ y2hWqT1Ewie9S/KnA1Pv8BlfpyjKY4HpVnpBtRF1h227x89G/e0LzT9ObsdrwxiO56Rx6vydpU0dg2My
+ 9FZZs6R3FgK5t8e2H4w7fLbzU75RUZTpg+lWmueaEXUHTuInMk/YPvz9I+n0jjwQq1kL2MaT6ids33Ox
+ Gfkp9cnwQJEvt/e4DqsDZT/XJNUnqfCK8mRguvV6/hUj6o5Y2//uNJT23RmWfkWw/83zTW+ca6R0332h
+ uT0yJvF3L7UwnyGcL66/UxMeDA2MwrX2gRO13SwQchtvXX50Y298qaIo0wTTrW2nLxtRd4jtZG9k/sFp
+ HZHRz6pD9x8+oj/24FF2ZSsZnlHyeXtkVObsr2p9v6L1wPVQz/B9icS2toGRd8ub7Y19QYCdvC38lO9V
+ FGU6YLq15VSVEXXHhO0o/TentQ+MfHg5eLmtXw5vhwf3lbeQzN+71MKQBJnAitAzPCaHDXeHv/6uI/d2
+ mI5EuofGqAi2FtWn6p/lFeUJwHRr84kKI+qOGNubHjkt5NgOPUNjEsmrC5PMs6uCDEmE0aq2Punf7ors
+ KbcLe6DTcGdY4lT47Oc3OuldbVcUd2C6tSnvkhF1R6ztD53W1n8PsdE7rzYske7BUfGfIYnQJyj9j6uC
+ nJtVau/tKRAOVIck3hUZ2XHOeURHH8JRFLdgurUxt9yIuiPW9gdOC/YNU7RTulPA3+ockGBlsBfDGZJD
+ +tIhQkqnaOcKgPPvXGwOR0ZkdGdp07bi6EM4xvcqijIdMN3a8NeLRtQdsbZ/77TW3qE9F+3bciTq7MrW
+ 4dExgnyyUQ/2DsmcIzWd0rnUepcTqdjJ4ZDhte/2sUbI6Jvn7YdwUj3OnfkpX60oyn8F063Ub8qMqDti
+ bb/vtJa7gxhLWU7GRtcLTXckXh3qYyGQ/sEb7dK5FupjUfi37SWNnOvvjsgo10z32nfmk0/HvD875d+g
+ KMpPgenW+qPnjag7Ym0fc1rznQj9TOehGuxF5o7+YRm6O3hPOlTy0mFpoHSngMdqYI2gLujoH5JRzJe3
+ a1L16TpFcQWmW+uOlBpRd2CgPDlLGh91WlNPhD7qYqk8Hv/NrU4ZmmjY3tE3JP3Pr7VhNVt0oMOhxH1d
+ /bKlp5jfVBhg9x7927vesVOUaYPpVspfSoyoO2zbnbdiSMtiaWNPBEXlYbiNBQFcJdXf7OiTUWnYfq6x
+ R/p1Xf17x/8C92FVsH18FSgOdCP/gattX1WHvrzWtsPbIC/Ma3pXlOmD6Vbyn71G1B3YLm+8UnKPOK0h
+ PJDhJHZWAfwkLVPP769sHRi6JxNo2VXB31e2hnoH5ZBOcSAM3QNDEqnttBP7rrKm+vCARP50tW2DRx+t
+ U5THA9OtpK/PGlF3kGlT8v3kcIr5e04LdPVLYpe3WREe86nnS+u7ZQKNvToy769orenojYZiWkVzz3vl
+ LWzmOYurSfCLK0G1XVEeF0y3Eg8XG1F3sItGadI4OfzLq0FK7k8rWpGfhJ/k/NSkjCL8dm/Doeuhw9+G
+ /njF/qELDvmkIvj8arAkEC6pdwiEP6pokdfm2AKwapyo6SzydRXWde0ra5J7dVrJK8r0wXTr1a+KjKg7
+ sB2lSbnkcHIvKf21yT9BKcLbowWBzYX2n9n4lFfZ+eQQpXFb7snT2VoUHWW+7PzlMNVj/9yFPDOvtivK
+ NMF0a+3BAiPqDsSbUBrn5fdnJKuLljJKhPi6fD8LAZ8yjU8O0Vh+0MI23BMggU+aMH5K7GWNf4OiKD8F
+ plsJOR4j6hpRmgIbFYGOXWyPZ2B7dPKEiWnSwWFWiglE6f9I7GUVRZkWOR5r5WfHE/JumwNPQNTqcYxR
+ MCZMQjQel/lnMK6pKMrPUrv6wClr2QcHE3Jn5iflFUWZpRy/9dvsw9aStL1rjl41xxRFmUPg+JL0fdYL
+ S5evOjQzD88qijI7wfEXfrPciluw4OX9h9Ycm5nfmVYUZbaB3cv2H45bsNCaP3/+8y++vPJgyczeq1MU
+ ZVaQdxu7cRzTrbi4OP7zi8QtKw/NzKuviqLMHvAau3Ec0634+HhH+LhfpqSvyPGuPjoz/zMJRVH+v6w+
+ Vo3ReO2YHofptu0i/Lx585771UtL9x1YkVOy6siVNbk3E/JqjfMVRZnV5NViLv5iMS4/t+QlvBbVaVHb
+ aU6Gnz9vftzzv35l0ZbdS/d9sezTY6/8IVdRlKcFnMVc/MViXJYCPmp4fPy/AOcNe3u1Gz2WAAAAAElF
+ TkSuQmCC
+
+
+
+
+ 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
@@ -165,376 +416,447 @@
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
- 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
- zDnXTjR3T15oXl77dvmrGsf3OHYKxbi48T2enULSjO+x7hSKMcU4aaT1TJs2zfzVX/2V9+ca2z/8wz+U
- vyuJlXc/2GLGT33GHH7GGPOtIy4K8oNfXWEuveNx8+aGD8rX5s/+++/vfTzr+dv//t+9p9fzhS98wcyb
- N6/8XUnR0so6aQVzJN38/d//vfcxj02zZsKECeXvmnZ899+iGCes29n4wYdm9esbzOIXXzeLlr+W0f+/
- 9uZGs/WjT8qXIqRz+eiTbeayUqndc8jIwaK759BRZt/jbjT7nzTWHHja/eZHZz1a4aAzHzY/+N095ru/
- vtnsNeyyipL8mwvHZes4Vra8sqb8f4R8lk+2bc/+EFu++s3B2Sn6t07ftn17+ZKEtJbX33rPTHlqmbnu
- nplmxLUTzfBzbjc//d315sDjrxykfw89+1Zz2mX3mavHzTCTZi3Nfn+nGF9nsijGCet03tv0oXnoyefN
- 2Vc/lG1lcwuFz0HHX2XOv3Gymf3cqqzAEBIry1aty9bW/seo2I403/nl6FIRvjMrvT8+9/Egh/xxsjng
- lPFmn2OvN3sceXG2dn99QZyCvGH+fLNt06byv0g/RxsNxtz/lDmyVESqZ6WPCsuN9z2VrcMdOz4tXwsh
- tbNt+w4zZc4Lpfl1907raa+jrjD7/OoGs+9xYyp8e/hVg3PPGv6nO0q/6xcn9Xvb15ksinHCOpWXX3vb
- jLp9mtnvmMsrnjx7DrusVEiu2+mJ9p1jrjV7DLmk4rL7HXOp+Y8bHjWvJvrXKOlebrhv9uC60lBvpQzX
- csgfp5r9TrzdfKv8i+LY/xhr3nq3tWL76aefmnWPTTWbS3OP9Ge2l4rKhMcWmZ+cdN3gms0cOdJ8+xdX
- 7lxUfnVjdrrOdy+vjQy3T3w629JMiC8rX32rVGjvHFwzew671Oz3m9vMD0+73xx6zmPeeWfp/B+e/kA2
- +/Y66rPf89qq/Njc5eXvUOz4OpNFMU5Y7OivRe17aZ8k2jKnrWoHnHy3OeTsyd4nmOtHZ00y3//tWLP3
- 0VcPXse+w0dlW0E2bdla/i6ENBeVgotveSxbR/rD6/uldfjjc6Z51167fnj6g9kuGfpeenVk5avNv0nP
- 5pMPPjDrpkzOthqT/sqO0h9Fj8xakr1UbWefiop231EB8a25alqD3zvh1mxLn72OQ35zbfamUXa1IDYf
- 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
- AAAAuHmO+f8Bb0FuHjduk4cAAAAASUVORK5CYII=
+ 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
+ 6bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4
+ t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK0
+ 6bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4
+ t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK0
+ 6bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4
+ t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK0
+ 6bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4
+ t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK0
+ 6bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4
+ t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK06bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK0
+ 6bHhQ48F/OWlxyY4t2GCcZKhaQP+8tK0KYqiKO/l1k9r4sxJBOMkQzAG/OUlGNNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNj
+ w4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWladNjw4ceC/jLS49NcG7D
+ BOMkQ9MG/OWladNjw4ceC/jLS49NcG7DBOMkQ9MG/OWlaVMURVHey62f1sSZkwjGSYZgDPjLSzCmx4YP
+ PRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnG
+ SYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YP
+ PRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnG
+ SYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YP
+ PRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnG
+ SYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YP
+ PRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnG
+ SYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YP
+ PRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnG
+ SYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YP
+ PRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+DchgnGSYamDfjLS9Omx4YPPRbwl5cem+Dchi8p
+ GG/YsEEeGVdc6QkRbDRtwD+XXXaZrFu3zrWfuqHHhg89FvCP1x6b4NyGLykY64s/NXlRpSdEsNG0Af9c
+ eeWVUlRU5NpP3dBjw4ceC/jHa49NcG7DlxSMi4uLpcec0kpPiGCjaQP+adq0qaSkpLj2Uzf02PChxwL+
+ 8dpjE5zb8CUF4969e8uUhWWVnhDBRtMG/NOrVy9p3769az91Q48NH3os4B+vPTbBuQ1fUjD+xS9+IevX
+ r5dXZi6t9KQILpo24I9rr71WSkpK5JprrnHtp27oseFDjwX8cTE9NsG5DV9SMFYff/yxzCgp5wKRkKBp
+ Aw3v8ssvlwEDBkirVq1c+2hN6LHhQo8FGt6l9Fjl3IYvORiruXPnytj81fLQmHPPhWCiaQMN60/+5E+k
+ R48e8tFHH7n2z9qgx4YHPRZoWHXRY53bcJ0E46uvvloyMjJkZkm5vMZbfoFG0wYaTqNGjWTgwIHSs2dP
+ ueqqq1z7Z23QY8ODHgs0nLrqsc5tuE6CccIf/vAHe3shvVik+5xSaTdpkTzMEY5AoWkD9ecnP/mJ/Oxn
+ P7NXRutFIHl5eRf91p4bemzw0WOB+lNfPda5DddpMFZ6sYheSa0nQFdUVNgmAQDJQENrYWGhvV1Qu3bt
+ 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
+ Y+TGp4fad5zufKa/XW8mpy2xR5KDXG5jNYKDYBxxdVUHDh+TjOI10q7bWLm+bU8bem58epjc9sJYubPr
+ l3L3G7PlnrfnnXX3W3OkyStT7c9v7mRCUrt+cl3rz6TVW6NlVs5K+xY7Fa3asH23dP54sg0wN3UaaY8A
+ N38vU+7/IMeG3vOCcE00JJvfa/7uArnrzVly87Mj7fN2/niS56PHx7//Xr7LzJRDmzbFv0MFqfbsPyQz
+ s1fIY2+MivUW0ytufMb0li5fyJ2vTDG9pGpvmS1NXp5if35TpxGx03HafC4PvzxMvpi7yL5LRYWn9J3H
+ gmUbTKgdZ3d8NAzf9sI4ufvN2dK8xwK5793Msz2hknivaN4j0+x4zzdBeZLcZNabRm16yf0vDpGpC0rl
+ oBm3glhuYzWCg2AccZdap8+ckRyzF9/po4n2iLDuneveuzYtbUp69O/cEUCHePOyPzPueWuu3PHSxLON
+ 68keYyV94Ro5dpyjPFGo/NIN0twMRtebkHLnK1+adcAMZmfXC0fgvRj2eTLljpe/NM8/QB7oOlTyl62P
+ v/KF64cNG+RAbo7sX7VKxKzPVDBK313QneRWb4+xp9vc9Mxw2yPuMTvVutxr01vUve/EQtHNz4yQ68wO
+ e4tXhsuXaUvlwKGj8Veiglrf7NpvL8DVHRs9feqOlyZJs+7p8eXu0gtqor9jdqSbvjpNbjY7TDpePfeH
+ SbJ83dfxVwtOuY3VCA6CccRdSulR3c/HLJBbOvSRG0zTuvPlKfZcUD2Sp293uzanathBzPyeNj19K0wD
+ 9q1P9ZceQ+ZWe4EVFY7SdxKadOpvj/Tc/easeJB1Xw8uha5Dd78xS254eojc03mQfd0L1xnZV1oqPxTk
+ y57ihXL6mPdTMai6ry3f7pU3+s20p0jc+PRwafrKNGneI8P2lYvtLfr7d70+0767cGP7vvbdi7KNO+Kv
+ SAWtVq3/1p4Ko6dB3PbCF/a6g4t6d6kS3VnSdWGBHa+u7zjInpah70icPh2cnWK3sRrBQTCOuIut9dt2
+ Scf3vrAXQOnbWnYvPnG0xrUh1Y4dxIxm3TPk9hfH21MyHn19lJRv2hl/ZSpMVbh8o9zxTD97Ws29b8+z
+ y9ZtudcVHfT07XR9vTue7itF5vVrqtM//ih7FhbJ/twc2ZmVKcf37Y3/hPKrFq7cJA92HSbXt+tnjxDH
+ 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
+ OOU2ViM4CMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYA
+ AACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAA
+ DIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCM
+ AQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAA
+ ABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAg
+ GAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgA
+ AAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACA
+ QTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIx
+ AAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAA
+ AINgDAAAABgEYwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgE
+ YwAAAMAgGAMAAAAGwRgAAAAwCMYAAACAQTAGAAAADIIxAAAAYBCMAQAAAINgDAAAABgEYwAAAMAgGAMA
+ AAAGwRgAAAAwfA3Gq1atkiuuuMJ1wgAAAICGctlll8m6detcM2tNnFn4koJxbm6u/PznP3edOAAAAKCh
+ XHnllVJUVOSaWWvizMKXFIxHjRolTZs2dZ04AAAAoKFoJk1JSXHNrDVxZuFLCsbt2rWTXr16uU4cAAAA
+ 0FA0k7Zv3941s9bEmYUvKRhfffXVUlxcLNdee63rBAIAAAD1TbNoSUmJXHPNNa6ZtSbOLHxJwVi1atVK
+ BgwYIJdffrnrhAIAAAD1RTOoZlHNpG5Z9UKcWfiSg7H66KOPpEePHvKnf/qnrhMMAAAA1LU/+ZM/sRlU
+ s6hbRq0NZxauk2B81VVXSc+ePWXgwIFy3XXXuU44AAAAUFcaNWpks6dmUM2ibhm1NpxZuE6CccITTzwh
+ eXl59uRnvTLwZz/7mfzkJz9xnRkAAACgtjRTarbUjKlZUzPnxZ4+4eTMwnUajJVekKd3q9DbZRQWFtob
+ LeunkAAAAAAXSzOlZkvNmJo1NXO6ZVGvnFm4zoMxAAAAEBbOLEwwBgAAQNJyZmGCMQAAAJKWMwsTjAEA
+ AJC0nFmYYAwAAICk5czCBGMAAAAkLWcWJhgDAAAgaTmzMMEYAAAAScuZhQnGAAAASFrOLEwwBgAAQNJy
+ ZmGCMQAAAJKWMwsTjAEAAJC0nFm4UjAGAAAAkhXBGAAAADAIxgAAAMDohfL/Ayer/Ught5jUAAAAAElF
+ TkSuQmCC
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayFeedback.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayFeedback.cs
index db7cc24..4c28be1 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayFeedback.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayFeedback.cs
@@ -213,6 +213,10 @@ namespace ITC81DB_0H
this.ParentForm.Part11AutomaticLogoutReset();
string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1SamplingCount;
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelSampleCount.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -225,13 +229,16 @@ namespace ITC81DB_0H
}
else
{
- this.labelSampleCount.Text = myKeyPad.StringValue;
+ after = this.labelSampleCount.Text = myKeyPad.StringValue;
value = Helper.StringZeroFillDigits4(this.labelSampleCount.Text);
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1SamplingCount = myKeyPad.StringValue;
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1SamplingCount, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1SampleCount, "", before, after);
}
}
}
@@ -242,6 +249,10 @@ namespace ITC81DB_0H
this.ParentForm.Part11AutomaticLogoutReset();
string value = "";
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1DelayCount;
+
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelDelayCount.Text, 4, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
@@ -254,13 +265,16 @@ namespace ITC81DB_0H
}
else
{
- this.labelDelayCount.Text = myKeyPad.StringValue;
+ after = this.labelDelayCount.Text = myKeyPad.StringValue;
value = Helper.StringZeroFillDigits4(this.labelDelayCount.Text);
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1DelayCount = myKeyPad.StringValue;
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1DelayCount, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1DelayCount, "", before, after);
}
}
}
@@ -272,8 +286,11 @@ namespace ITC81DB_0H
this.ParentForm.Part11AutomaticLogoutReset();
string value = "";
+ string before = "", after = "";
int digit = 0;
+ before = this.labelUpperLimit.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
digit = 4;
// V6.2.0
@@ -297,7 +314,7 @@ namespace ITC81DB_0H
}
else
{
- this.labelUpperLimit.Text = myKeyPad.StringValue;
+ after = this.labelUpperLimit.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.CurrentFeedbackItem.OverRangeDeviation =
@@ -307,6 +324,9 @@ namespace ITC81DB_0H
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange);
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1OverRange, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1OverRange, "", before, after);
}
}
}
@@ -317,8 +337,11 @@ namespace ITC81DB_0H
this.ParentForm.Part11AutomaticLogoutReset();
string value = "";
+ string before = "", after = "";
int digit = 0;
+ before = this.labelLowerLimit.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
digit = 4;
// V6.2.0
@@ -342,7 +365,7 @@ namespace ITC81DB_0H
}
else
{
- this.labelLowerLimit.Text = myKeyPad.StringValue;
+ after = this.labelLowerLimit.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange = myKeyPad.StringValue.Replace(".", "");
this.ParentForm.ParentForm.CurrentFeedbackItem.UnderRangeDeviation =
@@ -352,6 +375,9 @@ namespace ITC81DB_0H
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1UnderRange, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1UnderRange, "", before, after);
}
}
}
@@ -363,9 +389,12 @@ namespace ITC81DB_0H
this.ParentForm.Part11AutomaticLogoutReset();
string value = "", sValue = "";
+ string before = "", after = "";
double dValue = 0.0;
int digit = 0;
+ before = this.labelUpperLimit.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
digit = 4;
// V6.2.0
@@ -395,6 +424,7 @@ namespace ITC81DB_0H
else
{
string temp = "";
+ after = sValue;
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange = sValue.Replace(".", "");
if (myKeyPad.StringValue.Contains('+') == true)
@@ -409,6 +439,9 @@ namespace ITC81DB_0H
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1OverRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1OverRange, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1OverRange, "", before, after);
}
}
}
@@ -419,9 +452,12 @@ namespace ITC81DB_0H
this.ParentForm.Part11AutomaticLogoutReset();
string value = "", sValue = "";
+ string before = "", after = "";
double dValue = 0.0;
int digit = 0;
+ before = this.labelLowerLimit.Text;
+
if (this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces == 0)
digit = 4;
// V6.2.0
@@ -448,6 +484,7 @@ namespace ITC81DB_0H
}
else
{
+ after = sValue;
this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange = sValue.Replace(".", "");
if (myKeyPad.doubleValue == 0)
@@ -461,6 +498,9 @@ namespace ITC81DB_0H
this.ParentForm.ParentForm.SaveSystemParameter2File(this.ParentForm.ParentForm.CurrentSystemParameter2);
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1UnderRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OPT1UnderRange, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OPT1UnderRange, "", before, after);
}
}
}
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayMenu.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayMenu.cs
index cebef2f..cf1d59c 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayMenu.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayMenu.cs
@@ -475,13 +475,19 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelSorterADelayTime.Text = myKeyPad.StringValue;
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter1DelayTime.ToString();
+ after = this.labelSorterADelayTime.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter1DelayTime = myKeyPad.IntValue;
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
value = Helper.StringZeroFillDigits4(this.labelSorterADelayTime.Text);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.Sorter1DelayTime, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorADelay, "", before, after);
}
}
}
@@ -505,13 +511,19 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelSorterARunTime.Text = myKeyPad.StringValue;
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter1RunTime.ToString();
+ after = this.labelSorterARunTime.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter1RunTime = myKeyPad.IntValue;
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
value = Helper.StringZeroFillDigits4(this.labelSorterARunTime.Text);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.Sorter1RunTime, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorARun, "", before, after);
}
}
}
@@ -540,13 +552,19 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelSorterBDelayTime.Text = myKeyPad.StringValue;
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter2DelayTime.ToString();
+ after = this.labelSorterBDelayTime.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter2DelayTime = myKeyPad.IntValue;
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
value = Helper.StringZeroFillDigits4(this.labelSorterBDelayTime.Text);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.Sorter2DelayTime, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorBDelay, "", before, after);
}
}
}
@@ -570,13 +588,19 @@ namespace ITC81DB_0H.Controls
}
else
{
- this.labelSorterBRunTime.Text = myKeyPad.StringValue;
+ string before = "", after = "";
+
+ before = this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter2RunTime.ToString();
+ after = this.labelSorterBRunTime.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentJudgmentSetItem.Sorter2RunTime = myKeyPad.IntValue;
this.ParentForm.ParentForm.SaveJudgmentSetFile(this.ParentForm.ParentForm.CurrentJudgmentSetItem, this.ParentForm.ParentForm.SystemConfig1.ProductNumber - 1);
value = Helper.StringZeroFillDigits4(this.labelSorterBRunTime.Text);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.Sorter2RunTime, value);
+
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.SorBRun, "", before, after);
}
}
}
@@ -636,7 +660,7 @@ namespace ITC81DB_0H.Controls
else
this.ParentForm.ParentForm.TransferData(CommunicationCommand.ByNGON, CommunicationID.MainBoard);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Bypass, "ON");
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Bypass, "Consecute - ON");
}
else
{
@@ -648,7 +672,7 @@ namespace ITC81DB_0H.Controls
else
this.ParentForm.ParentForm.TransferData(CommunicationCommand.ByNGOFF, CommunicationID.MainBoard);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Bypass, "OFF");
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Bypass, "Consecute - OFF");
}
}
}
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayModbus.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayModbus.cs
index afd9f9c..1d0b06d 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayModbus.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayModbus.cs
@@ -281,17 +281,17 @@ namespace ITC81DB_0H.Controls
public void DisplayRefresh(SystemStatus status)
{
this.comboBoxPort.Items.Clear();
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f16_OPC)
this.comboBoxPort.Items.Add("COM1");
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f16_OPC)
this.comboBoxPort.Items.Add("COM3");
- if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f22_Modbus_RTU
- || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f16_OPC)
this.comboBoxPort.Items.Add("COM4");
- if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f22_Modbus_TCP
- || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_EthernetMode.f16_OPC)
+ if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f22_Modbus
+ || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)Define.E_CommMode.f16_OPC)
this.comboBoxPort.Items.Add("TCP");
this.comboBoxPort.SelectedIndex = 0;
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStart.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStart.cs
index 90d1aca..960d8c9 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStart.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStart.cs
@@ -306,9 +306,12 @@ namespace ITC81DB_0H.Controls
{
string value = "";
- value = data.ProductionSpeed.ToString();
- if (this.labelSpeed.Text != value)
- this.labelSpeed.Text = value;
+ if (data.ProductionSpeed <= 500)
+ {
+ value = data.ProductionSpeed.ToString();
+ if (this.labelSpeed.Text != value)
+ this.labelSpeed.Text = value;
+ }
this.SetProgressBarValue(this.progressBar, data.Weight, data.JudgmentStatus, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
@@ -457,7 +460,8 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentProductItem.UnderRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.UnderRange, value);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightUnderRange, "", before, after);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "", before, after);
}
}
private void buttonPassRange_Click(object sender, EventArgs e)
@@ -560,17 +564,16 @@ namespace ITC81DB_0H.Controls
if (this.ParentForm.ParentForm.ChildFormMainDisplay.MainDisplayFeedback.IsUsingFeedback() == true)
this.ParentForm.ParentForm.UpdateFeedbackData(this.ParentForm.ParentForm.CurrentProductItem, this.ParentForm.ParentForm.CurrentSystemParameter2);
- this.buttonPassRange.Text = myKeyPad.StringValue;
- this.buttonUnderRange.Text = underRange;
- this.buttonOverRange.Text = overRange;
-
after = this.buttonPassRange.Text = myKeyPad.StringValue;
afterUnder = this.buttonUnderRange.Text = underRange;
afterOver = this.buttonOverRange.Text = overRange;
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightPassRange, "", before, after);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightUnderRange, "", beforeUnder, afterUnder);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightOverRange, "", beforeOver, afterOver);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.PassRange, "", before, after);
+ if (beforeUnder != afterUnder)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "Change Pass Value", beforeUnder, afterUnder);
+ if (beforeOver != afterOver)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "Change Pass Value", beforeOver, afterOver);
}
private void buttonOverRange_Click(object sender, EventArgs e)
{
@@ -666,7 +669,8 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentProductItem.OverRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OverRange, value);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightOverRange, "", before, after);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "", before, after);
}
}
@@ -713,7 +717,8 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentProductItem.TareRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.TareRange, value);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightTareRange, "", before, after);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TareRange, "", before, after);
}
}
}
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStartGrapht.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStartGrapht.cs
index 95f48a0..e5b9cab 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStartGrapht.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayStartGrapht.cs
@@ -376,7 +376,8 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentProductItem.UnderRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.UnderRange, value);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightUnderRange, "", before, after);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "", before, after);
}
}
private void buttonPassRange_Click(object sender, EventArgs e)
@@ -481,17 +482,16 @@ namespace ITC81DB_0H.Controls
if (this.ParentForm.ParentForm.ChildFormMainDisplay.MainDisplayFeedback.IsUsingFeedback() == true)
this.ParentForm.ParentForm.UpdateFeedbackData(this.ParentForm.ParentForm.CurrentProductItem, this.ParentForm.ParentForm.CurrentSystemParameter2);
- this.buttonPassRange.Text = myKeyPad.StringValue;
- this.buttonUnderRange.Text = underRange;
- this.buttonOverRange.Text = overRange;
-
after = this.buttonPassRange.Text = myKeyPad.StringValue;
afterUnder = this.buttonUnderRange.Text = underRange;
afterOver = this.buttonOverRange.Text = overRange;
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightPassRange, "", before, after);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightUnderRange, "", beforeUnder, afterUnder);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightOverRange, "", beforeOver, afterOver);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.PassRange, "", before, after);
+ if (beforeUnder != afterUnder)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.UnderRange, "Change Pass Value", beforeUnder, afterUnder);
+ if (beforeOver != afterOver)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "Change Pass Value", beforeOver, afterOver);
}
private void buttonOverRange_Click(object sender, EventArgs e)
{
@@ -587,7 +587,8 @@ namespace ITC81DB_0H.Controls
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentProductItem.OverRange);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.OverRange, value);
- this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.WeightOverRange, "", before, after);
+ if (before != after)
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.OverRange, "", before, after);
}
}
#endregion
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightBigScreen.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightBigScreen.cs
index db89644..f2f47ff 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightBigScreen.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightBigScreen.cs
@@ -408,6 +408,7 @@ namespace ITC81DB_0H
if (myDlg.ShowDialog() == DialogResult.Yes)
{
this.ParentForm.ParentForm.ClearAlarm(1);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.CountClear, "");
}
}
@@ -417,6 +418,7 @@ namespace ITC81DB_0H
if (myDlg.ShowDialog() == DialogResult.Yes)
{
this.ParentForm.ParentForm.ClearAlarm(2);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.CountClear, "");
}
}
@@ -424,6 +426,7 @@ namespace ITC81DB_0H
{
this.ParentForm.ParentForm.CurrentBarcode.Clear();
this.UpdateBarcodeDisplay(this.ParentForm.ParentForm.CurrentBarcode);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.BarcodeClear, "");
}
#endregion
}
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.Designer.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.Designer.cs
index 3904bc9..46a2038 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.Designer.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.Designer.cs
@@ -488,7 +488,7 @@
this.labelCountingOutput2.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelCountingOutput2.Visible = false;
this.labelCountingOutput2.Wordwrap = false;
- this.labelCountingOutput2.Click += new System.EventHandler(this.labelAlarm2_Click);
+ this.labelCountingOutput2.Click += new System.EventHandler(this.labelCountingOutput2_Click);
//
// pictureBoxRandomModeDisable
//
@@ -519,7 +519,7 @@
this.labelCountingOutput1.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelCountingOutput1.Visible = false;
this.labelCountingOutput1.Wordwrap = false;
- this.labelCountingOutput1.Click += new System.EventHandler(this.labelAlarm1_Click);
+ this.labelCountingOutput1.Click += new System.EventHandler(this.labelCountingOutput1_Click);
//
// pictureBoxCountingOutputCount
//
diff --git a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.cs b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.cs
index 294f4d9..23683ae 100644
--- a/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.cs
+++ b/ITC81DB_0H/Controls/MainDisplay/ControlMainDisplayWeightSmall.cs
@@ -11,6 +11,7 @@ using SmartX;
using ITC81DB_0H.Forms;
using ITC81DB_2H_ImageDll;
using ITC81DB_2H.Datastore;
+using ITC81DB_0H.DialogForms;
namespace ITC81DB_0H.Controls
{
@@ -402,20 +403,31 @@ namespace ITC81DB_0H.Controls
#endregion
#region Event Handler
- private void labelAlarm1_Click(object sender, EventArgs e)
+ private void labelCountingOutput1_Click(object sender, EventArgs e)
{
- this.ParentForm.ParentForm.ClearAlarm(1);
+ DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 20);
+ if (myDlg.ShowDialog() == DialogResult.Yes)
+ {
+ this.ParentForm.ParentForm.ClearAlarm(1);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.CountClear, "");
+ }
}
- private void labelAlarm2_Click(object sender, EventArgs e)
+ private void labelCountingOutput2_Click(object sender, EventArgs e)
{
- this.ParentForm.ParentForm.ClearAlarm(2);
+ DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 20);
+ if (myDlg.ShowDialog() == DialogResult.Yes)
+ {
+ this.ParentForm.ParentForm.ClearAlarm(2);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.CountClear, "");
+ }
}
private void labelBarcodeCount_Click(object sender, EventArgs e)
{
this.ParentForm.ParentForm.CurrentBarcode.Clear();
this.UpdateBarcodeDisplay(this.ParentForm.ParentForm.CurrentBarcode);
+ this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.BarcodeClear, "");
}
#endregion
}
diff --git a/ITC81DB_0H/Datastore/Barcode.cs b/ITC81DB_0H/Datastore/Barcode.cs
index 0154b1c..ad71106 100644
--- a/ITC81DB_0H/Datastore/Barcode.cs
+++ b/ITC81DB_0H/Datastore/Barcode.cs
@@ -145,6 +145,45 @@ namespace ITC81DB_0H
productNo = 0;
return ret = BarcodeStatus.None;
}
+ public BarcodeStatus GetData(ref int productNo, int startIndex, int endIndex)
+ {
+ string value = "";
+ BarcodeStatus ret = BarcodeStatus.None;
+
+ if (this.QueueBarcode.Count > 0)
+ {
+ value = this.QueueBarcode.Peek();
+
+ if (value == "NoRead")
+ {
+ productNo = 991;
+ return ret = BarcodeStatus.NoRead;
+ }
+ else
+ {
+ int length = endIndex - startIndex + 1;
+ if (value.Length >= length)
+ value = value.Substring(startIndex, length);
+ if (value.Length > 14)
+ value = value.Substring(value.Length - 14, 14);
+
+ for (int i = 0; i < this.CollectionLotNo.Count; i++)
+ {
+ if (this.CollectionLotNo[i] == value)
+ {
+ productNo = i + 1;
+ return ret = BarcodeStatus.Normal;
+ }
+ }
+
+ productNo = 992;
+ return ret = BarcodeStatus.NoMatch;
+ }
+ }
+
+ productNo = 0;
+ return ret = BarcodeStatus.None;
+ }
///
/// 바코드 길이를 14 이하로 결정
@@ -159,6 +198,15 @@ namespace ITC81DB_0H
return barcode;
}
+ public string BarcodePeek()
+ {
+ string ret = "";
+
+ if (this.QueueBarcode.Count > 0)
+ ret = this.QueueBarcode.Peek();
+
+ return ret;
+ }
public void BarcodeDequeue()
{
if(this.QueueBarcode.Count > 0)
diff --git a/ITC81DB_0H/Datastore/DataStore.cs b/ITC81DB_0H/Datastore/DataStore.cs
index 65958e9..fbbe845 100644
--- a/ITC81DB_0H/Datastore/DataStore.cs
+++ b/ITC81DB_0H/Datastore/DataStore.cs
@@ -397,6 +397,10 @@ namespace ITC81DB_0H
public static readonly string OPT2DelayTime1 = "6232";
// 옵션 - OPT2_지연시간2
public static readonly string OPT2DelayTime2 = "6233";
+ // 옵션 - OPT2_영점실행주기
+ public static readonly string OPT2ZeroZoneCycle = "6234";
+ // 옵션 - OPT2_영점실행개수
+ public static readonly string OPT2ZeroZoneCount = "6235";
// 옵션 - 메인보드와의 통신 Baudrate
public static readonly string BLDCCommBaudrate = "6700";
// 옵션 - 메인보드와의 통신 Parity bit
@@ -1887,7 +1891,7 @@ namespace ITC81DB_0H
this.TransmissionDelayTimeCOM4 = 0;
this.StatisticsPrintFormat = 0;
- this.SerialNumber = "23B0000";
+ this.SerialNumber = "23G0000";
this.MainBoardVersion = "000";
this.Unit = "g";
this.UserDefineCOM1 = "";
@@ -2020,9 +2024,9 @@ namespace ITC81DB_0H
private int m_ModbusTCPSelectFunction;
private int m_ModbusRTUSelectFunction;
- private int m_ModbusRTUSlaveIDCOM1;
- private int m_ModbusRTUSlaveIDCOM3;
- private int m_ModbusRTUSlaveIDCOM4;
+ private int m_ModbusSlaveIDCOM1;
+ private int m_ModbusSlaveIDCOM3;
+ private int m_ModbusSlaveIDCOM4;
private bool m_IsBypassDirectionPass;
private bool m_IsBypassOnce;
@@ -2345,20 +2349,20 @@ namespace ITC81DB_0H
get { return this.m_ModbusRTUSelectFunction; }
set { this.m_ModbusRTUSelectFunction = value; }
}
- public int ModbusRTUSlaveIDCOM1
+ public int ModbusSlaveIDCOM1
{
- get { return this.m_ModbusRTUSlaveIDCOM1; }
- set { this.m_ModbusRTUSlaveIDCOM1 = value; }
+ get { return this.m_ModbusSlaveIDCOM1; }
+ set { this.m_ModbusSlaveIDCOM1 = value; }
}
- public int ModbusRTUSlaveIDCOM3
+ public int ModbusSlaveIDCOM3
{
- get { return this.m_ModbusRTUSlaveIDCOM3; }
- set { this.m_ModbusRTUSlaveIDCOM3 = value; }
+ get { return this.m_ModbusSlaveIDCOM3; }
+ set { this.m_ModbusSlaveIDCOM3 = value; }
}
- public int ModbusRTUSlaveIDCOM4
+ public int ModbusSlaveIDCOM4
{
- get { return this.m_ModbusRTUSlaveIDCOM4; }
- set { this.m_ModbusRTUSlaveIDCOM4 = value; }
+ get { return this.m_ModbusSlaveIDCOM4; }
+ set { this.m_ModbusSlaveIDCOM4 = value; }
}
public bool IsBypassDirectionPass
@@ -2485,9 +2489,9 @@ namespace ITC81DB_0H
this.ModbusTCPSelectFunction = 0;
this.ModbusRTUSelectFunction = 0;
- this.ModbusRTUSlaveIDCOM1 = 1;
- this.ModbusRTUSlaveIDCOM3 = 1;
- this.ModbusRTUSlaveIDCOM4 = 1;
+ this.ModbusSlaveIDCOM1 = 1;
+ this.ModbusSlaveIDCOM3 = 1;
+ this.ModbusSlaveIDCOM4 = 1;
this.IsBypassDirectionPass = true;
this.IsBypassOnce = true;
@@ -2617,6 +2621,11 @@ namespace ITC81DB_0H
#region Field
private bool m_IsPart11;
+ private int m_MULTiJETSlaveAddressCOM1;
+ private int m_MULTiJETSlaveAddressCOM3;
+ private int m_MULTiJETSlaveAddressCOM4;
+ private int m_MULTiJETSlaveAddressEthernet;
+
private int m_StoragePeriod;
#endregion
@@ -2634,6 +2643,27 @@ namespace ITC81DB_0H
set { this.m_IsPart11 = value; }
}
+ public int MULTiJETSlaveAddressCOM1
+ {
+ get { return this.m_MULTiJETSlaveAddressCOM1; }
+ set { this.m_MULTiJETSlaveAddressCOM1 = value; }
+ }
+ public int MULTiJETSlaveAddressCOM3
+ {
+ get { return this.m_MULTiJETSlaveAddressCOM3; }
+ set { this.m_MULTiJETSlaveAddressCOM3 = value; }
+ }
+ public int MULTiJETSlaveAddressCOM4
+ {
+ get { return this.m_MULTiJETSlaveAddressCOM4; }
+ set { this.m_MULTiJETSlaveAddressCOM4 = value; }
+ }
+ public int MULTiJETSlaveAddressEthernet
+ {
+ get { return this.m_MULTiJETSlaveAddressEthernet; }
+ set { this.m_MULTiJETSlaveAddressEthernet = value; }
+ }
+
public int StoragePeriod
{
get { return this.m_StoragePeriod; }
@@ -2646,6 +2676,11 @@ namespace ITC81DB_0H
{
this.IsPart11 = false;
+ this.MULTiJETSlaveAddressCOM1 = 58;
+ this.MULTiJETSlaveAddressCOM3 = 58;
+ this.MULTiJETSlaveAddressCOM4 = 58;
+ this.MULTiJETSlaveAddressEthernet = 58;
+
this.StoragePeriod = 12;
}
#endregion
@@ -2711,10 +2746,10 @@ namespace ITC81DB_0H
public int DummyInt23;
public int DummyInt24;
public int DummyInt25;
- public int DummyInt26;
- public int DummyInt27;
- public int DummyInt28;
- public int DummyInt29;
+ public int MULTiJETSlaveAddressCOM1;
+ public int MULTiJETSlaveAddressCOM3;
+ public int MULTiJETSlaveAddressCOM4;
+ public int MULTiJETSlaveAddressEthernet;
public int StoragePeriod;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)]
@@ -2761,7 +2796,11 @@ namespace ITC81DB_0H
private string m_UnderRange;
private string m_PassRange;
private string m_OverRange;
- private string m_TareRange;
+ private string m_TareRange;
+ private string m_SensingTime;
+ private string m_DispenserDelayTime1;
+ private string m_DispenserDelayTime2;
+ private string m_Sorting;
private int m_ProgressBarMaximum;
private int m_ProgressBarMinimum;
@@ -2831,6 +2870,21 @@ namespace ITC81DB_0H
get { return this.m_TareRange; }
set { this.m_TareRange = value; }
}
+ public string DispenserDelayTime1
+ {
+ get { return this.m_DispenserDelayTime1; }
+ set { this.m_DispenserDelayTime1 = value; }
+ }
+ public string DispenserDelayTime2
+ {
+ get { return this.m_DispenserDelayTime2; }
+ set { this.m_DispenserDelayTime2 = value; }
+ }
+ public string Sorting
+ {
+ get { return this.m_Sorting; }
+ set { this.m_Sorting = value; }
+ }
public int OverRangeDeviation
{
@@ -2893,6 +2947,11 @@ namespace ITC81DB_0H
{
get { return int.Parse(this.TareRange); }
}
+ public string SensingTime
+ {
+ get { return this.m_SensingTime; }
+ set { this.m_SensingTime = value; }
+ }
public int ProgressBarMaximum
{
@@ -2937,6 +2996,10 @@ namespace ITC81DB_0H
this.UnderRange = "1000";
this.OverRange = "3000";
this.TareRange = "0";
+ this.SensingTime = "0";
+ this.DispenserDelayTime1 = "200";
+ this.DispenserDelayTime2 = "200";
+ this.Sorting = "0";
this.ProgressBarMinimum = 0;
this.ProgressBarMaximum = 5000;
@@ -3026,9 +3089,10 @@ namespace ITC81DB_0H
public string TareRange;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)]
- public string DummyString1;
+ public string DispenserDelayTime1;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)]
- public string DummyString2;
+ public string DispenserDelayTime2;
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)]
public string DummyString3;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)]
@@ -4540,13 +4604,14 @@ namespace ITC81DB_0H
private string m_OPT2DelayTime1;
private string m_OPT2DelayTime2;
+ private string m_OPT2ZeroZoneCycle;
+ private string m_OPT2ZeroZoneCount;
+
private string m_Dummy1;
private string m_Dummy2;
private string m_Dummy3;
private string m_Dummy4;
private string m_Dummy5;
- private string m_Dummy6;
- private string m_Dummy7;
#endregion
#region Constructor
@@ -4630,6 +4695,17 @@ namespace ITC81DB_0H
set { this.m_OPT2DelayTime2 = value; }
}
+ public string OPT2ZeroZoneCycle
+ {
+ get { return this.m_OPT2ZeroZoneCycle; }
+ set { this.m_OPT2ZeroZoneCycle = value; }
+ }
+ public string OPT2ZeroZoneCount
+ {
+ get { return this.m_OPT2ZeroZoneCount; }
+ set { this.m_OPT2ZeroZoneCount = value; }
+ }
+
public string Dummy1
{
get { return this.m_Dummy1; }
@@ -4655,16 +4731,6 @@ namespace ITC81DB_0H
get { return this.m_Dummy5; }
set { this.m_Dummy5 = value; }
}
- public string Dummy6
- {
- get { return this.m_Dummy6; }
- set { this.m_Dummy6 = value; }
- }
- public string Dummy7
- {
- get { return this.m_Dummy7; }
- set { this.m_Dummy7 = value; }
- }
#endregion
#region Method
@@ -4682,13 +4748,14 @@ namespace ITC81DB_0H
this.OPT2DelayTime1 = "0";
this.OPT2DelayTime2 = "0";
+ this.OPT2ZeroZoneCycle = "0";
+ this.OPT2ZeroZoneCount = "0";
+
this.Dummy1 = "0";
this.Dummy2 = "0";
this.Dummy3 = "0";
this.Dummy4 = "0";
this.Dummy5 = "0";
- this.Dummy6 = "0";
- this.Dummy7 = "0";
}
#endregion
}
@@ -4719,6 +4786,11 @@ namespace ITC81DB_0H
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string OPT2DelayTime2;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
+ public string OPT2ZeroZoneCycle;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
+ public string OPT2ZeroZoneCount;
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string Dummy1;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
@@ -4729,10 +4801,6 @@ namespace ITC81DB_0H
public string Dummy4;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string Dummy5;
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
- public string Dummy6;
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
- public string Dummy7;
}
#endregion
#region SystemParameter3
diff --git a/ITC81DB_0H/Datastore/Define.cs b/ITC81DB_0H/Datastore/Define.cs
index 385514c..d6e1582 100644
--- a/ITC81DB_0H/Datastore/Define.cs
+++ b/ITC81DB_0H/Datastore/Define.cs
@@ -42,6 +42,8 @@ namespace ITC81DB_2H.Datastore
ConfiEthernet,
ConfiHelp,
ConfiOptionBoard,
+ ConfiOptionBoard1,
+ ConfiOptionBoard2,
EquipHelp,
EquipUpdate,
@@ -181,6 +183,7 @@ namespace ITC81DB_2H.Datastore
ExNg,
ExNg1, // 외부입력 PIN5
ExNg2, // 외부입력 Photo B
+ LengthError, // 제품길이 이상
}
public enum E_WeightStatus
@@ -316,7 +319,7 @@ namespace ITC81DB_2H.Datastore
COM4 = 2,
}
- public enum E_SerialMode
+ public enum E_CommMode
{
f0_None = 0,
f1_STD1,
@@ -340,36 +343,13 @@ namespace ITC81DB_2H.Datastore
f19_SmartJet,
f20_imaje_9410_OPT3 = 20,
f21_Impinj_Speedway_R420 = 21, // RFID
- f22_Modbus_RTU,
- f23_STD2,
- }
-
- public enum E_EthernetMode
- {
- f0_None = 0,
- f1_STD1,
- f2_Remote,
- f3_Printer,
- f4_imaje_9410_OPT1,
- f5_imaje_9028_OPT1 = 5,
- f6_OPT0,
- f7_imaje_9410_OPT2,
- f8_imaje_9028_OPT2,
- f9_Hitachi,
- f10_MACSA_Laser = 10,
- f11_Markoprint,
- f12_alphaJET,
- f13_Marking_VJ1510,
- f14_OPT1,
- f15_OPT2 = 15,
- f16_OPC,
- f17_OPT3,
- f18_HP_200,
- f19_SmartJet,
- f20_imaje_9410_OPT3 = 20,
- f21_Impinj_Speedway_R420 = 21, // RFID
- f22_Modbus_TCP,
+ f22_Modbus,
f23_STD2,
+ f24_MULTi_JET,
+ f25_DJ_VIDEOJET,
+ f26_LINX8830,
+ f27_MYJET,
+ f28_OPT4,
}
public enum E_ExternalOutputMode
@@ -416,7 +396,7 @@ namespace ITC81DB_2H.Datastore
{
None,
PowerOn,
- BootingComplete,
+ Booting,
Start,
Stop,
Bypass,
@@ -424,10 +404,13 @@ namespace ITC81DB_2H.Datastore
Logout,
Zero,
Clear,
+ BarcodeClear,
+ CountClear,
UserEditor,
Update,
- Initialization_Main,
- Initialization_LCD,
+ OPT1Using,
+ Init_Main,
+ Init_LCD,
DataBackup,
}
@@ -435,15 +418,15 @@ namespace ITC81DB_2H.Datastore
{
None,
- ProductNumber,
- WeightOverRange,
- WeightPassRange,
- WeightUnderRange,
- WeightTareRange,
+ ProductNo,
+ OverRange,
+ PassRange,
+ UnderRange,
+ TareRange,
ChangeTime,
- ChangeProductName,
+ ChangeName,
ChangeLOT,
COM1Baudrate,
@@ -452,67 +435,82 @@ namespace ITC81DB_2H.Datastore
COM3Mode,
COM4Baudrate,
COM4Mode,
- EthernetOperationMode,
- EthernetComMode,
- EthernetLocalPort,
- EthernetLocalIPConfiguration,
- EthernetLocalIPAddress,
- EthernetLocalSubnetMask,
- EthernetLocalGateway,
- EthernetServerIPAddress,
- EthernetServerPort,
+ TCPOpMode,
+ TCPComMode,
+ TCPLocalPort,
+ TCPLocalIPConfig,
+ TCPLocalIPAddress,
+ TCPLocalSubnetMask,
+ TCPLocalGateway,
+ TCPServerIPAddress,
+ TCPServerPort,
+ Mod_Role,
+ Mod_SlaveID,
+ Mod_Timeout,
+ Mod_StartAddr,
CalBalanceWeight,
CalDecimalPoint,
- JudgementFilter,
- JudgementDelay,
- JudgementDoubleDelay,
- JudgementNumber,
- JudgementSpeed,
- JudgementDynamicCorrection,
- JudgementDescendDelayTime,
- JudgementAscendDelayTime,
+ JudgeFilter,
+ JudgeDelay,
+ JudgeDoubleDelay,
+ JudgeNumber,
+ JudgeSpeed,
+ JudgeDynamic,
+ JudgeDesDelay,
+ JudgeAscDelay,
- SorterAMode,
- SorterADelay,
- SorterAOperation,
- SorterBMode,
- SorterBDelay,
- SorterBOperation,
- SorterDoubleEntry,
- SorterExternalInput,
- SorterExternalNG,
+ SorAMode,
+ SorADelay,
+ SorARun,
+ SorBMode,
+ SorBDelay,
+ SorBRun,
+ SorDoubleEntry,
+ SorExternalInput,
+ SorExternalNG,
- AutoZeroIsUsing,
- AutoZeroRangePlus,
- AutoZeroRangeMinus,
- AutoZeroVariation,
+ Auto0IsUsing,
+ Auto0RangePlus,
+ Auto0RangeMinus,
+ Auto0Variation,
- ExInputPIN2Mode,
- ExInputPIN3Mode,
- ExInputPIN4Mode,
- ExInputPIN5Mode,
- ExInputPIN6Mode,
+ ExIn2Mode,
+ ExIn3Mode,
+ ExIn4Mode,
+ ExIn5Mode,
+ ExIn6Mode,
- ExOutput1Mode,
- ExOutput1Delay,
- ExOutput1Operation,
- ExOutput2Mode,
- ExOutput2Delay,
- ExOutput2Operation,
- ExOutput3Mode,
- ExOutput3Delay,
- ExOutput3Operation,
- ExOutput4Mode,
- ExOutput4Delay,
- ExOutput4Operation,
- ExOutput5Mode,
- ExOutput5Delay,
- ExOutput5Operation,
- ExOutput6Mode,
- ExOutput6Delay,
- ExOutput6Operation,
+ ExOut1Mode,
+ ExOut1Delay,
+ ExOut1Run,
+ ExOut2Mode,
+ ExOut2Delay,
+ ExOut2Run,
+ ExOut3Mode,
+ ExOut3Delay,
+ ExOut3Run,
+ ExOut4Mode,
+ ExOut4Delay,
+ ExOut4Run,
+ ExOut5Mode,
+ ExOut5Delay,
+ ExOut5Run,
+ ExOut6Mode,
+ ExOut6Delay,
+ ExOut6Run,
+
+ OPT1SampleCount,
+ OPT1DelayCount,
+ OPT1PulseWidth,
+ OPT1OverRange,
+ OPT1UnderRange,
+ OPT2Delay1,
+ OPT2Delay2,
+ OPT2Port,
+ OPT2ZeroCycle,
+ OPT2ZeroCount,
EquipmentID,
BuzzerONTime,
diff --git a/ITC81DB_0H/Datastore/Helper.cs b/ITC81DB_0H/Datastore/Helper.cs
index 4751707..f2f4af0 100644
--- a/ITC81DB_0H/Datastore/Helper.cs
+++ b/ITC81DB_0H/Datastore/Helper.cs
@@ -2,6 +2,7 @@
using System.Linq;
using System.Collections.Generic;
using System.Text;
+using System.IO;
using ITC81DB_2H.Datastore;
@@ -307,6 +308,160 @@ namespace ITC81DB_0H
return "0000000";
}
+ ///
+ /// 16진수를 10진수로 변환(String to String)
+ ///
+ ///
+ ///
+ public static string HexToDec(string value)
+ {
+ return Convert.ToInt64(value, 16).ToString();
+ }
+
+ ///
+ /// 16진수를 2진수로 변환(String to String)
+ ///
+ ///
+ ///
+ public static string HexToBin(string value)
+ {
+ return Convert.ToString(Convert.ToInt64(value, 16), 2);
+ }
+
+ ///
+ /// 10진수를 2진수로 변환(String to String)
+ ///
+ ///
+ ///
+ public static string DecToBin(string value)
+ {
+ return Convert.ToString(Convert.ToInt64(value), 2);
+ }
+
+ ///
+ /// 2진수를 10진수로 변환(String to String)
+ ///
+ ///
+ ///
+ public static string BinToDec(string value)
+ {
+ return Convert.ToInt64(value, 2).ToString();
+ }
+
+ ///
+ /// 2진수를 16진수로 변환(String to String)
+ ///
+ ///
+ ///
+ public static string BinToHex(string value)
+ {
+ return Convert.ToString(Convert.ToInt32(value, 2), 16);
+ }
+
+ ///
+ /// string(255 이하의 숫자 string)을 16진수로 변환하는 방법
+ ///
+ /// 1자리 string
+ ///
+ public static byte StringToHex(string value)
+ {
+ try
+ {
+ int iValue = int.Parse(value);
+
+ if (0 <= iValue && iValue < 256)
+ {
+ string temp = iValue.ToString("X");
+ return Convert.ToByte(temp, 16);
+ }
+ else
+ return 0x00;
+ }
+ catch
+ {
+ return 0x00;
+ }
+ }
+
+ ///
+ /// Remove Folder로 이동
+ ///
+ /// Remove Folder로 이동할 폴더
+ public static void MoveToRemoveFolder(string directory)
+ {
+ bool removeFolderCheck = false;
+ string currentFolderPath = "", removeFolderPath = "";
+
+ currentFolderPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\";
+ if (currentFolderPath.StartsWith("\\F") == true)
+ removeFolderPath = "Flash Disk\\RemoveFile\\";
+ else
+ removeFolderPath = "SD Card\\RemoveFile\\";
+
+ FileInfo[] oldFiles;
+ DirectoryInfo[] oldDirectory;
+ DirectoryInfo dirOldFolder = new DirectoryInfo(directory);
+ DirectoryInfo dirFolderRemove = new DirectoryInfo(removeFolderPath);
+
+ removeFolderCheck = dirFolderRemove.Exists;
+ if (removeFolderCheck == false)
+ dirFolderRemove.Create();
+
+ oldDirectory = dirOldFolder.GetDirectories();
+
+ foreach (DirectoryInfo subDirectory in oldDirectory)
+ {
+ oldFiles = subDirectory.GetFiles();
+ foreach (FileInfo subFile in oldFiles)
+ subFile.MoveTo(removeFolderPath + DateTime.Now.ToString("yyyyMMddHHmmss") + subFile.Name.ToString());
+ }
+ }
+ ///
+ /// 폴더 복사
+ ///
+ /// 복사 출발점 폴더
+ /// 복사 도착점 폴더
+ public static void CopyToFolder(string departure, string destination)
+ {
+ DirectoryInfo dirDestinationFolder = new DirectoryInfo(destination);
+ if (dirDestinationFolder.Exists == false)
+ dirDestinationFolder.Create();
+
+ DirectoryInfo dirDepartureFolder = new DirectoryInfo(departure);
+ if (dirDepartureFolder.Exists == false)
+ dirDepartureFolder.Create();
+
+ FileInfo[] newFiles = dirDepartureFolder.GetFiles();
+
+ foreach (FileInfo subFile in newFiles)
+ subFile.CopyTo(destination + subFile.Name.ToString(), true);
+ }
+ ///
+ /// 폴더 이동
+ ///
+ /// 복사 출발점 폴더
+ /// 복사 도착점 폴더
+ public static void MoveToFolder(string departure, string destination)
+ {
+ DirectoryInfo dirDestinationFolder = new DirectoryInfo(destination);
+ if (dirDestinationFolder.Exists == false)
+ dirDestinationFolder.Create();
+ else
+ {
+ dirDestinationFolder.Delete(true);
+ dirDestinationFolder.Create();
+ }
+
+ DirectoryInfo dirDepartureFolder = new DirectoryInfo(departure);
+ if (dirDepartureFolder.Exists == false)
+ dirDepartureFolder.Create();
+
+ FileInfo[] newFiles = dirDepartureFolder.GetFiles();
+
+ foreach (FileInfo subFile in newFiles)
+ subFile.MoveTo(destination + subFile.Name.ToString());
+ }
+
public static byte ChecksumCalculator(byte[] array)
{
byte checksum = 0x00;
diff --git a/ITC81DB_0H/DialogForms/DialogFormLogOn.cs b/ITC81DB_0H/DialogForms/DialogFormLogOn.cs
index 12c69e4..3490eea 100644
--- a/ITC81DB_0H/DialogForms/DialogFormLogOn.cs
+++ b/ITC81DB_0H/DialogForms/DialogFormLogOn.cs
@@ -23,6 +23,7 @@ namespace ITC81DB_0H.DialogForms
// false : 패스워드 변경, true : 로그인
private bool IsLogin;
private string ID;
+ private string Password;
UserManager.UserMgr_user_info_t UserInfo = new UserManager.UserMgr_user_info_t();
@@ -178,8 +179,10 @@ namespace ITC81DB_0H.DialogForms
DialogFormLogOn changePW = new DialogFormLogOn(this.ParentForm, this.ParentForm.SystemConfig1.Language, this.textBoxID.Text);
if (changePW.ShowDialog() == DialogResult.OK)
{
- UserManager.UserManager_UserLoginDirect(this.ID, this.textBoxPassword.Text, ref this.UserInfo);
+ UserManager.UserManager_UserLockRelease(this.textBoxID.Text, false, true);
+ UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.ParentForm.CurrentSystemStatus.CurrentUser.Password, ref this.UserInfo);
+ //this.ParentForm.CurrentSystemStatus.CurrentUser.Group = Define.E_UserGroup.LogOut;
this.SuccessLogin(this.UserInfo);
}
}
@@ -189,34 +192,27 @@ namespace ITC81DB_0H.DialogForms
catch (Exception ex)
{
FormMain.Exception(ex);
+
+ this.DialogResult = DialogResult.Cancel;
+ this.Close();
}
- #endregion
this.DialogResult = DialogResult.OK;
this.Close();
+ #endregion
}
else
{
- if (this.UserInfo.status == 15)
+ if (this.UserInfo.status == 15) // USER_MGR_STATUS_PW_PASSWORD_LOCK
{
this.Close();
- string sValue = "";
- sValue = this.ParentForm.ChildFormMainDisplay.DisplayExpireOfPassword(this.ParentForm.CurrentSystemStatus.CurrentUser.Group);
-
- if (sValue != "-")
+ DialogFormLogOn changePW = new DialogFormLogOn(this.ParentForm, this.ParentForm.SystemConfig1.Language, this.textBoxID.Text);
+ if (changePW.ShowDialog() == DialogResult.OK)
{
- int intExpireDate = int.Parse(sValue);
- if (intExpireDate > 0)
- {
- DialogFormLogOn changePW = new DialogFormLogOn(this.ParentForm, this.ParentForm.SystemConfig1.Language, this.textBoxID.Text);
- if (changePW.ShowDialog() == DialogResult.OK)
- {
- UserManager.UserManager_UserLoginDirect(this.ID, this.textBoxPassword.Text, ref this.UserInfo);
+ UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.ParentForm.CurrentSystemStatus.CurrentUser.Password, ref this.UserInfo);
- this.SuccessLogin(this.UserInfo);
- }
- }
+ this.SuccessLogin(this.UserInfo);
}
}
else
@@ -360,17 +356,26 @@ namespace ITC81DB_0H.DialogForms
return;
}
- if (this.textBoxID.Text != this.textBoxPassword.Text)
+ try
{
- // 비밀번호가 동일하지 않습니다
- DialogFormMessage myMsg = new DialogFormMessage(null, 17, this.ParentForm.SystemConfig1.Language);
- myMsg.ShowDialog();
- }
- else
- {
- UserManager.UserManager_UserModifyPW(this.ID, this.textBoxPassword.Text);
+ if (this.textBoxID.Text != this.textBoxPassword.Text)
+ {
+ // 비밀번호가 동일하지 않습니다
+ DialogFormMessage myMsg = new DialogFormMessage(null, 17, this.ParentForm.SystemConfig1.Language);
+ myMsg.ShowDialog();
+ }
+ else
+ {
+ UserManager.UserManager_UserModifyPW(this.ID, this.textBoxPassword.Text);
+ this.ParentForm.CurrentSystemStatus.CurrentUser.Password = this.textBoxPassword.Text;
- this.DialogResult = DialogResult.OK;
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+ }
+ catch
+ {
+ this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
@@ -429,6 +434,49 @@ namespace ITC81DB_0H.DialogForms
if (this.IsPart11 == true)
this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset();
}
- #endregion
+ #endregion
+
+ private void smartButton1_Click(object sender, EventArgs e)
+ {
+ // Automatic Logout Reset
+ if (this.IsPart11 == true)
+ this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset();
+
+ this.textBoxID.Text = "admin00";
+ this.textBoxPassword.Text = "admin12!";
+
+ if (this.IsLogin == true)
+ this.Login();
+ else
+ this.SaveChangePassword();
+ }
+ private void smartButton2_Click(object sender, EventArgs e)
+ {
+ // Automatic Logout Reset
+ if (this.IsPart11 == true)
+ this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset();
+
+ this.textBoxID.Text = "honggd";
+ this.textBoxPassword.Text = "hong1278@";
+
+ if (this.IsLogin == true)
+ this.Login();
+ else
+ this.SaveChangePassword();
+ }
+ private void smartButton3_Click(object sender, EventArgs e)
+ {
+ // Automatic Logout Reset
+ if (this.IsPart11 == true)
+ this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset();
+
+ this.textBoxID.Text = "chocjy";
+ this.textBoxPassword.Text = "cho1266@";
+
+ if (this.IsLogin == true)
+ this.Login();
+ else
+ this.SaveChangePassword();
+ }
}
}
\ No newline at end of file
diff --git a/ITC81DB_0H/Forms/FormMain.cs b/ITC81DB_0H/Forms/FormMain.cs
index 6dd9692..56c190b 100644
--- a/ITC81DB_0H/Forms/FormMain.cs
+++ b/ITC81DB_0H/Forms/FormMain.cs
@@ -612,12 +612,12 @@ namespace ITC81DB_0H.Forms
this.EthernetClientDisconnect();
}
- if (this.SystemConfig2.EthernetCommMode != (int)Define.E_EthernetMode.f0_None)
+ if (this.SystemConfig2.EthernetCommMode != (int)Define.E_CommMode.f0_None)
{
switch (this.SystemConfig2.EthernetCommMode)
{
- case (int)Define.E_EthernetMode.f16_OPC:
- case (int)Define.E_EthernetMode.f22_Modbus_TCP:
+ case (int)Define.E_CommMode.f16_OPC:
+ case (int)Define.E_CommMode.f22_Modbus:
this.ChildFormMainDisplay.MainBottomModbusIconAdd(true);
break;
default:
@@ -1143,7 +1143,7 @@ namespace ITC81DB_0H.Forms
public void PrintingHeadLine()
{
- if (this.SystemConfig1.SerialCOM1Mode == (int)Define.E_SerialMode.f3_Printer)
+ if (this.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f3_Printer)
{
this.TransferSerialCOM1("\n--------------------------------");
this.TransferSerialCOM1(" NO GRADE WEIGHT");
@@ -1151,7 +1151,7 @@ namespace ITC81DB_0H.Forms
this.TransferSerialCOM1(" COUNT");
this.TransferSerialCOM1("\n--------------------------------");
}
- if (this.SystemConfig1.SerialCOM3Mode == (int)Define.E_SerialMode.f3_Printer)
+ if (this.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f3_Printer)
{
this.TransferSerialCOM3("\n--------------------------------");
this.TransferSerialCOM3(" NO GRADE WEIGHT");
@@ -1159,7 +1159,7 @@ namespace ITC81DB_0H.Forms
this.TransferSerialCOM3(" COUNT");
this.TransferSerialCOM3("\n--------------------------------");
}
- if (this.SystemConfig1.SerialCOM4Mode == (int)Define.E_SerialMode.f3_Printer)
+ if (this.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f3_Printer)
{
this.TransferSerialCOM4("\n--------------------------------");
this.TransferSerialCOM4(" NO GRADE WEIGHT");
@@ -1443,6 +1443,7 @@ namespace ITC81DB_0H.Forms
private void InitializeAES()
{
Encryption.DllAesEncryption_Event += Aes_Encryption_Event;
+ Encryption.DllAesEncryption_GetVersionDataEvent += AesEncryption_GetVersionDataEvent;
Encryption.InitializeEncryption();
}
@@ -1573,7 +1574,7 @@ namespace ITC81DB_0H.Forms
}
#region Test 용 통신 로그
- fullPath = this.PathDataBackupFolder + "Communicationlog.txt";
+ fullPath = this.PathDataOthersFolder + "Communicationlog.txt";
this.smartFileCommunicationLog.FilePathName = fullPath;
//this.smartFileCommunicationLog.Open();
//this.IsCommunicationLogOpen = true;
@@ -1723,6 +1724,18 @@ namespace ITC81DB_0H.Forms
for (int i = 0; i < byteData.Length; i++)
collection.Add(byteData[i]);
}
+ public byte Checksumcalculator1digit(byte[] byteArray)
+ {
+ byte step1 = 0, step2 = 0, step3 = 0;
+
+ for (int i = 0; i < byteArray.Length; i++)
+ step1 += byteArray[i];
+
+ step2 = (byte)(step1 & 0x00ff);
+ step3 = (byte)(0x0100 - step2);
+
+ return step3;
+ }
private void ChecklogPrint(string receiveData, WeightData weight)
{
@@ -2276,7 +2289,8 @@ namespace ITC81DB_0H.Forms
return ret;
break;
case "SR0":
- if ((ret = this.ReceiveCommandSR0(lane, dataID, transferCount, receiveData)) != 0)
+ case "SM0":
+ if ((ret = this.ReceiveCommand(cmd, lane, dataID, transferCount, receiveData)) != 0)
return ret;
break;
case "SC0":
@@ -2309,10 +2323,6 @@ namespace ITC81DB_0H.Forms
if ((ret = this.ReceiveCommandSD0(lane, dataID, transferCount, receiveData)) != 0)
return ret;
break;
- case "SM0":
- if ((ret = this.ReceiveCommandSM0(lane, dataID, transferCount, receiveData)) != 0)
- return ret;
- break;
case "SB0":
if ((ret = this.ReceiveCommandSB0(lane, dataID, transferCount, receiveData)) != 0)
return ret;
@@ -2428,7 +2438,7 @@ namespace ITC81DB_0H.Forms
{
this.IsBootingComplete = true;
this.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress.ParameterCount, "");
- this.SetTrackingHistoryData(Define.E_TrackingOperation.BootingComplete, "");
+ this.SetTrackingHistoryData(Define.E_TrackingOperation.Booting, "");
if (this.CurrentSystemStatus.CurrentDisplay != Define.E_DisplayStore.MainDisplay)
{
@@ -2927,8 +2937,8 @@ namespace ITC81DB_0H.Forms
return ret;
}
- // 운전시 중량(여기서 변경되는 부분은 SM0에도 적용해야 함)
- private int ReceiveCommandSR0(string lane, string dataID, string transferCount, string receiveData)
+ // 운전시 중량
+ private int ReceiveCommand(string cmd, string lane, string dataID, string transferCount, string receiveData)
{
int ret = 0;
int temp = 0;
@@ -2938,19 +2948,44 @@ namespace ITC81DB_0H.Forms
switch (lane)
{
case "A":
- #region Value Assign
- this.CurrentWeightData.JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(0, 2));
- this.ConverterAlarm(this.CurrentWeightData, receiveData.Substring(2, 3));
- this.CurrentWeightData.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig1.DecimalPlaces);
- this.CurrentWeightData.WeightString = receiveData.Substring(5, 5);
- this.CurrentWeightData.ADCValue = receiveData.Substring(10, 5);
- //this.CurrentWeightData.ProductionSpeed = int.Parse(receiveData.Substring(15, 4).Trim());
+ switch (cmd)
+ {
+ case "SR0": // 운전 시 중량
+ #region Value Assign
+ this.CurrentWeightData.JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(0, 2));
+ this.ConverterAlarm(this.CurrentWeightData, receiveData.Substring(2, 3));
+ this.CurrentWeightData.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig1.DecimalPlaces);
+ this.CurrentWeightData.WeightString = receiveData.Substring(5, 5);
+ this.CurrentWeightData.ADCValue = receiveData.Substring(10, 5);
+ //this.CurrentWeightData.ProductionSpeed = int.Parse(receiveData.Substring(15, 4).Trim());
- this.CurrentWeightData.WeightSum(this.CurrentWeightData.JudgmentStatus);
- this.CurrentWeightData.SetDataIDTransferCount(dataID, transferCount);
+ this.CurrentWeightData.WeightSum(this.CurrentWeightData.JudgmentStatus);
+ this.CurrentWeightData.SetDataIDTransferCount(dataID, transferCount);
+
+ this.CurrentWeightData.Status = Define.E_WeightStatus.WeightChange;
+ #endregion
+ break;
+ case "SM0": // 랜덤모드 사용 + 운전 시 중량
+ #region Value Assign
+ this.SystemConfig1.ProductNumber = int.Parse(receiveData.Substring(0, 4));
+
+ this.CurrentWeightData.JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(4, 2));
+ this.ConverterAlarm(this.CurrentWeightData, receiveData.Substring(6, 3));
+ this.CurrentWeightData.Weight = Helper.StringToWeight(receiveData.Substring(9, 5), this.SystemConfig1.DecimalPlaces);
+ this.CurrentWeightData.WeightString = receiveData.Substring(9, 5);
+ this.CurrentWeightData.ADCValue = receiveData.Substring(14, 5);
+ this.CurrentWeightData.ProductionSpeed = int.Parse(receiveData.Substring(19, 4).Trim());
+
+ this.CurrentWeightData.WeightSum(this.CurrentWeightData.JudgmentStatus);
+ this.CurrentWeightData.SetDataIDTransferCount(dataID, transferCount);
+
+ this.CurrentWeightData.Status = Define.E_WeightStatus.WeightChange;
+ #endregion
+ break;
+ default:
+ break;
+ }
- this.CurrentWeightData.Status = Define.E_WeightStatus.WeightChange;
- #endregion
// 통신 제대로 받으면 ACK
this.TransferData(string.Format("{0}{1}{2}{3}", CommunicationCommand.RunWeightData, (int)Define.E_ResponseData.ACK, dataID, transferCount), CommunicationID.MainBoard);
@@ -3030,7 +3065,7 @@ namespace ITC81DB_0H.Forms
case 13:
this.TransferSerialCOM1(this.Transfer_13_Marking_VJ1510(this.CurrentWeightData));
break;
- case 17 :
+ case 17:
this.TransferSerialCOM1(this.Transfer_17_OPT3(this.CurrentWeightData, this.CurrentProductItem));
break;
case 18:
@@ -3057,17 +3092,29 @@ namespace ITC81DB_0H.Forms
this.TransferSerialCOM1(this.SendChar(Define.E_CharValue.ACK)); // ACK
}
break;
- case (int)Define.E_SerialMode.f22_Modbus_RTU: // Modbus RTU(Master 사용 시 - Write multiple register)
+ case (int)Define.E_CommMode.f22_Modbus: // Modbus RTU(Master 사용 시 - Write multiple register)
if (this.SystemConfig2.ModbusRTUSelectFunction == (int)Define.E_ModbusFunction._16_WriteMultipleRegister)
{
- byte[] sendData = this.Modbus.MakeRTUSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusRTUSlaveIDCOM1, this.SystemConfig2.ModbusRTUStartAddressCOM1);
+ byte[] sendData = this.Modbus.MakeRTUSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusSlaveIDCOM1, this.SystemConfig2.ModbusRTUStartAddressCOM1);
this.TransferSerialCOM1(sendData);
}
break;
- case (int)Define.E_SerialMode.f23_STD2:
+ case (int)Define.E_CommMode.f23_STD2:
this.TransferSerialCOM1(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
break;
+ case (int)Define.E_CommMode.f24_MULTi_JET:
+ this.TransferSerialCOM1(this.Transfer_24_MULTi_JET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f26_LINX8830:
+ this.TransferSerialCOM1(this.Transfer_26_LINX8830(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f27_MYJET:
+ this.TransferSerialCOM1(this.Transfer_27_MYJET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f28_OPT4: // Tasco(타스코) PC 전송
+ this.TransferSerialCOM1(this.Transfer_28_OPT4(false, this.CurrentWeightData));
+ break;
default:
break;
}
@@ -3160,17 +3207,29 @@ namespace ITC81DB_0H.Forms
this.TransferSerialCOM3(this.SendChar(Define.E_CharValue.ACK)); // ACK
}
break;
- case (int)Define.E_SerialMode.f22_Modbus_RTU: // Modbus RTU(Master 사용 시 - Write multiple register)
+ case (int)Define.E_CommMode.f22_Modbus: // Modbus RTU(Master 사용 시 - Write multiple register)
if (this.SystemConfig2.ModbusRTUSelectFunction == (int)Define.E_ModbusFunction._16_WriteMultipleRegister)
{
- byte[] sendData = this.Modbus.MakeRTUSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusRTUSlaveIDCOM3, this.SystemConfig2.ModbusRTUStartAddressCOM3);
+ byte[] sendData = this.Modbus.MakeRTUSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusSlaveIDCOM3, this.SystemConfig2.ModbusRTUStartAddressCOM3);
this.TransferSerialCOM3(sendData);
}
break;
- case (int)Define.E_SerialMode.f23_STD2:
+ case (int)Define.E_CommMode.f23_STD2:
this.TransferSerialCOM3(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
break;
+ case (int)Define.E_CommMode.f24_MULTi_JET:
+ this.TransferSerialCOM3(this.Transfer_24_MULTi_JET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f26_LINX8830:
+ this.TransferSerialCOM3(this.Transfer_26_LINX8830(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f27_MYJET:
+ this.TransferSerialCOM3(this.Transfer_27_MYJET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f28_OPT4: // Tasco(타스코) PC 전송
+ this.TransferSerialCOM3(this.Transfer_28_OPT4(false, this.CurrentWeightData));
+ break;
default:
break;
}
@@ -3263,17 +3322,29 @@ namespace ITC81DB_0H.Forms
this.TransferSerialCOM4(this.SendChar(Define.E_CharValue.ACK)); // ACK
}
break;
- case (int)Define.E_SerialMode.f22_Modbus_RTU: // Modbus RTU(Master 사용 시 - Write multiple register)
+ case (int)Define.E_CommMode.f22_Modbus: // Modbus RTU(Master 사용 시 - Write multiple register)
if (this.SystemConfig2.ModbusRTUSelectFunction == (int)Define.E_ModbusFunction._16_WriteMultipleRegister)
{
- byte[] sendData = this.Modbus.MakeRTUSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusRTUSlaveIDCOM4, this.SystemConfig2.ModbusRTUStartAddressCOM4);
+ byte[] sendData = this.Modbus.MakeRTUSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusSlaveIDCOM4, this.SystemConfig2.ModbusRTUStartAddressCOM4);
this.TransferSerialCOM4(sendData);
}
break;
- case (int)Define.E_SerialMode.f23_STD2:
+ case (int)Define.E_CommMode.f23_STD2:
this.TransferSerialCOM4(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
break;
+ case (int)Define.E_CommMode.f24_MULTi_JET:
+ this.TransferSerialCOM4(this.Transfer_24_MULTi_JET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f26_LINX8830:
+ this.TransferSerialCOM4(this.Transfer_26_LINX8830(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f27_MYJET:
+ this.TransferSerialCOM4(this.Transfer_27_MYJET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f28_OPT4: // Tasco(타스코) PC 전송
+ this.TransferSerialCOM4(this.Transfer_28_OPT4(false, this.CurrentWeightData));
+ break;
default:
break;
}
@@ -3375,7 +3446,7 @@ namespace ITC81DB_0H.Forms
this.EthernetServerSendMessage(client, this.SendChar(Define.E_CharValue.ACK)); // ACK
}
break;
- case (int)Define.E_EthernetMode.f22_Modbus_TCP: // 22, Modbus TCP
+ case (int)Define.E_CommMode.f22_Modbus: // 22, Modbus TCP
if (this.SystemConfig2.ModbusTCPSelectFunction == (int)Define.E_ModbusFunction._16_WriteMultipleRegister)
{
byte[] sendData = this.Modbus.MakeTCPSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusTCPStartAddress);
@@ -3383,10 +3454,23 @@ namespace ITC81DB_0H.Forms
this.EthernetServerSendMessage(client, sendData);
}
break;
- case (int)Define.E_EthernetMode.f23_STD2:
+ case (int)Define.E_CommMode.f23_STD2:
this.EthernetServerSendMessage(client,
this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
break;
+ case (int)Define.E_CommMode.f24_MULTi_JET:
+ this.EthernetServerSendMessage(client, this.Transfer_24_MULTi_JET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f26_LINX8830:
+ this.EthernetServerSendMessage(client, this.Transfer_26_LINX8830(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f27_MYJET:
+ if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
+ this.EthernetServerSendMessage(client, this.Transfer_27_MYJET(false, this.CurrentWeightData));
+ break;
+ case (int)Define.E_CommMode.f28_OPT4: // Tasco(타스코) PC 전송
+ this.EthernetServerSendMessage(client, this.Transfer_28_OPT4(false, this.CurrentWeightData));
+ break;
default:
break;
}
@@ -3500,7 +3584,7 @@ namespace ITC81DB_0H.Forms
this.EthernetWeightData(this.SendChar(Define.E_CharValue.ACK)); // ACK
}
break;
- case (int)Define.E_EthernetMode.f22_Modbus_TCP: // 22, Modbus TCP
+ case (int)Define.E_CommMode.f22_Modbus: // 22, Modbus TCP
if (this.SystemConfig2.ModbusTCPSelectFunction == (int)Define.E_ModbusFunction._16_WriteMultipleRegister)
{
this.ClientSendDatabyteArray = this.Modbus.MakeTCPSendAllData(this.Transfer_22_Modbus_Write(), this.SystemConfig2.ModbusTCPStartAddress);
@@ -3508,870 +3592,21 @@ namespace ITC81DB_0H.Forms
this.EthernetWeightDataForModbus(this.ClientSendDatabyteArray);
}
break;
- case (int)Define.E_EthernetMode.f23_STD2:
+ case (int)Define.E_CommMode.f23_STD2:
this.ClientSendDataString = this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem);
this.EthernetWeightData(this.ClientSendDataString);
break;
- default:
+ case (int)Define.E_CommMode.f24_MULTi_JET:
+ this.EthernetWeightData(this.Transfer_24_MULTi_JET(false, this.CurrentWeightData));
break;
- }
- #endregion
- }
- break;
- default:
- break;
- }
- #endregion
-
- #region 카운터출력
-
- #region Counting Output 1
- temp = this.SystemConfig2.CountingOutput1Number;
-
- if (this.SystemConfig2.CountingOutput1Mode != 0 && temp != 0)
- {
- switch (this.SystemConfig2.CountingOutput1Mode)
- {
- case 1: // Pass
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.CountingOutput1Count++;
-
- if (this.CountingOutput1Count >= temp)
- {
- this.CountingOutput1Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput1BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput1ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput1ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput1Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput1Continuous == true)
- this.CountingOutput1Count = 0;
- }
- break;
- case 2: // NG
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Over
- || this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Under)
- {
- this.CountingOutput1Count++;
-
- if (this.CountingOutput1Count >= temp)
- {
- this.CountingOutput1Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput1BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput1ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput1ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput1Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput1Continuous == true)
- this.CountingOutput1Count = 0;
- }
- break;
- case 3: // Over
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Over)
- {
- this.CountingOutput1Count++;
-
- if (this.CountingOutput1Count >= temp)
- {
- this.CountingOutput1Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput1BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput1ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput1ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput1Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput1Continuous == true)
- this.CountingOutput1Count = 0;
- }
- break;
- case 4: // Under
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Under)
- {
- this.CountingOutput1Count++;
-
- if (this.CountingOutput1Count >= temp)
- {
- this.CountingOutput1Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput1BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput1ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23. 알람 조건이 충족하여 장비가 정지되었습니다
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput1ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput1Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput1Continuous == true)
- this.CountingOutput1Count = 0;
- }
- break;
- default:
- break;
- }
- }
- #endregion
-
- #region Counting Output 2
- temp = this.SystemConfig2.CountingOutput2Number;
-
- if (this.SystemConfig2.CountingOutput2Mode != 0 && temp != 0)
- {
- switch (this.SystemConfig2.CountingOutput2Mode)
- {
- case 1: // Pass
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.CountingOutput2Count++;
-
- if (this.CountingOutput2Count >= temp)
- {
- this.CountingOutput2Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput2BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput2ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput2ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput2Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput2Continuous == true)
- this.CountingOutput2Count = 0;
- }
- break;
- case 2: // NG
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Over
- || this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Under)
- {
- this.CountingOutput2Count++;
-
- if (this.CountingOutput2Count >= temp)
- {
- this.CountingOutput2Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput2BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput2ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput2ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput2Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput2Continuous == true)
- this.CountingOutput2Count = 0;
- }
- break;
- case 3: // Over
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Over)
- {
- this.CountingOutput2Count++;
-
- if (this.CountingOutput2Count >= temp)
- {
- this.CountingOutput2Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput2BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput2ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput2ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput2Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput2Continuous == true)
- this.CountingOutput2Count = 0;
- }
- break;
- case 4: // Under
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Under)
- {
- this.CountingOutput2Count++;
-
- if (this.CountingOutput2Count >= temp)
- {
- this.CountingOutput2Count = 0;
-
- if (this.SystemConfig2.IsCountingOutput2BuzzerOn == true)
- this.TransferData(CommunicationCommand.BuzzerOn, CommunicationID.MainBoard);
- if (this.SystemConfig2.IsCountingOutput2ConveyorStop == true)
- {
- this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
- // 메시지 23
- this.StartThreadMessage1();
- }
- if (this.SystemConfig2.IsCountingOutput2ExternalOutput == true)
- this.TransferData(CommunicationCommand.CountingOutput2Pulse, CommunicationID.MainBoard);
- }
- }
- else
- {
- if (this.SystemConfig2.IsCountingOutput2Continuous == true)
- this.CountingOutput2Count = 0;
- }
- break;
- default:
- break;
- }
- }
- #endregion
-
- this.ChildFormMainDisplay.MainDisplayWeightBigScreen.UpdateAlarmLabelDisplay(this.CountingOutput1Count, this.CountingOutput2Count);
- this.ChildFormMainDisplay.MainDisplayWeightSmall.UpdateAlarmLabelDisplay(this.CountingOutput1Count, this.CountingOutput2Count);
- #endregion
-
- // CurrentDisplay
- switch (this.CurrentSystemStatus.CurrentDisplay)
- {
- case Define.E_DisplayStore.MainDisplay:
- #region MainDisplay
- if (this.SystemConfig1.IsBarcodeEnable == true)
- {
- this.CurrentBarcode.BarcodeDequeue();
-
- if (this.ChildFormMainDisplay != null)
- this.ChildFormMainDisplay.UpdateBarcodeDisplay(this.CurrentBarcode);
-
- if (this.CurrentBarcode.GetQueueCount > 0)
- this.BarcodeProductChange(this.CurrentBarcode);
-
- if (this.ChildFormMainDisplay != null)
- this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.CurrentSystemStatus.Equipment, this.CurrentProductItem, this.CurrentWeightData);
- }
-
- if (this.ChildFormMainDisplay != null)
- this.ChildFormMainDisplay.UpdateStartWeightDisplay(this.CurrentSystemStatus.Equipment, this.CurrentProductItem, this.CurrentWeightData);
-
- if (this.SystemConfig1.DatabackupFormat == 1)
- {
- #region OPT1 - 종근당 옵션
- if (this.timeOut.Enabled == true)
- this.timeOut.Enabled = false;
-
- //if (this.CollectionBufferWeightData.Count != 0)
- //{
- // if (this.CurrentJudgmentResult.PreviousRejectData != Define.E_JudgmentResult.None)
- // this.CollectionBufferWeightData[0].Status = this.CurrentJudgmentResult.PreviousRejectData.ToString();
- // else
- // this.CollectionBufferWeightData[0].Status = Define.E_JudgmentResult.OM.ToString();
- // this.DataBackup1(this.CollectionBufferWeightData[0]);
- // this.CollectionBufferWeightData.Clear();
- //}
-
- this.CollectionBufferWeightData.Add(new DataBackupOPT1());
- this.CollectionBufferWeightData[this.CollectionBufferWeightData.Count - 1].SetData(
- this.CurrentProductItem, this.CurrentWeightData, this.SystemConfig1, DateTime.Now);
-
- if (this.CurrentJudgmentSetItem.Sorter2Mode == 3)
- this.timeOut.Interval = (this.CurrentJudgmentSetItem.Sorter2DelayTime * 2) + (this.CurrentJudgmentSetItem.Sorter2RunTime * 5) + 1000;
- else
- this.timeOut.Interval = (this.CurrentJudgmentSetItem.Sorter1DelayTime * 2) + (this.CurrentJudgmentSetItem.Sorter1RunTime * 5) + 1000;
- this.timeOut.Enabled = true;
- #endregion
- }
- else
- {
- #region STD1
- if (this.CurrentWeightData.JudgmentStatus != Define.E_JudgmentStatus.Empty)
- this.TrackingInspectionData0(this.CurrentWeightData);
- #endregion
- }
-
- // 표준분포
- this.CurrentWeightData.SetNormalDistribution(this.CurrentProductItem.CollectionNormalDistributionRange, this.CurrentWeightData.WeightString);
- #endregion
- break;
- default:
- break;
- }
- break;
- default:
- break;
- }
- }
- catch
- {
- ret = -1;
- }
-
- return ret;
- }
- // 랜덤모드 사용 시 운전시 중량
- private int ReceiveCommandSM0(string lane, string dataID, string transferCount, string receiveData)
- {
- int ret = 0;
- int temp = 0;
-
- try
- {
- switch (lane)
- {
- case "A":
- #region Value Assign
- this.SystemConfig1.ProductNumber = int.Parse(receiveData.Substring(0, 4));
-
- this.CurrentWeightData.JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(4, 2));
- this.ConverterAlarm(this.CurrentWeightData, receiveData.Substring(6, 3));
- this.CurrentWeightData.Weight = Helper.StringToWeight(receiveData.Substring(9, 5), this.SystemConfig1.DecimalPlaces);
- this.CurrentWeightData.WeightString = receiveData.Substring(9, 5);
- this.CurrentWeightData.ADCValue = receiveData.Substring(14, 5);
- this.CurrentWeightData.ProductionSpeed = int.Parse(receiveData.Substring(19, 4).Trim());
-
- this.CurrentWeightData.WeightSum(this.CurrentWeightData.JudgmentStatus);
- this.CurrentWeightData.SetDataIDTransferCount(dataID, transferCount);
-
- this.CurrentWeightData.Status = Define.E_WeightStatus.WeightChange;
- #endregion
- // 통신 제대로 받으면 ACK
- this.TransferData(string.Format("{0}{1}{2}{3}", CommunicationCommand.RunWeightData, (int)Define.E_ResponseData.ACK, dataID, transferCount), CommunicationID.MainBoard);
-
- if (this.ChildFormMainDisplay != null)
- this.ChildFormMainDisplay.UpdateCurrentProductDisplay(this.CurrentSystemStatus.Equipment,
- this.CurrentProductItem, this.CurrentWeightData);
-
- // V6.2.0
- if (this.OverloadWeight <= this.CurrentWeightData.Weight)
- {
- this.CurrentWeightData.WeightString = this.CurrentCalibrationItem.OverloadWeightString;
- this.CurrentWeightData.Weight = this.OverloadWeight;
- }
-
- #region 통신
- // 통신 COM1
- if (this.SystemConfig1.SerialCOM1Mode != 0)
- {
- #region COM1
- switch (this.SystemConfig1.SerialCOM1Mode)
- {
- case 1:
- this.TransferSerialCOM1(this.Transfer_1_STD1(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 2:
- this.TransferSerialCOM1(this.Transfer_2_Remote(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 3:
- if (this.SystemConfig1.IsPrintPerProductEnable == true)
- this.TransferSerialCOM1(this.Transfer_3_Print(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 4:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.TransferSerialCOM1(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM1(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.TransferSerialCOM1(this.WeightData9410_OPT1(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.TransferSerialCOM1(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM1(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case 5:
- this.HMCOM1_Step = 1;
- this.TransferSerialCOM1(this.SendChar(Define.E_CharValue.ENQ));
- break;
- case 6:
- this.TransferSerialCOM1(this.Transfer_6_OPT0(this.CurrentWeightData));
- break;
- case 7:
- this.TransferSerialCOM1(this.Transfer_7_imaje9410OPT2(this.CurrentWeightData));
- break;
- case 8:
- this.TransferSerialCOM1(this.Transfer_8_imaje9028OPT2(this.CurrentWeightData));
- break;
- case 9:
- this.TransferSerialCOM1(this.Transfer_9_Hitachi(this.CurrentWeightData, Define.E_SerialCOM.COM1));
- break;
- case 10:
- this.TransferSerialCOM1(this.Transfer_10_MACSA(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 11:
- this.TransferSerialCOM1(this.Transfer_11_Markoprint(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 12:
- this.TransferSerialCOM1(this.Transfer_12_alphaJET(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 13:
- this.TransferSerialCOM1(this.Transfer_13_Marking_VJ1510(this.CurrentWeightData));
- break;
- case 17:
- this.TransferSerialCOM1(this.Transfer_17_OPT3(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 18:
- this.TransferSerialCOM1(this.Transfer_18_HP200(this.CurrentWeightData, 1));
- this.TransferSerialCOM1(this.Transfer_18_HP200(this.CurrentWeightData, 2));
- break;
- case 19:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- this.TransferSerialCOM1(this.Transfer_19_SmartJet(this.CurrentWeightData));
- break;
- case 20:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.TransferSerialCOM1(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM1(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.TransferSerialCOM1(this.WeightData9410_OPT3(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.TransferSerialCOM1(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM1(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case (int)Define.E_SerialMode.f23_STD2:
- this.TransferSerialCOM1(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- default:
- break;
- }
- #endregion
- }
- // 통신 COM3
- if (this.SystemConfig1.SerialCOM3Mode != 0)
- {
- #region COM3
- switch (this.SystemConfig1.SerialCOM3Mode)
- {
- case 1:
- this.TransferSerialCOM3(this.Transfer_1_STD1(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 2:
- this.TransferSerialCOM3(this.Transfer_2_Remote(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 3:
- if (this.SystemConfig1.IsPrintPerProductEnable == true)
- this.TransferSerialCOM3(this.Transfer_3_Print(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 4:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.TransferSerialCOM3(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM3(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.TransferSerialCOM3(this.WeightData9410_OPT1(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.TransferSerialCOM3(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM3(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case 5:
- this.HMCOM3_Step = 1;
- this.TransferSerialCOM3(this.SendChar(Define.E_CharValue.ENQ));
- break;
- case 6:
- this.TransferSerialCOM3(this.Transfer_6_OPT0(this.CurrentWeightData));
- break;
- case 7:
- this.TransferSerialCOM3(this.Transfer_7_imaje9410OPT2(this.CurrentWeightData));
- break;
- case 8:
- this.TransferSerialCOM3(this.Transfer_8_imaje9028OPT2(this.CurrentWeightData));
- break;
- case 9:
- this.TransferSerialCOM3(this.Transfer_9_Hitachi(this.CurrentWeightData, Define.E_SerialCOM.COM3));
- break;
- case 10:
- this.TransferSerialCOM3(this.Transfer_10_MACSA(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 11:
- this.TransferSerialCOM3(this.Transfer_11_Markoprint(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 12:
- this.TransferSerialCOM3(this.Transfer_12_alphaJET(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 13:
- this.TransferSerialCOM3(this.Transfer_13_Marking_VJ1510(this.CurrentWeightData));
- break;
- case 17:
- this.TransferSerialCOM3(this.Transfer_17_OPT3(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 18:
- this.TransferSerialCOM3(this.Transfer_18_HP200(this.CurrentWeightData, 1));
- this.TransferSerialCOM3(this.Transfer_18_HP200(this.CurrentWeightData, 2));
- break;
- case 19:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- this.TransferSerialCOM3(this.Transfer_19_SmartJet(this.CurrentWeightData));
- break;
- case 20:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.TransferSerialCOM3(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM3(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.TransferSerialCOM3(this.WeightData9410_OPT3(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.TransferSerialCOM3(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM3(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case (int)Define.E_SerialMode.f23_STD2:
- this.TransferSerialCOM3(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- default:
- break;
- }
- #endregion
- }
- // 통신 COM4
- if (this.SystemConfig1.SerialCOM4Mode != 0)
- {
- #region COM4
- switch (this.SystemConfig1.SerialCOM4Mode)
- {
- case 1:
- this.TransferSerialCOM4(this.Transfer_1_STD1(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 2:
- this.TransferSerialCOM4(this.Transfer_2_Remote(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 3:
- if (this.SystemConfig1.IsPrintPerProductEnable == true)
- this.TransferSerialCOM4(this.Transfer_3_Print(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 4:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.TransferSerialCOM4(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM4(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.TransferSerialCOM4(this.WeightData9410_OPT1(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.TransferSerialCOM4(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM4(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case 5:
- this.HMCOM4_Step = 1;
- this.TransferSerialCOM4(this.SendChar(Define.E_CharValue.ENQ));
- break;
- case 6:
- this.TransferSerialCOM4(this.Transfer_6_OPT0(this.CurrentWeightData));
- break;
- case 7:
- this.TransferSerialCOM4(this.Transfer_7_imaje9410OPT2(this.CurrentWeightData));
- break;
- case 8:
- this.TransferSerialCOM4(this.Transfer_8_imaje9028OPT2(this.CurrentWeightData));
- break;
- case 9:
- this.TransferSerialCOM4(this.Transfer_9_Hitachi(this.CurrentWeightData, Define.E_SerialCOM.COM4));
- break;
- case 10:
- this.TransferSerialCOM4(this.Transfer_10_MACSA(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 11:
- this.TransferSerialCOM4(this.Transfer_11_Markoprint(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 12:
- this.TransferSerialCOM4(this.Transfer_12_alphaJET(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 13:
- this.TransferSerialCOM4(this.Transfer_13_Marking_VJ1510(this.CurrentWeightData));
- break;
- case 17:
- this.TransferSerialCOM4(this.Transfer_17_OPT3(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 18:
- this.TransferSerialCOM4(this.Transfer_18_HP200(this.CurrentWeightData, 1));
- this.TransferSerialCOM4(this.Transfer_18_HP200(this.CurrentWeightData, 2));
- break;
- case 19:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- this.TransferSerialCOM4(this.Transfer_19_SmartJet(this.CurrentWeightData));
- break;
- case 20:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.TransferSerialCOM4(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM4(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.TransferSerialCOM4(this.WeightData9410_OPT3(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.TransferSerialCOM4(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.TransferSerialCOM4(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case (int)Define.E_SerialMode.f23_STD2:
- this.TransferSerialCOM4(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- default:
- break;
- }
- #endregion
- }
-
- // 이더넷
- switch (this.SystemConfig2.EthernetOperationMode)
- {
- case 1:
- if (this.smartTCPMultiServer.ClientInfoList != null)
- {
- if (this.SystemConfig2.EthernetCommMode != 0)
- {
- foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList)
- {
- #region Server
- switch (this.SystemConfig2.EthernetCommMode)
- {
- case 1:
- this.EthernetServerSendMessage(client,
- this.Transfer_1_STD1(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 2:
- this.EthernetServerSendMessage(client, this.Transfer_2_Remote(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 3:
- if (this.SystemConfig1.IsPrintPerProductEnable == true)
- this.EthernetServerSendMessage(client, this.Transfer_3_Print(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 4:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.EthernetServerSendMessage(client, this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.EthernetServerSendMessage(client, this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.EthernetServerSendMessage(client, this.WeightData9410_OPT1(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.EthernetServerSendMessage(client, this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.EthernetServerSendMessage(client, this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case 5:
- this.HMCOM1_Step = 1;
- this.EthernetServerSendMessage(client, this.SendChar(Define.E_CharValue.ENQ));
- break;
- case 6:
- this.EthernetServerSendMessage(client, this.Transfer_6_OPT0(this.CurrentWeightData));
- break;
- case 7:
- this.EthernetServerSendMessage(client, this.Transfer_7_imaje9410OPT2(this.CurrentWeightData));
- break;
- case 8:
- this.EthernetServerSendMessage(client, this.Transfer_8_imaje9028OPT2(this.CurrentWeightData));
- break;
- case 9:
- this.EthernetServerSendMessage(client, this.Transfer_9_Hitachi(this.CurrentWeightData, Define.E_SerialCOM.COM1));
- break;
- case 10:
- this.EthernetServerSendMessage(client, this.Transfer_10_MACSA(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 11:
- this.EthernetServerSendMessage(client, this.Transfer_11_Markoprint(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 12:
- this.EthernetServerSendMessage(client, this.Transfer_12_alphaJET(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 13:
- this.EthernetServerSendMessage(client, this.Transfer_13_Marking_VJ1510(this.CurrentWeightData));
- break;
- case 17:
- this.EthernetServerSendMessage(client, this.Transfer_17_OPT3(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 18:
- this.EthernetServerSendMessage(client, this.Transfer_18_HP200(this.CurrentWeightData, 1));
- this.EthernetServerSendMessage(client, this.Transfer_18_HP200(this.CurrentWeightData, 2));
- break;
- case 19:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- this.EthernetServerSendMessage(client, this.Transfer_19_SmartJet(this.CurrentWeightData));
- break;
- case 20:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.EthernetServerSendMessage(client, this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.EthernetServerSendMessage(client, this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.EthernetServerSendMessage(client, this.WeightData9410_OPT3(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.EthernetServerSendMessage(client, this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.EthernetServerSendMessage(client, this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case (int)Define.E_EthernetMode.f23_STD2:
- this.EthernetServerSendMessage(client,
- this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
- break;
- default:
- break;
- }
- #endregion
- }
- }
- }
- break;
- case 2:
- if (this.SystemConfig2.EthernetCommMode != 0)
- {
- #region Client
- switch (this.SystemConfig2.EthernetCommMode)
- {
- case 1:
- this.EthernetWeightData(this.Transfer_1_STD1(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
+ case (int)Define.E_CommMode.f26_LINX8830:
+ this.EthernetWeightData(this.Transfer_26_LINX8830(false, this.CurrentWeightData));
break;
- case 2:
- this.EthernetWeightData(this.Transfer_2_Remote(this.CurrentWeightData, this.CurrentProductItem));
+ case (int)Define.E_CommMode.f27_MYJET:
+ this.EthernetWeightData(this.Transfer_27_MYJET(false, this.CurrentWeightData));
break;
- case 3:
- if (this.SystemConfig1.IsPrintPerProductEnable == true)
- this.EthernetWeightData(this.Transfer_3_Print(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 4:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.EthernetWeightData(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.EthernetWeightData(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.EthernetWeightData(this.WeightData9410_OPT1(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.EthernetWeightData(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.EthernetWeightData(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case 5:
- this.HMCOM1_Step = 1;
- this.EthernetWeightData(this.SendChar(Define.E_CharValue.ENQ));
- break;
- case 6:
- this.EthernetWeightData(this.Transfer_6_OPT0(this.CurrentWeightData));
- break;
- case 7:
- this.EthernetWeightData(this.Transfer_7_imaje9410OPT2(this.CurrentWeightData));
- break;
- case 8:
- this.EthernetWeightData(this.Transfer_8_imaje9028OPT2(this.CurrentWeightData));
- break;
- case 9:
- this.EthernetWeightData(this.Transfer_9_Hitachi(this.CurrentWeightData, Define.E_SerialCOM.COM1));
- break;
- case 10:
- this.EthernetWeightData(this.Transfer_10_MACSA(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 11:
- this.EthernetWeightData(this.Transfer_11_Markoprint(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 12:
- this.EthernetWeightData(this.Transfer_12_alphaJET(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 13:
- this.EthernetWeightData(this.Transfer_13_Marking_VJ1510(this.CurrentWeightData));
- break;
- case 17:
- this.EthernetWeightData(this.Transfer_17_OPT3(this.CurrentWeightData, this.CurrentProductItem));
- break;
- case 18:
- this.EthernetWeightData(this.Transfer_18_HP200(this.CurrentWeightData, 1));
- this.EthernetWeightData(this.Transfer_18_HP200(this.CurrentWeightData, 2));
- break;
- case 19:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- this.EthernetWeightData(this.Transfer_19_SmartJet(this.CurrentWeightData));
- break;
- case 20:
- if (this.CurrentWeightData.JudgmentStatus == Define.E_JudgmentStatus.Pass)
- {
- this.EthernetWeightData(this.RoomChange9410(2)); // 2번방 변경
- Thread.Sleep(200);
- this.EthernetWeightData(this.SendChar(Define.E_CharValue.ACK)); // ACK
- Thread.Sleep(200);
- this.EthernetWeightData(this.WeightData9410_OPT3(this.CurrentWeightData)); // 중량값 전송
- }
- else
- {
- this.EthernetWeightData(this.RoomChange9410(1)); // 1번방 변경
- Thread.Sleep(200);
- this.EthernetWeightData(this.SendChar(Define.E_CharValue.ACK)); // ACK
- }
- break;
- case (int)Define.E_EthernetMode.f23_STD2:
- this.EthernetWeightData(this.Transfer_23_STD2(this.SystemConfig1, this.CurrentWeightData, this.CurrentProductItem));
+ case (int)Define.E_CommMode.f28_OPT4: // Tasco(타스코) PC 전송
+ this.EthernetWeightData(this.Transfer_28_OPT4(false, this.CurrentWeightData));
break;
default:
break;
@@ -4642,6 +3877,7 @@ namespace ITC81DB_0H.Forms
if (this.SystemConfig1.IsBarcodeEnable == true)
{
this.CurrentBarcode.BarcodeDequeue();
+
if (this.ChildFormMainDisplay != null)
this.ChildFormMainDisplay.UpdateBarcodeDisplay(this.CurrentBarcode);
@@ -4882,6 +4118,15 @@ namespace ITC81DB_0H.Forms
#endregion
#region Communication protocol
+ public string PadLeft(int length, string sValue)
+ {
+ string temp;
+
+ temp = sValue.PadLeft(length, ' ');
+
+ return temp;
+ }
+
private string Transfer_1_STD1(SystemConfigurationItem1 system, WeightData weight, ProductItem product)
{
StringBuilder sb = new StringBuilder();
@@ -6465,6 +5710,193 @@ namespace ITC81DB_0H.Forms
return sb.ToString();
}
+ private byte[] Transfer_24_MULTi_JET(bool isFillZero, WeightData weight)
+ {
+ byte slaveAddress = 1;
+ string tempString = "";
+ byte[] byteArray = new byte[29];
+ byte[] date = new UTF8Encoding().GetBytes(string.Format("{0:yyyy.MM.dd}", DateTime.Now));
+ byte[] bytes = new byte[7];
+
+ byteArray[0] = 0x1B;
+ byteArray[1] = 0x02;
+ if (this.SystemConfig2.EthernetOperationMode != 0)
+ {
+ if (this.smartTCPMultiServer.IsStart == true && this.smartTCPMultiServer.ClientInfoList.Length != 0)
+ {
+ string temp = this.smartTCPMultiServer.ClientInfoList[0].strIPAddress.Trim();
+ string[] splitTemp = temp.Split('.');
+ slaveAddress = Convert.ToByte(splitTemp[3]);
+ }
+ }
+ else
+ {
+ if (this.SystemConfig1.SerialCOM1Mode == (int)Define.E_CommMode.f24_MULTi_JET)
+ slaveAddress = Convert.ToByte(this.SystemConfig3.MULTiJETSlaveAddressCOM1);
+ else if (this.SystemConfig1.SerialCOM3Mode == (int)Define.E_CommMode.f24_MULTi_JET)
+ slaveAddress = Convert.ToByte(this.SystemConfig3.MULTiJETSlaveAddressCOM3);
+ else if (this.SystemConfig1.SerialCOM4Mode == (int)Define.E_CommMode.f24_MULTi_JET)
+ slaveAddress = Convert.ToByte(this.SystemConfig3.MULTiJETSlaveAddressCOM4);
+ }
+ byteArray[2] = slaveAddress;
+ byteArray[3] = 0x1D; // 고정값, 원격 필드 데이터 다운로드(1D)
+ byteArray[4] = 0x02; // 데이터 개수
+ byteArray[5] = 0x01; // 필드ID(마킹기 화면에서 설정 가능)
+ byteArray[6] = 0x0A; // 현재 필드ID 자리수
+ for (int i = 0; i < date.Length; i++)
+ byteArray[7 + i] = date[i];
+ byteArray[17] = 0x02; // 필드ID(마킹기 화면에서 설정 가능)
+ byteArray[18] = 0x07; // 현재 필드ID 자리수
+
+ if (isFillZero == true)
+ tempString = Helper.StringZeroFillDigits6(Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)) + 'g';
+ else
+ tempString = this.PadLeft(6, Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)) + 'g';
+
+ for (int i = 0; i < tempString.Length; i++)
+ {
+ bytes[i] = Convert.ToByte(tempString[i]);
+ byteArray[19 + i] = bytes[i];
+ }
+ byteArray[26] = 0x1B;
+ byteArray[27] = 0x03;
+ byteArray[28] = this.Checksumcalculator1digit(byteArray);
+
+ return byteArray;
+ }
+ private byte[] Transfer_26_LINX8830(bool isFillZero, WeightData weight)
+ {
+ byte[] byteArray = new byte[13];
+ byte[] bytes = new byte[6];
+
+ // 0~4 고정값
+ byteArray[0] = 0x1b;
+ byteArray[1] = 0x02;
+ byteArray[2] = 0x1D;
+ byteArray[3] = 0x06;
+ byteArray[4] = 0x00;
+
+ if (weight.Weight >= 0.0)
+ {
+ if (isFillZero == true)
+ bytes = new UTF8Encoding().GetBytes(Helper.StringZeroFillDigits6(Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)));
+ else
+ bytes = new UTF8Encoding().GetBytes(this.PadLeft(6, Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)));
+ }
+ else
+ {
+ if (isFillZero == true)
+ bytes = new UTF8Encoding().GetBytes(Helper.StringZeroFillDigits6(Helper.DoubleToString(0.0, this.SystemConfig1.DecimalPlaces)));
+ else
+ bytes = new UTF8Encoding().GetBytes(this.PadLeft(6, Helper.DoubleToString(0.0, this.SystemConfig1.DecimalPlaces)));
+ }
+
+ for (int i = 0; i < bytes.Length; i++)
+ {
+ byteArray[i + 5] = bytes[i];
+ }
+
+ // 11~12 고정값
+ byteArray[11] = 0x1b;
+ byteArray[12] = 0x03;
+
+ return byteArray;
+ }
+ private byte[] Transfer_27_MYJET(bool isFillZero, WeightData weight)
+ {
+ byte[] byteArray = new byte[16];
+ byte[] bytes = new byte[6];
+
+ // 0~6 고정값
+ byteArray[0] = 0x1b;
+ byteArray[1] = 0x02;
+ string[] ethernetAddr = this.SystemConfig2.EthernetAddress.Split('.');
+ byteArray[2] = Helper.StringToHex(ethernetAddr[ethernetAddr.Length - 1]); // Server IP 맨 마지막자리
+ byteArray[3] = 0x1D;
+ byteArray[4] = 0x01;
+ byteArray[5] = 0x01;
+ byteArray[6] = 0x06;
+
+ if (weight.Weight >= 0.0)
+ {
+ if (isFillZero == true)
+ bytes = new UTF8Encoding().GetBytes(Helper.StringZeroFillDigits6(Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)));
+ else
+ bytes = new UTF8Encoding().GetBytes(this.PadLeft(6, Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)));
+ }
+ else
+ {
+ if (isFillZero == true)
+ bytes = new UTF8Encoding().GetBytes(Helper.StringZeroFillDigits6(Helper.DoubleToString(0.0, this.SystemConfig1.DecimalPlaces)));
+ else
+ bytes = new UTF8Encoding().GetBytes(this.PadLeft(6, Helper.DoubleToString(0.0, this.SystemConfig1.DecimalPlaces)));
+ }
+
+ for (int i = 0; i < bytes.Length; i++)
+ {
+ byteArray[i + 7] = bytes[i];
+ }
+
+ // 13~14 고정값
+ byteArray[13] = 0x1b;
+ byteArray[14] = 0x03;
+
+ byteArray[15] = 0x00;
+ byteArray[15] = this.Checksumcalculator1digit(byteArray);
+
+ return byteArray;
+ }
+ private string Transfer_28_OPT4(bool isFillZero, WeightData weight)
+ {
+ if (this.SystemConfig2.Barcode == 0)
+ return "";
+
+ StringBuilder sb = new StringBuilder();
+ DateTime nowTime = DateTime.Now;
+
+ sb.Append((char)0x02);
+ sb.Append(string.Format("{0:yyyy-MM-dd HH:mm:ss}", nowTime));
+ sb.Append(";");
+ switch (weight.JudgmentStatus)
+ {
+ case Define.E_JudgmentStatus.Empty:
+ break;
+ case Define.E_JudgmentStatus.Under:
+ sb.Append("U");
+ break;
+ case Define.E_JudgmentStatus.Pass:
+ sb.Append("P");
+ break;
+ case Define.E_JudgmentStatus.Over:
+ sb.Append("O");
+ break;
+ case Define.E_JudgmentStatus.Double:
+ sb.Append("D");
+ break;
+ case Define.E_JudgmentStatus.Metal:
+ sb.Append("M");
+ break;
+ case Define.E_JudgmentStatus.ExNg:
+ sb.Append("E");
+ break;
+ case Define.E_JudgmentStatus.LengthError:
+ sb.Append("L");
+ break;
+ default:
+ sb.Append("E");
+ break;
+ }
+ sb.Append(";");
+ if (isFillZero == true)
+ sb.Append(Helper.StringZeroFillDigits6(Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)));
+ else
+ sb.Append(this.PadLeft(6, Helper.DoubleToString(weight.Weight, this.SystemConfig1.DecimalPlaces)));
+ sb.Append(";");
+ sb.Append(this.CurrentBarcode.BarcodePeek());
+ sb.Append((char)0x03);
+
+ return sb.ToString();
+ }
#endregion
#region SerialCommunication
@@ -8982,9 +8414,9 @@ namespace ITC81DB_0H.Forms
structItem.ModbusTCPSelectFunction = this.SystemConfig2.ModbusTCPSelectFunction;
structItem.BLDCTotalMotorNum = this.SystemConfig2.BLDCTotalMotorNum;
structItem.ModbusRTUSelectFunction = this.SystemConfig2.ModbusRTUSelectFunction;
- structItem.ModbusRTUSlaveIDCOM1 = this.SystemConfig2.ModbusRTUSlaveIDCOM1;
- structItem.ModbusRTUSlaveIDCOM3 = this.SystemConfig2.ModbusRTUSlaveIDCOM3;
- structItem.ModbusRTUSlaveIDCOM4 = this.SystemConfig2.ModbusRTUSlaveIDCOM4;
+ structItem.ModbusRTUSlaveIDCOM1 = this.SystemConfig2.ModbusSlaveIDCOM1;
+ structItem.ModbusRTUSlaveIDCOM3 = this.SystemConfig2.ModbusSlaveIDCOM3;
+ structItem.ModbusRTUSlaveIDCOM4 = this.SystemConfig2.ModbusSlaveIDCOM4;
structItem.Barcode = this.SystemConfig2.Barcode;
structItem.EthernetLocalPort = this.SystemConfig2.EthernetLocalPort;
structItem.SortingPointLength = this.SystemConfig2.SortingPointLength;
@@ -9088,9 +8520,9 @@ namespace ITC81DB_0H.Forms
structItem.ModbusTCPSelectFunction = item.ModbusTCPSelectFunction;
structItem.BLDCTotalMotorNum = item.BLDCTotalMotorNum;
structItem.ModbusRTUSelectFunction = item.ModbusRTUSelectFunction;
- structItem.ModbusRTUSlaveIDCOM1 = item.ModbusRTUSlaveIDCOM1;
- structItem.ModbusRTUSlaveIDCOM3 = item.ModbusRTUSlaveIDCOM3;
- structItem.ModbusRTUSlaveIDCOM4 = item.ModbusRTUSlaveIDCOM4;
+ structItem.ModbusRTUSlaveIDCOM1 = item.ModbusSlaveIDCOM1;
+ structItem.ModbusRTUSlaveIDCOM3 = item.ModbusSlaveIDCOM3;
+ structItem.ModbusRTUSlaveIDCOM4 = item.ModbusSlaveIDCOM4;
structItem.Barcode = item.Barcode;
structItem.EthernetLocalPort = item.EthernetLocalPort;
structItem.SortingPointLength = item.SortingPointLength;
@@ -9212,9 +8644,9 @@ namespace ITC81DB_0H.Forms
this.SystemConfig2.ModbusTCPSelectFunction = structItem.ModbusTCPSelectFunction;
this.SystemConfig2.ModbusRTUSelectFunction = structItem.ModbusRTUSelectFunction;
- this.SystemConfig2.ModbusRTUSlaveIDCOM1 = structItem.ModbusRTUSlaveIDCOM1;
- this.SystemConfig2.ModbusRTUSlaveIDCOM3 = structItem.ModbusRTUSlaveIDCOM3;
- this.SystemConfig2.ModbusRTUSlaveIDCOM4 = structItem.ModbusRTUSlaveIDCOM4;
+ this.SystemConfig2.ModbusSlaveIDCOM1 = structItem.ModbusRTUSlaveIDCOM1;
+ this.SystemConfig2.ModbusSlaveIDCOM3 = structItem.ModbusRTUSlaveIDCOM3;
+ this.SystemConfig2.ModbusSlaveIDCOM4 = structItem.ModbusRTUSlaveIDCOM4;
this.SystemConfig2.ModbusRTUStartAddressCOM1 = structItem.ModbusRTUStartAddressCOM1;
this.SystemConfig2.ModbusRTUStartAddressCOM3 = structItem.ModbusRTUStartAddressCOM3;
@@ -9310,10 +8742,10 @@ namespace ITC81DB_0H.Forms
structItem.DummyInt23 = 0;
structItem.DummyInt24 = 0;
structItem.DummyInt25 = 0;
- structItem.DummyInt26 = 0;
- structItem.DummyInt27 = 0;
- structItem.DummyInt28 = 0;
- structItem.DummyInt29 = 0;
+ structItem.MULTiJETSlaveAddressCOM1 = this.SystemConfig3.MULTiJETSlaveAddressCOM1;
+ structItem.MULTiJETSlaveAddressCOM3 = this.SystemConfig3.MULTiJETSlaveAddressCOM3;
+ structItem.MULTiJETSlaveAddressCOM4 = this.SystemConfig3.MULTiJETSlaveAddressCOM4;
+ structItem.MULTiJETSlaveAddressEthernet = this.SystemConfig3.MULTiJETSlaveAddressEthernet;
structItem.StoragePeriod = this.SystemConfig3.StoragePeriod;
structItem.DummyString1 = "0";
@@ -9412,10 +8844,10 @@ namespace ITC81DB_0H.Forms
structItem.DummyInt23 = 0;
structItem.DummyInt24 = 0;
structItem.DummyInt25 = 0;
- structItem.DummyInt26 = 0;
- structItem.DummyInt27 = 0;
- structItem.DummyInt28 = 0;
- structItem.DummyInt29 = 0;
+ structItem.MULTiJETSlaveAddressCOM1 = item.MULTiJETSlaveAddressCOM1;
+ structItem.MULTiJETSlaveAddressCOM3 = item.MULTiJETSlaveAddressCOM3;
+ structItem.MULTiJETSlaveAddressCOM4 = item.MULTiJETSlaveAddressCOM4;
+ structItem.MULTiJETSlaveAddressEthernet = item.MULTiJETSlaveAddressEthernet;
structItem.StoragePeriod = item.StoragePeriod;
structItem.DummyString1 = "0";
@@ -9466,6 +8898,11 @@ namespace ITC81DB_0H.Forms
this.SystemConfig3.IsPart11 = structItem.IsPart11;
+ this.SystemConfig3.MULTiJETSlaveAddressCOM1 = structItem.MULTiJETSlaveAddressCOM1;
+ this.SystemConfig3.MULTiJETSlaveAddressCOM3 = structItem.MULTiJETSlaveAddressCOM3;
+ this.SystemConfig3.MULTiJETSlaveAddressCOM4 = structItem.MULTiJETSlaveAddressCOM4;
+ this.SystemConfig3.MULTiJETSlaveAddressEthernet = structItem.MULTiJETSlaveAddressEthernet;
+
this.SystemConfig3.StoragePeriod = structItem.StoragePeriod;
}
catch
@@ -10423,8 +9860,8 @@ namespace ITC81DB_0H.Forms
structItem.Dummy3 = "0";
structItem.Dummy4 = "0";
structItem.Dummy5 = "0";
- structItem.Dummy6 = "0";
- structItem.Dummy7 = "0";
+ structItem.OPT2ZeroZoneCycle = "0";
+ structItem.OPT2ZeroZoneCount = "0";
this.smartFileIO.WriteStructure(structItem, 0);
}
@@ -10466,8 +9903,8 @@ namespace ITC81DB_0H.Forms
structItem.Dummy3 = "0";
structItem.Dummy4 = "0";
structItem.Dummy5 = "0";
- structItem.Dummy6 = "0";
- structItem.Dummy7 = "0";
+ structItem.OPT2ZeroZoneCycle = "0";
+ structItem.OPT2ZeroZoneCount = "0";
this.smartFileIO.WriteStructure(structItem, 0);
this.smartFileIO.Close();
@@ -10790,8 +10227,8 @@ namespace ITC81DB_0H.Forms
structItem.OverRange = this.CurrentProductItem.OverRange;
structItem.UnderRange = this.CurrentProductItem.UnderRange;
structItem.TareRange = this.CurrentProductItem.TareRange;
- structItem.DummyString1 = "0";
- structItem.DummyString2 = "0";
+ structItem.DispenserDelayTime1 = this.CurrentProductItem.DispenserDelayTime1;
+ structItem.DispenserDelayTime2 = this.CurrentProductItem.DispenserDelayTime2;
structItem.DummyString3 = "0";
structItem.DummyString4 = "0";
@@ -10842,8 +10279,8 @@ namespace ITC81DB_0H.Forms
structItem.PassRange = item.PassRange;
structItem.UnderRange = item.UnderRange;
structItem.TareRange = item.TareRange;
- structItem.DummyString1 = "0";
- structItem.DummyString2 = "0";
+ structItem.DispenserDelayTime1 = item.DispenserDelayTime1;
+ structItem.DispenserDelayTime2 = item.DispenserDelayTime2;
structItem.DummyString3 = "0";
structItem.DummyString4 = "0";
@@ -10880,8 +10317,8 @@ namespace ITC81DB_0H.Forms
structItem.PassRange = items[i].PassRange;
structItem.UnderRange = items[i].UnderRange;
structItem.TareRange = items[i].TareRange;
- structItem.DummyString1 = "0";
- structItem.DummyString2 = "0";
+ structItem.DispenserDelayTime1 = items[i].DispenserDelayTime1;
+ structItem.DispenserDelayTime2 = items[i].DispenserDelayTime2;
structItem.DummyString3 = "0";
structItem.DummyString4 = "0";
@@ -10922,6 +10359,8 @@ namespace ITC81DB_0H.Forms
item.OverRange = structItem.OverRange;
item.UnderRange = structItem.UnderRange;
item.TareRange = structItem.TareRange;
+ item.DispenserDelayTime1 = structItem.DispenserDelayTime1;
+ item.DispenserDelayTime2 = structItem.DispenserDelayTime2;
}
catch
{
@@ -10992,6 +10431,8 @@ namespace ITC81DB_0H.Forms
items[i].PassRange = structProduct.PassRange;
items[i].UnderRange = structProduct.UnderRange;
items[i].TareRange = structProduct.TareRange;
+ items[i].DispenserDelayTime1 = structProduct.DispenserDelayTime1;
+ items[i].DispenserDelayTime2 = structProduct.DispenserDelayTime2;
}
}
}
@@ -11597,6 +11038,7 @@ namespace ITC81DB_0H.Forms
UserManager.UserListLoginDataEvent += this.UserManager_UserListLoginDataEvent;
UserManager.UserListLogoutDataEvent += this.UserManager_UserListLogoutDataEvent;
UserManager.UserListGetListNameDataEvent += this.UserManager_UserListGetListNameDataEvent;
+ UserManager.UserListGetVersionDataEvent += this.UserManager_UserListGetVersionDataEvent;
UserManager.IntializeUserManager(this.PathSDCardSystemFile1Folder);
@@ -12860,12 +12302,12 @@ namespace ITC81DB_0H.Forms
this.OpenSmartUartLink();
#region Communication
- if (this.SystemConfig1.SerialCOM1Mode != (int)Define.E_SerialMode.f0_None)
+ if (this.SystemConfig1.SerialCOM1Mode != (int)Define.E_CommMode.f0_None)
{
switch (this.SystemConfig1.SerialCOM1Mode)
{
- case (int)Define.E_SerialMode.f16_OPC:
- case (int)Define.E_SerialMode.f22_Modbus_RTU:
+ case (int)Define.E_CommMode.f16_OPC:
+ case (int)Define.E_CommMode.f22_Modbus:
this.ChildFormMainDisplay.MainBottomModbusIconAdd(true);
break;
default:
@@ -12876,12 +12318,12 @@ namespace ITC81DB_0H.Forms
this.OpenSerialCOM1();
}
- if (this.SystemConfig1.SerialCOM3Mode != (int)Define.E_SerialMode.f0_None)
+ if (this.SystemConfig1.SerialCOM3Mode != (int)Define.E_CommMode.f0_None)
{
switch (this.SystemConfig1.SerialCOM3Mode)
{
- case (int)Define.E_SerialMode.f16_OPC:
- case (int)Define.E_SerialMode.f22_Modbus_RTU:
+ case (int)Define.E_CommMode.f16_OPC:
+ case (int)Define.E_CommMode.f22_Modbus:
this.ChildFormMainDisplay.MainBottomModbusIconAdd(true);
break;
default:
@@ -12892,12 +12334,12 @@ namespace ITC81DB_0H.Forms
this.OpenSerialCOM3();
}
- if (this.SystemConfig1.SerialCOM4Mode != (int)Define.E_SerialMode.f0_None)
+ if (this.SystemConfig1.SerialCOM4Mode != (int)Define.E_CommMode.f0_None)
{
switch (this.SystemConfig1.SerialCOM4Mode)
{
- case (int)Define.E_SerialMode.f16_OPC:
- case (int)Define.E_SerialMode.f22_Modbus_RTU:
+ case (int)Define.E_CommMode.f16_OPC:
+ case (int)Define.E_CommMode.f22_Modbus:
this.ChildFormMainDisplay.MainBottomModbusIconAdd(true);
break;
default:
@@ -13088,7 +12530,7 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_SerialMode.f16_OPC:
+ case (int)Define.E_CommMode.f16_OPC:
#region OPC
try
{
@@ -13096,9 +12538,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_04);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM1);
+ responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM1);
else
- responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM1);
+ responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM1);
this.TransferSerialCOM1(responseData);
@@ -13111,11 +12553,11 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_SerialMode.f22_Modbus_RTU:
+ case (int)Define.E_CommMode.f22_Modbus:
#region Modbus RTU
this.ChildFormMainDisplay.MainDisplayModbus.UpdateReceiveCount();
- if (this.SystemConfig2.ModbusRTUSlaveIDCOM1 != Convert.ToInt32(readByte[0]))
+ if (this.SystemConfig2.ModbusSlaveIDCOM1 != Convert.ToInt32(readByte[0]))
return;
if (readByte[1] == 0x03) // Read Holding Register
@@ -13127,9 +12569,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_03);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTUResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM1, ModbusFunctionCode.FunctionCode_03);
+ responseData = this.Modbus.MakeRTUResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM1, ModbusFunctionCode.FunctionCode_03);
else
- responseData = this.Modbus.MakeRTUErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM1, ModbusFunctionCode.FunctionCode_03);
+ responseData = this.Modbus.MakeRTUErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM1, ModbusFunctionCode.FunctionCode_03);
this.TransferSerialCOM1(responseData);
@@ -13204,9 +12646,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_04);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM1);
+ responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM1);
else
- responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM1);
+ responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM1);
this.TransferSerialCOM1(responseData);
@@ -13399,7 +12841,7 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_SerialMode.f16_OPC:
+ case (int)Define.E_CommMode.f16_OPC:
#region OPC
try
{
@@ -13407,9 +12849,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_04);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM3);
+ responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM3);
else
- responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM3);
+ responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM3);
this.TransferSerialCOM3(responseData);
@@ -13422,11 +12864,11 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_SerialMode.f22_Modbus_RTU:
+ case (int)Define.E_CommMode.f22_Modbus:
#region Modbus RTU
this.ChildFormMainDisplay.MainDisplayModbus.UpdateReceiveCount();
- if (this.SystemConfig2.ModbusRTUSlaveIDCOM3 != Convert.ToInt32(readByte[0]))
+ if (this.SystemConfig2.ModbusSlaveIDCOM3 != Convert.ToInt32(readByte[0]))
return;
if (readByte[1] == 0x03) // Read Holding Register
@@ -13438,9 +12880,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_03);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTUResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM3, ModbusFunctionCode.FunctionCode_03);
+ responseData = this.Modbus.MakeRTUResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM3, ModbusFunctionCode.FunctionCode_03);
else
- responseData = this.Modbus.MakeRTUErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM3, ModbusFunctionCode.FunctionCode_03);
+ responseData = this.Modbus.MakeRTUErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM3, ModbusFunctionCode.FunctionCode_03);
this.TransferSerialCOM3(responseData);
@@ -13515,9 +12957,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_04);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM3);
+ responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM3);
else
- responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM3);
+ responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM3);
this.TransferSerialCOM3(responseData);
@@ -13741,7 +13183,7 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_SerialMode.f16_OPC:
+ case (int)Define.E_CommMode.f16_OPC:
#region OPC
try
{
@@ -13749,9 +13191,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_04);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM4);
+ responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM4);
else
- responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM4);
+ responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM4);
this.TransferSerialCOM4(responseData);
@@ -13764,11 +13206,11 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_SerialMode.f22_Modbus_RTU:
+ case (int)Define.E_CommMode.f22_Modbus:
#region Modbus RTU
this.ChildFormMainDisplay.MainDisplayModbus.UpdateReceiveCount();
- if (this.SystemConfig2.ModbusRTUSlaveIDCOM4 != Convert.ToInt32(readByte[0]))
+ if (this.SystemConfig2.ModbusSlaveIDCOM4 != Convert.ToInt32(readByte[0]))
return;
if (readByte[1] == 0x03) // Read Holding Register
@@ -13780,9 +13222,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_03);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTUResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM4, ModbusFunctionCode.FunctionCode_03);
+ responseData = this.Modbus.MakeRTUResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM4, ModbusFunctionCode.FunctionCode_03);
else
- responseData = this.Modbus.MakeRTUErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM4, ModbusFunctionCode.FunctionCode_03);
+ responseData = this.Modbus.MakeRTUErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM4, ModbusFunctionCode.FunctionCode_03);
this.TransferSerialCOM4(responseData);
@@ -13857,9 +13299,9 @@ namespace ITC81DB_0H.Forms
byte errorCheck = this.Modbus.CheckRequestDataErrorRTU(readByte, ModbusFunctionCode.FunctionCode_04);
if (errorCheck == 0x00)
- responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusRTUSlaveIDCOM4);
+ responseData = this.Modbus.MakeRTU04ResponseData(this.Transfer_22_Modbus_Read_RTU(readByte), this.SystemConfig2.ModbusSlaveIDCOM4);
else
- responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusRTUSlaveIDCOM4);
+ responseData = this.Modbus.MakeRTU04ErrorResponseData(errorCheck, this.SystemConfig2.ModbusSlaveIDCOM4);
this.TransferSerialCOM4(responseData);
@@ -14026,7 +13468,7 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_EthernetMode.f16_OPC:
+ case (int)Define.E_CommMode.f16_OPC:
#region OPC
if (this.smartTCPMultiServer.ClientInfoList != null)
{
@@ -14045,7 +13487,7 @@ namespace ITC81DB_0H.Forms
}
#endregion
break;
- case (int)Define.E_EthernetMode.f22_Modbus_TCP:
+ case (int)Define.E_CommMode.f22_Modbus:
#region Modbus TCP
if (this.smartTCPMultiServer.ClientInfoList != null)
{
@@ -14664,6 +14106,17 @@ namespace ITC81DB_0H.Forms
{
}
}
+ private void UserManager_UserListGetVersionDataEvent(object data)
+ {
+ try
+ {
+ if (this.ChildFormMenu.CenterInforSystem != null)
+ this.ChildFormMenu.CenterInforSystem.UpdatePart11UserManagerVersionDisplay(data.ToString());
+ }
+ catch
+ {
+ }
+ }
#endregion
#region EncryptionEvent
@@ -14683,6 +14136,11 @@ namespace ITC81DB_0H.Forms
}
}
+ private void AesEncryption_GetVersionDataEvent(object data)
+ {
+ if (this.ChildFormMenu.CenterInforSystem != null)
+ this.ChildFormMenu.CenterInforSystem.UpdatePart11AesEncryptionVersionDisplay(data.ToString());
+ }
#endregion
#endregion
}
diff --git a/ITC81DB_0H/Forms/FormMainDisplay.cs b/ITC81DB_0H/Forms/FormMainDisplay.cs
index 775ddd2..a1dd9dd 100644
--- a/ITC81DB_0H/Forms/FormMainDisplay.cs
+++ b/ITC81DB_0H/Forms/FormMainDisplay.cs
@@ -46,6 +46,7 @@ namespace ITC81DB_0H.Forms
this.ParentForm = parent;
this.InitializeDesign();
+ this.InitializeControl();
this.DefaultSetting();
}
#endregion
@@ -193,19 +194,6 @@ namespace ITC81DB_0H.Forms
this.Controls.Add(this.MainAlarm);
this.Controls.Add(this.MainDisplayFeedback);
this.Controls.Add(this.MainDisplayModbus);
-
- if (this.ParentForm.SystemConfig1.IsLogin == true)
- {
- this.labelUserID.Visible = true;
- this.labelUserLevel.Visible = true;
- this.buttonUser.Visible = true;
- }
- else
- {
- this.labelUserID.Visible = false;
- this.labelUserLevel.Visible = false;
- this.buttonUser.Visible = false;
- }
}
private void DefaultSetting()
{
@@ -216,9 +204,7 @@ namespace ITC81DB_0H.Forms
this.pictureBoxStop.Visible = true;
this.pictureBoxStart.Visible = false;
-
- this.InitializeControl();
-
+
// 알람 표시
this.pictureBoxIconAlarm.Visible = false;
this.MainAlarm.Visible = false;
@@ -235,14 +221,26 @@ namespace ITC81DB_0H.Forms
else
this.buttonConveyorUpDown.Visible = false;
- if (this.ParentForm.SystemConfig1.IsLogin == true)
- this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus);
+ if (this.ParentForm.SystemConfig1.IsLogin == false)
+ this.ParentForm.CurrentSystemStatus.CurrentUser.Group = Define.E_UserGroup.NotLogin;
else
- this.ParentForm.CurrentSystemStatus.CurrentUser.Group = Define.E_UserGroup.Admin;
+ {
+ this.ParentForm.CurrentSystemStatus.CurrentUser.Group = Define.E_UserGroup.LogOut;
+
+ this.LoginVisible(true);
+ }
+
+ this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus);
this.CurrentDisplay = Define.E_MainDisplayStore.BarGraph;
this.DisplayBottomMain(this.CurrentDisplay);
}
+ public void LoginVisible(bool bValue)
+ {
+ this.buttonUser.Visible = bValue;
+ this.labelUserID.Visible = bValue;
+ this.labelUserLevel.Visible = bValue;
+ }
public void DisplayHiddenMenu(bool visible)
{
@@ -407,8 +405,6 @@ namespace ITC81DB_0H.Forms
{
string id = "", group = "", expireDate = "";
- this.labelExpireOfPassword.Visible = true;
-
switch (status.CurrentUser.Group)
{
case Define.E_UserGroup.LogOut:
@@ -440,6 +436,9 @@ namespace ITC81DB_0H.Forms
case Define.E_UserGroup.Level1:
id = status.CurrentUser.ID;
group = this.ParentForm.SystemConfig2.UserGroupLevel1Name;
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
@@ -459,6 +458,9 @@ namespace ITC81DB_0H.Forms
id = status.CurrentUser.ID;
group = this.ParentForm.SystemConfig2.UserGroupLevel2Name;
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
@@ -476,6 +478,9 @@ namespace ITC81DB_0H.Forms
case Define.E_UserGroup.Level3:
id = status.CurrentUser.ID;
group = this.ParentForm.SystemConfig2.UserGroupLevel3Name;
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
@@ -504,6 +509,9 @@ namespace ITC81DB_0H.Forms
else
group = "Administrator";
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
@@ -531,6 +539,9 @@ namespace ITC81DB_0H.Forms
else
group = "Developer";
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
@@ -551,8 +562,6 @@ namespace ITC81DB_0H.Forms
this.buttonClear.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplayClear;
this.buttonSubMenu.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplaySubMenu;
- this.labelExpireOfPassword.Visible = false;
-
if (status.Equipment == Define.E_EquipmentStatus.Stop)
this.buttonMenu.Enabled = true;
else
@@ -571,6 +580,8 @@ namespace ITC81DB_0H.Forms
else
group = "Log out";
+ this.labelExpireOfPassword.Visible = false;
+
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOff)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
@@ -748,7 +759,7 @@ namespace ITC81DB_0H.Forms
}
public void ChangeProductNumber(int productNumber)
{
- this.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ProductNumber, "",
+ this.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.ProductNo, "",
this.ParentForm.SystemConfig1.ProductNumber.ToString(), productNumber.ToString());
this.ParentForm.ClearAlarm(0);
@@ -866,6 +877,10 @@ namespace ITC81DB_0H.Forms
else
{
this.buttonUser.ButtonUp();
+
+ this.DisplayRefresh(this.ParentForm.CurrentSystemStatus);
+ this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus);
+ this.ParentForm.ChildFormMenu.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus);
}
}
public void Logout()
diff --git a/ITC81DB_0H/Forms/FormMenu.cs b/ITC81DB_0H/Forms/FormMenu.cs
index 2d65679..9c8134d 100644
--- a/ITC81DB_0H/Forms/FormMenu.cs
+++ b/ITC81DB_0H/Forms/FormMenu.cs
@@ -229,6 +229,14 @@ namespace ITC81DB_0H.Forms
this.CollectionButtonMenu.Add(this.buttonMain);
this.InitializeControl();
+
+ if (this.ParentForm.SystemConfig1.IsLogin == true)
+ this.LoginVisible(true);
+ }
+ public void LoginVisible(bool bValue)
+ {
+ this.labelUserID.Visible = bValue;
+ this.labelUserLevel.Visible = bValue;
}
private void InitializeControl()
{
@@ -399,271 +407,6 @@ namespace ITC81DB_0H.Forms
this.Controls.Add(this.CenterInforSystem3);
}
- private bool UI_Invoke(ThreadStart invoker)
- {
- try
- {
- if (this.InvokeRequired)
- {
- if (this.IsDisposed)
- return true;
-
- this.Invoke(invoker);
- }
- else
- {
- invoker();
- }
-
- return true;
-
- }
- catch (Exception e)
- {
- return false;
- }
-
- }
-
- public void CurrentControlEnable(bool enable)
- {
- foreach (SmartButton button in this.CollectionButtonMenu)
- button.Enabled = enable;
-
- switch (this.SelectedSideMenu)
- {
- case Define.E_MenuSide.Basic:
- this.BottomBasic.CurrentControlEnable(enable);
- break;
- case Define.E_MenuSide.Configuration:
- this.BottomConfiguration.CurrentControlEnable(enable);
- break;
- case Define.E_MenuSide.System:
- this.BottomSystem.CurrentControlEnable(enable);
- break;
- case Define.E_MenuSide.Equipment:
- this.BottomEquipment.CurrentControlEnable(enable);
- break;
- case Define.E_MenuSide.Information:
- this.BottomInformation.CurrentControlEnable(enable);
- break;
- default:
- break;
- }
- }
- public void UpdateDisplayUser(SystemStatus status)
- {
- string id = "", group = "", expireDate = "";
-
- this.labelExpireOfPassword.Visible = true;
-
- switch (status.CurrentUser.Group)
- {
- case Define.E_UserGroup.LogOut:
- id = "";
- if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
- group = "Ausloggen";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
- group = "登出";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
- group = "Выйти.";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
- group = "Cerrar sesión";
- else
- group = "Log out";
-
- this.labelExpireOfPassword.Visible = false;
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOff)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
-
- this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsBasicEnable;
- this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsConfiEnable;
- this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsSystemEnable;
- this.buttonEquipment.Enabled = true;
- this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsLogEnable;
- this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsInforEnable;
- break;
- case Define.E_UserGroup.Level1:
- id = status.CurrentUser.ID;
- group = this.ParentForm.SystemConfig2.UserGroupLevel1Name;
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
-
- this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsBasicEnable;
- this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsConfiEnable;
- this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsSystemEnable;
- this.buttonEquipment.Enabled = true;
- this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsLogEnable;
- this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsInforEnable;
- break;
- case Define.E_UserGroup.Level2:
- id = status.CurrentUser.ID;
- group = this.ParentForm.SystemConfig2.UserGroupLevel2Name;
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
-
- this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsBasicEnable;
- this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsConfiEnable;
- this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsSystemEnable;
- this.buttonEquipment.Enabled = true;
- this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsLogEnable;
- this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsInforEnable;
- break;
- case Define.E_UserGroup.Level3:
- id = status.CurrentUser.ID;
- group = this.ParentForm.SystemConfig2.UserGroupLevel3Name;
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
-
- this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsBasicEnable;
- this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsConfiEnable;
- this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsSystemEnable;
- this.buttonEquipment.Enabled = true;
- this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsLogEnable;
- this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsInforEnable;
- break;
- case Define.E_UserGroup.Admin:
- id = status.CurrentUser.ID;
- if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
- group = "Administrator";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
- group = "行政";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
- group = "Администратор";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
- group = "Administrator";
- else
- group = "Administrator";
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
-
- this.buttonBasic.Enabled = true;
- this.buttonConfiguration.Enabled = true;
- this.buttonSystem.Enabled = true;
- this.buttonEquipment.Enabled = true;
- this.buttonLog.Enabled = true;
- this.buttonInformation.Enabled = true;
- break;
- case Define.E_UserGroup.Developer:
- id = status.CurrentUser.ID;
- if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
- group = "Entwickler";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
- group = "开发商";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
- group = "Разработчик";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
- group = "Desarrollador";
- else
- group = "Developer";
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
-
- this.buttonBasic.Enabled = true;
- this.buttonConfiguration.Enabled = true;
- this.buttonSystem.Enabled = true;
- this.buttonEquipment.Enabled = true;
- this.buttonLog.Enabled = true;
- this.buttonInformation.Enabled = true;
- break;
- case Define.E_UserGroup.NotLogin:
- this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsBasicEnable;
- this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsConfiEnable;
- this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsSystemEnable;
- this.buttonEquipment.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsEquipEnable;
- this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsLogEnable;
- this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsInforEnable;
- break;
- default:
- id = "";
- if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
- group = "Ausloggen";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
- group = "登出";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
- group = "Выйти.";
- else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
- group = "Cerrar sesión";
- else
- group = "Log out";
-
- if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOff)
- this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
-
- this.buttonBasic.Enabled = false;
- this.buttonConfiguration.Enabled = false;
- this.buttonSystem.Enabled = false;
- this.buttonEquipment.Enabled = false;
- this.buttonLog.Enabled = true;
- this.buttonInformation.Enabled = true;
- break;
- }
-
- if (this.ParentForm.SystemConfig1.IsLogin == true)
- {
- if (this.ParentForm.SystemConfig3.IsPart11 == true)
- {
- expireDate = this.ParentForm.ChildFormMainDisplay.DisplayExpireOfPassword(status.CurrentUser.Group);
- if (expireDate != "-")
- {
- int intExpireDate = int.Parse(expireDate);
-
- if (intExpireDate == 0)
- {
- this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOff;
- this.labelExpireOfPassword.Text = "D-0";
- }
- else if (intExpireDate < 0)
- {
- if (intExpireDate * -1 > this.ParentForm.CurrentSystemStatus.CurrentUser.ExpirePassword)
- expireDate = "-" + (this.ParentForm.CurrentSystemStatus.CurrentUser.ExpirePassword - 1).ToString();
-
- if (intExpireDate >= -10)
- this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOff;
- else
- this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
- this.labelExpireOfPassword.Text = "D" + expireDate;
- }
- else
- {
- this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
- this.labelExpireOfPassword.Text = "D+" + expireDate;
- }
- }
- else
- {
- this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
- this.labelExpireOfPassword.Text = "-";
- }
- }
- else
- {
- this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
- this.labelExpireOfPassword.Text = "-";
- }
- }
-
- if (this.labelUserLevel.Text != group)
- this.labelUserLevel.Text = group;
- if (this.labelUserID.Text != id)
- this.labelUserID.Text = id;
- }
- private bool EquipmentRun(Define.E_DisplayStore currentDisplay)
- {
- if (currentDisplay == Define.E_DisplayStore.SystemJudgment
- || currentDisplay == Define.E_DisplayStore.SystemSorterSetting
- || currentDisplay == Define.E_DisplayStore.SystemBLDCMotorSetting)
- return true;
- else
- return false;
- }
-
#region Log
private void CreateHeaderFile(string headerFilePath, string sourceFilePath, FileHeaderItem header)
{
@@ -1149,11 +892,286 @@ namespace ITC81DB_0H.Forms
}
#endregion
- // Menu User
- public void UpdateLevelNameDisplay(SystemConfigurationItem2 data)
+ private bool UI_Invoke(ThreadStart invoker)
{
- this.CenterEquipUser.UpdateLevelNameDisplay(data);
+ try
+ {
+ if (this.InvokeRequired)
+ {
+ if (this.IsDisposed)
+ return true;
+
+ this.Invoke(invoker);
+ }
+ else
+ {
+ invoker();
+ }
+
+ return true;
+
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
}
+
+ public void CurrentControlEnable(bool enable)
+ {
+ foreach (SmartButton button in this.CollectionButtonMenu)
+ button.Enabled = enable;
+
+ switch (this.SelectedSideMenu)
+ {
+ case Define.E_MenuSide.Basic:
+ this.BottomBasic.CurrentControlEnable(enable);
+ break;
+ case Define.E_MenuSide.Configuration:
+ this.BottomConfiguration.CurrentControlEnable(enable);
+ break;
+ case Define.E_MenuSide.System:
+ this.BottomSystem.CurrentControlEnable(enable);
+ break;
+ case Define.E_MenuSide.Equipment:
+ this.BottomEquipment.CurrentControlEnable(enable);
+ break;
+ case Define.E_MenuSide.Information:
+ this.BottomInformation.CurrentControlEnable(enable);
+ break;
+ default:
+ break;
+ }
+ }
+ public void UpdateDisplayUser(SystemStatus status)
+ {
+ string id = "", group = "", expireDate = "";
+
+ switch (status.CurrentUser.Group)
+ {
+ case Define.E_UserGroup.LogOut:
+ id = "";
+ if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
+ group = "Ausloggen";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
+ group = "登出";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
+ group = "Выйти.";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ group = "Cerrar sesión";
+ else
+ group = "Log out";
+
+ this.labelExpireOfPassword.Visible = false;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOff)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
+
+ this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsBasicEnable;
+ this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsConfiEnable;
+ this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsSystemEnable;
+ this.buttonEquipment.Enabled = true;
+ this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsLogEnable;
+ this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsInforEnable;
+ break;
+ case Define.E_UserGroup.Level1:
+ id = status.CurrentUser.ID;
+ group = this.ParentForm.SystemConfig2.UserGroupLevel1Name;
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
+
+ this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsBasicEnable;
+ this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsConfiEnable;
+ this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsSystemEnable;
+ this.buttonEquipment.Enabled = true;
+ this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsLogEnable;
+ this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsInforEnable;
+ break;
+ case Define.E_UserGroup.Level2:
+ id = status.CurrentUser.ID;
+ group = this.ParentForm.SystemConfig2.UserGroupLevel2Name;
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
+
+ this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsBasicEnable;
+ this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsConfiEnable;
+ this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsSystemEnable;
+ this.buttonEquipment.Enabled = true;
+ this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsLogEnable;
+ this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsInforEnable;
+ break;
+ case Define.E_UserGroup.Level3:
+ id = status.CurrentUser.ID;
+ group = this.ParentForm.SystemConfig2.UserGroupLevel3Name;
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
+
+ this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsBasicEnable;
+ this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsConfiEnable;
+ this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsSystemEnable;
+ this.buttonEquipment.Enabled = true;
+ this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsLogEnable;
+ this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsInforEnable;
+ break;
+ case Define.E_UserGroup.Admin:
+ id = status.CurrentUser.ID;
+ if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
+ group = "Administrator";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
+ group = "行政";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
+ group = "Администратор";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ group = "Administrator";
+ else
+ group = "Administrator";
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
+
+ this.buttonBasic.Enabled = true;
+ this.buttonConfiguration.Enabled = true;
+ this.buttonSystem.Enabled = true;
+ this.buttonEquipment.Enabled = true;
+ this.buttonLog.Enabled = true;
+ this.buttonInformation.Enabled = true;
+ break;
+ case Define.E_UserGroup.Developer:
+ id = status.CurrentUser.ID;
+ if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
+ group = "Entwickler";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
+ group = "开发商";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
+ group = "Разработчик";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ group = "Desarrollador";
+ else
+ group = "Developer";
+
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ this.labelExpireOfPassword.Visible = true;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
+
+ this.buttonBasic.Enabled = true;
+ this.buttonConfiguration.Enabled = true;
+ this.buttonSystem.Enabled = true;
+ this.buttonEquipment.Enabled = true;
+ this.buttonLog.Enabled = true;
+ this.buttonInformation.Enabled = true;
+ break;
+ case Define.E_UserGroup.NotLogin:
+ this.buttonBasic.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsBasicEnable;
+ this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsConfiEnable;
+ this.buttonSystem.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsSystemEnable;
+ this.buttonEquipment.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsEquipEnable;
+ this.buttonLog.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsLogEnable;
+ this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.NotLogin.IsInforEnable;
+ break;
+ default:
+ id = "";
+ if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
+ group = "Ausloggen";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
+ group = "登出";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
+ group = "Выйти.";
+ else if (this.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Spanish)
+ group = "Cerrar sesión";
+ else
+ group = "Log out";
+
+ this.labelExpireOfPassword.Visible = false;
+
+ if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOff)
+ this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
+
+ this.buttonBasic.Enabled = false;
+ this.buttonConfiguration.Enabled = false;
+ this.buttonSystem.Enabled = false;
+ this.buttonEquipment.Enabled = false;
+ this.buttonLog.Enabled = true;
+ this.buttonInformation.Enabled = true;
+ break;
+ }
+
+ if (this.ParentForm.SystemConfig1.IsLogin == true)
+ {
+ if (this.ParentForm.SystemConfig3.IsPart11 == true)
+ {
+ expireDate = this.ParentForm.ChildFormMainDisplay.DisplayExpireOfPassword(status.CurrentUser.Group);
+ if (expireDate != "-")
+ {
+ int intExpireDate = int.Parse(expireDate);
+
+ if (intExpireDate == 0)
+ {
+ this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOff;
+ this.labelExpireOfPassword.Text = "D-0";
+ }
+ else if (intExpireDate < 0)
+ {
+ if (intExpireDate * -1 > this.ParentForm.CurrentSystemStatus.CurrentUser.ExpirePassword)
+ expireDate = "-" + (this.ParentForm.CurrentSystemStatus.CurrentUser.ExpirePassword - 1).ToString();
+
+ if (intExpireDate >= -10)
+ this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOff;
+ else
+ this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
+ this.labelExpireOfPassword.Text = "D" + expireDate;
+ }
+ else
+ {
+ this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
+ this.labelExpireOfPassword.Text = "D+" + expireDate;
+ }
+ }
+ else
+ {
+ this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
+ this.labelExpireOfPassword.Text = "-";
+ }
+ }
+ else
+ {
+ this.labelExpireOfPassword.ForeColor = this.ParentForm.ColorLogOn;
+ this.labelExpireOfPassword.Text = "-";
+ }
+ }
+
+ if (this.labelUserLevel.Text != group)
+ this.labelUserLevel.Text = group;
+ if (this.labelUserID.Text != id)
+ this.labelUserID.Text = id;
+ }
+ private bool EquipmentRun(Define.E_DisplayStore currentDisplay)
+ {
+ if (currentDisplay == Define.E_DisplayStore.SystemJudgment
+ || currentDisplay == Define.E_DisplayStore.SystemSorterSetting
+ || currentDisplay == Define.E_DisplayStore.SystemBLDCMotorSetting)
+ return true;
+ else
+ return false;
+ }
+
public void CallBackGetUserData(UserManager.UserMgr_user_list_t userList)
{
this.CenterEquipUser.CallBackGetUserData(userList);
@@ -2266,19 +2284,6 @@ namespace ITC81DB_0H.Forms
this.EncFileName = "";
this.SelectedDataType = Define.E_DataType.None;
- if (this.ParentForm.SystemConfig1.IsLogin == false)
- {
- this.labelUserID.Visible = false;
- this.labelUserLevel.Visible = false;
- this.labelExpireOfPassword.Visible = false;
- }
- else
- {
- this.labelUserID.Visible = true;
- this.labelUserLevel.Visible = true;
- this.labelExpireOfPassword.Visible = true;
- }
-
if (this.buttonBasic.Enabled == true)
{
this.buttonBasic.ButtonDown();
diff --git a/ITC81DB_0H/ITC81DB_2H.csproj b/ITC81DB_0H/ITC81DB_2H.csproj
index 461a433..a5efc11 100644
--- a/ITC81DB_0H/ITC81DB_2H.csproj
+++ b/ITC81DB_0H/ITC81DB_2H.csproj
@@ -119,6 +119,12 @@
ControlCenterLogOthers.cs
+
+ UserControl
+
+
+ ControlConfiMULTiJET.cs
+
UserControl
@@ -655,6 +661,10 @@
ControlConfiModbus.cs
Designer
+
+ ControlConfiMULTiJET.cs
+ Designer
+
ControlConfiSerialBarcode.cs
Designer
diff --git a/ITC81DB_0H/Part11_Encryption/Encryption.Define.cs b/ITC81DB_0H/Part11_Encryption/Encryption.Define.cs
index 5d5acb4..e29040f 100644
--- a/ITC81DB_0H/Part11_Encryption/Encryption.Define.cs
+++ b/ITC81DB_0H/Part11_Encryption/Encryption.Define.cs
@@ -10,12 +10,21 @@ namespace ITC81DB_0H.Part11_Encryption
{
private const string PathDll = "SD Card\\Run\\DllAes128.dll";
+ private delegate void fnAesVersionCB(StringBuilder version);
+ private static fnAesVersionCB fnAesVersionCallBack;
+
public delegate void fnAesEncryptionCB(ref auth_encryption_status_t encryption_status);
public static fnAesEncryptionCB fnAesEncryptionCallBack;
+ [DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
+ private static extern void DLL_AES_Register_VersionCB(fnAesVersionCB func);
+
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
public static extern void DLL_AES_Register_EncryptionCB(fnAesEncryptionCB func);
+ [DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
+ private static extern void DLL_SAES_Getversion();
+
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
public static extern void DLL_AES_Activation();
diff --git a/ITC81DB_0H/Part11_Encryption/Encryption.cs b/ITC81DB_0H/Part11_Encryption/Encryption.cs
index a631eac..533d8fb 100644
--- a/ITC81DB_0H/Part11_Encryption/Encryption.cs
+++ b/ITC81DB_0H/Part11_Encryption/Encryption.cs
@@ -10,10 +10,14 @@ namespace ITC81DB_0H.Part11_Encryption
{
public delegate void ObjectEventHandler(object data);
public static event ObjectEventHandler DllAesEncryption_Event;
+ public static event ObjectEventHandler DllAesEncryption_GetVersionDataEvent;
public static void InitializeEncryption()
{
// register callback
+ fnAesVersionCallBack = AesEncryption_VersionCallback;
+ DLL_AES_Register_VersionCB(fnAesVersionCallBack);
+
fnAesEncryptionCallBack = cbAesEncryption;
DLL_AES_Register_EncryptionCB(fnAesEncryptionCallBack);
@@ -29,6 +33,10 @@ namespace ITC81DB_0H.Part11_Encryption
DLL_AES_Encryption(pInFileName, pOutFileName, encrypt, compress);
}
+ public static void AesEncryption_GetVersion()
+ {
+ DLL_SAES_Getversion();
+ }
#endregion
#region Aes_Callback
@@ -37,6 +45,18 @@ namespace ITC81DB_0H.Part11_Encryption
if (DllAesEncryption_Event != null)
DllAesEncryption_Event(encryption_status);
}
+ private static void AesEncryption_VersionCallback(StringBuilder version)
+ {
+ try
+ {
+ if (DllAesEncryption_GetVersionDataEvent != null)
+ DllAesEncryption_GetVersionDataEvent(version);
+ }
+ catch
+ {
+
+ }
+ }
#endregion
}
}
diff --git a/ITC81DB_0H/Part11_UserManager/UserManager.Define.cs b/ITC81DB_0H/Part11_UserManager/UserManager.Define.cs
index a16cc08..05f487d 100644
--- a/ITC81DB_0H/Part11_UserManager/UserManager.Define.cs
+++ b/ITC81DB_0H/Part11_UserManager/UserManager.Define.cs
@@ -12,6 +12,9 @@ namespace ITC81DB_0H.Part11_UserManager
{
private const string PathDll = "SD Card\\Run\\DllUserMgr.dll";
+ private delegate void fnUserMgrVersionCB(StringBuilder version);
+ private static fnUserMgrVersionCB fnUserMgrVersionCallBack;
+
private delegate void fnUserMgrDebugCB(int level, StringBuilder pMessage);
private static fnUserMgrDebugCB fnUserMgrDebugCallBack;
@@ -51,6 +54,8 @@ namespace ITC81DB_0H.Part11_UserManager
private delegate void fnUserMgrGetListNameCB(ref UserMgr_user_list_name_t user_name);
private static fnUserMgrGetListNameCB fnUsermgrGetListNameCallBack;
+ [DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
+ private static extern void DLL_UserMgr_Register_VersionCB(fnUserMgrVersionCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_DebugCB(fnUserMgrDebugCB func);
@@ -94,6 +99,9 @@ namespace ITC81DB_0H.Part11_UserManager
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_HelloWorld();
+ [DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
+ private static extern void DLL_UserMgr_Getversion();
+
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Activation();
diff --git a/ITC81DB_0H/Part11_UserManager/UserManager.cs b/ITC81DB_0H/Part11_UserManager/UserManager.cs
index b5c95a2..f0bfb79 100644
--- a/ITC81DB_0H/Part11_UserManager/UserManager.cs
+++ b/ITC81DB_0H/Part11_UserManager/UserManager.cs
@@ -19,6 +19,7 @@ namespace ITC81DB_0H.Part11_UserManager
public static event ObjectEventHandler UserListLoginTimeoutDataEvent;
public static event ObjectEventHandler UserListGetListDataEvent;
public static event ObjectEventHandler UserListGetListNameDataEvent;
+ public static event ObjectEventHandler UserListGetVersionDataEvent;
public delegate void IntObjectEventHandler(int status, object data);
public static event IntObjectEventHandler UserListLoginDataEvent;
@@ -31,6 +32,9 @@ namespace ITC81DB_0H.Part11_UserManager
//Console.Write("Initialize User Manger \n");
// regisetr callback
+ fnUserMgrVersionCallBack = UserManager_VersionCallback;
+ DLL_UserMgr_Register_VersionCB(fnUserMgrVersionCallBack);
+
fnUserMgrDebugCallBack = UserManager_DebugCallback;
DLL_UserMgr_Register_DebugCB(fnUserMgrDebugCallBack);
@@ -79,7 +83,7 @@ namespace ITC81DB_0H.Part11_UserManager
DLL_UserMgr_SetFolder(pFolder);
// Test Only
- //TestUserListData();
+ //TestUserListData();
}
public static void TestUserListData()
{
@@ -289,6 +293,10 @@ namespace ITC81DB_0H.Part11_UserManager
{
DLL_UserMgr_GetUserListName();
}
+ public static void UserManager_GetVersion()
+ {
+ DLL_UserMgr_Getversion();
+ }
#endregion
#region UM_CALLBACK
@@ -301,7 +309,7 @@ namespace ITC81DB_0H.Part11_UserManager
}
catch
{
- }
+ }
}
private static void UserManager_GetListCallBack(ref UserMgr_user_list_t user_list)
{
@@ -333,7 +341,7 @@ namespace ITC81DB_0H.Part11_UserManager
UserListLogoutDataEvent(status);
}
- catch
+ catch
{
}
}
@@ -355,7 +363,7 @@ namespace ITC81DB_0H.Part11_UserManager
if (UserListLockDataEvent != null)
UserListLockDataEvent(user_lock);
}
- catch
+ catch
{
}
}
@@ -366,7 +374,7 @@ namespace ITC81DB_0H.Part11_UserManager
if (UserListDefautSettingDataEvent != null)
UserListDefautSettingDataEvent(status);
}
- catch
+ catch
{
}
}
@@ -410,7 +418,7 @@ namespace ITC81DB_0H.Part11_UserManager
if (UserListAddDataEvent != null)
UserListAddDataEvent(user_add);
}
- catch
+ catch
{
}
}
@@ -435,10 +443,22 @@ namespace ITC81DB_0H.Part11_UserManager
try
{
}
- catch
+ catch
{
}
}
+ private static void UserManager_VersionCallback(StringBuilder version)
+ {
+ try
+ {
+ if (UserListGetVersionDataEvent != null)
+ UserListGetVersionDataEvent(version);
+ }
+ catch
+ {
+
+ }
+ }
#endregion
}
}
diff --git a/ITC81DB_0H/Version.txt b/ITC81DB_0H/Version.txt
index 3cfafc7..9a662da 100644
--- a/ITC81DB_0H/Version.txt
+++ b/ITC81DB_0H/Version.txt
@@ -12,6 +12,13 @@
⺻ м 跮
*/
+@ Ver 3.1.0 by CJY
+ - 2023.7.21
+ - Ver 3.0.1 Modify
+ - SerialMode ߰
+ - Part11 (, 丮α ߰ )
+ - ȭ ٱ ӵǥ 500 ̸̻ x
+
@ Ver 3.0.1 by CJY
- 2023.6.21
- Ver 3.0.0 Modify
diff --git a/ITC81DB_0H/bin/Release/DllAes128.dll b/ITC81DB_0H/bin/Release/DllAes128.dll
index c6de404..cb66331 100644
Binary files a/ITC81DB_0H/bin/Release/DllAes128.dll and b/ITC81DB_0H/bin/Release/DllAes128.dll differ
diff --git a/ITC81DB_0H/bin/Release/DllUserMgr.dll b/ITC81DB_0H/bin/Release/DllUserMgr.dll
index ee3a758..4deab23 100644
Binary files a/ITC81DB_0H/bin/Release/DllUserMgr.dll and b/ITC81DB_0H/bin/Release/DllUserMgr.dll differ
diff --git a/ITC81DB_0H/bin/Release/ITC81DB_2H.exe b/ITC81DB_0H/bin/Release/ITC81DB_2H.exe
index 29638d0..7bcd366 100644
Binary files a/ITC81DB_0H/bin/Release/ITC81DB_2H.exe and b/ITC81DB_0H/bin/Release/ITC81DB_2H.exe differ
diff --git a/ITC81DB_0H/obj/Release/ITC81DB_2H.csproj.FileListAbsolute.txt b/ITC81DB_0H/obj/Release/ITC81DB_2H.csproj.FileListAbsolute.txt
index a9e10f9..690f4f3 100644
--- a/ITC81DB_0H/obj/Release/ITC81DB_2H.csproj.FileListAbsolute.txt
+++ b/ITC81DB_0H/obj/Release/ITC81DB_2H.csproj.FileListAbsolute.txt
@@ -77,3 +77,4 @@ D:\Laboratory\ITC81DB_2H\ITC81DB_0H\obj\Release\ITC81DB_0H.Controls.ControlCente
D:\Laboratory\ITC81DB_2H\ITC81DB_0H\obj\Release\ITC81DB_0H.Controls.ControlCenterLogInspection.resources
D:\Laboratory\ITC81DB_2H\ITC81DB_0H\obj\Release\ITC81DB_0H.Controls.ControlCenterLogOthers.resources
D:\Laboratory\ITC81DB_2H\ITC81DB_0H\obj\Release\ITC81DB_0H.Controls.ControlCenterEquipMyPage.resources
+D:\Laboratory\ITC81DB_2H\ITC81DB_0H\obj\Release\ITC81DB_0H.ControlConfiMULTiJET.resources
diff --git a/ITC81DB_0H/obj/Release/ITC81DB_2H.exe b/ITC81DB_0H/obj/Release/ITC81DB_2H.exe
index 29638d0..7bcd366 100644
Binary files a/ITC81DB_0H/obj/Release/ITC81DB_2H.exe and b/ITC81DB_0H/obj/Release/ITC81DB_2H.exe differ