diff --git a/INT63DC_6CH/Controls/ControlCalibration10.cs b/INT63DC_6CH/Controls/ControlCalibration10.cs index a6868b7..5c6582d 100644 --- a/INT63DC_6CH/Controls/ControlCalibration10.cs +++ b/INT63DC_6CH/Controls/ControlCalibration10.cs @@ -136,7 +136,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationStart, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { this.CollCalStatus[i].Initialize(); detail = string.Format("{0} Lane Start", i + 1); @@ -163,7 +163,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationCancel, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[i].IsCancel == false) { @@ -236,7 +236,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsFinish == false) { @@ -260,7 +260,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsError == false) { diff --git a/INT63DC_6CH/Controls/ControlCalibration12.cs b/INT63DC_6CH/Controls/ControlCalibration12.cs index 783a7fb..87c1b10 100644 --- a/INT63DC_6CH/Controls/ControlCalibration12.cs +++ b/INT63DC_6CH/Controls/ControlCalibration12.cs @@ -140,7 +140,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationStart, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { this.CollCalStatus[i].Initialize(); detail = string.Format("{0} Lane Start", i + 1); @@ -167,7 +167,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationCancel, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[i].IsCancel == false) { @@ -240,7 +240,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsFinish == false) { @@ -264,7 +264,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsError == false) { diff --git a/INT63DC_6CH/Controls/ControlCalibration6.cs b/INT63DC_6CH/Controls/ControlCalibration6.cs index afacbf8..bc77734 100644 --- a/INT63DC_6CH/Controls/ControlCalibration6.cs +++ b/INT63DC_6CH/Controls/ControlCalibration6.cs @@ -128,7 +128,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationStart, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { this.CollCalStatus[i].Initialize(); detail = string.Format("{0} Lane Start", i + 1); @@ -155,7 +155,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationCancel, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[i].IsCancel == false) { @@ -268,7 +268,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsFinish == false) { @@ -292,7 +292,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsError == false) { diff --git a/INT63DC_6CH/Controls/ControlCalibration7.cs b/INT63DC_6CH/Controls/ControlCalibration7.cs index 6c3a3ac..6a5c757 100644 --- a/INT63DC_6CH/Controls/ControlCalibration7.cs +++ b/INT63DC_6CH/Controls/ControlCalibration7.cs @@ -129,7 +129,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationStart, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { this.CollCalStatus[i].Initialize(); detail = string.Format("{0} Lane Start", i + 1); @@ -156,7 +156,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationCancel, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[i].IsCancel == false) { @@ -229,7 +229,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsFinish == false) { @@ -253,7 +253,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsError == false) { diff --git a/INT63DC_6CH/Controls/ControlCalibration8.cs b/INT63DC_6CH/Controls/ControlCalibration8.cs index aadbc1b..ab22fc0 100644 --- a/INT63DC_6CH/Controls/ControlCalibration8.cs +++ b/INT63DC_6CH/Controls/ControlCalibration8.cs @@ -132,7 +132,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationStart, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { this.CollCalStatus[i].Initialize(); detail = string.Format("{0} Lane Start", i + 1); @@ -159,7 +159,7 @@ namespace INT63DC_6CH.Controls this.ParentForm.ParentForm.TransferData(CommunicationCommand.CalibrationCancel, this.CollButtonLane[i].Tag.ToString()); // Part 11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[i].IsCancel == false) { @@ -232,7 +232,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsFinish == false) { @@ -256,7 +256,7 @@ namespace INT63DC_6CH.Controls bt.Enabled = true; // Part11 - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true) { if (this.CollCalStatus[index].IsError == false) { diff --git a/INT63DC_6CH/DataStore.cs b/INT63DC_6CH/DataStore.cs index 088b641..3ca7d7e 100644 --- a/INT63DC_6CH/DataStore.cs +++ b/INT63DC_6CH/DataStore.cs @@ -58,6 +58,10 @@ namespace INT63DC_6CH Czech, German, Japanese, + Russian, + Spanish, + Turkish, + French, }; public enum E_CommMode @@ -95,6 +99,7 @@ namespace INT63DC_6CH NotUsbMomery, NotUpdateFolder, NotFile, + TooManyFiles, }; public enum JudgmentStatus @@ -180,6 +185,7 @@ namespace INT63DC_6CH UserEditor, Bypass, Update, + FunctionUpdate, DataBackup, GroupEditor, @@ -916,13 +922,14 @@ namespace INT63DC_6CH private bool m_IsEachNG; private bool m_IsLogin; private bool m_IsWeightViewForward; - private bool m_IsOptDataStatistics; - private bool m_IsOptPart11; + private bool m_IsDataStatistics; + private bool m_IsPart11; + private bool m_IsModbus; private int m_AutoLogoutTime; private int m_UsbID; private int m_ProductNumber; - private int m_DataStoragePeriod; + private int m_StoragePeriod; private int m_EquipmentColumns; private int m_Chattering; private int m_BuzzerRunTime; @@ -994,25 +1001,20 @@ namespace INT63DC_6CH get { return this.m_IsWeightViewForward; } set { this.m_IsWeightViewForward = value; } } - public bool IsOptDataStatistics + public bool IsDataStatistics { - get { return this.m_IsOptDataStatistics; } - set { this.m_IsOptDataStatistics = value; } + get { return this.m_IsDataStatistics; } + set { this.m_IsDataStatistics = value; } } - public bool IsOptPart11 + public bool IsPart11 { - get { return this.m_IsOptPart11; } - set { this.m_IsOptPart11 = value; } + get { return this.m_IsPart11; } + set { this.m_IsPart11 = value; } } - public bool IsModbusUse + public bool IsModbus { - get - { - if (this.EthernetMode == 4) - return true; - else - return false; - } + get { return this.m_IsModbus; } + set { this.m_IsModbus = value; } } public int UsbID @@ -1025,10 +1027,10 @@ namespace INT63DC_6CH get { return this.m_ProductNumber; } set { this.m_ProductNumber = value; } } - public int DataStoragePeriod + public int StoragePeriod { - get { return this.m_DataStoragePeriod; } - set { this.m_DataStoragePeriod = value; } + get { return this.m_StoragePeriod; } + set { this.m_StoragePeriod = value; } } public int EquipmentColumns { @@ -1231,12 +1233,13 @@ namespace INT63DC_6CH this.IsEachNG = true; this.IsLogin = false; this.IsWeightViewForward = true; - this.IsOptDataStatistics = false; - this.IsOptPart11 = false; + this.IsDataStatistics = false; + this.IsPart11 = false; + this.IsModbus = false; this.UsbID = 1; this.ProductNumber = 1; - this.DataStoragePeriod = 36; + this.StoragePeriod = 12; this.EquipmentColumns = 6; this.Chattering = 300; this.BuzzerRunTime = 500; @@ -1258,7 +1261,7 @@ namespace INT63DC_6CH this.Unit = "g"; this.EmptyWeight = "0"; - this.SerialNumber = "25F0000"; + this.SerialNumber = "25H0000"; this.User_Level1_Name = "Level 1"; this.User_Level2_Name = "Level 2"; this.User_Level3_Name = "Level 3"; @@ -1291,8 +1294,9 @@ namespace INT63DC_6CH public bool IsEachNG; public bool IsLogin; public bool IsWeightViewForward; - public bool IsOptDataStatistics; - public bool IsOptPart11; + public bool IsDataStatistics; + public bool IsPart11; + public bool IsModbus; public bool dummyBool1; public bool dummyBool2; public bool dummyBool3; @@ -1307,12 +1311,11 @@ namespace INT63DC_6CH public bool dummyBool12; public bool dummyBool13; public bool dummyBool14; - public bool dummyBool15; public int AutoLogoutTime; public int UsbID; public int ProductNumber; - public int DataStoragePeriod; + public int StoragePeriod; public int EquipmentColumns; public int Chattering; public int BuzzerRunTime; diff --git a/INT63DC_6CH/DialogForms/DialogFormDataStatistics.cs b/INT63DC_6CH/DialogForms/DialogFormDataStatistics.cs index c22b0b6..4b2e513 100644 --- a/INT63DC_6CH/DialogForms/DialogFormDataStatistics.cs +++ b/INT63DC_6CH/DialogForms/DialogFormDataStatistics.cs @@ -95,7 +95,7 @@ namespace INT63DC_6CH.DialogForms this.ListFiles = new List(); this.ListInspectionFile = new List(); - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == false) this.DisplayTreeViewUpdate1(); else this.DisplayTreeViewUpdate2(); @@ -298,7 +298,7 @@ namespace INT63DC_6CH.DialogForms public void DisplayRefresh() { - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == false) this.DisplayTreeViewUpdate1(); else this.DisplayTreeViewUpdate2(); @@ -343,7 +343,7 @@ namespace INT63DC_6CH.DialogForms string fileName = "", pathFileName = ""; string[] name; - if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == false) { //fileName = e.Node.Text; fileName = e.Node.Text.Substring(0, e.Node.Text.Length - 4); diff --git a/INT63DC_6CH/DialogForms/DialogFormLogOn.cs b/INT63DC_6CH/DialogForms/DialogFormLogOn.cs index aa9473b..fc38e2e 100644 --- a/INT63DC_6CH/DialogForms/DialogFormLogOn.cs +++ b/INT63DC_6CH/DialogForms/DialogFormLogOn.cs @@ -250,7 +250,7 @@ namespace INT63DC_6CH.DialogForms if (this.textBoxID.Text == "") { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : ID blank"); // ID : 6~20자 입력 하세요 @@ -261,7 +261,7 @@ namespace INT63DC_6CH.DialogForms } if (this.textBoxPassword.Text == "") { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : PW blank"); // PASSWORD : 6~20자 입력 하세요 @@ -328,7 +328,7 @@ namespace INT63DC_6CH.DialogForms this.ParentForm.SystemConfig.CurrentUser.IsFirstPassword = userInfo.fFirstPW; #endregion - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Success"); this.DialogResult = DialogResult.OK; @@ -336,7 +336,7 @@ namespace INT63DC_6CH.DialogForms } else if (userInfo.fFirstPW == 1) { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "First login"); // 최초 로그인 시 비밀번호 변경 @@ -385,7 +385,7 @@ namespace INT63DC_6CH.DialogForms // 비밀번호 만료 시 if (userInfo.status == 15) { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Password expiration"); this.ParentForm.ChildFormMainDisplay.ChangeID = this.textBoxID.Text; @@ -394,12 +394,12 @@ namespace INT63DC_6CH.DialogForms } else { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : " + this.ReturnUserStatus(userInfo.status)); } } - if (this.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.SystemConfig.IsPart11 == false) UserManager.UserManager_AutoLogoutTimeoutPause(); } private void ChangePassword() @@ -410,7 +410,7 @@ namespace INT63DC_6CH.DialogForms if (this.textBoxID.Text == "") { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : TextBox1 blank"); // New Password : 6~20자 입력 하세요 @@ -421,7 +421,7 @@ namespace INT63DC_6CH.DialogForms } if (this.textBoxPassword.Text == "") { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : TextBox2 blank"); // New Password Confirmation : 6~20자 입력 하세요 @@ -432,7 +432,7 @@ namespace INT63DC_6CH.DialogForms } if (this.textBoxID.Text.Equals(this.textBoxPassword.Text) == false) { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : Diffrent char"); // 비밀번호를 확인하세요 @@ -502,7 +502,7 @@ namespace INT63DC_6CH.DialogForms this.ParentForm.SystemConfig.CurrentUser.IsFirstPassword = userInfo.fFirstPW; #endregion - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Success"); this.DialogResult = DialogResult.OK; @@ -510,7 +510,7 @@ namespace INT63DC_6CH.DialogForms } else { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Fail : " + this.ReturnUserStatus(ret)); DialogFormMessage myMsg = new DialogFormMessage(null, ret, this.ParentForm.SystemConfig.Language); @@ -519,7 +519,7 @@ namespace INT63DC_6CH.DialogForms } else { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Login, "Failure change password"); // 비밀번호 변경 실패 시 메시지?? @@ -528,7 +528,7 @@ namespace INT63DC_6CH.DialogForms myMsg.ShowDialog(); } - if (this.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.SystemConfig.IsPart11 == false) UserManager.UserManager_AutoLogoutTimeoutPause(); } #endregion diff --git a/INT63DC_6CH/DialogForms/DialogFormMessage.cs b/INT63DC_6CH/DialogForms/DialogFormMessage.cs index e26d554..f7b4990 100644 --- a/INT63DC_6CH/DialogForms/DialogFormMessage.cs +++ b/INT63DC_6CH/DialogForms/DialogFormMessage.cs @@ -1828,6 +1828,430 @@ namespace INT63DC_6CH.DialogForms this.timerAutoClose.Enabled = true; } } + public DialogFormMessage(int errCode, DataStore.E_LanguageID language, DataStore.FormStore screen) + { + InitializeComponent(); + + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = ""; + this.labelMessage2.Text = ""; + + int screenNum = (int)screen; + + switch (screen) + { + case DataStore.FormStore.FormProgramUpdate: + if (language == DataStore.E_LanguageID.Korean) + { + this.buttonOK.Text = "OK"; + + #region 한글 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "파일명이 올바르지 않습니다"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "시리얼 번호가 올바르지 않습니다"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "파일을 찾을 수 없습니다"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "파일 상태에 문제가 있습니다"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "파일의 시리얼 번호가 현재 장비와 일치하지 않습니다"; + this.labelMessage2.Text = ""; + break; + case 6: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "UID가 일치하지 않습니다"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "키 타입이 올바르지 않습니다"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "제조사에 문의하세요"; + this.labelMessage2.Text = ""; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.English) + { + this.buttonOK.Text = "OK"; + + #region 영문 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "The file name is incorrect"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "Serial number is incorrect"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "file not found"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "There is a problem with the file status"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "The serial number in the file"; + this.labelMessage2.Text = "does not match your current device"; + break; + case 6: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "UID does not match"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "Key type is incorrect"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "Please contact a manufacturer"; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.Chinese) + { + this.buttonOK.Text = "确认"; + + #region 중문 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "文件名不正确"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "序列号不正确"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "文件未找到"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "文件状态有问题"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "文件中的序列号与您当前的设备不匹配"; + this.labelMessage2.Text = ""; + break; + case 6: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "UID 不匹配"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "密钥类型不正确"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "错误" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "请联系厂商"; + this.labelMessage2.Text = ""; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.Czech) + { + + } + else if (language == DataStore.E_LanguageID.Russian) + { + this.buttonOK.Text = "OK"; + + #region 러시아어 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "Имя файла неверно"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "Серийный номер неверен"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "файл не найден"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "Возникла проблема со статусом файла"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "Серийный номер в файле не"; + this.labelMessage2.Text = "соответствует вашему текущему устройству"; + break; + case 6: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "UID не соответствует"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "Тип ключа неверен"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Ошибка" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "Свяжитесь с производителем"; + this.labelMessage2.Text = ""; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.German) + { + this.buttonOK.Text = "Bestätigen"; + + #region 독일어 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "Der Dateiname ist falsch"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "Die Seriennummer ist falsch"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "Datei nicht gefunden"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "Es liegt ein Problem mit dem Dateistatus vor"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "Die Seriennummer in der Datei stimmt"; + this.labelMessage2.Text = "nicht mit Ihrem aktuellen Gerät überein"; + break; + case 6: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "UID stimmt nicht überein"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "Der Schlüsseltyp ist falsch"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Fehler" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "Hersteller kontaktieren"; + this.labelMessage2.Text = ""; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.Spanish) + { + this.buttonOK.Text = "DE ACUERDO"; + + #region 스페인어 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "El nombre del archivo es incorrecto"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "El número de serie es incorrecto"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "Archivo no encontrado"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "Hay un problema con el estado del archivo."; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "El número de serie en el archivo"; + this.labelMessage2.Text = "no coincide con su dispositivo actual"; + break; + case 6: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "El UID no coincide"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "El tipo de clave es incorrecto"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Error" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "Póngase en contacto con un fabricante"; + this.labelMessage2.Text = ""; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.Turkish) + { + this.buttonOK.Text = "Tamam"; + + #region 터키어 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "Dosya adı yanlış"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "Seri numarası yanlış"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "Dosya bulunamadı"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "Dosya durumuyla ilgili bir sorun var"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "Dosyadaki seri numarası geçerli"; + this.labelMessage2.Text = "cihazla eşleşmiyor"; + break; + case 6: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "UID eşleşmiyor"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "Anahtar türü yanlış"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Hata" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "Lütfen bir üreticiyle iletişime geçin"; + break; + } + #endregion + } + else if (language == DataStore.E_LanguageID.French) + { + this.buttonOK.Text = "Vérifier"; + + #region 프랑스어 + switch (errCode) + { + case 1: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_01"; + this.labelMessage1.Text = "Le nom du fichier est incorrect"; + this.labelMessage2.Text = ""; + break; + case 2: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_02"; + this.labelMessage1.Text = "Le numéro de série est incorrect"; + this.labelMessage2.Text = ""; + break; + case 3: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_03"; + this.labelMessage1.Text = "Fichier introuvable"; + this.labelMessage2.Text = ""; + break; + case 4: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_04"; + this.labelMessage1.Text = "Il y a un problème avec le statut du fichier"; + this.labelMessage2.Text = ""; + break; + case 5: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_05"; + this.labelMessage1.Text = "Le numéro de série dans le fichier ne correspond"; + this.labelMessage2.Text = "pas à l'appareil actuel"; + break; + case 6: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_06"; + this.labelMessage1.Text = "L'UID ne correspond pas"; + this.labelMessage2.Text = ""; + break; + case 7: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_07"; + this.labelMessage1.Text = "Le type de clé est incorrect"; + this.labelMessage2.Text = ""; + break; + default: + this.labelErrorCode.Text = "Erreur" + screenNum.ToString() + "_99"; + this.labelMessage1.Text = "Contacter le fabricant"; + this.labelMessage2.Text = ""; + break; + } + #endregion + } + else + { + + } + break; + default: + break; + } + } #endregion #region Property diff --git a/INT63DC_6CH/DialogForms/DialogFormYesNo.cs b/INT63DC_6CH/DialogForms/DialogFormYesNo.cs index a427f59..8de83b5 100644 --- a/INT63DC_6CH/DialogForms/DialogFormYesNo.cs +++ b/INT63DC_6CH/DialogForms/DialogFormYesNo.cs @@ -45,7 +45,7 @@ namespace INT63DC_6CH.DialogForms break; case 3: this.labelErrorCode.Text = "업데이트"; - this.labelMessage1.Text = "새 버전으로 업데이트됩니다."; + this.labelMessage1.Text = "업데이트를 진행하시겠습니까?"; break; case 4: break; @@ -114,7 +114,7 @@ namespace INT63DC_6CH.DialogForms break; case 3: this.labelErrorCode.Text = "Update"; - this.labelMessage1.Text = "Now appilcation program update"; + this.labelMessage1.Text = "Would you like to proceed with the update?"; break; case 4: break; @@ -186,7 +186,7 @@ namespace INT63DC_6CH.DialogForms break; case 3: this.labelErrorCode.Text = "更新"; - this.labelMessage1.Text = "现在应用程序更新"; + this.labelMessage1.Text = "您想继续更新吗?"; break; case 4: break; @@ -331,7 +331,7 @@ namespace INT63DC_6CH.DialogForms break; case 3: this.labelErrorCode.Text = "Aktualisierung"; - this.labelMessage1.Text = "Programm wird aktualisiert"; + this.labelMessage1.Text = "Möchten Sie mit dem Update fortfahren?"; break; case 4: break; @@ -404,7 +404,7 @@ namespace INT63DC_6CH.DialogForms break; case 3: this.labelErrorCode.Text = "更新"; - this.labelMessage1.Text = "これよりアプリケㅡションプログラムの更新となる"; + this.labelMessage1.Text = "アップデートを続行しますか?"; break; case 4: break; diff --git a/INT63DC_6CH/Forms/FormCommunication.Designer.cs b/INT63DC_6CH/Forms/FormCommunication.Designer.cs index 6732d94..368b41c 100644 --- a/INT63DC_6CH/Forms/FormCommunication.Designer.cs +++ b/INT63DC_6CH/Forms/FormCommunication.Designer.cs @@ -157,7 +157,7 @@ this.labelTitle.BackPictureBox2 = null; this.labelTitle.BorderColor = System.Drawing.Color.Black; this.labelTitle.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitle.Font = new System.Drawing.Font("New Gulim", 35F, System.Drawing.FontStyle.Bold); + this.labelTitle.Font = new System.Drawing.Font("새굴림", 35F, System.Drawing.FontStyle.Bold); this.labelTitle.InitVisible = true; this.labelTitle.LineSpacing = 0F; this.labelTitle.Location = new System.Drawing.Point(93, 7); @@ -181,7 +181,7 @@ this.groupBoxComm.Controls.Add(this.labelStaticSerialMode); this.groupBoxComm.Controls.Add(this.smartLabel4); this.groupBoxComm.Controls.Add(this.labelStaticSerialBaudrate); - this.groupBoxComm.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.groupBoxComm.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.groupBoxComm.FrameLineColor1 = System.Drawing.Color.Black; this.groupBoxComm.FrameLineColor2 = System.Drawing.Color.Black; this.groupBoxComm.FrameLineThickness = 1; @@ -198,7 +198,7 @@ // // buttonSerialSend // - this.buttonSerialSend.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonSerialSend.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonSerialSend.Location = new System.Drawing.Point(370, 23); this.buttonSerialSend.Name = "buttonSerialSend"; this.buttonSerialSend.Size = new System.Drawing.Size(100, 28); @@ -208,7 +208,7 @@ // // buttonSerialSave // - this.buttonSerialSave.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonSerialSave.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonSerialSave.Location = new System.Drawing.Point(370, 57); this.buttonSerialSave.Name = "buttonSerialSave"; this.buttonSerialSave.Size = new System.Drawing.Size(100, 28); @@ -223,7 +223,7 @@ this.labelProtocolDescriptionCOM3_1.BackPictureBox2 = null; this.labelProtocolDescriptionCOM3_1.BorderColor = System.Drawing.Color.Black; this.labelProtocolDescriptionCOM3_1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelProtocolDescriptionCOM3_1.Font = new System.Drawing.Font("New Gulim", 9F, System.Drawing.FontStyle.Regular); + this.labelProtocolDescriptionCOM3_1.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular); this.labelProtocolDescriptionCOM3_1.InitVisible = true; this.labelProtocolDescriptionCOM3_1.LineSpacing = 0F; this.labelProtocolDescriptionCOM3_1.Location = new System.Drawing.Point(158, 91); @@ -260,7 +260,7 @@ this.labelStaticSerialMode.BackPictureBox2 = null; this.labelStaticSerialMode.BorderColor = System.Drawing.Color.Black; this.labelStaticSerialMode.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticSerialMode.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticSerialMode.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelStaticSerialMode.InitVisible = true; this.labelStaticSerialMode.LineSpacing = 0F; this.labelStaticSerialMode.Location = new System.Drawing.Point(264, 30); @@ -279,7 +279,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("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.smartLabel4.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.smartLabel4.InitVisible = true; this.smartLabel4.LineSpacing = 0F; this.smartLabel4.Location = new System.Drawing.Point(32, 55); @@ -298,7 +298,7 @@ this.labelStaticSerialBaudrate.BackPictureBox2 = null; this.labelStaticSerialBaudrate.BorderColor = System.Drawing.Color.Black; this.labelStaticSerialBaudrate.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticSerialBaudrate.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticSerialBaudrate.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelStaticSerialBaudrate.InitVisible = true; this.labelStaticSerialBaudrate.LineSpacing = 0F; this.labelStaticSerialBaudrate.Location = new System.Drawing.Point(158, 30); @@ -338,7 +338,7 @@ this.labelTitleConnectedIP.BackPictureBox2 = null; this.labelTitleConnectedIP.BorderColor = System.Drawing.Color.Black; this.labelTitleConnectedIP.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleConnectedIP.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleConnectedIP.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleConnectedIP.ForeColor = System.Drawing.Color.Black; this.labelTitleConnectedIP.InitVisible = true; this.labelTitleConnectedIP.LineSpacing = 0F; @@ -380,7 +380,7 @@ this.labelTitleServerPort.BackPictureBox2 = null; this.labelTitleServerPort.BorderColor = System.Drawing.Color.Black; this.labelTitleServerPort.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleServerPort.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleServerPort.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleServerPort.ForeColor = System.Drawing.Color.Black; this.labelTitleServerPort.InitVisible = true; this.labelTitleServerPort.LineSpacing = 0F; @@ -466,7 +466,7 @@ this.smartGroupBox1.Controls.Add(this.labelStaticTcpOperationMode); this.smartGroupBox1.Controls.Add(this.comboBoxOperationMode); this.smartGroupBox1.Controls.Add(this.comboBoxMode); - this.smartGroupBox1.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.smartGroupBox1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.Black; this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.Black; this.smartGroupBox1.FrameLineThickness = 1; @@ -489,7 +489,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("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.smartLabel2.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.smartLabel2.ForeColor = System.Drawing.Color.Black; this.smartLabel2.InitVisible = true; this.smartLabel2.LineSpacing = 0F; @@ -510,7 +510,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("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.smartLabel1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.smartLabel1.ForeColor = System.Drawing.Color.Black; this.smartLabel1.InitVisible = true; this.smartLabel1.LineSpacing = 0F; @@ -532,7 +532,7 @@ this.smartSeparatorLine1.Line2Visible = true; this.smartSeparatorLine1.Line2Width = 1F; this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Vertical; - this.smartSeparatorLine1.Location = new System.Drawing.Point(469, 21); + this.smartSeparatorLine1.Location = new System.Drawing.Point(473, 21); this.smartSeparatorLine1.Name = "smartSeparatorLine1"; this.smartSeparatorLine1.Size = new System.Drawing.Size(2, 350); this.smartSeparatorLine1.TabIndex = 251; @@ -540,7 +540,7 @@ // // buttonSend // - this.buttonSend.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonSend.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonSend.Location = new System.Drawing.Point(534, 394); this.buttonSend.Name = "buttonSend"; this.buttonSend.Size = new System.Drawing.Size(100, 50); @@ -550,7 +550,7 @@ // // button10LaneSend // - this.button10LaneSend.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.button10LaneSend.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.button10LaneSend.Location = new System.Drawing.Point(820, 318); this.button10LaneSend.Name = "button10LaneSend"; this.button10LaneSend.Size = new System.Drawing.Size(120, 38); @@ -561,7 +561,7 @@ // // buttonStop // - this.buttonStop.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonStop.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonStop.Location = new System.Drawing.Point(428, 394); this.buttonStop.Name = "buttonStop"; this.buttonStop.Size = new System.Drawing.Size(100, 50); @@ -571,7 +571,7 @@ // // button1LaneSend // - this.button1LaneSend.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.button1LaneSend.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.button1LaneSend.Location = new System.Drawing.Point(677, 318); this.button1LaneSend.Name = "button1LaneSend"; this.button1LaneSend.Size = new System.Drawing.Size(120, 38); @@ -582,7 +582,7 @@ // // buttonStart // - this.buttonStart.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonStart.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonStart.Location = new System.Drawing.Point(322, 394); this.buttonStart.Name = "buttonStart"; this.buttonStart.Size = new System.Drawing.Size(100, 50); @@ -592,7 +592,7 @@ // // buttonDataSend // - this.buttonDataSend.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonDataSend.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonDataSend.Location = new System.Drawing.Point(535, 318); this.buttonDataSend.Name = "buttonDataSend"; this.buttonDataSend.Size = new System.Drawing.Size(120, 38); @@ -603,7 +603,7 @@ // // buttonTcpSave2 // - this.buttonTcpSave2.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.buttonTcpSave2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.buttonTcpSave2.Location = new System.Drawing.Point(812, 282); this.buttonTcpSave2.Name = "buttonTcpSave2"; this.buttonTcpSave2.Size = new System.Drawing.Size(106, 28); @@ -639,7 +639,7 @@ this.labelTitleClientServerIP.BackPictureBox2 = null; this.labelTitleClientServerIP.BorderColor = System.Drawing.Color.Black; this.labelTitleClientServerIP.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleClientServerIP.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleClientServerIP.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleClientServerIP.ForeColor = System.Drawing.Color.Black; this.labelTitleClientServerIP.InitVisible = true; this.labelTitleClientServerIP.LineSpacing = 0F; @@ -765,7 +765,7 @@ this.labelTitleClientServerPort.BackPictureBox2 = null; this.labelTitleClientServerPort.BorderColor = System.Drawing.Color.Black; this.labelTitleClientServerPort.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleClientServerPort.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleClientServerPort.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleClientServerPort.ForeColor = System.Drawing.Color.Black; this.labelTitleClientServerPort.InitVisible = true; this.labelTitleClientServerPort.LineSpacing = 0F; @@ -785,10 +785,10 @@ this.labelProtocolDescriptionEthernet_1.BackPictureBox2 = null; this.labelProtocolDescriptionEthernet_1.BorderColor = System.Drawing.Color.Black; this.labelProtocolDescriptionEthernet_1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelProtocolDescriptionEthernet_1.Font = new System.Drawing.Font("New Gulim", 9F, System.Drawing.FontStyle.Regular); + this.labelProtocolDescriptionEthernet_1.Font = new System.Drawing.Font("새굴림", 9F, System.Drawing.FontStyle.Regular); this.labelProtocolDescriptionEthernet_1.InitVisible = true; this.labelProtocolDescriptionEthernet_1.LineSpacing = 0F; - this.labelProtocolDescriptionEthernet_1.Location = new System.Drawing.Point(71, 107); + this.labelProtocolDescriptionEthernet_1.Location = new System.Drawing.Point(77, 107); this.labelProtocolDescriptionEthernet_1.Name = "labelProtocolDescriptionEthernet_1"; this.labelProtocolDescriptionEthernet_1.Size = new System.Drawing.Size(320, 46); this.labelProtocolDescriptionEthernet_1.TabIndex = 230; @@ -808,7 +808,7 @@ this.labelStartAddress.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelStartAddress.InitVisible = true; this.labelStartAddress.LineSpacing = 0F; - this.labelStartAddress.Location = new System.Drawing.Point(191, 295); + this.labelStartAddress.Location = new System.Drawing.Point(197, 295); this.labelStartAddress.Name = "labelStartAddress"; this.labelStartAddress.Size = new System.Drawing.Size(105, 28); this.labelStartAddress.TabIndex = 228; @@ -826,11 +826,11 @@ this.labelTitleStartAddress.BackPictureBox2 = null; this.labelTitleStartAddress.BorderColor = System.Drawing.Color.Black; this.labelTitleStartAddress.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleStartAddress.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleStartAddress.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleStartAddress.ForeColor = System.Drawing.Color.Black; this.labelTitleStartAddress.InitVisible = true; this.labelTitleStartAddress.LineSpacing = 0F; - this.labelTitleStartAddress.Location = new System.Drawing.Point(45, 295); + this.labelTitleStartAddress.Location = new System.Drawing.Point(51, 295); this.labelTitleStartAddress.Name = "labelTitleStartAddress"; this.labelTitleStartAddress.Size = new System.Drawing.Size(140, 28); this.labelTitleStartAddress.TabIndex = 227; @@ -842,8 +842,8 @@ // // buttonTcpSave1 // - this.buttonTcpSave1.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); - this.buttonTcpSave1.Location = new System.Drawing.Point(303, 295); + this.buttonTcpSave1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.buttonTcpSave1.Location = new System.Drawing.Point(309, 295); this.buttonTcpSave1.Name = "buttonTcpSave1"; this.buttonTcpSave1.Size = new System.Drawing.Size(106, 28); this.buttonTcpSave1.TabIndex = 225; @@ -857,7 +857,7 @@ this.labelHelp.BackPictureBox2 = null; this.labelHelp.BorderColor = System.Drawing.Color.Black; this.labelHelp.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelHelp.Font = new System.Drawing.Font("New Gulim", 11F, System.Drawing.FontStyle.Bold); + this.labelHelp.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold); this.labelHelp.ForeColor = System.Drawing.Color.Red; this.labelHelp.InitVisible = true; this.labelHelp.LineSpacing = 0F; @@ -875,7 +875,7 @@ this.panel2.BackColor = System.Drawing.Color.Black; this.panel2.Controls.Add(this.radioButtonLocalIpStatic); this.panel2.Controls.Add(this.radioButtonLocalIpDHCP); - this.panel2.Location = new System.Drawing.Point(191, 159); + this.panel2.Location = new System.Drawing.Point(197, 159); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(218, 28); // @@ -940,11 +940,11 @@ this.labelTitleIPConfiguration.BackPictureBox2 = null; this.labelTitleIPConfiguration.BorderColor = System.Drawing.Color.Black; this.labelTitleIPConfiguration.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleIPConfiguration.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleIPConfiguration.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleIPConfiguration.ForeColor = System.Drawing.Color.Black; this.labelTitleIPConfiguration.InitVisible = true; this.labelTitleIPConfiguration.LineSpacing = 0F; - this.labelTitleIPConfiguration.Location = new System.Drawing.Point(45, 159); + this.labelTitleIPConfiguration.Location = new System.Drawing.Point(51, 159); this.labelTitleIPConfiguration.Name = "labelTitleIPConfiguration"; this.labelTitleIPConfiguration.Size = new System.Drawing.Size(140, 28); this.labelTitleIPConfiguration.TabIndex = 218; @@ -964,7 +964,7 @@ this.labelLocalSubnetMask4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask4.InitVisible = true; this.labelLocalSubnetMask4.LineSpacing = 0F; - this.labelLocalSubnetMask4.Location = new System.Drawing.Point(359, 227); + this.labelLocalSubnetMask4.Location = new System.Drawing.Point(365, 227); this.labelLocalSubnetMask4.Name = "labelLocalSubnetMask4"; this.labelLocalSubnetMask4.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask4.TabIndex = 216; @@ -985,7 +985,7 @@ this.labelLocalSubnetMask3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask3.InitVisible = true; this.labelLocalSubnetMask3.LineSpacing = 0F; - this.labelLocalSubnetMask3.Location = new System.Drawing.Point(303, 227); + this.labelLocalSubnetMask3.Location = new System.Drawing.Point(309, 227); this.labelLocalSubnetMask3.Name = "labelLocalSubnetMask3"; this.labelLocalSubnetMask3.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask3.TabIndex = 215; @@ -1006,7 +1006,7 @@ this.labelLocalSubnetMask2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask2.InitVisible = true; this.labelLocalSubnetMask2.LineSpacing = 0F; - this.labelLocalSubnetMask2.Location = new System.Drawing.Point(247, 227); + this.labelLocalSubnetMask2.Location = new System.Drawing.Point(253, 227); this.labelLocalSubnetMask2.Name = "labelLocalSubnetMask2"; this.labelLocalSubnetMask2.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask2.TabIndex = 214; @@ -1027,7 +1027,7 @@ this.labelLocalSubnetMask1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask1.InitVisible = true; this.labelLocalSubnetMask1.LineSpacing = 0F; - this.labelLocalSubnetMask1.Location = new System.Drawing.Point(191, 227); + this.labelLocalSubnetMask1.Location = new System.Drawing.Point(197, 227); this.labelLocalSubnetMask1.Name = "labelLocalSubnetMask1"; this.labelLocalSubnetMask1.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask1.TabIndex = 213; @@ -1044,11 +1044,11 @@ this.labelTitleSubnetMask.BackPictureBox2 = null; this.labelTitleSubnetMask.BorderColor = System.Drawing.Color.Black; this.labelTitleSubnetMask.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleSubnetMask.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleSubnetMask.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleSubnetMask.ForeColor = System.Drawing.Color.Black; this.labelTitleSubnetMask.InitVisible = true; this.labelTitleSubnetMask.LineSpacing = 0F; - this.labelTitleSubnetMask.Location = new System.Drawing.Point(45, 227); + this.labelTitleSubnetMask.Location = new System.Drawing.Point(51, 227); this.labelTitleSubnetMask.Name = "labelTitleSubnetMask"; this.labelTitleSubnetMask.Size = new System.Drawing.Size(140, 28); this.labelTitleSubnetMask.TabIndex = 212; @@ -1068,7 +1068,7 @@ this.labelLocalGateway4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway4.InitVisible = true; this.labelLocalGateway4.LineSpacing = 0F; - this.labelLocalGateway4.Location = new System.Drawing.Point(359, 261); + this.labelLocalGateway4.Location = new System.Drawing.Point(365, 261); this.labelLocalGateway4.Name = "labelLocalGateway4"; this.labelLocalGateway4.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway4.TabIndex = 211; @@ -1089,7 +1089,7 @@ this.labelLocalGateway3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway3.InitVisible = true; this.labelLocalGateway3.LineSpacing = 0F; - this.labelLocalGateway3.Location = new System.Drawing.Point(303, 261); + this.labelLocalGateway3.Location = new System.Drawing.Point(309, 261); this.labelLocalGateway3.Name = "labelLocalGateway3"; this.labelLocalGateway3.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway3.TabIndex = 210; @@ -1110,7 +1110,7 @@ this.labelLocalGateway2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway2.InitVisible = true; this.labelLocalGateway2.LineSpacing = 0F; - this.labelLocalGateway2.Location = new System.Drawing.Point(247, 261); + this.labelLocalGateway2.Location = new System.Drawing.Point(253, 261); this.labelLocalGateway2.Name = "labelLocalGateway2"; this.labelLocalGateway2.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway2.TabIndex = 209; @@ -1131,7 +1131,7 @@ this.labelLocalGateway1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway1.InitVisible = true; this.labelLocalGateway1.LineSpacing = 0F; - this.labelLocalGateway1.Location = new System.Drawing.Point(191, 261); + this.labelLocalGateway1.Location = new System.Drawing.Point(197, 261); this.labelLocalGateway1.Name = "labelLocalGateway1"; this.labelLocalGateway1.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway1.TabIndex = 208; @@ -1148,11 +1148,11 @@ this.labelTitleGateway.BackPictureBox2 = null; this.labelTitleGateway.BorderColor = System.Drawing.Color.Black; this.labelTitleGateway.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleGateway.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleGateway.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleGateway.ForeColor = System.Drawing.Color.Black; this.labelTitleGateway.InitVisible = true; this.labelTitleGateway.LineSpacing = 0F; - this.labelTitleGateway.Location = new System.Drawing.Point(45, 261); + this.labelTitleGateway.Location = new System.Drawing.Point(51, 261); this.labelTitleGateway.Name = "labelTitleGateway"; this.labelTitleGateway.Size = new System.Drawing.Size(140, 28); this.labelTitleGateway.TabIndex = 207; @@ -1172,7 +1172,7 @@ this.labelLocalIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP4.InitVisible = true; this.labelLocalIP4.LineSpacing = 0F; - this.labelLocalIP4.Location = new System.Drawing.Point(359, 193); + this.labelLocalIP4.Location = new System.Drawing.Point(365, 193); this.labelLocalIP4.Name = "labelLocalIP4"; this.labelLocalIP4.Size = new System.Drawing.Size(50, 28); this.labelLocalIP4.TabIndex = 206; @@ -1193,7 +1193,7 @@ this.labelLocalIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP3.InitVisible = true; this.labelLocalIP3.LineSpacing = 0F; - this.labelLocalIP3.Location = new System.Drawing.Point(303, 193); + this.labelLocalIP3.Location = new System.Drawing.Point(309, 193); this.labelLocalIP3.Name = "labelLocalIP3"; this.labelLocalIP3.Size = new System.Drawing.Size(50, 28); this.labelLocalIP3.TabIndex = 205; @@ -1214,7 +1214,7 @@ this.labelLocalIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP2.InitVisible = true; this.labelLocalIP2.LineSpacing = 0F; - this.labelLocalIP2.Location = new System.Drawing.Point(247, 193); + this.labelLocalIP2.Location = new System.Drawing.Point(253, 193); this.labelLocalIP2.Name = "labelLocalIP2"; this.labelLocalIP2.Size = new System.Drawing.Size(50, 28); this.labelLocalIP2.TabIndex = 204; @@ -1235,7 +1235,7 @@ this.labelLocalIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP1.InitVisible = true; this.labelLocalIP1.LineSpacing = 0F; - this.labelLocalIP1.Location = new System.Drawing.Point(191, 193); + this.labelLocalIP1.Location = new System.Drawing.Point(197, 193); this.labelLocalIP1.Name = "labelLocalIP1"; this.labelLocalIP1.Size = new System.Drawing.Size(50, 28); this.labelLocalIP1.TabIndex = 203; @@ -1252,11 +1252,11 @@ this.labelTitleIPAddress.BackPictureBox2 = null; this.labelTitleIPAddress.BorderColor = System.Drawing.Color.Black; this.labelTitleIPAddress.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleIPAddress.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleIPAddress.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleIPAddress.ForeColor = System.Drawing.Color.Black; this.labelTitleIPAddress.InitVisible = true; this.labelTitleIPAddress.LineSpacing = 0F; - this.labelTitleIPAddress.Location = new System.Drawing.Point(45, 193); + this.labelTitleIPAddress.Location = new System.Drawing.Point(51, 193); this.labelTitleIPAddress.Name = "labelTitleIPAddress"; this.labelTitleIPAddress.Size = new System.Drawing.Size(140, 28); this.labelTitleIPAddress.TabIndex = 202; @@ -1272,10 +1272,10 @@ this.labelStaticTcpMode.BackPictureBox2 = null; this.labelStaticTcpMode.BorderColor = System.Drawing.Color.Black; this.labelStaticTcpMode.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticTcpMode.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticTcpMode.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelStaticTcpMode.InitVisible = true; this.labelStaticTcpMode.LineSpacing = 0F; - this.labelStaticTcpMode.Location = new System.Drawing.Point(45, 71); + this.labelStaticTcpMode.Location = new System.Drawing.Point(51, 71); this.labelStaticTcpMode.Name = "labelStaticTcpMode"; this.labelStaticTcpMode.Size = new System.Drawing.Size(140, 30); this.labelStaticTcpMode.TabIndex = 181; @@ -1291,10 +1291,10 @@ this.labelStaticTcpOperationMode.BackPictureBox2 = null; this.labelStaticTcpOperationMode.BorderColor = System.Drawing.Color.Black; this.labelStaticTcpOperationMode.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticTcpOperationMode.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticTcpOperationMode.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelStaticTcpOperationMode.InitVisible = true; this.labelStaticTcpOperationMode.LineSpacing = 0F; - this.labelStaticTcpOperationMode.Location = new System.Drawing.Point(45, 35); + this.labelStaticTcpOperationMode.Location = new System.Drawing.Point(51, 35); this.labelStaticTcpOperationMode.Name = "labelStaticTcpOperationMode"; this.labelStaticTcpOperationMode.Size = new System.Drawing.Size(140, 30); this.labelStaticTcpOperationMode.TabIndex = 180; @@ -1306,7 +1306,7 @@ // comboBoxOperationMode // this.comboBoxOperationMode.Font = new System.Drawing.Font("Arial", 15.5F, System.Drawing.FontStyle.Bold); - this.comboBoxOperationMode.Location = new System.Drawing.Point(191, 35); + this.comboBoxOperationMode.Location = new System.Drawing.Point(197, 35); this.comboBoxOperationMode.Name = "comboBoxOperationMode"; this.comboBoxOperationMode.Size = new System.Drawing.Size(200, 30); this.comboBoxOperationMode.TabIndex = 179; @@ -1315,7 +1315,7 @@ // comboBoxMode // this.comboBoxMode.Font = new System.Drawing.Font("Arial", 15.5F, System.Drawing.FontStyle.Bold); - this.comboBoxMode.Location = new System.Drawing.Point(191, 71); + this.comboBoxMode.Location = new System.Drawing.Point(197, 71); this.comboBoxMode.Name = "comboBoxMode"; this.comboBoxMode.Size = new System.Drawing.Size(200, 30); this.comboBoxMode.TabIndex = 178; @@ -1331,7 +1331,7 @@ this.smartButton3.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.smartButton3.DisableImage = null; this.smartButton3.DownImage = null; - this.smartButton3.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.smartButton3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.smartButton3.GroupID = 0; this.smartButton3.InitVisible = true; this.smartButton3.Location = new System.Drawing.Point(823, 666); @@ -1368,7 +1368,7 @@ this.smartListBoxClientList.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER; this.smartListBoxClientList.ColumnDelimiter = '\0'; this.smartListBoxClientList.ColumnOffsets = null; - this.smartListBoxClientList.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); + this.smartListBoxClientList.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); this.smartListBoxClientList.FontColor = System.Drawing.Color.Black; this.smartListBoxClientList.InitVisible = true; this.smartListBoxClientList.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD; @@ -1401,7 +1401,7 @@ this.labelClientCount.BackPictureBox2 = null; this.labelClientCount.BorderColor = System.Drawing.Color.Black; this.labelClientCount.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelClientCount.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelClientCount.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelClientCount.InitVisible = true; this.labelClientCount.LineSpacing = 0F; this.labelClientCount.Location = new System.Drawing.Point(924, 39); diff --git a/INT63DC_6CH/Forms/FormCommunication.cs b/INT63DC_6CH/Forms/FormCommunication.cs index 9154796..e681425 100644 --- a/INT63DC_6CH/Forms/FormCommunication.cs +++ b/INT63DC_6CH/Forms/FormCommunication.cs @@ -159,7 +159,10 @@ namespace INT63DC_6CH.Forms this.comboBoxMode.Items.Add("STD1"); this.comboBoxMode.Items.Add("STD2"); this.comboBoxMode.Items.Add("STD3"); - this.comboBoxMode.Items.Add("Modbus"); + if (this.ParentForm.SystemConfig.IsModbus == false) + this.comboBoxMode.Items.Add("-"); + else + this.comboBoxMode.Items.Add("Modbus"); this.comboBoxMode.SelectedIndex = 0; this.comboBoxMode.SelectedIndexChanged += new EventHandler(this.comboBoxMode_SelectedIndexChanged); @@ -403,7 +406,6 @@ namespace INT63DC_6CH.Forms { string[] sValue; - // Local IP sValue = this.ParentForm.smartConfigs.IPSettings.DeviceIP.Split('.'); if (sValue.Length == 4) @@ -455,6 +457,13 @@ namespace INT63DC_6CH.Forms switch (index) { case (int)DataStore.E_CommMode.f4_Modbus : // Modbus + if (this.ParentForm.SystemConfig.IsModbus == false) + { + this.labelTitleStartAddress.Visible = false; + this.labelStartAddress.Visible = false; + return; + } + if (this.comboBoxOperationMode.SelectedIndex == 2) { this.labelTitleStartAddress.Visible = true; @@ -574,7 +583,7 @@ namespace INT63DC_6CH.Forms this.labelLocalPort.Text = this.ParentForm.SystemConfig.EthernetLocalPort.ToString(); // Modbus - if (this.comboBoxMode.SelectedIndex == 4) + if (this.comboBoxMode.SelectedIndex == (int)DataStore.E_CommMode.f4_Modbus) { this.buttonDataSend.Visible = true; this.button1LaneSend.Visible = true; @@ -646,6 +655,8 @@ namespace INT63DC_6CH.Forms this.UpdateProtocolDescriptionCom3Display(); #endregion + + this.UpdateDisplaySettingData(this.ParentForm.SystemConfig.EthernetMode); } #endregion @@ -736,7 +747,7 @@ namespace INT63DC_6CH.Forms this.ParentForm.EthernetClientDisconnect(); this.buttonStart.Enabled = true; - this.buttonStop.Enabled = true; + this.buttonStop.Enabled = true; #endregion } else @@ -759,6 +770,8 @@ namespace INT63DC_6CH.Forms this.ParentForm.SaveSystemConfigurationFile(this.ParentForm.SystemConfig); after = this.comboBoxOperationMode.SelectedItem.ToString(); + this.UpdateDisplaySettingData(this.ParentForm.SystemConfig.EthernetMode); + // SetTrackingHistoryData this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.TCPOpMode, "", before, after); } @@ -773,7 +786,12 @@ namespace INT63DC_6CH.Forms else if (this.ParentForm.SystemConfig.EthernetMode == (int)DataStore.E_CommMode.f3_STD3) before = "STD3"; else if (this.ParentForm.SystemConfig.EthernetMode == (int)DataStore.E_CommMode.f4_Modbus) - before = "Modbus"; + { + if (this.ParentForm.SystemConfig.IsModbus == false) + before = "-"; + else + before = "Modbus"; + } else before = "None"; @@ -786,7 +804,7 @@ namespace INT63DC_6CH.Forms this.UpdateProtocolDescriptionEthernetDisplay(this.ParentForm.SystemConfig.EthernetMode); // Modbus 사용시 - if (this.ParentForm.SystemConfig.IsModbusUse == true) + if (this.ParentForm.SystemConfig.IsModbus == true) { this.ParentForm.ModbusInitialize(); diff --git a/INT63DC_6CH/Forms/FormCommunication.resx b/INT63DC_6CH/Forms/FormCommunication.resx index 5d73765..278d84b 100644 --- a/INT63DC_6CH/Forms/FormCommunication.resx +++ b/INT63DC_6CH/Forms/FormCommunication.resx @@ -165,77 +165,75 @@ XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+ tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/ - 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAEEJJREFUeF7t1zERACAQ - xMD3LwDkQo8EspmtzsHNkSRJkpRp3kGSJEnSvzkAkiRJUigHQJIkSQrlAEiSJEmhHABJkiQplAMgSZIk - hXIAJEmSpFAOgCRJkhTKAZAkSZJCOQCSJElSKAdAkiRJCuUASJIkSaEcAEmSJCmUAyBJkiSFcgAkSZKk - UA6AJEmSFMoBkCRJkkI5AJIkSVIoB0CSJEkK5QBIkiRJoRwASZIkKZQDIEmSJIVyACRJkqRQDoAkSZIU - ygGQJEmSQjkAkiRJUigHQJIkSQrlAEiSJEmhHABJkiQplAMgSZIkhXIAJEmSpFAOgCRJkhTKAZAkSZJC - OQCSJElSKAdAkiRJCuUASJIkSaEcAEmSJCmUAyBJkiSFcgAkSZKkUA6AJEmSFMoBkCRJkkI5AJIkSVIo - B0CSJEkK5QBIkiRJoRwASZIkKZQDIEmSJIVyACRJkqRQDoAkSZIUygGQJEmSQjkAkiRJUigHQJIkSQrl - AEiSJEmhHABJkiQplAMgSZIkhXIAJEmSpFAOgCRJkhTKAZAkSZJCOQCSJElSKAdAkiRJCuUASJIkSaEc - AEmSJCmUAyBJkiSFcgAkSZKkUA6AJEmSFMoBkCRJkkI5AJIkSVIoB0CSJEkK5QBIkiRJoRwASZIkKZQD - IEmSJIVyACRJkqRQDoAkSZIUavbaAABAhAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABA - iAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIA - AABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAA - EOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4 - AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAA - AIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAh - DgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMAAAAhDgAAAIQ4AAAAEOIAAABAiAMA - AAAhDgAAAIRc1tRWy/QY8wMAAAAASUVORK5CYII= + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAD99JREFUeF7t1wENADAI + wDD8CwC5v5B1qYnNkyRJkpTJAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiS + JEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmS + FMoASJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmh + DIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoA + SJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmhDIAk + SZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIk + SaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIU + ygBIkiRJoQyAJEmSFMoASJIkSaEMgCRJkhTKAEiSJEmhDIAkSZIUygBIkiRJoQyAJEmSFMoASJIkSaEM + gCRJkhRqbg8AAIgwAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAA + ACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEG + AAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQ + YgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAA + ACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEA + AAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQ + AwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAA + CDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEA + AIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQY + AAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABA + iAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAA + AIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQA + AABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABC + DAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAA + IMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYA + AABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBi + AAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAA + IQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAA + ABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBAD + AAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAI + MQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAA + gBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgA + AAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECI + AQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAA + hBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAA + AECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIM + AAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAg + xAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAA + AEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIA + AAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAh + BgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAA + EGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMA + AAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgx + AAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACA + EAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAA + AAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgB + AACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACE + GAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAA + QIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwA + AACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDE + AAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAA + QgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQYgAA + ACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAAACEG + AAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEAAAAQ + YgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQAwAA + ACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAACDEA + AAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEAAIAQ + AwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQYAAAA + CDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABAiAEA + AIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAAAIQY + AAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQAAABA + iAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABCDAAA + AIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAAIMQA + AABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYAAABC + DAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBiAAAA + IMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAAIQYA + AABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAAABBi + AAAAIMQAAABAiAEAAIAQAwAAACEGAAAAQgwAAACEGAAAAAgxAAAAEGIAAAAgxAAAAECIAQAAgBADAAAA + IQYAAABCDAAAAIQYAAAACDEAAAAQYgAAACDEAAAAQIgBAACAEAMAAAAhBgAAAEIMAAAAhBgAAAAIMQAA + ABBiAAAAIMQAAABAiAEAAIAQAwAAACEGAAAAMvY+1tRWy+4CoZ0AAAAASUVORK5CYII= @@ -285,29 +283,28 @@ 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 - A6yu/OmZUbOXAAAAAElFTkSuQmCC + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAABMBJREFUeF7tnItSIkcU + QPnaSJWPSoxBQ4yAiWjUXUCQl6DgawFFFPcDc/TeRXeAEaGHx/ScGi1m7O6ZM337pVaHCvmC48if5pPJ + 5Obm5srKytLS0i8LSzgcXltbQ2Q/uY+UQ5PDKZ9IJMgTj8dLpVKr1ep2u98XlsfHx0ajgQg6SKHmkH2T + z6Qz0Wg0Fos1m03N7SOQQg1BNHvKKs8lIjydTmtan4Igmj1/leeV+N5cQBPZN/l4jEYR1x9aALI0gRd5 + ukE6g7u7O/2JBdzf36OMeCi5l9zd3dXL1oDy3t5eKBKJlMtlvWYNZ2dniIeYyVgV8wLKiIfo+hd6JjMe + KCMeYhqoFywD8UDeSgL5QH6GdDodplx81/NpMXt5ltxXV1f1eh3/5+dnvToVZizfbrcvLi5yuVypVGLW + YYs8nlR1tVplgZlKpZC3peZp3jc3N4VCAe2vr1ghLxXOooIK//KOYrHoc/mnp6fb21s8sT3+GaLAz/IP + Dw+1Wu3k5ORoEMj7s8OjwlutVrlcpob/G0I+n6fmNcO08FyeYVwqHMP94ZyenvpNHh+pcPSSrtDhn5+f + Xw+BWRCjgxZqDq/kCXUel/pEe28ESMY7kmFP+n8HXvxa3RN5+jbmbTzxP+YgOrR0cxiW73a7zWaT3oua + 3DXKwcGB3sMcJuUZq2i3RC8V9fI3EKPMuzyzF1rvzs5OzAPmPeyZtB4eHvKg+BuH16q3MYdJeYZ0evhM + JkPY/22aeZcX6OorlQpRur29/Zc5eKF6A3OYlwf55QxDHf5/GoLK19LN4Yk8sERhzMvlcnTUWyMggS3z + fDp2BzIF0qLN4ZW80Ol0mN4SsdFodNMVzKvV6rdXWPb202g0tFBzeCsPzHOlCeD/x3CocPSIFxe0RHN4 + Lg88NyscVuzE9u9DILC9qFt3piEv0AQIbMJ7Y2Pjtz64zjDpRfW6MD15wA1Duq5IJPLrz9Av0LD9LA/o + tdttRgGGbip87QfI+7zmezARuLy8pJ3jv/pKIpGwRV5gIpBKpdbX15eXl+kLr6+vLZIHmkA2m2WSw9Kl + Xq/bJQ+Mgul0+ujoiIZgnfwMCeQDeQsJ5AN5r2HRJn970vM5wIx8rVb7dziShg+s50BOXeAFMfn/EG6q + GcbFjHxPbCCONHLqAmKS0p3eax0bw/J86MeRRk5dqFQqknEYUg4fNMO4GJbX80GMkmZEpJxAfiIMy0t/ + 7oDV+/s0ksWFYrEoKd2ZO/mB4P8+jWRxYcE6PNak+kSDGFv+NW6GMvn/8JiRH4Ux5PXcMyaVpz1rRfSB + g3B8fIy58ZoH6U3GZlJ5nkAe9EPGkP8Q7q55xsJD+a2tLalwwIfvcl1zDodJjqT8kBnLO3gfsXrpB6PL + O+i9XwrXS4YI5OdGnoCnBAf0l5JRmk8/mvnzzJd8L82n0MyfJ5Cf7zbvHYblcX5phblc/9zT//KLRSBv + s3w4HJ5whbCI6M4Jq6ur0/9PqJmje2ZYvVuK1fvkWL1DktV7Y/HFYe+uaByyH142m9UkPgXBAfvhcaS+ + pnglxINfd0Ik2hFEs6f8Ji+H7IFJZ8hgsOh7YPLwKCCCDlJue2D2DrpBxj+GwUXf/ZSHRwERdJByaBby + hf8BrK786fYhO9AAAAAASUVORK5CYII= @@ -357,128 +354,120 @@ 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 - 9pH/yfYAAAAASUVORK5CYII= + 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 @@ -528,49 +517,47 @@ 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 diff --git a/INT63DC_6CH/Forms/FormConfiguration.cs b/INT63DC_6CH/Forms/FormConfiguration.cs index c5cbb81..72df75f 100644 --- a/INT63DC_6CH/Forms/FormConfiguration.cs +++ b/INT63DC_6CH/Forms/FormConfiguration.cs @@ -455,7 +455,7 @@ namespace INT63DC_6CH.Forms lane = "1"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -470,7 +470,7 @@ namespace INT63DC_6CH.Forms lane = "1"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -488,7 +488,7 @@ namespace INT63DC_6CH.Forms lane = "2"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -503,7 +503,7 @@ namespace INT63DC_6CH.Forms lane = "2"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -521,7 +521,7 @@ namespace INT63DC_6CH.Forms lane = "3"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -536,7 +536,7 @@ namespace INT63DC_6CH.Forms lane = "3"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -554,7 +554,7 @@ namespace INT63DC_6CH.Forms lane = "4"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -569,7 +569,7 @@ namespace INT63DC_6CH.Forms lane = "4"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -587,7 +587,7 @@ namespace INT63DC_6CH.Forms lane = "5"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -602,7 +602,7 @@ namespace INT63DC_6CH.Forms lane = "5"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -620,7 +620,7 @@ namespace INT63DC_6CH.Forms lane = "6"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -635,7 +635,7 @@ namespace INT63DC_6CH.Forms lane = "6"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -657,7 +657,7 @@ namespace INT63DC_6CH.Forms lane = "7"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -672,7 +672,7 @@ namespace INT63DC_6CH.Forms lane = "7"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -694,7 +694,7 @@ namespace INT63DC_6CH.Forms lane = "8"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -709,7 +709,7 @@ namespace INT63DC_6CH.Forms lane = "8"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -730,7 +730,7 @@ namespace INT63DC_6CH.Forms lane = "9"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -745,7 +745,7 @@ namespace INT63DC_6CH.Forms lane = "9"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -762,7 +762,7 @@ namespace INT63DC_6CH.Forms lane = "10"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -777,7 +777,7 @@ namespace INT63DC_6CH.Forms lane = "10"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -798,7 +798,7 @@ namespace INT63DC_6CH.Forms lane = "11"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -813,7 +813,7 @@ namespace INT63DC_6CH.Forms lane = "11"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -830,7 +830,7 @@ namespace INT63DC_6CH.Forms lane = "12"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } @@ -845,7 +845,7 @@ namespace INT63DC_6CH.Forms lane = "12"; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.BP_Individual, lane, before, after); } } diff --git a/INT63DC_6CH/Forms/FormDataStatistics.cs b/INT63DC_6CH/Forms/FormDataStatistics.cs index 99bfe8b..5758421 100644 --- a/INT63DC_6CH/Forms/FormDataStatistics.cs +++ b/INT63DC_6CH/Forms/FormDataStatistics.cs @@ -1240,7 +1240,7 @@ namespace INT63DC_6CH.Forms this.buttonSave.Enabled = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.SystemConfig.IsPart11 == false) this.Backup1(); else this.Backup2(); diff --git a/INT63DC_6CH/Forms/FormEquipmentSetting.Designer.cs b/INT63DC_6CH/Forms/FormEquipmentSetting.Designer.cs index efa2690..2f23a16 100644 --- a/INT63DC_6CH/Forms/FormEquipmentSetting.Designer.cs +++ b/INT63DC_6CH/Forms/FormEquipmentSetting.Designer.cs @@ -31,6 +31,8 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormEquipmentSetting)); this.smartForm1 = new SmartX.SmartForm(); this.groupBoxSpecialMenu = new SmartX.SmartGroupBox(); + this.labelStoragePeriod = new SmartX.SmartLabel(); + this.labelTitleStoragePeriod = new SmartX.SmartLabel(); this.labelWeightLimitIgnoreCount = new SmartX.SmartLabel(); this.labelStaticWeightLimitIgnoreCount = new SmartX.SmartLabel(); this.labelInfo2 = new SmartX.SmartLabel(); @@ -87,6 +89,8 @@ // this.groupBoxSpecialMenu.BackPictureBox = this.smartForm1; this.groupBoxSpecialMenu.BackPictureBox1 = null; + this.groupBoxSpecialMenu.Controls.Add(this.labelStoragePeriod); + this.groupBoxSpecialMenu.Controls.Add(this.labelTitleStoragePeriod); this.groupBoxSpecialMenu.Controls.Add(this.labelWeightLimitIgnoreCount); this.groupBoxSpecialMenu.Controls.Add(this.labelStaticWeightLimitIgnoreCount); this.groupBoxSpecialMenu.Controls.Add(this.labelInfo2); @@ -124,6 +128,49 @@ this.groupBoxSpecialMenu.Text = "EquipmentSetting"; this.groupBoxSpecialMenu.TextColor = System.Drawing.Color.Black; // + // labelStoragePeriod + // + this.labelStoragePeriod.BackColor = System.Drawing.SystemColors.Window; + this.labelStoragePeriod.BackPictureBox = null; + this.labelStoragePeriod.BackPictureBox1 = null; + this.labelStoragePeriod.BackPictureBox2 = null; + this.labelStoragePeriod.BorderColor = System.Drawing.Color.Black; + this.labelStoragePeriod.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.labelStoragePeriod.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); + this.labelStoragePeriod.InitVisible = true; + this.labelStoragePeriod.LineSpacing = 0F; + this.labelStoragePeriod.Location = new System.Drawing.Point(425, 102); + this.labelStoragePeriod.Name = "labelStoragePeriod"; + this.labelStoragePeriod.Size = new System.Drawing.Size(84, 25); + this.labelStoragePeriod.TabIndex = 257; + this.labelStoragePeriod.Text = "100"; + this.labelStoragePeriod.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right; + this.labelStoragePeriod.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelStoragePeriod.Visible = false; + this.labelStoragePeriod.Wordwrap = false; + this.labelStoragePeriod.Click += new System.EventHandler(this.labelStoragePeriod_Click); + // + // labelTitleStoragePeriod + // + this.labelTitleStoragePeriod.BackPictureBox = this.smartForm1; + this.labelTitleStoragePeriod.BackPictureBox1 = null; + this.labelTitleStoragePeriod.BackPictureBox2 = null; + this.labelTitleStoragePeriod.BorderColor = System.Drawing.Color.Black; + this.labelTitleStoragePeriod.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.labelTitleStoragePeriod.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelTitleStoragePeriod.ForeColor = System.Drawing.Color.Black; + this.labelTitleStoragePeriod.InitVisible = true; + this.labelTitleStoragePeriod.LineSpacing = 0F; + this.labelTitleStoragePeriod.Location = new System.Drawing.Point(120, 102); + this.labelTitleStoragePeriod.Name = "labelTitleStoragePeriod"; + this.labelTitleStoragePeriod.Size = new System.Drawing.Size(280, 25); + this.labelTitleStoragePeriod.TabIndex = 256; + this.labelTitleStoragePeriod.Text = "저장 기한"; + this.labelTitleStoragePeriod.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right; + this.labelTitleStoragePeriod.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelTitleStoragePeriod.Visible = false; + this.labelTitleStoragePeriod.Wordwrap = false; + // // labelWeightLimitIgnoreCount // this.labelWeightLimitIgnoreCount.BackColor = System.Drawing.SystemColors.Window; @@ -135,7 +182,7 @@ this.labelWeightLimitIgnoreCount.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelWeightLimitIgnoreCount.InitVisible = true; this.labelWeightLimitIgnoreCount.LineSpacing = 0F; - this.labelWeightLimitIgnoreCount.Location = new System.Drawing.Point(425, 197); + this.labelWeightLimitIgnoreCount.Location = new System.Drawing.Point(425, 230); this.labelWeightLimitIgnoreCount.Name = "labelWeightLimitIgnoreCount"; this.labelWeightLimitIgnoreCount.Size = new System.Drawing.Size(84, 25); this.labelWeightLimitIgnoreCount.TabIndex = 253; @@ -156,7 +203,7 @@ this.labelStaticWeightLimitIgnoreCount.ForeColor = System.Drawing.Color.Black; this.labelStaticWeightLimitIgnoreCount.InitVisible = true; this.labelStaticWeightLimitIgnoreCount.LineSpacing = 0F; - this.labelStaticWeightLimitIgnoreCount.Location = new System.Drawing.Point(120, 197); + this.labelStaticWeightLimitIgnoreCount.Location = new System.Drawing.Point(120, 230); this.labelStaticWeightLimitIgnoreCount.Name = "labelStaticWeightLimitIgnoreCount"; this.labelStaticWeightLimitIgnoreCount.Size = new System.Drawing.Size(280, 25); this.labelStaticWeightLimitIgnoreCount.TabIndex = 252; @@ -177,7 +224,7 @@ this.labelInfo2.ForeColor = System.Drawing.Color.MediumBlue; this.labelInfo2.InitVisible = true; this.labelInfo2.LineSpacing = 0F; - this.labelInfo2.Location = new System.Drawing.Point(515, 166); + this.labelInfo2.Location = new System.Drawing.Point(515, 199); this.labelInfo2.Name = "labelInfo2"; this.labelInfo2.Size = new System.Drawing.Size(500, 25); this.labelInfo2.TabIndex = 240; @@ -198,7 +245,7 @@ this.labelInfo1.ForeColor = System.Drawing.Color.MediumBlue; this.labelInfo1.InitVisible = true; this.labelInfo1.LineSpacing = 0F; - this.labelInfo1.Location = new System.Drawing.Point(515, 135); + this.labelInfo1.Location = new System.Drawing.Point(515, 168); this.labelInfo1.Name = "labelInfo1"; this.labelInfo1.Size = new System.Drawing.Size(500, 25); this.labelInfo1.TabIndex = 239; @@ -218,7 +265,7 @@ this.labelSorter2Location.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelSorter2Location.InitVisible = true; this.labelSorter2Location.LineSpacing = 0F; - this.labelSorter2Location.Location = new System.Drawing.Point(425, 166); + this.labelSorter2Location.Location = new System.Drawing.Point(425, 199); this.labelSorter2Location.Name = "labelSorter2Location"; this.labelSorter2Location.Size = new System.Drawing.Size(84, 25); this.labelSorter2Location.TabIndex = 230; @@ -239,7 +286,7 @@ this.labelStaticSorter2Location.ForeColor = System.Drawing.Color.Black; this.labelStaticSorter2Location.InitVisible = true; this.labelStaticSorter2Location.LineSpacing = 0F; - this.labelStaticSorter2Location.Location = new System.Drawing.Point(120, 166); + this.labelStaticSorter2Location.Location = new System.Drawing.Point(120, 199); this.labelStaticSorter2Location.Name = "labelStaticSorter2Location"; this.labelStaticSorter2Location.Size = new System.Drawing.Size(280, 25); this.labelStaticSorter2Location.TabIndex = 229; @@ -259,7 +306,7 @@ this.labelSorter1Location.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelSorter1Location.InitVisible = true; this.labelSorter1Location.LineSpacing = 0F; - this.labelSorter1Location.Location = new System.Drawing.Point(425, 135); + this.labelSorter1Location.Location = new System.Drawing.Point(425, 168); this.labelSorter1Location.Name = "labelSorter1Location"; this.labelSorter1Location.Size = new System.Drawing.Size(84, 25); this.labelSorter1Location.TabIndex = 228; @@ -280,7 +327,7 @@ this.labelStaticSorter1Location.ForeColor = System.Drawing.Color.Black; this.labelStaticSorter1Location.InitVisible = true; this.labelStaticSorter1Location.LineSpacing = 0F; - this.labelStaticSorter1Location.Location = new System.Drawing.Point(120, 135); + this.labelStaticSorter1Location.Location = new System.Drawing.Point(120, 168); this.labelStaticSorter1Location.Name = "labelStaticSorter1Location"; this.labelStaticSorter1Location.Size = new System.Drawing.Size(280, 25); this.labelStaticSorter1Location.TabIndex = 227; @@ -301,7 +348,7 @@ this.buttonLogin.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonLogin.DownImage"))); this.buttonLogin.GroupID = 0; this.buttonLogin.InitVisible = true; - this.buttonLogin.Location = new System.Drawing.Point(425, 228); + this.buttonLogin.Location = new System.Drawing.Point(425, 261); this.buttonLogin.Mode = SmartX.SmartButton.BUTTONMODE.PUSH; this.buttonLogin.Name = "buttonLogin"; this.buttonLogin.NestedClickEventPrevent = false; @@ -330,7 +377,7 @@ this.labelStaticLogin.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelStaticLogin.InitVisible = true; this.labelStaticLogin.LineSpacing = 0F; - this.labelStaticLogin.Location = new System.Drawing.Point(120, 228); + this.labelStaticLogin.Location = new System.Drawing.Point(120, 261); this.labelStaticLogin.Name = "labelStaticLogin"; this.labelStaticLogin.Size = new System.Drawing.Size(280, 25); this.labelStaticLogin.TabIndex = 209; @@ -410,7 +457,7 @@ this.panel7.Controls.Add(this.radioButtonLanguageChinese); this.panel7.Controls.Add(this.radioButtonLanguageEnglish); this.panel7.Controls.Add(this.radioButtonLanguageKorean); - this.panel7.Location = new System.Drawing.Point(425, 321); + this.panel7.Location = new System.Drawing.Point(425, 354); this.panel7.Name = "panel7"; this.panel7.Size = new System.Drawing.Size(450, 25); // @@ -488,7 +535,7 @@ this.panel2.BackColor = System.Drawing.SystemColors.ControlLight; this.panel2.Controls.Add(this.radioButtonWeightViewReverse); this.panel2.Controls.Add(this.radioButtonWeightViewForward); - this.panel2.Location = new System.Drawing.Point(425, 290); + this.panel2.Location = new System.Drawing.Point(425, 323); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(450, 25); // @@ -565,7 +612,7 @@ this.labelStaticLanguage.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelStaticLanguage.InitVisible = true; this.labelStaticLanguage.LineSpacing = 0F; - this.labelStaticLanguage.Location = new System.Drawing.Point(120, 321); + this.labelStaticLanguage.Location = new System.Drawing.Point(120, 354); this.labelStaticLanguage.Name = "labelStaticLanguage"; this.labelStaticLanguage.Size = new System.Drawing.Size(280, 25); this.labelStaticLanguage.TabIndex = 129; @@ -577,7 +624,7 @@ // comboBoxEquipmentColumn // this.comboBoxEquipmentColumn.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Bold); - this.comboBoxEquipmentColumn.Location = new System.Drawing.Point(425, 100); + this.comboBoxEquipmentColumn.Location = new System.Drawing.Point(425, 133); this.comboBoxEquipmentColumn.Name = "comboBoxEquipmentColumn"; this.comboBoxEquipmentColumn.Size = new System.Drawing.Size(140, 29); this.comboBoxEquipmentColumn.TabIndex = 127; @@ -595,7 +642,7 @@ this.buttonEachNG.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonEachNG.DownImage"))); this.buttonEachNG.GroupID = 0; this.buttonEachNG.InitVisible = true; - this.buttonEachNG.Location = new System.Drawing.Point(425, 259); + this.buttonEachNG.Location = new System.Drawing.Point(425, 292); this.buttonEachNG.Mode = SmartX.SmartButton.BUTTONMODE.PUSH; this.buttonEachNG.Name = "buttonEachNG"; this.buttonEachNG.NestedClickEventPrevent = false; @@ -624,7 +671,7 @@ this.labelStaticIndividualNG.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelStaticIndividualNG.InitVisible = true; this.labelStaticIndividualNG.LineSpacing = 0F; - this.labelStaticIndividualNG.Location = new System.Drawing.Point(120, 259); + this.labelStaticIndividualNG.Location = new System.Drawing.Point(120, 292); this.labelStaticIndividualNG.Name = "labelStaticIndividualNG"; this.labelStaticIndividualNG.Size = new System.Drawing.Size(280, 25); this.labelStaticIndividualNG.TabIndex = 125; @@ -643,7 +690,7 @@ this.labelStaticOrder.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelStaticOrder.InitVisible = true; this.labelStaticOrder.LineSpacing = 0F; - this.labelStaticOrder.Location = new System.Drawing.Point(120, 290); + this.labelStaticOrder.Location = new System.Drawing.Point(120, 323); this.labelStaticOrder.Name = "labelStaticOrder"; this.labelStaticOrder.Size = new System.Drawing.Size(280, 25); this.labelStaticOrder.TabIndex = 119; @@ -659,12 +706,12 @@ this.labelStaticLane.BackPictureBox2 = null; this.labelStaticLane.BorderColor = System.Drawing.Color.Black; this.labelStaticLane.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticLane.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticLane.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelStaticLane.InitVisible = true; this.labelStaticLane.LineSpacing = 0F; - this.labelStaticLane.Location = new System.Drawing.Point(120, 104); + this.labelStaticLane.Location = new System.Drawing.Point(120, 133); this.labelStaticLane.Name = "labelStaticLane"; - this.labelStaticLane.Size = new System.Drawing.Size(280, 25); + this.labelStaticLane.Size = new System.Drawing.Size(280, 29); this.labelStaticLane.TabIndex = 119; this.labelStaticLane.Text = "장비 열"; this.labelStaticLane.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right; @@ -743,5 +790,7 @@ public SmartX.SmartLabel labelWeightLimitIgnoreCount; private SmartX.SmartLabel labelStaticWeightLimitIgnoreCount; private System.Windows.Forms.RadioButton radioButtonLanguageJap; + public SmartX.SmartLabel labelStoragePeriod; + private SmartX.SmartLabel labelTitleStoragePeriod; } } \ No newline at end of file diff --git a/INT63DC_6CH/Forms/FormEquipmentSetting.cs b/INT63DC_6CH/Forms/FormEquipmentSetting.cs index d0f1bf8..dc8f0ad 100644 --- a/INT63DC_6CH/Forms/FormEquipmentSetting.cs +++ b/INT63DC_6CH/Forms/FormEquipmentSetting.cs @@ -57,6 +57,7 @@ namespace INT63DC_6CH.Forms this.labelStaticSorter2Location.Text = "Sorter2 Location"; this.labelStaticLogin.Text = "Login"; this.labelStaticWeightLimitIgnoreCount.Text = "Weight limit - Ignore count"; + this.labelTitleStoragePeriod.Text = "Storage Period"; this.labelInfo1.Text = "※ Sorting NG products by weight"; this.labelInfo2.Text = "※ Normal product (selected under quantity)"; @@ -85,6 +86,7 @@ namespace INT63DC_6CH.Forms this.labelStaticSorter2Location.Text = "分类机2 地点"; this.labelStaticLogin.Text = "登錄"; this.labelStaticWeightLimitIgnoreCount.Text = "重量限制 - 忽略计数"; + this.labelTitleStoragePeriod.Text = "储存期"; this.radioButtonWeightViewForward.Text = "正向(1~12)"; this.radioButtonWeightViewReverse.Text = "反向(12~1)"; @@ -119,6 +121,7 @@ namespace INT63DC_6CH.Forms this.labelStaticSorter2Location.Text = "Vyřazovač2 umístění"; this.labelStaticLogin.Text = "Přihlásit se"; this.labelStaticWeightLimitIgnoreCount.Text = "hmotnostní limit - ignorovat počet"; + this.labelTitleStoragePeriod.Text = "Doba uložení"; this.labelInfo1.Text = "※ Třídění NG produktů podle hmotnosti"; this.labelInfo2.Text = "※ Normální produkt (vybrán pod množstvím)"; @@ -150,6 +153,7 @@ namespace INT63DC_6CH.Forms this.labelStaticOrder.Text = "Gewichtsanzeige"; this.labelStaticLanguage.Text = "Sprache"; this.labelStaticWeightLimitIgnoreCount.Text = "Gewichtsgrenze - Zählung ignorieren"; + this.labelTitleStoragePeriod.Text = "Speicherdauer"; this.labelInfo1.Text = "※ Sortieren von NG-Produkten nach Gewicht"; this.labelInfo2.Text = "※ Normales Produkt (ausgewählt unter Menge)"; @@ -178,6 +182,7 @@ namespace INT63DC_6CH.Forms this.labelStaticSorter2Location.Text = "ソㅡタㅡ 2 の場所"; this.labelStaticLogin.Text = "ログイン"; this.labelStaticWeightLimitIgnoreCount.Text = "重量制限 - 無視数量"; + this.labelTitleStoragePeriod.Text = "保管期間"; this.radioButtonWeightViewForward.Text = "順方向(1~12)"; this.radioButtonWeightViewReverse.Text = "逆方向(12~1)"; @@ -205,6 +210,17 @@ namespace INT63DC_6CH.Forms { string value = ""; + // 저장 기한 + if (this.ParentForm.SystemConfig.IsPart11 == true) + { + this.labelTitleStoragePeriod.Visible = true; + this.labelStoragePeriod.Visible = true; + + value = this.ParentForm.SystemConfig.StoragePeriod.ToString(); + if (this.labelStoragePeriod.Text != value) + this.labelStoragePeriod.Text = value; + } + // 장비 열 this.comboBoxEquipmentColumn.Items.Clear(); this.comboBoxEquipmentColumn.Items.Add(6); @@ -292,6 +308,9 @@ namespace INT63DC_6CH.Forms private void buttonSave_Click(object sender, EventArgs e) { + // 저장 기한 + this.ParentForm.SystemConfig.StoragePeriod = int.Parse(this.labelStoragePeriod.Text); + if (this.comboBoxEquipmentColumn.SelectedIndex == 0) this.ParentForm.SystemConfig.EquipmentColumns = 6; else if (this.comboBoxEquipmentColumn.SelectedIndex == 1) @@ -304,16 +323,16 @@ namespace INT63DC_6CH.Forms this.ParentForm.SystemConfig.EquipmentColumns = 12; // 선별기1 위치 - this.ParentForm.SystemConfig.Sorter1Location = int.Parse(this.labelSorter1Location.Text.ToString()); + this.ParentForm.SystemConfig.Sorter1Location = int.Parse(this.labelSorter1Location.Text); // 선별기2 위치 - this.ParentForm.SystemConfig.Sorter2Location = int.Parse(this.labelSorter2Location.Text.ToString()); + this.ParentForm.SystemConfig.Sorter2Location = int.Parse(this.labelSorter2Location.Text); // Weight Limit 무시수량 - this.ParentForm.SystemConfig.WeightLimitIgnoreCount = int.Parse(this.labelWeightLimitIgnoreCount.Text.ToString()); + this.ParentForm.SystemConfig.WeightLimitIgnoreCount = int.Parse(this.labelWeightLimitIgnoreCount.Text); // 로그인 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SystemConfig.IsLogin = true; else { @@ -435,6 +454,41 @@ namespace INT63DC_6CH.Forms } } } + private void labelStoragePeriod_Click(object sender, EventArgs e) + { + string value = ""; + DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelStoragePeriod.Text, 2, 0, false, this.ParentForm.SystemConfig.Language); + + if (myKeyPad.ShowDialog() == DialogResult.OK) + { + if (myKeyPad.doubleValue < 1) + { + // 입력범위를 확인하세요 + DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.SystemConfig.Language); + myMsg.ShowDialog(); + } + else + { + if (this.ParentForm.SystemConfig.IsPart11 == true) + { + if (myKeyPad.doubleValue > 24) + this.labelStoragePeriod.Text = "24"; + else + this.labelStoragePeriod.Text = myKeyPad.StringValue; + } + else + { + if (myKeyPad.doubleValue > 12) + this.labelStoragePeriod.Text = "12"; + else + this.labelStoragePeriod.Text = myKeyPad.StringValue; + } + + if (this.buttonSave.Visible != true) + this.buttonSave.Visible = true; + } + } + } #endregion } } \ No newline at end of file diff --git a/INT63DC_6CH/Forms/FormFactoryInitialize.cs b/INT63DC_6CH/Forms/FormFactoryInitialize.cs index c252f88..2302f50 100644 --- a/INT63DC_6CH/Forms/FormFactoryInitialize.cs +++ b/INT63DC_6CH/Forms/FormFactoryInitialize.cs @@ -130,9 +130,9 @@ namespace INT63DC_6CH.Forms structItem.IsEachNG = item.IsEachNG; structItem.IsLogin = item.IsLogin; structItem.IsWeightViewForward = item.IsWeightViewForward; - structItem.IsOptDataStatistics = item.IsOptDataStatistics; - structItem.IsOptPart11 = item.IsOptPart11; - structItem.dummyBool1 = false; + structItem.IsDataStatistics = item.IsDataStatistics; + structItem.IsPart11 = item.IsPart11; + structItem.IsModbus = false; structItem.dummyBool2 = false; structItem.dummyBool3 = false; structItem.dummyBool4 = false; @@ -146,12 +146,12 @@ namespace INT63DC_6CH.Forms structItem.dummyBool12 = false; structItem.dummyBool13 = false; structItem.dummyBool14 = false; - structItem.dummyBool15 = false; + structItem.dummyBool1 = false; // int structItem.AutoLogoutTime = item.AutoLogoutTime; structItem.UsbID = item.UsbID; structItem.ProductNumber = item.ProductNumber; - structItem.DataStoragePeriod = item.DataStoragePeriod; + structItem.StoragePeriod = item.StoragePeriod; structItem.EquipmentColumns = item.EquipmentColumns; structItem.Chattering = item.Chattering; structItem.BuzzerRunTime = item.BuzzerRunTime; diff --git a/INT63DC_6CH/Forms/FormInformation.cs b/INT63DC_6CH/Forms/FormInformation.cs index 5c0feee..89b77ba 100644 --- a/INT63DC_6CH/Forms/FormInformation.cs +++ b/INT63DC_6CH/Forms/FormInformation.cs @@ -297,7 +297,7 @@ namespace INT63DC_6CH.Forms { if (this.ParentForm.SystemConfig.IsLogin == true) UserManager.UserManager_GetVersion(); - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) Encryption.AesEncryption_GetVersion(); this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormInformation; diff --git a/INT63DC_6CH/Forms/FormMain.cs b/INT63DC_6CH/Forms/FormMain.cs index 4784260..2f059c6 100644 --- a/INT63DC_6CH/Forms/FormMain.cs +++ b/INT63DC_6CH/Forms/FormMain.cs @@ -237,7 +237,7 @@ namespace INT63DC_6CH.Forms this.ChildFormMotorSetting = new FormMotorSetting(this); this.ChildFormUserGroupEditor = new FormUserGroupEditor(this); this.ChildFormDataViewer = new FormDataViewer(this); - if (this.SystemConfig.IsOptPart11 == true) + if (this.SystemConfig.IsPart11 == true) this.ChildFormDataBackup_Part11 = new FormDataBackup_Part11(this); else this.ChildFormDataBackup = new FormDataBackup(this); @@ -263,7 +263,7 @@ namespace INT63DC_6CH.Forms this.smartForm.AddChildForm(this.ChildFormMotorSetting); this.smartForm.AddChildForm(this.ChildFormUserGroupEditor); this.smartForm.AddChildForm(this.ChildFormDataViewer); - if (this.SystemConfig.IsOptPart11 == true) + if (this.SystemConfig.IsPart11 == true) this.smartForm.AddChildForm(this.ChildFormDataBackup_Part11); else this.smartForm.AddChildForm(this.ChildFormDataBackup); @@ -1482,12 +1482,15 @@ namespace INT63DC_6CH.Forms try { // Modbus - if (this.SystemConfig.EthernetMode == 4) + if (this.SystemConfig.EthernetMode == (int)DataStore.E_CommMode.f4_Modbus) { - if (this.IsModbusCommonDataSend == false) + if (this.SystemConfig.IsModbus == true) { - this.ModbusCommonDataSend(); - this.IsModbusCommonDataSend = true; + if (this.IsModbusCommonDataSend == false) + { + this.ModbusCommonDataSend(); + this.IsModbusCommonDataSend = true; + } } } @@ -1956,8 +1959,9 @@ namespace INT63DC_6CH.Forms structItem.IsEachNG = this.SystemConfig.IsEachNG; structItem.IsLogin = this.SystemConfig.IsLogin; structItem.IsWeightViewForward = this.SystemConfig.IsWeightViewForward; - structItem.IsOptDataStatistics = this.SystemConfig.IsOptDataStatistics; - structItem.IsOptPart11 = this.SystemConfig.IsOptPart11; + structItem.IsDataStatistics = this.SystemConfig.IsDataStatistics; + structItem.IsPart11 = this.SystemConfig.IsPart11; + structItem.IsModbus = this.SystemConfig.IsModbus; structItem.dummyBool1 = false; structItem.dummyBool2 = false; structItem.dummyBool3 = false; @@ -1972,12 +1976,11 @@ namespace INT63DC_6CH.Forms structItem.dummyBool12 = false; structItem.dummyBool13 = false; structItem.dummyBool14 = false; - structItem.dummyBool15 = false; // int structItem.AutoLogoutTime = this.SystemConfig.AutoLogoutTime; structItem.UsbID = this.SystemConfig.UsbID; structItem.ProductNumber = this.SystemConfig.ProductNumber; - structItem.DataStoragePeriod = this.SystemConfig.DataStoragePeriod; + structItem.StoragePeriod = this.SystemConfig.StoragePeriod; structItem.EquipmentColumns = this.SystemConfig.EquipmentColumns; structItem.Chattering = this.SystemConfig.Chattering; structItem.BuzzerRunTime = this.SystemConfig.BuzzerRunTime; @@ -2059,9 +2062,9 @@ namespace INT63DC_6CH.Forms structItem.IsEachNG = item.IsEachNG; structItem.IsLogin = item.IsLogin; structItem.IsWeightViewForward = item.IsWeightViewForward; - structItem.IsOptDataStatistics = item.IsOptDataStatistics; - structItem.IsOptPart11 = item.IsOptPart11; - structItem.dummyBool1 = false; + structItem.IsDataStatistics = item.IsDataStatistics; + structItem.IsPart11 = item.IsPart11; + structItem.IsModbus = item.IsModbus; structItem.dummyBool2 = false; structItem.dummyBool3 = false; structItem.dummyBool4 = false; @@ -2075,12 +2078,12 @@ namespace INT63DC_6CH.Forms structItem.dummyBool12 = false; structItem.dummyBool13 = false; structItem.dummyBool14 = false; - structItem.dummyBool15 = false; + structItem.dummyBool1 = false; // int structItem.AutoLogoutTime = item.AutoLogoutTime; structItem.UsbID = item.UsbID; structItem.ProductNumber = item.ProductNumber; - structItem.DataStoragePeriod = item.DataStoragePeriod; + structItem.StoragePeriod = item.StoragePeriod; structItem.EquipmentColumns = item.EquipmentColumns; structItem.Chattering = item.Chattering; structItem.BuzzerRunTime = item.BuzzerRunTime; @@ -2167,13 +2170,14 @@ namespace INT63DC_6CH.Forms this.SystemConfig.IsEachNG = structItem.IsEachNG; this.SystemConfig.IsLogin = structItem.IsLogin; this.SystemConfig.IsWeightViewForward = structItem.IsWeightViewForward; - this.SystemConfig.IsOptDataStatistics = structItem.IsOptDataStatistics; - this.SystemConfig.IsOptPart11 = structItem.IsOptPart11; + this.SystemConfig.IsDataStatistics = structItem.IsDataStatistics; + this.SystemConfig.IsPart11 = structItem.IsPart11; + this.SystemConfig.IsModbus = structItem.IsModbus; // int this.SystemConfig.AutoLogoutTime = structItem.AutoLogoutTime; this.SystemConfig.UsbID = structItem.UsbID; this.SystemConfig.ProductNumber = structItem.ProductNumber; - this.SystemConfig.DataStoragePeriod = structItem.DataStoragePeriod; + this.SystemConfig.StoragePeriod = structItem.StoragePeriod; this.SystemConfig.EquipmentColumns = structItem.EquipmentColumns; this.SystemConfig.Chattering = structItem.Chattering; this.SystemConfig.BuzzerRunTime = structItem.BuzzerRunTime; @@ -4023,7 +4027,7 @@ namespace INT63DC_6CH.Forms foreach (string file in Directory.GetFiles(path)) { FileInfo fi = new FileInfo(file); - if (DateTime.ParseExact(fi.Name.Substring(1, 8), "yyyyMMdd", null) < DateTime.Now.AddMonths(-1 * this.SystemConfig.DataStoragePeriod)) + if (DateTime.ParseExact(fi.Name.Substring(1, 8), "yyyyMMdd", null) < DateTime.Now.AddMonths(-1 * this.SystemConfig.StoragePeriod)) fi.Delete(); } } @@ -4033,7 +4037,7 @@ namespace INT63DC_6CH.Forms { DateTime time = DateTime.Now; - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) { folder = this.PathDataBackupFolder; fileName = string.Format("{0:yyyyMMdd}-{1}.csv", time, this.SystemConfig.ProductNumber); @@ -4049,7 +4053,7 @@ namespace INT63DC_6CH.Forms string ret = ""; DateTime time = DateTime.Now; - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) { ret = string.Format("{0}{1:yyyyMMdd}-{2}_{3}Lane.csv", this.PathDataBackupFolder, DateTime.Now, this.SystemConfig.ProductNumber, lane); folder = this.PathDataBackupFolder; @@ -4228,7 +4232,7 @@ namespace INT63DC_6CH.Forms try { - if (this.SystemConfig.IsOptPart11 == true) + if (this.SystemConfig.IsPart11 == true) this.DeleteLogFile(this.PathDataInspectionFolder, DataStore.E_DataType.Inspection); else { @@ -4263,7 +4267,7 @@ namespace INT63DC_6CH.Forms #region Tracking History data public void SetTrackingHistoryData(DataStore.E_TrackingOperation type, string detail) { - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) return; HistoryData data = new HistoryData(); @@ -4280,7 +4284,7 @@ namespace INT63DC_6CH.Forms } public void SetTrackingHistoryData(DataStore.E_TrackingOperation eventType, string detail, string loginID) { - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) return; HistoryData data = new HistoryData(); @@ -4297,7 +4301,7 @@ namespace INT63DC_6CH.Forms } public void SetTrackingHistoryData(DataStore.TrackingAlarm type, string detail) { - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) return; HistoryData data = new HistoryData(); @@ -4314,7 +4318,7 @@ namespace INT63DC_6CH.Forms } public void SetTrackingHistoryData(DataStore.TrackingParameter type, string detail, string before, string after) { - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) return; if (before == after) @@ -4481,6 +4485,9 @@ namespace INT63DC_6CH.Forms private void Update30000UpdateData(int index) { + if (this.SystemConfig.IsModbus == false) + return; + if (this.CollectionWeightData[index].UpdateCount > 65535) this.CollectionWeightData[index].UpdateCount = 0; else @@ -4490,6 +4497,9 @@ namespace INT63DC_6CH.Forms } public void Update30000ModbusData() { + if (this.SystemConfig.IsModbus == false) + return; + for (int i = 0; i < this.SystemConfig.EquipmentColumns; i++) this.Update30000UpdateData(i); @@ -4500,6 +4510,9 @@ namespace INT63DC_6CH.Forms } public void Update30000ModbusData(int index) { + if (this.SystemConfig.IsModbus == false) + return; + double weightData = Helper.StringToWeight(this.CollectionWeightData[index].WeightString, this.SystemConfig.DecimalPlaces); this.Update30000UpdateData(index); @@ -7118,7 +7131,7 @@ namespace INT63DC_6CH.Forms this.DefaultSetting2(); // Modbus 데이터 초기화 - if (this.SystemConfig.IsModbusUse == true) + if (this.SystemConfig.IsModbus == true) { this.ModbusInitialize(); } @@ -7129,7 +7142,7 @@ namespace INT63DC_6CH.Forms this.InitializeUserManager(); this.SystemConfig.CurrentUser.Group = DataStore.UserGroup.LogOut; - if (this.SystemConfig.IsOptPart11 == false) + if (this.SystemConfig.IsPart11 == false) UserManager.UserManager_AutoLogoutTimeoutPause(); // User List Timer @@ -7138,7 +7151,7 @@ namespace INT63DC_6CH.Forms else this.SystemConfig.CurrentUser.Group = DataStore.UserGroup.NotLogin; // Encryption 초기화 - if (this.SystemConfig.IsOptPart11 == true) + if (this.SystemConfig.IsPart11 == true) { this.InitializeAES(); this.SetTrackingHistoryData(DataStore.E_TrackingOperation.PowerOn, ""); @@ -7203,6 +7216,9 @@ namespace INT63DC_6CH.Forms { case (int)DataStore.E_CommMode.f4_Modbus: #region Modbus TCP + if (this.SystemConfig.IsModbus == false) + return; + if (this.smartTCPMultiServer.ClientInfoList != null) { if (readByte[7] == 0x03) // Read Holding Register diff --git a/INT63DC_6CH/Forms/FormMainDisplay.cs b/INT63DC_6CH/Forms/FormMainDisplay.cs index f13b10b..1b00c8c 100644 --- a/INT63DC_6CH/Forms/FormMainDisplay.cs +++ b/INT63DC_6CH/Forms/FormMainDisplay.cs @@ -1075,12 +1075,12 @@ namespace INT63DC_6CH.Forms this.ChangeID = ""; // Part 11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Logout, ""); } public void Part11AutomaticLogoutReset() { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) UserManager.UserManager_AutoLogoutTimeoutReset(); } @@ -1098,7 +1098,7 @@ namespace INT63DC_6CH.Forms id = user.ID; group = this.ParentForm.SystemConfig.User_Level1_Name; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn) @@ -1119,7 +1119,7 @@ namespace INT63DC_6CH.Forms id = user.ID; group = this.ParentForm.SystemConfig.User_Level2_Name; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn) @@ -1140,7 +1140,7 @@ namespace INT63DC_6CH.Forms id = user.ID; group = this.ParentForm.SystemConfig.User_Level3_Name; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn) @@ -1166,7 +1166,7 @@ namespace INT63DC_6CH.Forms else group = "Administrator"; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn) @@ -1192,7 +1192,7 @@ namespace INT63DC_6CH.Forms else group = "Developer"; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn) @@ -1257,7 +1257,7 @@ namespace INT63DC_6CH.Forms if (this.ParentForm.SystemConfig.IsLogin == true) { - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { if (user.ExpirePassword != 0) { @@ -2190,7 +2190,7 @@ namespace INT63DC_6CH.Forms private void buttonProductNo_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.buttonProductNo.Text, 4, 0, false, this.ParentForm.SystemConfig.Language); @@ -2216,7 +2216,7 @@ namespace INT63DC_6CH.Forms int underRangeLimit = 0, underRange = 0; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.buttonUnder.Text; @@ -2260,7 +2260,7 @@ namespace INT63DC_6CH.Forms } // Modbus - if (this.ParentForm.SystemConfig.IsModbusUse == true) + if (this.ParentForm.SystemConfig.IsModbus == true) { this.ParentForm.Update30000ModbusData(); this.ParentForm.ModbusCommonDataSend(); @@ -2277,7 +2277,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.buttonPass.Text; @@ -2307,7 +2307,7 @@ namespace INT63DC_6CH.Forms this.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._2003_PassRange, value); // Modbus - if (this.ParentForm.SystemConfig.IsModbusUse == true) + if (this.ParentForm.SystemConfig.IsModbus == true) { this.ParentForm.Update30000ModbusData(); this.ParentForm.ModbusCommonDataSend(); @@ -2325,7 +2325,7 @@ namespace INT63DC_6CH.Forms int overRangeLimit = 0, overRange = 0; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.buttonOver.Text; @@ -2370,7 +2370,7 @@ namespace INT63DC_6CH.Forms } // Modbus - if (this.ParentForm.SystemConfig.IsModbusUse == true) + if (this.ParentForm.SystemConfig.IsModbus == true) { this.ParentForm.Update30000ModbusData(); this.ParentForm.ModbusCommonDataSend(); @@ -2387,7 +2387,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.buttonTare.Text; @@ -2413,7 +2413,7 @@ namespace INT63DC_6CH.Forms this.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._2005_TareRange, value); // Modbus - if (this.ParentForm.SystemConfig.IsModbusUse == true) + if (this.ParentForm.SystemConfig.IsModbus == true) { this.ParentForm.Update30000ModbusData(); this.ParentForm.ModbusCommonDataSend(); @@ -2427,7 +2427,7 @@ namespace INT63DC_6CH.Forms private void buttonClear_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 8); @@ -2446,7 +2446,7 @@ namespace INT63DC_6CH.Forms if (this.ParentForm.EquipmentStatus == DataStore.EquipmentStatus.Stop) { // Automatic Logout Pause - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) UserManager.UserManager_AutoLogoutTimeoutPause(); this.ParentForm.ChildFormMenu.DisplayRefresh(); @@ -2455,7 +2455,7 @@ namespace INT63DC_6CH.Forms else { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.panelSetting.BringToFront(); @@ -2465,7 +2465,7 @@ namespace INT63DC_6CH.Forms private void buttonDisplay_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); SmartButton button = sender as SmartButton; @@ -2487,7 +2487,7 @@ namespace INT63DC_6CH.Forms private void buttonScaleZero_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.ParentForm.TransferData(CommunicationCommand.Zero, CommunicationID.SubBoardAll); @@ -2498,7 +2498,7 @@ namespace INT63DC_6CH.Forms private void buttonClose_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.panelSetting.Visible = false; @@ -2506,7 +2506,7 @@ namespace INT63DC_6CH.Forms private void buttonAlarm2OK_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.ParentForm.CurrentAlarmList.IsBuzzerStatus = false; @@ -2516,7 +2516,7 @@ namespace INT63DC_6CH.Forms private void buttonAlarm3Ok_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.ParentForm.CurrentAlarmList.IsBuzzerStatus = false; @@ -2526,7 +2526,7 @@ namespace INT63DC_6CH.Forms private void buttonAlarm4Ok_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.panelAlarmMessageBox4.Visible = false; @@ -2534,7 +2534,7 @@ namespace INT63DC_6CH.Forms private void buttonUser_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.LogOut) @@ -2553,7 +2553,7 @@ namespace INT63DC_6CH.Forms private void buttonBypassDirection_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.buttonBypassDirection.ButtonStatus == SmartButton.BUTSTATUS.DOWN) @@ -2564,7 +2564,7 @@ namespace INT63DC_6CH.Forms private void buttonBypassOnce_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.buttonBypassOnce.ButtonStatus == SmartButton.BUTSTATUS.DOWN) @@ -2581,7 +2581,7 @@ namespace INT63DC_6CH.Forms private void buttonBypassRun_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.ParentForm.SystemConfig.IsBypassOnce == true) @@ -2648,7 +2648,7 @@ namespace INT63DC_6CH.Forms private void buttonSubMenu_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.SubmenuIndex == 0) @@ -2680,7 +2680,7 @@ namespace INT63DC_6CH.Forms private void buttonCutSignal_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.ParentForm.TransferData(CommunicationCommand.CutInpupt, CommunicationID.MainBoard); @@ -2695,7 +2695,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelSorter1DelayTime.Text; @@ -2730,7 +2730,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelSorter1RunTime.Text; @@ -2765,7 +2765,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelSorter2DelayTime.Text; @@ -2800,7 +2800,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelSorter2RunTime.Text; @@ -2832,7 +2832,7 @@ namespace INT63DC_6CH.Forms private void labelTotalCount_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); switch (this.ParentForm.SystemConfig.Language) @@ -2880,7 +2880,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelJudgmentDelayTime.Text; @@ -2916,7 +2916,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelJudgmentCount.Text; @@ -2951,7 +2951,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelDischargeStopperDelayTime.Text; @@ -2986,7 +2986,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelDischargeStopperRunTime.Text; @@ -3021,7 +3021,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelEntryGateDelayTime.Text; @@ -3056,7 +3056,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelEntryGateRunTime.Text; @@ -3091,7 +3091,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelTurnDelayTime.Text; @@ -3124,7 +3124,7 @@ namespace INT63DC_6CH.Forms private void timerCutSignal_Tick(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); this.ParentForm.TransferData(CommunicationCommand.CutInpupt, CommunicationID.MainBoard); @@ -3132,7 +3132,7 @@ namespace INT63DC_6CH.Forms private void buttonCut_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.buttonCut.ButtonStatus == SmartButton.BUTSTATUS.DOWN) @@ -3143,7 +3143,7 @@ namespace INT63DC_6CH.Forms private void labelCutSignalInterval_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelCutSignalInterval.Text, 4, 0, false, this.ParentForm.SystemConfig.Language); @@ -3170,7 +3170,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelOverRangeLimit.Text; @@ -3205,7 +3205,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); before = this.labelUnderRangeLimit.Text; @@ -3240,7 +3240,7 @@ namespace INT63DC_6CH.Forms string value = ""; // Automatic Logout Reset - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.Part11AutomaticLogoutReset(); if (this.buttonOnOff.ButtonStatus == SmartButton.BUTSTATUS.DOWN) diff --git a/INT63DC_6CH/Forms/FormMenu.cs b/INT63DC_6CH/Forms/FormMenu.cs index 35f38ef..df71398 100644 --- a/INT63DC_6CH/Forms/FormMenu.cs +++ b/INT63DC_6CH/Forms/FormMenu.cs @@ -353,7 +353,7 @@ namespace INT63DC_6CH.Forms int expireDate = 0; Color colorExpirePW = this.ParentForm.ColorLogOff; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { this.buttonDataStatistics.Visible = true; this.buttonDataViewer.Visible = true; @@ -369,7 +369,7 @@ namespace INT63DC_6CH.Forms this.buttonUser.Visible = false; // 옵션 데이터집계 - if (this.ParentForm.SystemConfig.IsOptDataStatistics == true) + if (this.ParentForm.SystemConfig.IsDataStatistics == true) { this.buttonDataStatistics.Visible = true; this.buttonUser.Location = new Point(this.buttonDataViewer.Location.X, this.buttonDataViewer.Location.Y); @@ -414,7 +414,7 @@ namespace INT63DC_6CH.Forms this.buttonEquipmentTest.Visible = false; this.buttonOptionSetting.Visible = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; #endregion break; @@ -447,7 +447,7 @@ namespace INT63DC_6CH.Forms this.buttonEquipmentTest.Visible = false; this.buttonOptionSetting.Visible = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; #endregion break; @@ -480,7 +480,7 @@ namespace INT63DC_6CH.Forms this.buttonEquipmentTest.Visible = false; this.buttonOptionSetting.Visible = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; #endregion break; @@ -513,7 +513,7 @@ namespace INT63DC_6CH.Forms this.buttonEquipmentTest.Visible = false; this.buttonOptionSetting.Visible = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; #endregion break; @@ -546,7 +546,7 @@ namespace INT63DC_6CH.Forms this.buttonEquipmentTest.Visible = true; this.buttonOptionSetting.Visible = true; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.labelExpireOfPassword.Visible = true; #endregion break; @@ -575,7 +575,7 @@ namespace INT63DC_6CH.Forms this.buttonDataViewer.Visible = false; // 옵션 데이터집계 - if (this.ParentForm.SystemConfig.IsOptDataStatistics == true) + if (this.ParentForm.SystemConfig.IsDataStatistics == true) this.buttonDataStatistics.Visible = true; else this.buttonDataStatistics.Visible = false; @@ -635,7 +635,7 @@ namespace INT63DC_6CH.Forms //} - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { if (user.ExpirePassword != 0) { @@ -732,7 +732,7 @@ namespace INT63DC_6CH.Forms { #region 데이터백업 ((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormDataBackup); - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.ChildFormDataBackup_Part11.DisplayRefresh(); else this.ParentForm.ChildFormDataBackup.DisplayRefresh(); @@ -873,6 +873,9 @@ namespace INT63DC_6CH.Forms private void smartTimerScanUSB_Tick(object sender, EventArgs e) { + if (this.ParentForm.SystemConfig.CurrentForm != DataStore.FormStore.FormProgramUpdate) + this.smartTimerScanUSB.Stop(); + bool isBeforeConnectedUSB = this.IsConnectedUSB; DirectoryInfo info = new DirectoryInfo("하드 디스크\\"); diff --git a/INT63DC_6CH/Forms/FormOptionSetting.cs b/INT63DC_6CH/Forms/FormOptionSetting.cs index 7f633e5..174bf3b 100644 --- a/INT63DC_6CH/Forms/FormOptionSetting.cs +++ b/INT63DC_6CH/Forms/FormOptionSetting.cs @@ -155,13 +155,13 @@ namespace INT63DC_6CH.Forms // this.buttonFeedbackUse.ButtonUp(); // 데이터 통계 기능 사용 유무 - if (this.ParentForm.SystemConfig.IsOptDataStatistics == true) + if (this.ParentForm.SystemConfig.IsDataStatistics == true) this.buttonDataStatistics.ButtonDown(); else this.buttonDataStatistics.ButtonUp(); // Part 11 사용 유무 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.buttonPart11.ButtonDown(); else this.buttonPart11.ButtonUp(); @@ -191,22 +191,24 @@ namespace INT63DC_6CH.Forms // 데이터 통계 기능 사용 유무 if (this.buttonDataStatistics.ButtonStatus == SmartButton.BUTSTATUS.DOWN) - this.ParentForm.SystemConfig.IsOptDataStatistics = true; + this.ParentForm.SystemConfig.IsDataStatistics = true; else - this.ParentForm.SystemConfig.IsOptDataStatistics = false; + this.ParentForm.SystemConfig.IsDataStatistics = false; // Part11 기능 사용 유무 if (this.buttonPart11.ButtonStatus == SmartButton.BUTSTATUS.DOWN) { - this.ParentForm.SystemConfig.IsOptPart11 = true; + this.ParentForm.SystemConfig.IsPart11 = true; this.ParentForm.SystemConfig.IsLogin = true; this.ParentForm.SystemConfig.IsDataBackup = true; + this.ParentForm.SystemConfig.IsDataStatistics = true; } else { - this.ParentForm.SystemConfig.IsOptPart11 = false; + this.ParentForm.SystemConfig.IsPart11 = false; this.ParentForm.SystemConfig.IsLogin = false; this.ParentForm.SystemConfig.IsDataBackup = false; + this.ParentForm.SystemConfig.IsDataStatistics = false; // Delete user list UserManager.UserManager_UserAllDel(); diff --git a/INT63DC_6CH/Forms/FormOptionSetting.designer.cs b/INT63DC_6CH/Forms/FormOptionSetting.designer.cs index 7d9dee2..c2f9780 100644 --- a/INT63DC_6CH/Forms/FormOptionSetting.designer.cs +++ b/INT63DC_6CH/Forms/FormOptionSetting.designer.cs @@ -170,7 +170,7 @@ this.buttonPart11.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonPart11.DownImage"))); this.buttonPart11.GroupID = 0; this.buttonPart11.InitVisible = true; - this.buttonPart11.Location = new System.Drawing.Point(339, 94); + this.buttonPart11.Location = new System.Drawing.Point(339, 103); this.buttonPart11.Mode = SmartX.SmartButton.BUTTONMODE.PUSH; this.buttonPart11.Name = "buttonPart11"; this.buttonPart11.NestedClickEventPrevent = false; @@ -187,6 +187,7 @@ this.buttonPart11.TextLocation = new System.Drawing.Point(0, 0); this.buttonPart11.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; this.buttonPart11.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonPart11.UpImage"))); + this.buttonPart11.Visible = false; this.buttonPart11.Click += new System.EventHandler(this.buttonPart11_Click); // // smartLabel2 @@ -199,13 +200,14 @@ this.smartLabel2.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.smartLabel2.InitVisible = true; this.smartLabel2.LineSpacing = 0F; - this.smartLabel2.Location = new System.Drawing.Point(133, 94); + this.smartLabel2.Location = new System.Drawing.Point(133, 103); this.smartLabel2.Name = "smartLabel2"; this.smartLabel2.Size = new System.Drawing.Size(200, 25); this.smartLabel2.TabIndex = 207; this.smartLabel2.Text = "TITLE 21 CFR PART 11"; this.smartLabel2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right; this.smartLabel2.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.smartLabel2.Visible = false; this.smartLabel2.Wordwrap = false; // // buttonDataStatistics @@ -220,7 +222,7 @@ this.buttonDataStatistics.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonDataStatistics.DownImage"))); this.buttonDataStatistics.GroupID = 0; this.buttonDataStatistics.InitVisible = true; - this.buttonDataStatistics.Location = new System.Drawing.Point(339, 63); + this.buttonDataStatistics.Location = new System.Drawing.Point(339, 72); this.buttonDataStatistics.Mode = SmartX.SmartButton.BUTTONMODE.PUSH; this.buttonDataStatistics.Name = "buttonDataStatistics"; this.buttonDataStatistics.NestedClickEventPrevent = false; @@ -249,7 +251,7 @@ this.smartLabel1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.smartLabel1.InitVisible = true; this.smartLabel1.LineSpacing = 0F; - this.smartLabel1.Location = new System.Drawing.Point(133, 63); + this.smartLabel1.Location = new System.Drawing.Point(133, 72); this.smartLabel1.Name = "smartLabel1"; this.smartLabel1.Size = new System.Drawing.Size(200, 25); this.smartLabel1.TabIndex = 205; diff --git a/INT63DC_6CH/Forms/FormProgramUpdate.Designer.cs b/INT63DC_6CH/Forms/FormProgramUpdate.Designer.cs index 3b8c6a1..221ca19 100644 --- a/INT63DC_6CH/Forms/FormProgramUpdate.Designer.cs +++ b/INT63DC_6CH/Forms/FormProgramUpdate.Designer.cs @@ -38,6 +38,9 @@ this.buttonMainBoard = new SmartX.SmartButton(); this.timerForMainBoard = new System.Windows.Forms.Timer(); this.buttonBack = new SmartX.SmartButton(); + this.buttonServiceUpdate = new SmartX.SmartButton(); + this.labelUpdateContents = new SmartX.SmartLabel(); + this.labelTitleUpdate = new SmartX.SmartLabel(); ((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit(); this.SuspendLayout(); // @@ -85,9 +88,9 @@ this.labelMessage1.Font = new System.Drawing.Font("새굴림", 22F, System.Drawing.FontStyle.Bold); this.labelMessage1.InitVisible = true; this.labelMessage1.LineSpacing = 0F; - this.labelMessage1.Location = new System.Drawing.Point(157, 235); + this.labelMessage1.Location = new System.Drawing.Point(139, 235); this.labelMessage1.Name = "labelMessage1"; - this.labelMessage1.Size = new System.Drawing.Size(719, 50); + this.labelMessage1.Size = new System.Drawing.Size(748, 50); this.labelMessage1.TabIndex = 13; this.labelMessage1.Text = "업데이트 중..."; this.labelMessage1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; @@ -104,9 +107,9 @@ this.labelMessage2.Font = new System.Drawing.Font("새굴림", 22F, System.Drawing.FontStyle.Bold); this.labelMessage2.InitVisible = true; this.labelMessage2.LineSpacing = 0F; - this.labelMessage2.Location = new System.Drawing.Point(157, 291); + this.labelMessage2.Location = new System.Drawing.Point(139, 291); this.labelMessage2.Name = "labelMessage2"; - this.labelMessage2.Size = new System.Drawing.Size(719, 50); + this.labelMessage2.Size = new System.Drawing.Size(748, 50); this.labelMessage2.TabIndex = 14; this.labelMessage2.Text = "USB를 본체에서 분리하지 마십시오"; this.labelMessage2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; @@ -125,14 +128,14 @@ this.progressBarUpdate.Direction = SmartX.SmartProgressBar.DIR.Horizontal; this.progressBarUpdate.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular); this.progressBarUpdate.InitVisible = true; - this.progressBarUpdate.Location = new System.Drawing.Point(137, 385); + this.progressBarUpdate.Location = new System.Drawing.Point(139, 389); this.progressBarUpdate.Maximum = 100; this.progressBarUpdate.Minimum = 0; this.progressBarUpdate.Name = "progressBarUpdate"; this.progressBarUpdate.OutlineColor = System.Drawing.Color.Black; this.progressBarUpdate.PercentageText = true; this.progressBarUpdate.RoundedCorners = true; - this.progressBarUpdate.Size = new System.Drawing.Size(748, 75); + this.progressBarUpdate.Size = new System.Drawing.Size(748, 62); this.progressBarUpdate.TabIndex = 16; this.progressBarUpdate.TextAutoRotation = true; this.progressBarUpdate.Value = 0; @@ -147,10 +150,10 @@ this.buttonLCD.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.buttonLCD.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonLCD.DisableImage"))); this.buttonLCD.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonLCD.DownImage"))); - this.buttonLCD.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Regular); + this.buttonLCD.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold); this.buttonLCD.GroupID = 0; this.buttonLCD.InitVisible = true; - this.buttonLCD.Location = new System.Drawing.Point(173, 515); + this.buttonLCD.Location = new System.Drawing.Point(169, 515); this.buttonLCD.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; this.buttonLCD.Name = "buttonLCD"; this.buttonLCD.NestedClickEventPrevent = false; @@ -158,7 +161,7 @@ this.buttonLCD.RepeatInterval = 200; this.buttonLCD.RepeatIntervalAccelerate = null; this.buttonLCD.SafeInterval = 200; - this.buttonLCD.Size = new System.Drawing.Size(326, 73); + this.buttonLCD.Size = new System.Drawing.Size(200, 70); this.buttonLCD.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; this.buttonLCD.TabIndex = 185; this.buttonLCD.Tag = ""; @@ -181,11 +184,11 @@ this.buttonMainBoard.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.buttonMainBoard.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonMainBoard.DisableImage"))); this.buttonMainBoard.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonMainBoard.DownImage"))); - this.buttonMainBoard.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Regular); + this.buttonMainBoard.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold); this.buttonMainBoard.ForeColor = System.Drawing.Color.Black; this.buttonMainBoard.GroupID = 0; this.buttonMainBoard.InitVisible = true; - this.buttonMainBoard.Location = new System.Drawing.Point(526, 515); + this.buttonMainBoard.Location = new System.Drawing.Point(407, 515); this.buttonMainBoard.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; this.buttonMainBoard.Name = "buttonMainBoard"; this.buttonMainBoard.NestedClickEventPrevent = false; @@ -193,7 +196,7 @@ this.buttonMainBoard.RepeatInterval = 200; this.buttonMainBoard.RepeatIntervalAccelerate = null; this.buttonMainBoard.SafeInterval = 200; - this.buttonMainBoard.Size = new System.Drawing.Size(326, 73); + this.buttonMainBoard.Size = new System.Drawing.Size(200, 70); this.buttonMainBoard.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; this.buttonMainBoard.TabIndex = 184; this.buttonMainBoard.Tag = ""; @@ -242,12 +245,93 @@ this.buttonBack.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.UpImage"))); this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click); // + // buttonServiceUpdate + // + this.buttonServiceUpdate.BackPictureBox = null; + this.buttonServiceUpdate.BackPictureBox1 = null; + this.buttonServiceUpdate.BackPictureBox2 = null; + this.buttonServiceUpdate.ButtonColor = System.Drawing.Color.Silver; + this.buttonServiceUpdate.ButtonImageAutoSize = true; + this.buttonServiceUpdate.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.buttonServiceUpdate.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonServiceUpdate.DisableImage"))); + this.buttonServiceUpdate.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonServiceUpdate.DownImage"))); + this.buttonServiceUpdate.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold); + this.buttonServiceUpdate.ForeColor = System.Drawing.Color.Black; + this.buttonServiceUpdate.GroupID = 0; + this.buttonServiceUpdate.InitVisible = true; + this.buttonServiceUpdate.Location = new System.Drawing.Point(642, 515); + this.buttonServiceUpdate.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.buttonServiceUpdate.Name = "buttonServiceUpdate"; + this.buttonServiceUpdate.NestedClickEventPrevent = false; + this.buttonServiceUpdate.OutlinePixel = 1; + this.buttonServiceUpdate.RepeatInterval = 200; + this.buttonServiceUpdate.RepeatIntervalAccelerate = null; + this.buttonServiceUpdate.SafeInterval = 200; + this.buttonServiceUpdate.Size = new System.Drawing.Size(200, 70); + this.buttonServiceUpdate.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.buttonServiceUpdate.TabIndex = 244; + this.buttonServiceUpdate.Tag = ""; + this.buttonServiceUpdate.Text = "Service Update"; + this.buttonServiceUpdate.TextColor = System.Drawing.Color.Black; + this.buttonServiceUpdate.TextDownColor = System.Drawing.Color.DimGray; + this.buttonServiceUpdate.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.buttonServiceUpdate.TextLocation = new System.Drawing.Point(0, 0); + this.buttonServiceUpdate.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.buttonServiceUpdate.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonServiceUpdate.UpImage"))); + this.buttonServiceUpdate.Click += new System.EventHandler(this.buttonServiceUpdate_Click); + // + // labelUpdateContents + // + this.labelUpdateContents.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); + this.labelUpdateContents.BackPictureBox = this.smartForm1; + this.labelUpdateContents.BackPictureBox1 = null; + this.labelUpdateContents.BackPictureBox2 = null; + this.labelUpdateContents.BorderColor = System.Drawing.Color.Black; + this.labelUpdateContents.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.labelUpdateContents.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelUpdateContents.ForeColor = System.Drawing.Color.Black; + this.labelUpdateContents.InitVisible = true; + this.labelUpdateContents.LineSpacing = 0F; + this.labelUpdateContents.Location = new System.Drawing.Point(488, 348); + this.labelUpdateContents.Name = "labelUpdateContents"; + this.labelUpdateContents.Size = new System.Drawing.Size(336, 35); + this.labelUpdateContents.TabIndex = 247; + this.labelUpdateContents.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left; + this.labelUpdateContents.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelUpdateContents.Visible = false; + this.labelUpdateContents.Wordwrap = false; + // + // labelTitleUpdate + // + this.labelTitleUpdate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); + this.labelTitleUpdate.BackPictureBox = this.smartForm1; + this.labelTitleUpdate.BackPictureBox1 = null; + this.labelTitleUpdate.BackPictureBox2 = null; + this.labelTitleUpdate.BorderColor = System.Drawing.Color.Black; + this.labelTitleUpdate.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.labelTitleUpdate.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleUpdate.ForeColor = System.Drawing.Color.Black; + this.labelTitleUpdate.InitVisible = true; + this.labelTitleUpdate.LineSpacing = 0F; + this.labelTitleUpdate.Location = new System.Drawing.Point(212, 348); + this.labelTitleUpdate.Name = "labelTitleUpdate"; + this.labelTitleUpdate.Size = new System.Drawing.Size(270, 35); + this.labelTitleUpdate.TabIndex = 246; + this.labelTitleUpdate.Text = "Update"; + this.labelTitleUpdate.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right; + this.labelTitleUpdate.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelTitleUpdate.Visible = false; + this.labelTitleUpdate.Wordwrap = false; + // // FormProgramUpdate // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.AutoScroll = true; this.ClientSize = new System.Drawing.Size(1024, 768); + this.Controls.Add(this.labelUpdateContents); + this.Controls.Add(this.labelTitleUpdate); + this.Controls.Add(this.buttonServiceUpdate); this.Controls.Add(this.buttonBack); this.Controls.Add(this.buttonLCD); this.Controls.Add(this.buttonMainBoard); @@ -273,5 +357,8 @@ private SmartX.SmartButton buttonMainBoard; private System.Windows.Forms.Timer timerForMainBoard; private SmartX.SmartButton buttonBack; + private SmartX.SmartButton buttonServiceUpdate; + public SmartX.SmartLabel labelUpdateContents; + public SmartX.SmartLabel labelTitleUpdate; } } \ No newline at end of file diff --git a/INT63DC_6CH/Forms/FormProgramUpdate.cs b/INT63DC_6CH/Forms/FormProgramUpdate.cs index d1fd00b..935ebcb 100644 --- a/INT63DC_6CH/Forms/FormProgramUpdate.cs +++ b/INT63DC_6CH/Forms/FormProgramUpdate.cs @@ -7,8 +7,10 @@ using System.Drawing; using System.IO; using System.Text; using System.Windows.Forms; +using libPayService; using INT63DC_6CH.DialogForms; +using INT63DC_6CH.In_UserManager; namespace INT63DC_6CH.Forms { @@ -18,12 +20,15 @@ namespace INT63DC_6CH.Forms private FormMain m_ParentForm; private DataStore.E_Step3 UpdateStep; + private bool IsUpdate = false; + private int Check; private string USBPath = ""; private string UpdateFilePath = ""; private string OldFilePath = ""; private string RemoveFolderPath = ""; + private string KeyFolderPath = ""; private List DllName = new List(); private List LongOldDllFileLastWriteTime = new List(); @@ -36,6 +41,9 @@ namespace INT63DC_6CH.Forms InitializeComponent(); this.ParentForm = parent; + + this.InitializeDesign(); + this.DefaultSetting(); } #endregion @@ -53,14 +61,30 @@ namespace INT63DC_6CH.Forms switch (this.ParentForm.SystemConfig.Language) { case DataStore.E_LanguageID.Korean: + this.buttonLCD.Text = "LCD"; + this.buttonMainBoard.Text = "Mainboard"; + this.buttonServiceUpdate.Font = new Font("새굴림", 16, FontStyle.Bold); + this.buttonServiceUpdate.Text = "Service Update"; break; case DataStore.E_LanguageID.English: + this.buttonLCD.Text = "LCD"; + this.buttonMainBoard.Text = "Mainboard"; + this.buttonServiceUpdate.Font = new Font("새굴림", 16, FontStyle.Bold); + this.buttonServiceUpdate.Text = "Service Update"; break; case DataStore.E_LanguageID.Chinese: + this.buttonLCD.Text = "液晶显示屏"; + this.buttonMainBoard.Text = "主板"; + this.buttonServiceUpdate.Font = new Font("새굴림", 16, FontStyle.Bold); + this.buttonServiceUpdate.Text = "服务更新"; break; case DataStore.E_LanguageID.Czech: break; case DataStore.E_LanguageID.German: + this.buttonLCD.Text = "LCD"; + this.buttonMainBoard.Text = "Mainboard"; + this.buttonServiceUpdate.Font = new Font("새굴림", 10, FontStyle.Regular); + this.buttonServiceUpdate.Text = "Service-Aktualisierung"; break; case DataStore.E_LanguageID.Japanese: break; @@ -70,33 +94,11 @@ namespace INT63DC_6CH.Forms } private void DefaultSetting() { - this.UpdateStep = DataStore.E_Step3.Step1; - this.UpdateLabelStatus(this.UpdateStep, this.ParentForm.SystemConfig.Language); + PayService.ServiceDataEvent += PayService_ServiceDataEvent; + this.DecideUpdatePath(); } - - public void EnableBackupButton(bool enable) + private void DecideUpdatePath() { - this.buttonLCD.Enabled = enable; - this.buttonMainBoard.Enabled = enable; - - if (enable == true) - { - this.buttonLCD.TextColor = Color.Black; - this.buttonMainBoard.TextColor = Color.Black; - } - else - { - this.buttonLCD.TextColor = Color.DimGray; - this.buttonMainBoard.TextColor = Color.DimGray; - } - this.Refresh(); - } - - public DataStore.E_UpdateCheck CheckError() - { - DataStore.E_UpdateCheck ret = DataStore.E_UpdateCheck.Fail; - FileInfo[] newFiles; - if (Directory.Exists("Hard Disk\\") == true) this.USBPath = "Hard Disk\\"; else if (Directory.Exists("하드 디스크\\") == true) @@ -105,17 +107,142 @@ namespace INT63DC_6CH.Forms this.USBPath = "하드 디스크\\"; this.UpdateFilePath = this.USBPath + "UpdateFiles\\"; + this.KeyFolderPath = this.USBPath + "KEY\\"; + this.OldFilePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\"; + if (this.OldFilePath.StartsWith("\\F") == true) + this.RemoveFolderPath = "Flash Disk\\RemoveFile\\"; + else + this.RemoveFolderPath = "SD Card\\RemoveFile\\"; + } + + private void InitialStatus() + { + this.UpdateStep = DataStore.E_Step3.Step1; + this.UpdateLabelStatus(this.UpdateStep, this.ParentForm.SystemConfig.Language); + this.buttonLCD.Enabled = true; + this.buttonMainBoard.Enabled = true; + this.buttonServiceUpdate.Enabled = true; + this.labelMessage2.ForeColor = Color.Black; + this.labelMessage2.Visible = true; + } + private void FinishStatusNeededReBoot() + { + this.ParentForm.Enabled = false; + this.UpdateStep = DataStore.E_Step3.Step3; + this.UpdateLabelStatus(this.UpdateStep, this.ParentForm.SystemConfig.Language); + } + + public void EnableBackupButton(bool enable) + { + this.buttonLCD.Enabled = enable; + this.buttonMainBoard.Enabled = enable; + this.buttonServiceUpdate.Enabled = enable; + + if (enable == true) + { + this.buttonLCD.TextColor = Color.Black; + this.buttonMainBoard.TextColor = Color.Black; + this.buttonServiceUpdate.TextColor = Color.Black; + } + else + { + this.buttonLCD.TextColor = Color.DimGray; + this.buttonMainBoard.TextColor = Color.DimGray; + this.buttonServiceUpdate.TextColor = Color.DimGray; + } + this.Refresh(); + } + + private void ProgramUpdateCheck(DialogResult result) + { + PayService service = new PayService(); + DataStore.E_UpdateCheck check = DataStore.E_UpdateCheck.Fail; + + if (result == DialogResult.Yes) + { + check = this.CheckError(); + + if (check == DataStore.E_UpdateCheck.Success) + { + this.buttonMainBoard.TextColor = Color.DimGray; + this.buttonMainBoard.Enabled = false; + this.buttonLCD.TextColor = Color.DimGray; + this.buttonLCD.Enabled = false; + this.buttonServiceUpdate.TextColor = Color.DimGray; + this.buttonServiceUpdate.Enabled = false; + this.UpdateStep = DataStore.E_Step3.Step2; + this.UpdateLabelStatus(this.UpdateStep, this.ParentForm.SystemConfig.Language); + + if (this.IsUpdate == true) + this.ProgramUpdate(); + else + { + FileInfo[] newFiles; + DirectoryInfo directoryFolder = new DirectoryInfo(this.KeyFolderPath); + if (directoryFolder.Exists == false) + directoryFolder.Create(); + + newFiles = directoryFolder.GetFiles(); + + //Console.Write("{0}, {1} \n", this.KeyFolderPath + newFiles[0].ToString(), newFiles.Length); + + ErrorLog_e ret = service.PayServiceOpen(this.KeyFolderPath + newFiles[0].ToString(), this.ParentForm.SystemConfig.SerialNumber); + if (ret != ErrorLog_e.NONE) + { + DialogFormMessage message = new DialogFormMessage((int)ret, this.ParentForm.SystemConfig.Language, + this.ParentForm.SystemConfig.CurrentForm); + message.ShowDialog(); + + this.InitialStatus(); + } + } + } + else if (check == DataStore.E_UpdateCheck.NotUsbMomery) + { + DialogFormMessage message = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language); + message.ShowDialog(); + this.IsUpdate = false; + } + else if (check == DataStore.E_UpdateCheck.NotUpdateFolder) + { + DialogFormMessage message = new DialogFormMessage(9, this.ParentForm.SystemConfig.Language); + message.ShowDialog(); + this.IsUpdate = false; + } + else if (check == DataStore.E_UpdateCheck.NotFile) + { + DialogFormMessage message = new DialogFormMessage(7, this.ParentForm.SystemConfig.Language); + message.ShowDialog(); + this.IsUpdate = false; + } + else if (check == DataStore.E_UpdateCheck.TooManyFiles) + { + DialogFormMessage message = new DialogFormMessage(8, this.ParentForm.SystemConfig.Language); + message.ShowDialog(); + this.IsUpdate = false; + } + } + } + public DataStore.E_UpdateCheck CheckError() + { + DataStore.E_UpdateCheck ret = DataStore.E_UpdateCheck.Fail; + FileInfo[] newFiles; DirectoryInfo info = new DirectoryInfo(this.USBPath); - DirectoryInfo directoryFolderUpdateFiles = new DirectoryInfo(this.UpdateFilePath); + DirectoryInfo dirFolderSource; + + if (this.IsUpdate == true) + dirFolderSource = new DirectoryInfo(this.UpdateFilePath); + else + dirFolderSource = new DirectoryInfo(this.KeyFolderPath); // USB 장착 유무 확인 if (info.Exists == true) { // USB에 UpdateFiles 유무 확인 - if (directoryFolderUpdateFiles.Exists == true) + if (dirFolderSource.Exists == true) { - newFiles = directoryFolderUpdateFiles.GetFiles(); + newFiles = dirFolderSource.GetFiles(); if (newFiles.Length == 0) { @@ -123,7 +250,15 @@ namespace INT63DC_6CH.Forms } else { - ret = DataStore.E_UpdateCheck.Success; + if (this.IsUpdate == false) + { + if (newFiles.Length == 1) + ret = DataStore.E_UpdateCheck.Success; + else + ret = DataStore.E_UpdateCheck.TooManyFiles; + } + else + ret = DataStore.E_UpdateCheck.Success; } } else @@ -146,13 +281,6 @@ namespace INT63DC_6CH.Forms if (result == DialogResult.Yes) { - if (Directory.Exists("Hard Disk\\") == true) - this.USBPath = "Hard Disk\\"; - else if (Directory.Exists("하드 디스크\\") == true) - this.USBPath = "하드 디스크\\"; - else - this.USBPath = "하드 디스크\\"; - this.UpdateFilePath = this.USBPath + "UpdateFilesMain\\"; DirectoryInfo info = new DirectoryInfo(this.USBPath); @@ -241,31 +369,27 @@ namespace INT63DC_6CH.Forms FileInfo[] newFiles; DirectoryInfo directoryFolderUpdateFiles = new DirectoryInfo(this.UpdateFilePath); + if (directoryFolderUpdateFiles.Exists == false) + directoryFolderUpdateFiles.Create(); + newFiles = directoryFolderUpdateFiles.GetFiles(); this.progressBarUpdate.Value += 20; this.TreatmentRemoveOldFile(); - this.progressBarUpdate.Value += 30; + this.progressBarUpdate.Value += 20; this.TreatmentCopyNewFile(newFiles); this.progressBarUpdate.Value += 100; this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.Update, "LCD"); - this.UpdateStep = DataStore.E_Step3.Step3; - this.UpdateLabelStatus(this.UpdateStep, this.ParentForm.SystemConfig.Language); - this.buttonBack.Visible = false; + this.FinishStatusNeededReBoot(); } private void TreatmentRemoveOldFile() { bool removeFolderCheck = false; FileInfo[] oldFiles; - this.OldFilePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\"; - if (this.OldFilePath.StartsWith("\\F") == true) - this.RemoveFolderPath = "Flash Disk\\RemoveFile\\"; - else - this.RemoveFolderPath = "SD Card\\RemoveFile\\"; DirectoryInfo directoryFolderRun = new DirectoryInfo(this.OldFilePath); DirectoryInfo directoryFolderRemove = new DirectoryInfo(this.RemoveFolderPath); @@ -364,6 +488,8 @@ namespace INT63DC_6CH.Forms this.buttonLCD.Enabled = true; this.buttonMainBoard.TextColor = Color.Black; this.buttonMainBoard.Enabled = true; + this.buttonServiceUpdate.TextColor = Color.Black; + this.buttonServiceUpdate.Enabled = true; this.buttonBack.Enabled = true; } public void UpdateMainBoardFinish() @@ -458,7 +584,6 @@ namespace INT63DC_6CH.Forms break; } #endregion - this.progressBarUpdate.Value = 100; break; default: break; @@ -466,47 +591,124 @@ namespace INT63DC_6CH.Forms this.Refresh(); } - private void ProgramUpdateCheck(DialogResult result) + + private void PayService_ServiceDataEvent(SERVICE_ITEMS_e item, SERVICE_MODE_e value) { - DataStore.E_UpdateCheck check = DataStore.E_UpdateCheck.Fail; + //Console.Write("{0} = {1} \n", item.ToString(), value.ToString()); + this.progressBarUpdate.Value = 50; - if (result == DialogResult.Yes) + //Console.Write("{0}, {1} \n", item.ToString(), value.ToString()); + + switch (item) { - check = this.CheckError(); + case SERVICE_ITEMS_e.MODBUS: + #region Modbus + switch (value) + { + case SERVICE_MODE_e.DISABLE: + if (this.ParentForm.SystemConfig.IsModbus == true) + { + this.ParentForm.SystemConfig.IsModbus = false; - if (check == DataStore.E_UpdateCheck.Success) - { - this.buttonMainBoard.TextColor = Color.DimGray; - this.buttonMainBoard.Enabled = false; - this.buttonLCD.TextColor = Color.DimGray; - this.buttonLCD.Enabled = false; - this.UpdateStep = DataStore.E_Step3.Step2; - this.UpdateLabelStatus(this.UpdateStep, this.ParentForm.SystemConfig.Language); + if (this.ParentForm.SystemConfig.Serial3Mode == (int)DataStore.E_CommMode.f4_Modbus) + this.ParentForm.SystemConfig.Serial3Mode = 0; + if (this.ParentForm.SystemConfig.EthernetMode == (int)DataStore.E_CommMode.f4_Modbus) + this.ParentForm.SystemConfig.EthernetMode = 0; - this.ProgramUpdate(); - } - else if (check == DataStore.E_UpdateCheck.NotUsbMomery) - { - DialogFormMessage message = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language); - message.ShowDialog(); - } - else if (check == DataStore.E_UpdateCheck.NotUpdateFolder) - { - DialogFormMessage message = new DialogFormMessage(9, this.ParentForm.SystemConfig.Language); - message.ShowDialog(); - } - else if (check == DataStore.E_UpdateCheck.NotFile) - { - DialogFormMessage message = new DialogFormMessage(7, this.ParentForm.SystemConfig.Language); - message.ShowDialog(); - } + this.ParentForm.SaveSystemConfigurationFile(this.ParentForm.SystemConfig); + + //this.ParentForm.CenterConfiSerial.ChangeCommunicationMode(); + //this.ParentForm.CenterConfiEthernet.ChangeCommunicationMode(); + + this.labelUpdateContents.Text += "Modbus OFF"; + this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.FunctionUpdate, "Modbus_OFF"); + } + break; + case SERVICE_MODE_e.ENABLE: + if (this.ParentForm.SystemConfig.IsModbus == false) + { + this.ParentForm.SystemConfig.IsModbus = true; + this.ParentForm.SaveSystemConfigurationFile(this.ParentForm.SystemConfig); + + //this.ParentForm.CenterConfiSerial.ChangeCommunicationMode(); + //this.ParentForm.CenterConfiEthernet.ChangeCommunicationMode(); + + this.labelUpdateContents.Text += "Modbus ON"; + this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.FunctionUpdate, "Modbus_ON"); + } + break; + default: + break; + } + #endregion + break; + case SERVICE_ITEMS_e.PART11: + #region Part11 + switch (value) + { + case SERVICE_MODE_e.DISABLE: + if (this.ParentForm.SystemConfig.IsPart11 == true) + { + this.ParentForm.SystemConfig.IsPart11 = false; + this.ParentForm.SystemConfig.IsLogin = false; + this.ParentForm.SystemConfig.IsDataStatistics = false; + this.ParentForm.SystemConfig.IsDataBackup = false; + + if (this.ParentForm.SystemConfig.StoragePeriod > 12) + this.ParentForm.SystemConfig.StoragePeriod = 12; + + // Delete user list + UserManager.UserManager_UserAllDel(); + + this.ParentForm.SaveSystemConfigurationFile(this.ParentForm.SystemConfig); + + if (this.labelUpdateContents.Text.Length != 0) + this.labelUpdateContents.Text += ", "; + this.labelUpdateContents.Text += "Part11 OFF"; + this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.FunctionUpdate, "Part11_OFF"); + } + break; + case SERVICE_MODE_e.ENABLE: + if (this.ParentForm.SystemConfig.IsPart11 == false) + { + this.ParentForm.SystemConfig.IsLogin = true; + this.ParentForm.SystemConfig.IsPart11 = true; + this.ParentForm.SystemConfig.IsDataStatistics = true; + this.ParentForm.SystemConfig.IsDataBackup = true; + + if (this.ParentForm.SystemConfig.StoragePeriod <= 12) + this.ParentForm.SystemConfig.StoragePeriod = 24; + + this.ParentForm.SaveSystemConfigurationFile(this.ParentForm.SystemConfig); + + if (this.labelUpdateContents.Text.Length != 0) + this.labelUpdateContents.Text += ", "; + this.labelUpdateContents.Text += "Part11 ON"; + this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.FunctionUpdate, "Part11_ON"); + } + break; + default: + break; + } + + this.FinishStatusNeededReBoot(); + this.progressBarUpdate.Value += 100; + #endregion + break; + default: + break; } + + this.labelTitleUpdate.Visible = true; + this.labelUpdateContents.Visible = true; } public void DisplayRefresh() { this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormProgramUpdate; - this.DefaultSetting(); + + this.InitialStatus(); + this.progressBarUpdate.Value = 0; // USB 체크 DirectoryInfo info = new DirectoryInfo("하드 디스크\\"); @@ -516,6 +718,8 @@ namespace INT63DC_6CH.Forms this.buttonLCD.Enabled = true; this.buttonMainBoard.TextColor = Color.Black; this.buttonMainBoard.Enabled = true; + this.buttonServiceUpdate.TextColor = Color.Black; + this.buttonServiceUpdate.Enabled = true; } else { @@ -523,6 +727,8 @@ namespace INT63DC_6CH.Forms this.buttonLCD.Enabled = false; this.buttonMainBoard.TextColor = Color.DimGray; this.buttonMainBoard.Enabled = false; + this.buttonServiceUpdate.TextColor = Color.DimGray; + this.buttonServiceUpdate.Enabled = false; } } #endregion @@ -532,10 +738,14 @@ namespace INT63DC_6CH.Forms { DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 3); DialogResult dr = myDlg.ShowDialog(); + if (dr == DialogResult.Yes) + this.IsUpdate = true; + myDlg.Close(); this.Refresh(); + this.labelMessage2.Visible = true; this.ProgramUpdateCheck(dr); } private void buttonMainboard_Click(object sender, EventArgs e) @@ -548,6 +758,17 @@ namespace INT63DC_6CH.Forms this.CheckErrorMainBoard(dr); } + private void buttonServiceUpdate_Click(object sender, EventArgs e) + { + DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 3); + DialogResult dr = myDlg.ShowDialog(); + myDlg.Close(); + + PayService service = new PayService(); + + this.labelMessage2.Visible = true; + this.ProgramUpdateCheck(dr); + } private void timerForMainBoard_Tick(object sender, EventArgs e) { diff --git a/INT63DC_6CH/Forms/FormProgramUpdate.resx b/INT63DC_6CH/Forms/FormProgramUpdate.resx index c806dad..9cd86b4 100644 --- a/INT63DC_6CH/Forms/FormProgramUpdate.resx +++ b/INT63DC_6CH/Forms/FormProgramUpdate.resx @@ -238,528 +238,478 @@ - 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 - nWzzF/T6RQeMVMVLAAAAAElFTkSuQmCC + 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 + RU5ErkJggg== - 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 + SUVORK5CYII= - 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 - nWzzF/T6RQeMVMVLAAAAAElFTkSuQmCC + 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 + RU5ErkJggg== - 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 + SUVORK5CYII= @@ -1087,6 +1037,244 @@ 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 + RU5ErkJggg== + + + + + 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 + SUVORK5CYII= diff --git a/INT63DC_6CH/Forms/FormSystemSetting.cs b/INT63DC_6CH/Forms/FormSystemSetting.cs index 153aa68..0098357 100644 --- a/INT63DC_6CH/Forms/FormSystemSetting.cs +++ b/INT63DC_6CH/Forms/FormSystemSetting.cs @@ -738,7 +738,7 @@ namespace INT63DC_6CH.Forms this.buttonLotEdit.Enabled = true; this.textBoxLotNo.Enabled = true; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { after = this.textBoxProductName.Text; number = this.SelectedProductItem.Number.ToString(); @@ -781,7 +781,7 @@ namespace INT63DC_6CH.Forms this.buttonLotEdit.Enabled = true; this.textBoxProductName.Enabled = true; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { after = this.textBoxLotNo.Text; number = this.SelectedProductItem.Number.ToString(); diff --git a/INT63DC_6CH/Forms/FormUserEditor.cs b/INT63DC_6CH/Forms/FormUserEditor.cs index 1690061..351478f 100644 --- a/INT63DC_6CH/Forms/FormUserEditor.cs +++ b/INT63DC_6CH/Forms/FormUserEditor.cs @@ -188,7 +188,7 @@ namespace INT63DC_6CH.Forms this.ChildControlUserSet.Location = new Point(0, 73); this.ChildControlUserSet.Visible = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.SystemConfig.IsPart11 == false) { // Expiry date(Account) this.labelTitleExpiryDateOfAccount.Visible = false; @@ -371,7 +371,7 @@ namespace INT63DC_6CH.Forms item.Password = this.SelectedUserItem.ResetPW; else item.Password = this.CurrentUserPassword; - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { item.ExpireId = int.Parse(this.labelExpiryDateOfAccount.Text); item.ExpirePassword = int.Parse(this.labelExpiryDateOfPassword.Text); @@ -1023,7 +1023,7 @@ namespace INT63DC_6CH.Forms }); // Part 11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) { detail = string.Format("Delete : {0}", user.user_id); this.ParentForm.SetTrackingHistoryData(DataStore.E_TrackingOperation.UserEditor, detail); @@ -1057,9 +1057,9 @@ namespace INT63DC_6CH.Forms this.UpdateInitializeUserDisplay(this.ParentForm.SystemConfig); this.UpdateUserListBoxDisplay(this.ParentForm.ListDllUserName); - if (this.ParentForm.SystemConfig.IsOptDataStatistics == false) + if (this.ParentForm.SystemConfig.IsDataStatistics == false) this.labelStaticStatistics.Visible = false; - if (this.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.SystemConfig.IsPart11 == false) this.labelStaticViewer.Visible = false; this.labelCaution.Visible = true; @@ -1253,7 +1253,7 @@ namespace INT63DC_6CH.Forms after = this.labelNumberOfLoginFailures.Text; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.NumberOfLoginFailure, "", before, after); } } @@ -1289,7 +1289,7 @@ namespace INT63DC_6CH.Forms UserManager.UserManager_AutoLogoutSetTimeout(this.ParentForm.SystemConfig.AutoLogoutTime, this.ParentForm.FlagAutomaticLogoutWarningTime); // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.AutoLogout, "", before, after); } } diff --git a/INT63DC_6CH/Forms/FormUserGroupEditor.cs b/INT63DC_6CH/Forms/FormUserGroupEditor.cs index 2d73a13..3bfc474 100644 --- a/INT63DC_6CH/Forms/FormUserGroupEditor.cs +++ b/INT63DC_6CH/Forms/FormUserGroupEditor.cs @@ -467,7 +467,7 @@ namespace INT63DC_6CH.Forms // 현재 데이터 통계 메뉴가 없어서 Visible = false 처리함 // 추후에 데이터 통계 메뉴 추가 되면 삭제 - if (this.ParentForm.SystemConfig.IsOptDataStatistics == false) + if (this.ParentForm.SystemConfig.IsDataStatistics == false) { this.labelStaticStatistics.Visible = false; this.checkBoxL1MenuDataStatistics.Visible = false; @@ -475,7 +475,7 @@ namespace INT63DC_6CH.Forms this.checkBoxL3MenuDataStatistics.Visible = false; //this.checkBoxNotLoginMenuDataStatistics.Visible = false; } - if (this.ParentForm.SystemConfig.IsOptPart11 == false) + if (this.ParentForm.SystemConfig.IsPart11 == false) { this.labelStaticViewer.Visible = false; this.checkBoxL1MenuViewer.Visible = false; @@ -713,7 +713,7 @@ namespace INT63DC_6CH.Forms after = this.labelLevel1.Text; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.Level1Name, "", before, after); } } @@ -737,7 +737,7 @@ namespace INT63DC_6CH.Forms after = this.labelLevel2.Text; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.Level2Name, "", before, after); } } @@ -761,7 +761,7 @@ namespace INT63DC_6CH.Forms after = this.labelLevel3.Text; // Part11 - if (this.ParentForm.SystemConfig.IsOptPart11 == true) + if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.Level3Name, "", before, after); } } diff --git a/INT63DC_6CH/INT63DC_6CH.csproj b/INT63DC_6CH/INT63DC_6CH.csproj index 78dfdfa..6aec3bb 100644 --- a/INT63DC_6CH/INT63DC_6CH.csproj +++ b/INT63DC_6CH/INT63DC_6CH.csproj @@ -46,6 +46,7 @@ +