Part11 추가 작업 중

master
CJY 2025-09-30 20:19:44 +09:00
parent 963a0b6c57
commit 4f7e971941
88 changed files with 31079 additions and 10816 deletions

Binary file not shown.

View File

@ -0,0 +1,276 @@
namespace INT63DC_2C.Controls
{
partial class ControlUserSetting
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.labelStatusExpirePassword = new SmartX.SmartLabel();
this.labelStatusExpireAccount = new SmartX.SmartLabel();
this.labelExpirePasswordDate = new SmartX.SmartLabel();
this.labelExpireAccountDate = new SmartX.SmartLabel();
this.smartLabel2 = new SmartX.SmartLabel();
this.labelTitleExpireAccount = new SmartX.SmartLabel();
this.labelPassword = new SmartX.SmartLabel();
this.labelTitlePassword = new SmartX.SmartLabel();
this.labelID = new SmartX.SmartLabel();
this.labelTitleID = new SmartX.SmartLabel();
this.SuspendLayout();
//
// labelStatusExpirePassword
//
this.labelStatusExpirePassword.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelStatusExpirePassword.BackPictureBox = null;
this.labelStatusExpirePassword.BackPictureBox1 = null;
this.labelStatusExpirePassword.BackPictureBox2 = null;
this.labelStatusExpirePassword.BorderColor = System.Drawing.Color.Black;
this.labelStatusExpirePassword.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStatusExpirePassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStatusExpirePassword.ForeColor = System.Drawing.Color.DarkRed;
this.labelStatusExpirePassword.InitVisible = true;
this.labelStatusExpirePassword.LineSpacing = 0F;
this.labelStatusExpirePassword.Location = new System.Drawing.Point(691, 332);
this.labelStatusExpirePassword.Name = "labelStatusExpirePassword";
this.labelStatusExpirePassword.Size = new System.Drawing.Size(100, 30);
this.labelStatusExpirePassword.TabIndex = 230;
this.labelStatusExpirePassword.Text = "비밀번호만료";
this.labelStatusExpirePassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelStatusExpirePassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelStatusExpirePassword.Wordwrap = false;
//
// labelStatusExpireAccount
//
this.labelStatusExpireAccount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelStatusExpireAccount.BackPictureBox = null;
this.labelStatusExpireAccount.BackPictureBox1 = null;
this.labelStatusExpireAccount.BackPictureBox2 = null;
this.labelStatusExpireAccount.BorderColor = System.Drawing.Color.Black;
this.labelStatusExpireAccount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStatusExpireAccount.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStatusExpireAccount.ForeColor = System.Drawing.Color.DarkRed;
this.labelStatusExpireAccount.InitVisible = true;
this.labelStatusExpireAccount.LineSpacing = 0F;
this.labelStatusExpireAccount.Location = new System.Drawing.Point(691, 296);
this.labelStatusExpireAccount.Name = "labelStatusExpireAccount";
this.labelStatusExpireAccount.Size = new System.Drawing.Size(100, 30);
this.labelStatusExpireAccount.TabIndex = 229;
this.labelStatusExpireAccount.Text = "계정만료";
this.labelStatusExpireAccount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelStatusExpireAccount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelStatusExpireAccount.Wordwrap = false;
//
// labelExpirePasswordDate
//
this.labelExpirePasswordDate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelExpirePasswordDate.BackPictureBox = null;
this.labelExpirePasswordDate.BackPictureBox1 = null;
this.labelExpirePasswordDate.BackPictureBox2 = null;
this.labelExpirePasswordDate.BorderColor = System.Drawing.Color.Black;
this.labelExpirePasswordDate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelExpirePasswordDate.InitVisible = true;
this.labelExpirePasswordDate.LineSpacing = 0F;
this.labelExpirePasswordDate.Location = new System.Drawing.Point(394, 332);
this.labelExpirePasswordDate.Name = "labelExpirePasswordDate";
this.labelExpirePasswordDate.Size = new System.Drawing.Size(291, 30);
this.labelExpirePasswordDate.TabIndex = 232;
this.labelExpirePasswordDate.Text = "2021/12/30";
this.labelExpirePasswordDate.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelExpirePasswordDate.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelExpirePasswordDate.Wordwrap = false;
//
// labelExpireAccountDate
//
this.labelExpireAccountDate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelExpireAccountDate.BackPictureBox = null;
this.labelExpireAccountDate.BackPictureBox1 = null;
this.labelExpireAccountDate.BackPictureBox2 = null;
this.labelExpireAccountDate.BorderColor = System.Drawing.Color.Black;
this.labelExpireAccountDate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelExpireAccountDate.InitVisible = true;
this.labelExpireAccountDate.LineSpacing = 0F;
this.labelExpireAccountDate.Location = new System.Drawing.Point(394, 296);
this.labelExpireAccountDate.Name = "labelExpireAccountDate";
this.labelExpireAccountDate.Size = new System.Drawing.Size(291, 30);
this.labelExpireAccountDate.TabIndex = 231;
this.labelExpireAccountDate.Text = "2021/12/30";
this.labelExpireAccountDate.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelExpireAccountDate.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelExpireAccountDate.Wordwrap = false;
//
// smartLabel2
//
this.smartLabel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
this.smartLabel2.BackPictureBox = null;
this.smartLabel2.BackPictureBox1 = null;
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("Arial", 11F, System.Drawing.FontStyle.Bold);
this.smartLabel2.InitVisible = true;
this.smartLabel2.LineSpacing = 0F;
this.smartLabel2.Location = new System.Drawing.Point(234, 332);
this.smartLabel2.Name = "smartLabel2";
this.smartLabel2.Size = new System.Drawing.Size(154, 30);
this.smartLabel2.TabIndex = 227;
this.smartLabel2.Text = "ExpirePassword";
this.smartLabel2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel2.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel2.Wordwrap = false;
//
// labelTitleExpireAccount
//
this.labelTitleExpireAccount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
this.labelTitleExpireAccount.BackPictureBox = null;
this.labelTitleExpireAccount.BackPictureBox1 = null;
this.labelTitleExpireAccount.BackPictureBox2 = null;
this.labelTitleExpireAccount.BorderColor = System.Drawing.Color.Black;
this.labelTitleExpireAccount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleExpireAccount.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleExpireAccount.InitVisible = true;
this.labelTitleExpireAccount.LineSpacing = 0F;
this.labelTitleExpireAccount.Location = new System.Drawing.Point(234, 296);
this.labelTitleExpireAccount.Name = "labelTitleExpireAccount";
this.labelTitleExpireAccount.Size = new System.Drawing.Size(154, 30);
this.labelTitleExpireAccount.TabIndex = 225;
this.labelTitleExpireAccount.Text = "ExpireAccount";
this.labelTitleExpireAccount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitleExpireAccount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleExpireAccount.Wordwrap = false;
//
// labelPassword
//
this.labelPassword.BackColor = System.Drawing.Color.WhiteSmoke;
this.labelPassword.BackPictureBox = null;
this.labelPassword.BackPictureBox1 = null;
this.labelPassword.BackPictureBox2 = null;
this.labelPassword.BorderColor = System.Drawing.Color.Black;
this.labelPassword.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelPassword.InitVisible = true;
this.labelPassword.LineSpacing = 0F;
this.labelPassword.Location = new System.Drawing.Point(394, 260);
this.labelPassword.Name = "labelPassword";
this.labelPassword.Size = new System.Drawing.Size(291, 30);
this.labelPassword.TabIndex = 224;
this.labelPassword.Text = "Password";
this.labelPassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelPassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelPassword.Wordwrap = false;
this.labelPassword.Click += new System.EventHandler(this.labelPassword_Click);
//
// labelTitlePassword
//
this.labelTitlePassword.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
this.labelTitlePassword.BackPictureBox = null;
this.labelTitlePassword.BackPictureBox1 = null;
this.labelTitlePassword.BackPictureBox2 = null;
this.labelTitlePassword.BorderColor = System.Drawing.Color.Black;
this.labelTitlePassword.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitlePassword.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.labelTitlePassword.InitVisible = true;
this.labelTitlePassword.LineSpacing = 0F;
this.labelTitlePassword.Location = new System.Drawing.Point(234, 260);
this.labelTitlePassword.Name = "labelTitlePassword";
this.labelTitlePassword.Size = new System.Drawing.Size(154, 30);
this.labelTitlePassword.TabIndex = 223;
this.labelTitlePassword.Text = "Password";
this.labelTitlePassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitlePassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitlePassword.Wordwrap = false;
//
// labelID
//
this.labelID.BackColor = System.Drawing.Color.WhiteSmoke;
this.labelID.BackPictureBox = null;
this.labelID.BackPictureBox1 = null;
this.labelID.BackPictureBox2 = null;
this.labelID.BorderColor = System.Drawing.Color.Black;
this.labelID.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelID.InitVisible = true;
this.labelID.LineSpacing = 0F;
this.labelID.Location = new System.Drawing.Point(394, 224);
this.labelID.Name = "labelID";
this.labelID.Size = new System.Drawing.Size(291, 30);
this.labelID.TabIndex = 222;
this.labelID.Text = "ID";
this.labelID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelID.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelID.Wordwrap = false;
//
// labelTitleID
//
this.labelTitleID.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(159)))), ((int)(((byte)(198)))));
this.labelTitleID.BackPictureBox = null;
this.labelTitleID.BackPictureBox1 = null;
this.labelTitleID.BackPictureBox2 = null;
this.labelTitleID.BorderColor = System.Drawing.Color.Black;
this.labelTitleID.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleID.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleID.InitVisible = true;
this.labelTitleID.LineSpacing = 0F;
this.labelTitleID.Location = new System.Drawing.Point(234, 224);
this.labelTitleID.Name = "labelTitleID";
this.labelTitleID.Size = new System.Drawing.Size(154, 30);
this.labelTitleID.TabIndex = 221;
this.labelTitleID.Text = "ID";
this.labelTitleID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitleID.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleID.Wordwrap = false;
//
// ControlUserSetting
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.Controls.Add(this.labelStatusExpirePassword);
this.Controls.Add(this.labelStatusExpireAccount);
this.Controls.Add(this.labelExpirePasswordDate);
this.Controls.Add(this.labelExpireAccountDate);
this.Controls.Add(this.smartLabel2);
this.Controls.Add(this.labelTitleExpireAccount);
this.Controls.Add(this.labelPassword);
this.Controls.Add(this.labelTitlePassword);
this.Controls.Add(this.labelID);
this.Controls.Add(this.labelTitleID);
this.Name = "ControlUserSetting";
this.Size = new System.Drawing.Size(1024, 587);
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartLabel labelStatusExpirePassword;
private SmartX.SmartLabel labelStatusExpireAccount;
private SmartX.SmartLabel labelExpirePasswordDate;
private SmartX.SmartLabel labelExpireAccountDate;
private SmartX.SmartLabel smartLabel2;
private SmartX.SmartLabel labelTitleExpireAccount;
private SmartX.SmartLabel labelPassword;
private SmartX.SmartLabel labelTitlePassword;
private SmartX.SmartLabel labelID;
private SmartX.SmartLabel labelTitleID;
}
}

View File

@ -0,0 +1,197 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using INT63DC_ImageDll;
using INT63DC_2C.Forms;
using INT63DC_2C.DialogForms;
using INT63DC_2C.Part11_UserManager;
namespace INT63DC_2C.Controls
{
public partial class ControlUserSetting : UserControl
{
#region Field
private FormUserEditor m_ParentForm;
#endregion
#region Constructor
public ControlUserSetting(FormUserEditor parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
}
#endregion
#region Property
public FormUserEditor ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void InitializeDesign()
{
ImageDll images = new ImageDll();
if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
{
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.English)
{
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
}
else
{
}
}
private void DefaultSetting()
{
}
private bool UI_Invoke(ThreadStart invoker)
{
try
{
if (this.InvokeRequired)
{
if (this.IsDisposed)
return true;
this.Invoke(invoker);
}
else
{
invoker();
}
return true;
}
catch (Exception e)
{
return false;
}
}
private void UpdateSelectUserDisplay(UserItem item)
{
// 화면 Enable 처리 추가할것
this.labelID.Enabled = false;
this.labelID.BackColor = Color.LightGray;
this.labelID.Text = item.ID;
this.labelPassword.Text = item.Password;
this.labelExpireAccountDate.Text = string.Format("{0:yyyy/MM/dd} ~ {1:yyyy/MM/dd}", item.DateIdLogin, item.DateIdExpire);
this.labelExpirePasswordDate.Text = string.Format("{0:yyyy/MM/dd} ~ {1:yyyy/MM/dd}", item.DatePasswordRegister, item.DatePasswordExpire);
this.labelStatusExpireAccount.Visible = item.IsLockAccount;
this.labelStatusExpirePassword.Visible = item.IsLockPassword;
}
public void CallBackUserListModifyInfoDataEvent(UserManager.UserMgr_user_info_t user)
{
string code = "", message1 = "", message2 = "";
if (user.status == 0)
{
switch (this.ParentForm.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
code = "유저설정";
message1 = "비밀번호 변경 완료!";
message2 = "";
break;
case DataStore.LanguageID.English:
code = "user settings";
message1 = "Password change complete!";
message2 = "";
break;
case DataStore.LanguageID.Chinese:
code = "用户设置";
message1 = "密码修改完成!";
message2 = "";
break;
case DataStore.LanguageID.Czech:
code = "uživatelské nastavení";
message1 = "Změna hesla dokončena!";
message2 = "";
break;
case DataStore.LanguageID.German:
code = "Benutzereinstellungen";
message1 = "Passwortänderung abgeschlossen!";
message2 = "";
break;
default:
break;
}
this.UI_Invoke(delegate
{
this.labelPassword.Text = user.user_pw;
this.ParentForm.ParentForm.SystemConfig.CurrentUser.Password = user.user_pw;
DialogFormMessage dlg = new DialogFormMessage(DataStore.MessageBoxIcon.Asterisk, code, message1, message2, 0);
dlg.ShowDialog();
});
}
else
{
this.UI_Invoke(delegate
{
this.labelPassword.Text = this.ParentForm.ParentForm.SystemConfig.CurrentUser.Password;
DialogFormMessage msg = new DialogFormMessage(null, user.status, this.ParentForm.ParentForm.SystemConfig.Language);
msg.ShowDialog();
});
}
}
public void DisplayRefresh()
{
this.UpdateSelectUserDisplay(this.ParentForm.ParentForm.SystemConfig.CurrentUser);
}
#endregion
#region Event Handler
private void labelPassword_Click(object sender, EventArgs e)
{
string value = "";
DialogFormUserEditorKeyboard keyboard = new DialogFormUserEditorKeyboard(this.labelPassword.Text);
if (keyboard.ShowDialog() == DialogResult.OK)
{
value = keyboard.RetStringValue;
this.labelPassword.Text = "-";
UserManager.UserManager_UserModifyPW(this.ParentForm.ParentForm.SystemConfig.CurrentUser.ID, value);
}
}
#endregion
private void button1_Click(object sender, EventArgs e)
{
UserManager.UserManager_UserModifyPW("test01", "test01%");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -270,25 +270,55 @@ namespace INT63DC_2C.DialogForms
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string fileName = "";
//string fileName = "";
if (e.Node.Parent == null)
//if (e.Node.Parent == null)
//{
// fileName = e.Node.Text;
// this.ParentForm.SelectNodeIndex = e.Node.Index;
// //this.labelNodeIndex.Text = string.Format("{0}", this.ParentForm.SelectNodeIndex + 1);
//}
//else
//{
// fileName = e.Node.Parent.Text;
// this.ParentForm.SelectNodeIndex = e.Node.Parent.Index;
// //this.labelNodeIndex.Text = string.Format("{0}", this.ParentForm.SelectNodeIndex + 1);
//}
//this.labelFileName.Text = fileName;
//this.labelDate.Text = string.Format("{0}.{1}.{2}", fileName.Substring(0, 4), fileName.Substring(4, 2), fileName.Substring(6, 2));
//this.labelProductNo.Text = fileName.Substring(9, 1);
//this.labelId.Text = fileName.Substring(11, 1);
string fileName = "", pathFileName = "";
string[] name;
if (this.ParentForm.ParentForm.SystemConfig.IsOptPart11 == false)
{
fileName = e.Node.Text;
this.ParentForm.SelectNodeIndex = e.Node.Index;
//this.labelNodeIndex.Text = string.Format("{0}", this.ParentForm.SelectNodeIndex + 1);
//fileName = e.Node.Text;
fileName = e.Node.Text.Substring(0, e.Node.Text.Length - 4);
this.ParentForm.SelectFilePath = string.Format("{0}{1}.csv", this.ParentForm.ParentForm.PathDataBackupFolder, fileName);
name = fileName.Split('-');
this.labelFileName.Text = fileName;
this.labelDate.Text = string.Format("{0}.{1}.{2}", name[0].Substring(0, 4), name[0].Substring(4, 2), name[0].Substring(6, 2));
this.labelProductNo.Text = name[1];
}
else
{
fileName = e.Node.Parent.Text;
this.ParentForm.SelectNodeIndex = e.Node.Parent.Index;
//this.labelNodeIndex.Text = string.Format("{0}", this.ParentForm.SelectNodeIndex + 1);
}
if (e.Node.Text.Length > 10)
{
fileName = e.Node.Text;
pathFileName = string.Format("{0}{1}\\{2}\\{3}.csv",
this.ParentForm.ParentForm.PathDataInspectionFolder, fileName.Substring(1, 4), int.Parse(fileName.Substring(5, 2)), fileName);
this.ParentForm.SelectFilePath = pathFileName;
this.labelFileName.Text = fileName;
this.labelDate.Text = string.Format("{0}.{1}.{2}", fileName.Substring(0, 4), fileName.Substring(4, 2), fileName.Substring(6, 2));
this.labelProductNo.Text = fileName.Substring(9, 1);
this.labelId.Text = fileName.Substring(11, 1);
name = fileName.Split('-');
this.labelFileName.Text = fileName;
this.labelDate.Text = string.Format("{0}.{1}.{2}", name[0].Substring(1, 4), name[0].Substring(5, 2), name[0].Substring(7, 2));
this.labelProductNo.Text = name[1];
}
}
}
#endregion
}

View File

@ -0,0 +1,269 @@
namespace INT63DC_2C.DialogForms
{
partial class DialogFormDataViewerFilter
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogFormDataViewerFilter));
this.smartForm1 = new SmartX.SmartForm();
this.buttonOk = new SmartX.SmartButton();
this.buttonCancel = new SmartX.SmartButton();
this.smartGroupBox1 = new SmartX.SmartGroupBox();
this.checkBoxTypeParameter = new SmartX.SmartCheckBox();
this.checkBoxTypeOperation = new SmartX.SmartCheckBox();
this.checkBoxTypeAlarm = new SmartX.SmartCheckBox();
this.timer1 = new System.Windows.Forms.Timer();
this.smartGroupBox2 = new SmartX.SmartGroupBox();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.smartGroupBox1.SuspendLayout();
this.SuspendLayout();
//
// smartForm1
//
this.smartForm1.CenterLocation = false;
this.smartForm1.Image = ((System.Drawing.Image)(resources.GetObject("smartForm1.Image")));
this.smartForm1.LCDDirection = SmartX.SmartForm.LCDDIRECTIONS.HORIZONTAL;
this.smartForm1.LCDSize = SmartX.SmartForm.LCDRESOLUTION.CUSTOMIZING;
this.smartForm1.Location = new System.Drawing.Point(0, 0);
this.smartForm1.MainForm = null;
this.smartForm1.Mode = SmartX.SmartForm.RUNMODE.RUNTIME;
this.smartForm1.MouseCursor = SmartX.SmartForm.OnOff.OFF;
this.smartForm1.Name = "smartForm1";
this.smartForm1.Size = new System.Drawing.Size(710, 470);
this.smartForm1.SpecialFunctionClickPointSize = 100;
this.smartForm1.SuspendLayoutInterval = 0;
//
// buttonOk
//
this.buttonOk.BackPictureBox = null;
this.buttonOk.BackPictureBox1 = null;
this.buttonOk.BackPictureBox2 = null;
this.buttonOk.ButtonColor = System.Drawing.Color.LightGray;
this.buttonOk.ButtonImageAutoSize = true;
this.buttonOk.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonOk.DisableImage = null;
this.buttonOk.DownImage = null;
this.buttonOk.GroupID = 0;
this.buttonOk.InitVisible = true;
this.buttonOk.Location = new System.Drawing.Point(479, 407);
this.buttonOk.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonOk.Name = "buttonOk";
this.buttonOk.NestedClickEventPrevent = false;
this.buttonOk.OutlinePixel = 1;
this.buttonOk.RepeatInterval = 200;
this.buttonOk.RepeatIntervalAccelerate = null;
this.buttonOk.SafeInterval = 200;
this.buttonOk.Size = new System.Drawing.Size(100, 30);
this.buttonOk.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonOk.TabIndex = 1;
this.buttonOk.Text = "OK";
this.buttonOk.TextColor = System.Drawing.Color.Black;
this.buttonOk.TextDownColor = System.Drawing.Color.White;
this.buttonOk.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonOk.TextLocation = new System.Drawing.Point(0, 0);
this.buttonOk.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonOk.UpImage = null;
this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click);
//
// buttonCancel
//
this.buttonCancel.BackPictureBox = null;
this.buttonCancel.BackPictureBox1 = null;
this.buttonCancel.BackPictureBox2 = null;
this.buttonCancel.ButtonColor = System.Drawing.Color.LightGray;
this.buttonCancel.ButtonImageAutoSize = true;
this.buttonCancel.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCancel.DisableImage = null;
this.buttonCancel.DownImage = null;
this.buttonCancel.GroupID = 0;
this.buttonCancel.InitVisible = true;
this.buttonCancel.Location = new System.Drawing.Point(585, 407);
this.buttonCancel.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.NestedClickEventPrevent = false;
this.buttonCancel.OutlinePixel = 1;
this.buttonCancel.RepeatInterval = 200;
this.buttonCancel.RepeatIntervalAccelerate = null;
this.buttonCancel.SafeInterval = 200;
this.buttonCancel.Size = new System.Drawing.Size(100, 30);
this.buttonCancel.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCancel.TabIndex = 2;
this.buttonCancel.Text = "Cancel";
this.buttonCancel.TextColor = System.Drawing.Color.Black;
this.buttonCancel.TextDownColor = System.Drawing.Color.White;
this.buttonCancel.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCancel.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCancel.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCancel.UpImage = null;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// smartGroupBox1
//
this.smartGroupBox1.BackPictureBox = this.smartForm1;
this.smartGroupBox1.BackPictureBox1 = null;
this.smartGroupBox1.Controls.Add(this.checkBoxTypeParameter);
this.smartGroupBox1.Controls.Add(this.checkBoxTypeOperation);
this.smartGroupBox1.Controls.Add(this.checkBoxTypeAlarm);
this.smartGroupBox1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular);
this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.White;
this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.White;
this.smartGroupBox1.FrameLineThickness = 1;
this.smartGroupBox1.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.Rectangle;
this.smartGroupBox1.Image = null;
this.smartGroupBox1.InitVisible = true;
this.smartGroupBox1.Location = new System.Drawing.Point(7, 27);
this.smartGroupBox1.Name = "smartGroupBox1";
this.smartGroupBox1.RoundRadius = 5;
this.smartGroupBox1.Size = new System.Drawing.Size(694, 93);
this.smartGroupBox1.TabIndex = 3;
this.smartGroupBox1.Text = "Type";
this.smartGroupBox1.TextColor = System.Drawing.Color.White;
//
// checkBoxTypeParameter
//
this.checkBoxTypeParameter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.checkBoxTypeParameter.BackPictureBox = null;
this.checkBoxTypeParameter.BackPictureBox1 = null;
this.checkBoxTypeParameter.BackPictureBox2 = null;
this.checkBoxTypeParameter.CheckBoxBackColor = System.Drawing.Color.White;
this.checkBoxTypeParameter.CheckBoxCheckColor = System.Drawing.Color.Green;
this.checkBoxTypeParameter.CheckBoxForeColor = System.Drawing.Color.Black;
this.checkBoxTypeParameter.CheckBoxSymbolSize = 14;
this.checkBoxTypeParameter.Checked = false;
this.checkBoxTypeParameter.CheckLineWidth = 3;
this.checkBoxTypeParameter.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular);
this.checkBoxTypeParameter.ForeColor = System.Drawing.Color.White;
this.checkBoxTypeParameter.ImageCheckBox = null;
this.checkBoxTypeParameter.ImageUnCheckBox = null;
this.checkBoxTypeParameter.InitVisible = true;
this.checkBoxTypeParameter.Location = new System.Drawing.Point(453, 27);
this.checkBoxTypeParameter.Name = "checkBoxTypeParameter";
this.checkBoxTypeParameter.Size = new System.Drawing.Size(200, 40);
this.checkBoxTypeParameter.TabIndex = 2;
this.checkBoxTypeParameter.Text = "Parameter";
this.checkBoxTypeParameter.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
//
// checkBoxTypeOperation
//
this.checkBoxTypeOperation.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.checkBoxTypeOperation.BackPictureBox = null;
this.checkBoxTypeOperation.BackPictureBox1 = null;
this.checkBoxTypeOperation.BackPictureBox2 = null;
this.checkBoxTypeOperation.CheckBoxBackColor = System.Drawing.Color.White;
this.checkBoxTypeOperation.CheckBoxCheckColor = System.Drawing.Color.Green;
this.checkBoxTypeOperation.CheckBoxForeColor = System.Drawing.Color.Black;
this.checkBoxTypeOperation.CheckBoxSymbolSize = 14;
this.checkBoxTypeOperation.Checked = false;
this.checkBoxTypeOperation.CheckLineWidth = 3;
this.checkBoxTypeOperation.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular);
this.checkBoxTypeOperation.ForeColor = System.Drawing.Color.White;
this.checkBoxTypeOperation.ImageCheckBox = null;
this.checkBoxTypeOperation.ImageUnCheckBox = null;
this.checkBoxTypeOperation.InitVisible = true;
this.checkBoxTypeOperation.Location = new System.Drawing.Point(247, 27);
this.checkBoxTypeOperation.Name = "checkBoxTypeOperation";
this.checkBoxTypeOperation.Size = new System.Drawing.Size(200, 40);
this.checkBoxTypeOperation.TabIndex = 1;
this.checkBoxTypeOperation.Text = "Operation";
this.checkBoxTypeOperation.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
//
// checkBoxTypeAlarm
//
this.checkBoxTypeAlarm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.checkBoxTypeAlarm.BackPictureBox = null;
this.checkBoxTypeAlarm.BackPictureBox1 = null;
this.checkBoxTypeAlarm.BackPictureBox2 = null;
this.checkBoxTypeAlarm.CheckBoxBackColor = System.Drawing.Color.White;
this.checkBoxTypeAlarm.CheckBoxCheckColor = System.Drawing.Color.Green;
this.checkBoxTypeAlarm.CheckBoxForeColor = System.Drawing.Color.Black;
this.checkBoxTypeAlarm.CheckBoxSymbolSize = 14;
this.checkBoxTypeAlarm.Checked = false;
this.checkBoxTypeAlarm.CheckLineWidth = 3;
this.checkBoxTypeAlarm.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular);
this.checkBoxTypeAlarm.ForeColor = System.Drawing.Color.White;
this.checkBoxTypeAlarm.ImageCheckBox = null;
this.checkBoxTypeAlarm.ImageUnCheckBox = null;
this.checkBoxTypeAlarm.InitVisible = true;
this.checkBoxTypeAlarm.Location = new System.Drawing.Point(41, 27);
this.checkBoxTypeAlarm.Name = "checkBoxTypeAlarm";
this.checkBoxTypeAlarm.Size = new System.Drawing.Size(200, 40);
this.checkBoxTypeAlarm.TabIndex = 0;
this.checkBoxTypeAlarm.Text = "Alarm";
this.checkBoxTypeAlarm.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
//
// smartGroupBox2
//
this.smartGroupBox2.BackPictureBox = this.smartForm1;
this.smartGroupBox2.BackPictureBox1 = null;
this.smartGroupBox2.FrameLineColor1 = System.Drawing.Color.Black;
this.smartGroupBox2.FrameLineColor2 = System.Drawing.Color.Black;
this.smartGroupBox2.FrameLineThickness = 1;
this.smartGroupBox2.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.RoundRectangle;
this.smartGroupBox2.Image = null;
this.smartGroupBox2.InitVisible = true;
this.smartGroupBox2.Location = new System.Drawing.Point(7, 126);
this.smartGroupBox2.Name = "smartGroupBox2";
this.smartGroupBox2.RoundRadius = 5;
this.smartGroupBox2.Size = new System.Drawing.Size(694, 78);
this.smartGroupBox2.TabIndex = 3;
this.smartGroupBox2.Text = "Time";
this.smartGroupBox2.TextColor = System.Drawing.Color.Black;
this.smartGroupBox2.Visible = false;
//
// DialogFormDataViewerFilter
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(710, 470);
this.ControlBox = false;
this.Controls.Add(this.smartGroupBox2);
this.Controls.Add(this.smartGroupBox1);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOk);
this.Controls.Add(this.smartForm1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DialogFormDataViewerFilter";
this.Text = "DialogFormDataViewerFilter";
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).EndInit();
this.smartGroupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartForm smartForm1;
private SmartX.SmartButton buttonOk;
private SmartX.SmartButton buttonCancel;
private SmartX.SmartGroupBox smartGroupBox1;
private SmartX.SmartCheckBox checkBoxTypeAlarm;
private SmartX.SmartCheckBox checkBoxTypeParameter;
private SmartX.SmartCheckBox checkBoxTypeOperation;
private System.Windows.Forms.Timer timer1;
private SmartX.SmartGroupBox smartGroupBox2;
}
}

View File

@ -0,0 +1,107 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using INT63DC_2C.Forms;
namespace INT63DC_2C.DialogForms
{
public partial class DialogFormDataViewerFilter : Form
{
#region Field
private FormDataViewer m_ParentForm;
#endregion
#region Constructor
public DialogFormDataViewerFilter(FormDataViewer parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.InitializeControl();
this.DefaultSetting();
}
#endregion
#region Property
public FormDataViewer ParentForm
{
get { return this.m_ParentForm; }
set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void InitializeDesign()
{
if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
}
else
{
}
}
private void InitializeControl()
{
int x = 0, y = 0;
x = Screen.PrimaryScreen.Bounds.Width / 2 - this.Size.Width / 2;
y = Screen.PrimaryScreen.Bounds.Height / 2 - this.Size.Height / 2;
this.Location = new Point(x, y);
this.Size = new Size(710, 470);
}
private void DefaultSetting()
{
this.UpdateDisplay(this.ParentForm.ParentForm.CurrentDataViewerFilter);
}
private void UpdateDisplay(DataViewerFilter filter)
{
this.checkBoxTypeAlarm.Checked = filter.TypeAlarm;
this.checkBoxTypeOperation.Checked = filter.TypeOperation;
this.checkBoxTypeParameter.Checked = filter.TypeParameter;
}
public void DisplayRefresh()
{
this.UpdateDisplay(this.ParentForm.ParentForm.CurrentDataViewerFilter);
}
#endregion
#region Event Handler
private void buttonOk_Click(object sender, EventArgs e)
{
this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeAlarm = this.checkBoxTypeAlarm.Checked;
this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeOperation = this.checkBoxTypeOperation.Checked;
this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeParameter = this.checkBoxTypeParameter.Checked;
this.DialogResult = DialogResult.OK;
this.Close();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
#endregion
}
}

View File

@ -0,0 +1,292 @@
using System;
using System.Linq;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
using INT63DC_2C.Forms;
namespace INT63DC_2C.DialogForms
{
public partial class DialogFormHistoryData : Form
{
#region Field
private FormDataViewer m_ParentForm;
private string SeletedFilePath;
#endregion
#region Constructor
public DialogFormHistoryData(FormDataViewer parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.InitializeContnrol();
this.DefaultSetting();
}
#endregion
#region Property
public FormDataViewer ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void InitializeDesign()
{
if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
this.labelTitleDate.Text = "日期";
this.buttonRead.Text = "读取";
this.buttonClose.Text = "关闭";
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
this.labelTitleDate.Text = "Datum";
this.buttonRead.Text = "Přečíst vše";
this.buttonClose.Text = "Zavřít";
}
else if (this.ParentForm.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
this.labelTitleDate.Text = "Datum";
this.buttonRead.Text = "Alles lesen";
this.buttonClose.Text = "Schließen";
}
else
{
}
}
private void InitializeContnrol()
{
int x = 0, y = 0;
x = Screen.PrimaryScreen.Bounds.Width / 2 - this.Size.Width / 2;
y = Screen.PrimaryScreen.Bounds.Height / 2 - this.Size.Height / 2;
this.Location = new Point(x, y);
this.Size = new Size(350, 470);
}
private void DefaultSetting()
{
this.DisplayTreeViewUpdate();
this.checkBoxTypeAlarm.Checked = this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeAlarm;
this.checkBoxTypeOperation.Checked = this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeOperation;
this.checkBoxTypeParameter.Checked = this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeParameter;
this.labelNodeIndex.Text = "-";
this.labelFileName.Text = "-";
this.labelDate.Text = "-";
this.SeletedFilePath = "";
}
private List<string> DirectorySort(DirectoryInfo[] directorys)
{
List<string> listDirectory = new List<string>();
Dictionary<string, int> dirNames = new Dictionary<string, int>();
foreach (DirectoryInfo dir in directorys)
dirNames.Add(dir.Name, int.Parse(dir.Name));
// 순서데로 오름차순 정렬
var vrList = dirNames.OrderBy(x => x.Value);
foreach (var v in vrList)
listDirectory.Add(v.Key);
return listDirectory;
}
private List<string> DayHistoryDirectorySort(FileInfo[] files)
{
List<string> listFile = new List<string>();
Dictionary<string, int> dirNames = new Dictionary<string, int>();
Dictionary<string, int> dirNamesSort = new Dictionary<string, int>();
foreach (FileInfo file in files)
{
if (file.Name.StartsWith("H") == true)
dirNames.Add(file.Name, int.Parse(file.Name.Substring(1, 8)));
}
var vrList = dirNames.Keys.ToList();
vrList.Sort();
foreach (var v in vrList)
dirNamesSort.Add(v, dirNames[v]);
foreach (var v in dirNamesSort)
listFile.Add(v.Key);
return listFile;
}
private void DisplayTreeViewUpdate()
{
int fileCount = 0;
string[] fileName;
//TreeNode node;
List<DataBackupYear> listHistoryFile = new List<DataBackupYear>();
List<string> years = new List<string>();
List<string> months = new List<string>();
List<string> days = new List<string>();
this.treeView.Nodes.Clear();
listHistoryFile.Clear();
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataHistoryFolder);
List<string> fileNames = new List<string>();
// 폴더 체크
if (dir.Exists == false)
dir.Create();
// year 폴더 가져오기
DirectoryInfo[] yearDirectorys = dir.GetDirectories();
// year 폴더 정렬
years = this.DirectorySort(yearDirectorys);
// Inspection File 리스트 생성
if (years.Count != 0)
{
// Year
foreach (string year in years)
{
DataBackupYear y = new DataBackupYear(year);
DirectoryInfo monthDir = new DirectoryInfo(string.Format("{0}{1}", this.ParentForm.ParentForm.PathDataHistoryFolder, year));
DirectoryInfo[] monthDirectorys = monthDir.GetDirectories();
months = this.DirectorySort(monthDirectorys);
if (months.Count != 0)
{
// Month
foreach (string month in months)
{
DirectoryInfo dayDir = new DirectoryInfo(string.Format("{0}{1}\\{2}", this.ParentForm.ParentForm.PathDataHistoryFolder, year, month));
FileInfo[] dayFiles = dayDir.GetFiles();
days = this.DayHistoryDirectorySort(dayFiles);
DataBackupMonth m = new DataBackupMonth(month);
m.Days = days;
y.Months.Add(m);
}
listHistoryFile.Add(y);
}
else
{
listHistoryFile.Add(y);
}
}
// node 생성
for (int i = 0; i < listHistoryFile.Count; i++)
{
TreeNode node = new TreeNode(listHistoryFile[i].Year);
for (int j = 0; j < listHistoryFile[i].Months.Count; j++)
{
TreeNode nodeMonth = new TreeNode(listHistoryFile[i].Months[j].Month);
for (int k = 0; k < listHistoryFile[i].Months[j].Days.Count; k++)
{
fileName = listHistoryFile[i].Months[j].Days[k].Split('.');
nodeMonth.Nodes.Add(fileName[0]);
fileCount++;
}
node.Nodes.Add(nodeMonth);
}
this.treeView.Nodes.Add(node);
}
//try
//{
// if (this.treeView.SelectedNode.IsSelected == true)
// this.treeView.SelectedNode.Parent.Expand();
//}
//catch
//{
//}
}
}
#endregion
#region Event Handler
private void buttonRead_Click(object sender, EventArgs e)
{
int ret = 0, iMonth = 0;
string path = "", year = "", month = "";
if (this.SeletedFilePath == "")
return;
this.treeView.Enabled = false;
this.buttonRead.Enabled = false;
this.buttonClose.Enabled = false;
this.checkBoxTypeAlarm.Enabled = false;
this.checkBoxTypeOperation.Enabled = false;
this.checkBoxTypeParameter.Enabled = false;
this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeAlarm = this.checkBoxTypeAlarm.Checked;
this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeOperation = this.checkBoxTypeOperation.Checked;
this.ParentForm.ParentForm.CurrentDataViewerFilter.TypeParameter = this.checkBoxTypeParameter.Checked;
year = this.SeletedFilePath.Substring(1, 4);
iMonth = int.Parse(this.SeletedFilePath.Substring(5, 2));
month = iMonth.ToString();
path = string.Format("{0}{1}\\{2}\\{3}.csv", this.ParentForm.ParentForm.PathDataHistoryFolder, year, month, this.SeletedFilePath);
ret = this.ParentForm.DataRead(path);
if (ret == 0)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
this.DialogResult = DialogResult.Cancel;
this.treeView.Enabled = true;
this.buttonRead.Enabled = true;
this.buttonClose.Enabled = true;
this.checkBoxTypeAlarm.Enabled = true;
this.checkBoxTypeOperation.Enabled = true;
this.checkBoxTypeParameter.Enabled = true;
}
private void buttonClose_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string fileName = "", date = "-";
if (e.Node.Text.Substring(0, 1) == "H")
{
fileName = e.Node.Text;
date = string.Format("{0}.{1}.{2}", fileName.Substring(1, 4), fileName.Substring(5, 2), fileName.Substring(7, 2));
}
this.labelFileName.Text = fileName;
this.SeletedFilePath = fileName;
this.labelDate.Text = date;
}
#endregion
}
}

View File

@ -0,0 +1,350 @@
namespace INT63DC_2C.DialogForms
{
partial class DialogFormHistoryData
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogFormHistoryData));
this.smartForm1 = new SmartX.SmartForm();
this.treeView = new System.Windows.Forms.TreeView();
this.buttonRead = new SmartX.SmartButton();
this.labelFileName = new SmartX.SmartLabel();
this.smartGroupBox1 = new SmartX.SmartGroupBox();
this.labelTitleDate = new SmartX.SmartLabel();
this.labelDate = new SmartX.SmartLabel();
this.labelNodeIndex = new SmartX.SmartLabel();
this.buttonClose = new SmartX.SmartButton();
this.checkBoxTypeParameter = new SmartX.SmartCheckBox();
this.checkBoxTypeOperation = new SmartX.SmartCheckBox();
this.checkBoxTypeAlarm = new SmartX.SmartCheckBox();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.smartGroupBox1.SuspendLayout();
this.SuspendLayout();
//
// smartForm1
//
this.smartForm1.CenterLocation = false;
this.smartForm1.Image = ((System.Drawing.Image)(resources.GetObject("smartForm1.Image")));
this.smartForm1.LCDDirection = SmartX.SmartForm.LCDDIRECTIONS.HORIZONTAL;
this.smartForm1.LCDSize = SmartX.SmartForm.LCDRESOLUTION.CUSTOMIZING;
this.smartForm1.Location = new System.Drawing.Point(0, 0);
this.smartForm1.MainForm = null;
this.smartForm1.Mode = SmartX.SmartForm.RUNMODE.RUNTIME;
this.smartForm1.MouseCursor = SmartX.SmartForm.OnOff.OFF;
this.smartForm1.Name = "smartForm1";
this.smartForm1.Size = new System.Drawing.Size(350, 470);
this.smartForm1.SpecialFunctionClickPointSize = 100;
this.smartForm1.SuspendLayoutInterval = 0;
//
// treeView
//
this.treeView.Location = new System.Drawing.Point(12, 12);
this.treeView.Name = "treeView";
this.treeView.Size = new System.Drawing.Size(219, 445);
this.treeView.TabIndex = 4;
this.treeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
//
// buttonRead
//
this.buttonRead.BackPictureBox = null;
this.buttonRead.BackPictureBox1 = null;
this.buttonRead.BackPictureBox2 = null;
this.buttonRead.ButtonColor = System.Drawing.Color.Gainsboro;
this.buttonRead.ButtonImageAutoSize = true;
this.buttonRead.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonRead.DisableImage = null;
this.buttonRead.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonRead.DownImage")));
this.buttonRead.GroupID = 0;
this.buttonRead.InitVisible = true;
this.buttonRead.Location = new System.Drawing.Point(237, 351);
this.buttonRead.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonRead.Name = "buttonRead";
this.buttonRead.NestedClickEventPrevent = false;
this.buttonRead.OutlinePixel = 1;
this.buttonRead.RepeatInterval = 200;
this.buttonRead.RepeatIntervalAccelerate = null;
this.buttonRead.SafeInterval = 200;
this.buttonRead.Size = new System.Drawing.Size(100, 50);
this.buttonRead.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonRead.TabIndex = 5;
this.buttonRead.Text = "Read";
this.buttonRead.TextColor = System.Drawing.Color.Black;
this.buttonRead.TextDownColor = System.Drawing.Color.White;
this.buttonRead.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonRead.TextLocation = new System.Drawing.Point(0, 0);
this.buttonRead.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonRead.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonRead.UpImage")));
this.buttonRead.Click += new System.EventHandler(this.buttonRead_Click);
//
// labelFileName
//
this.labelFileName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.labelFileName.BackPictureBox = null;
this.labelFileName.BackPictureBox1 = null;
this.labelFileName.BackPictureBox2 = null;
this.labelFileName.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.labelFileName.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelFileName.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.labelFileName.ForeColor = System.Drawing.Color.White;
this.labelFileName.InitVisible = true;
this.labelFileName.LineSpacing = 0F;
this.labelFileName.Location = new System.Drawing.Point(237, 313);
this.labelFileName.Name = "labelFileName";
this.labelFileName.Size = new System.Drawing.Size(100, 32);
this.labelFileName.TabIndex = 7;
this.labelFileName.Text = "20200214_1";
this.labelFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelFileName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelFileName.Visible = false;
this.labelFileName.Wordwrap = false;
//
// smartGroupBox1
//
this.smartGroupBox1.BackPictureBox = this.smartForm1;
this.smartGroupBox1.BackPictureBox1 = null;
this.smartGroupBox1.Controls.Add(this.checkBoxTypeParameter);
this.smartGroupBox1.Controls.Add(this.checkBoxTypeOperation);
this.smartGroupBox1.Controls.Add(this.checkBoxTypeAlarm);
this.smartGroupBox1.Controls.Add(this.labelTitleDate);
this.smartGroupBox1.Controls.Add(this.labelDate);
this.smartGroupBox1.Controls.Add(this.labelNodeIndex);
this.smartGroupBox1.Controls.Add(this.buttonClose);
this.smartGroupBox1.Controls.Add(this.labelFileName);
this.smartGroupBox1.Controls.Add(this.buttonRead);
this.smartGroupBox1.Controls.Add(this.treeView);
this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.Black;
this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.Black;
this.smartGroupBox1.FrameLineThickness = 1;
this.smartGroupBox1.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.None;
this.smartGroupBox1.Image = null;
this.smartGroupBox1.InitVisible = true;
this.smartGroupBox1.Location = new System.Drawing.Point(0, 0);
this.smartGroupBox1.Name = "smartGroupBox1";
this.smartGroupBox1.RoundRadius = 5;
this.smartGroupBox1.Size = new System.Drawing.Size(350, 470);
this.smartGroupBox1.TabIndex = 11;
this.smartGroupBox1.Text = "smartGroupBox1";
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
// labelTitleDate
//
this.labelTitleDate.BackColor = System.Drawing.Color.DimGray;
this.labelTitleDate.BackPictureBox = null;
this.labelTitleDate.BackPictureBox1 = null;
this.labelTitleDate.BackPictureBox2 = null;
this.labelTitleDate.BorderColor = System.Drawing.Color.DimGray;
this.labelTitleDate.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDate.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.labelTitleDate.ForeColor = System.Drawing.Color.White;
this.labelTitleDate.InitVisible = true;
this.labelTitleDate.LineSpacing = 0F;
this.labelTitleDate.Location = new System.Drawing.Point(237, 28);
this.labelTitleDate.Name = "labelTitleDate";
this.labelTitleDate.Size = new System.Drawing.Size(100, 20);
this.labelTitleDate.TabIndex = 16;
this.labelTitleDate.Text = "Date";
this.labelTitleDate.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitleDate.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDate.Wordwrap = false;
//
// labelDate
//
this.labelDate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.labelDate.BackPictureBox = null;
this.labelDate.BackPictureBox1 = null;
this.labelDate.BackPictureBox2 = null;
this.labelDate.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.labelDate.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelDate.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.labelDate.ForeColor = System.Drawing.Color.White;
this.labelDate.InitVisible = true;
this.labelDate.LineSpacing = 0F;
this.labelDate.Location = new System.Drawing.Point(237, 50);
this.labelDate.Name = "labelDate";
this.labelDate.Size = new System.Drawing.Size(100, 20);
this.labelDate.TabIndex = 15;
this.labelDate.Text = "2020.02.24";
this.labelDate.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelDate.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelDate.Wordwrap = false;
//
// labelNodeIndex
//
this.labelNodeIndex.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.labelNodeIndex.BackPictureBox = null;
this.labelNodeIndex.BackPictureBox1 = null;
this.labelNodeIndex.BackPictureBox2 = null;
this.labelNodeIndex.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.labelNodeIndex.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelNodeIndex.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.labelNodeIndex.ForeColor = System.Drawing.Color.White;
this.labelNodeIndex.InitVisible = true;
this.labelNodeIndex.LineSpacing = 0F;
this.labelNodeIndex.Location = new System.Drawing.Point(237, 275);
this.labelNodeIndex.Name = "labelNodeIndex";
this.labelNodeIndex.Size = new System.Drawing.Size(100, 32);
this.labelNodeIndex.TabIndex = 14;
this.labelNodeIndex.Text = "20200214_1";
this.labelNodeIndex.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelNodeIndex.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelNodeIndex.Visible = false;
this.labelNodeIndex.Wordwrap = false;
//
// buttonClose
//
this.buttonClose.BackPictureBox = null;
this.buttonClose.BackPictureBox1 = null;
this.buttonClose.BackPictureBox2 = null;
this.buttonClose.ButtonColor = System.Drawing.Color.Gainsboro;
this.buttonClose.ButtonImageAutoSize = true;
this.buttonClose.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonClose.DisableImage = null;
this.buttonClose.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonClose.DownImage")));
this.buttonClose.GroupID = 0;
this.buttonClose.InitVisible = true;
this.buttonClose.Location = new System.Drawing.Point(237, 407);
this.buttonClose.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonClose.Name = "buttonClose";
this.buttonClose.NestedClickEventPrevent = false;
this.buttonClose.OutlinePixel = 1;
this.buttonClose.RepeatInterval = 200;
this.buttonClose.RepeatIntervalAccelerate = null;
this.buttonClose.SafeInterval = 200;
this.buttonClose.Size = new System.Drawing.Size(100, 50);
this.buttonClose.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonClose.TabIndex = 11;
this.buttonClose.Text = "Close";
this.buttonClose.TextColor = System.Drawing.Color.Black;
this.buttonClose.TextDownColor = System.Drawing.Color.White;
this.buttonClose.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonClose.TextLocation = new System.Drawing.Point(0, 0);
this.buttonClose.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonClose.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonClose.UpImage")));
this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click);
//
// checkBoxTypeParameter
//
this.checkBoxTypeParameter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.checkBoxTypeParameter.BackPictureBox = null;
this.checkBoxTypeParameter.BackPictureBox1 = null;
this.checkBoxTypeParameter.BackPictureBox2 = null;
this.checkBoxTypeParameter.CheckBoxBackColor = System.Drawing.Color.White;
this.checkBoxTypeParameter.CheckBoxCheckColor = System.Drawing.Color.Green;
this.checkBoxTypeParameter.CheckBoxForeColor = System.Drawing.Color.Black;
this.checkBoxTypeParameter.CheckBoxSymbolSize = 14;
this.checkBoxTypeParameter.Checked = false;
this.checkBoxTypeParameter.CheckLineWidth = 3;
this.checkBoxTypeParameter.ForeColor = System.Drawing.Color.White;
this.checkBoxTypeParameter.ImageCheckBox = null;
this.checkBoxTypeParameter.ImageUnCheckBox = null;
this.checkBoxTypeParameter.InitVisible = true;
this.checkBoxTypeParameter.Location = new System.Drawing.Point(237, 205);
this.checkBoxTypeParameter.Name = "checkBoxTypeParameter";
this.checkBoxTypeParameter.Size = new System.Drawing.Size(100, 25);
this.checkBoxTypeParameter.TabIndex = 19;
this.checkBoxTypeParameter.Text = "Parameter";
this.checkBoxTypeParameter.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
//
// checkBoxTypeOperation
//
this.checkBoxTypeOperation.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.checkBoxTypeOperation.BackPictureBox = null;
this.checkBoxTypeOperation.BackPictureBox1 = null;
this.checkBoxTypeOperation.BackPictureBox2 = null;
this.checkBoxTypeOperation.CheckBoxBackColor = System.Drawing.Color.White;
this.checkBoxTypeOperation.CheckBoxCheckColor = System.Drawing.Color.Green;
this.checkBoxTypeOperation.CheckBoxForeColor = System.Drawing.Color.Black;
this.checkBoxTypeOperation.CheckBoxSymbolSize = 14;
this.checkBoxTypeOperation.Checked = false;
this.checkBoxTypeOperation.CheckLineWidth = 3;
this.checkBoxTypeOperation.ForeColor = System.Drawing.Color.White;
this.checkBoxTypeOperation.ImageCheckBox = null;
this.checkBoxTypeOperation.ImageUnCheckBox = null;
this.checkBoxTypeOperation.InitVisible = true;
this.checkBoxTypeOperation.Location = new System.Drawing.Point(237, 174);
this.checkBoxTypeOperation.Name = "checkBoxTypeOperation";
this.checkBoxTypeOperation.Size = new System.Drawing.Size(100, 25);
this.checkBoxTypeOperation.TabIndex = 18;
this.checkBoxTypeOperation.Text = "Operation";
this.checkBoxTypeOperation.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
//
// checkBoxTypeAlarm
//
this.checkBoxTypeAlarm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.checkBoxTypeAlarm.BackPictureBox = null;
this.checkBoxTypeAlarm.BackPictureBox1 = null;
this.checkBoxTypeAlarm.BackPictureBox2 = null;
this.checkBoxTypeAlarm.CheckBoxBackColor = System.Drawing.Color.White;
this.checkBoxTypeAlarm.CheckBoxCheckColor = System.Drawing.Color.Green;
this.checkBoxTypeAlarm.CheckBoxForeColor = System.Drawing.Color.Black;
this.checkBoxTypeAlarm.CheckBoxSymbolSize = 14;
this.checkBoxTypeAlarm.Checked = false;
this.checkBoxTypeAlarm.CheckLineWidth = 3;
this.checkBoxTypeAlarm.ForeColor = System.Drawing.Color.White;
this.checkBoxTypeAlarm.ImageCheckBox = null;
this.checkBoxTypeAlarm.ImageUnCheckBox = null;
this.checkBoxTypeAlarm.InitVisible = true;
this.checkBoxTypeAlarm.Location = new System.Drawing.Point(237, 143);
this.checkBoxTypeAlarm.Name = "checkBoxTypeAlarm";
this.checkBoxTypeAlarm.Size = new System.Drawing.Size(100, 25);
this.checkBoxTypeAlarm.TabIndex = 17;
this.checkBoxTypeAlarm.Text = "Alarm";
this.checkBoxTypeAlarm.TextVAlign = SmartX.SmartCheckBox.TextVerAlign.Middle;
//
// DialogFormHistoryData
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(350, 470);
this.ControlBox = false;
this.Controls.Add(this.smartGroupBox1);
this.Controls.Add(this.smartForm1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DialogFormHistoryData";
this.Text = "DialogFormDataStatistics";
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).EndInit();
this.smartGroupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartForm smartForm1;
private System.Windows.Forms.TreeView treeView;
private SmartX.SmartButton buttonRead;
private SmartX.SmartLabel labelFileName;
private SmartX.SmartGroupBox smartGroupBox1;
private SmartX.SmartButton buttonClose;
private SmartX.SmartLabel labelNodeIndex;
private SmartX.SmartLabel labelTitleDate;
private SmartX.SmartLabel labelDate;
private SmartX.SmartCheckBox checkBoxTypeParameter;
private SmartX.SmartCheckBox checkBoxTypeOperation;
private SmartX.SmartCheckBox checkBoxTypeAlarm;
}
}

View File

@ -9,6 +9,7 @@ using System.Windows.Forms;
using INT63DC_ImageDll;
using INT63DC_2C.Forms;
using INT63DC_2C.Part11_UserManager;
namespace INT63DC_2C.DialogForms
{
@ -16,19 +17,23 @@ namespace INT63DC_2C.DialogForms
{
#region Field
private FormMain m_ParentForm;
private bool IsLoginMode;
private bool IsChangePassword;
#endregion
#region Constructor
public DialogFormLogOn(FormMain parent)
public DialogFormLogOn(FormMain parent, bool login, bool changePass)
{
InitializeComponent();
this.ParentForm = parent;
this.IsLoginMode = login;
this.IsChangePassword = changePass;
this.InitializeDesign();
this.InitializeControl();
this.DefaultSetting();
}
}
#endregion
#region Property
@ -40,98 +45,167 @@ namespace INT63DC_2C.DialogForms
#endregion
#region Method
private string ReturnUserStatus(int num)
{
string ret = "";
switch (num)
{
case 1:
ret = "ID_Not found";
break;
case 2:
ret = "ID_Duplication";
break;
case 3:
ret = "ID_Too short";
break;
case 4:
ret = "ID_Too long";
break;
case 5:
ret = "ID_Consecutive or duplicate char";
break;
case 6:
ret = "ID_Invalid char";
break;
case 7:
ret = "ID_Lock";
break;
case 8:
ret = "PW_Duplicate prev PW";
break;
case 9:
ret = "PW_Too short";
break;
case 10:
ret = "PW_Too long";
break;
case 11:
ret = "PW_Consecutive or duplicate char";
break;
case 12:
ret = "PW_Invalid char";
break;
case 13:
ret = "PW_Not include char";
break;
case 14:
ret = "PW_Incorrect";
break;
case 15:
ret = "PW_Lock";
break;
case 16:
ret = "PW_Over expire period";
break;
case 17:
ret = "ID_Over expire period";
break;
case 18:
ret = "Auto logout";
break;
default:
ret = "";
break;
}
return ret;
}
private void InitializeDesign()
{
ImageDll images = new ImageDll();
switch (this.ParentForm.SystemConfig.Language)
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.English)
{
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelUp));
}
else
{
case DataStore.LanguageID.Korean:
break;
case DataStore.LanguageID.English:
#region English
this.labelTitle1.Text = "User Login";
this.labelTitle2.Text = "ID";
this.labelTitle3.Text = "Password";
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelUp));
#endregion
break;
case DataStore.LanguageID.Chinese:
#region Chinese
this.labelTitle1.Visible = false;
this.labelTitle2.Visible = false;
this.labelTitle3.Visible = false;
this.pictureBoxImage.Visible = false;
this.smartForm1.Image = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackgroundUserLogin));
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelUp));
#endregion
break;
case DataStore.LanguageID.Czech:
#region Czech
this.labelTitle1.Text = "User Login";
this.labelTitle2.Text = "ID";
this.labelTitle3.Text = "Password";
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelUp));
#endregion
break;
case DataStore.LanguageID.German:
#region German
this.labelTitle1.Text = "Einloggen";
this.labelTitle2.Text = "ID";
this.labelTitle3.Text = "Passwort";
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelUp));
#endregion
break;
case DataStore.LanguageID.Japanese:
#region Japanese
this.labelTitle1.Text = "ログイン";
this.labelTitle2.Text = "ID";
this.labelTitle3.Text = "パスワㅡド";
this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMainLoginLoginDisable));
this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMainLoginLoginDown));
this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMainLoginLoginUp));
this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMainLoginCancelDisable));
this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMainLoginCancelDown));
this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMainLoginCancelUp));
#endregion
break;
default:
break;
}
}
private void InitializeControl()
{
int x = 0, y = 0;
x = Screen.PrimaryScreen.Bounds.Width / 2 - this.Size.Width / 2;
y = Screen.PrimaryScreen.Bounds.Height / 2 - this.Size.Height / 2;
this.Location = new Point(x, y);
this.Size = new Size(710, 470);
if (this.IsChangePassword == false)
{
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
{
this.labelTitle1.Text = "로그인";
this.labelTitle2.Text = "ID";
this.labelTitle3.Text = "비밀번호";
}
else
{
this.labelTitle1.Text = "User Login";
this.labelTitle2.Text = "ID";
this.labelTitle3.Text = "Password";
}
this.textBoxID.PasswordChar = default(char);
}
else
{
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
{
this.labelTitle1.Text = "비밀번호 변경";
this.labelTitle2.Text = "새 비밀번호";
this.labelTitle3.Text = "비밀번호 확인";
}
else
{
this.labelTitle1.Text = "Change Password";
this.labelTitle2.Text = "New";
this.labelTitle3.Text = "Confirmation";
}
this.textBoxID.PasswordChar = '*';
}
this.textBoxID.Text = "";
this.textBoxPassword.Text = "";
this.Location = new Point(157, 150);
//this.smartKeyboard.HanYoungKeyToggle();
this.smartKeyboard.HanYoungKeyDisable = true;
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
@ -141,37 +215,273 @@ namespace INT63DC_2C.DialogForms
{
}
#endregion
#region Event Handler
private void buttonLogOn_Click(object sender, EventArgs e)
private void LogOn()
{
User user = null;
UserManager.UserMgr_user_info_t userInfo = new UserManager.UserMgr_user_info_t();
user = this.ParentForm.CurrentCollectionUser.FindUser(this.textBoxID.Text);
if (user != null)
if (this.textBoxID.Text == "")
{
if (user.Password == this.textBoxPassword.Text)
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : ID blank");
// ID : 6~20자 입력 하세요
DialogFormMessage myMsg = new DialogFormMessage(null, 3, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
return;
}
if (this.textBoxPassword.Text == "")
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : PW blank");
// PASSWORD : 6~20자 입력 하세요
DialogFormMessage myMsg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
return;
}
if (this.textBoxID.Text == "admin00" && this.textBoxPassword.Text == "admin20090810")
{
DialogFormYesNo dlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 17);
if (dlg.ShowDialog() == DialogResult.Yes)
{
this.ParentForm.SystemConfig.CurrentUser.ID = user.ID;
this.ParentForm.SystemConfig.CurrentUser.Password = user.Password;
this.ParentForm.SystemConfig.CurrentUser.Group = user.Group;
this.ParentForm.ChildFormMainDisplay.ChangeID = this.textBoxID.Text;
this.DialogResult = DialogResult.Abort;
this.Close();
}
return;
}
UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.textBoxPassword.Text, ref userInfo);
if (userInfo.status == 0 && userInfo.fFirstPW == 0)
{
//MessageBox.Show("로그인 성공");
#region 로그인 성공
if (userInfo.active_level == 1)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level1;
else if (userInfo.active_level == 2)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level2;
else if (userInfo.active_level == 3)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level3;
else if (userInfo.active_level == 9)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Admin;
else if (userInfo.active_level == 10)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer;
this.ParentForm.SystemConfig.CurrentUser.ID = userInfo.user_id;
this.ParentForm.SystemConfig.CurrentUser.Password = userInfo.user_pw;
this.ParentForm.SystemConfig.CurrentUser.ExpireId = userInfo.id_expire_period;
this.ParentForm.SystemConfig.CurrentUser.ExpirePassword = userInfo.password_expire_period;
//Console.WriteLine(userInfo.password_register_date.GetDateTime());
//Console.WriteLine(userInfo.id_login_date.GetDateTime());
//Console.WriteLine(userInfo.id_expire_date.GetDateTime());
//Console.WriteLine(userInfo.password_expire_date.GetDateTime());
DateTime time = DateTime.ParseExact(userInfo.password_register_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DatePasswordRegister = time;
time = DateTime.ParseExact(userInfo.id_login_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DateIdLogin = time;
time = DateTime.ParseExact(userInfo.id_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DateIdExpire = time;
time = DateTime.ParseExact(userInfo.password_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DatePasswordExpire = time;
this.ParentForm.SystemConfig.CurrentUser.IsLockAccount = userInfo.id_flock_status == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.IsLockPassword = userInfo.password_flock_status == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.IsAdmin = userInfo.fadmin == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.ActiveLevel = userInfo.active_level;
this.ParentForm.SystemConfig.CurrentUser.IsFirstPassword = userInfo.fFirstPW;
#endregion
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Success");
this.DialogResult = DialogResult.OK;
this.Close();
}
else if (userInfo.fFirstPW == 1)
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "First login");
// 최초 로그인 시 비밀번호 변경
this.ParentForm.ChildFormMainDisplay.ChangeID = this.textBoxID.Text;
this.DialogResult = DialogResult.Abort;
this.Close();
}
else
{
DialogFormMessage myMsg = new DialogFormMessage(null, userInfo.status, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
// 비밀번호 만료 시
if (userInfo.status == 15)
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Password expiration");
this.ParentForm.ChildFormMainDisplay.ChangeID = this.textBoxID.Text;
this.DialogResult = DialogResult.Abort;
this.Close();
}
else
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : " + this.ReturnUserStatus(userInfo.status));
}
}
if (this.ParentForm.SystemConfig.IsOptPart11 == false)
UserManager.UserManager_AutoLogoutTimeoutPause();
}
private void ChangePassword()
{
int ret = 0;
string id = "", pass = "";
UserManager.UserMgr_user_info_t userInfo = new UserManager.UserMgr_user_info_t();
if (this.textBoxID.Text == "")
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : TextBox1 blank");
// New Password : 6~20자 입력 하세요
DialogFormMessage myMsg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
return;
}
if (this.textBoxPassword.Text == "")
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : TextBox2 blank");
// New Password Confirmation : 6~20자 입력 하세요
DialogFormMessage myMsg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
return;
}
if (this.textBoxID.Text.Equals(this.textBoxPassword.Text) == false)
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : Diffrent char");
// 비밀번호를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(null, 14, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
return;
}
if (this.IsLoginMode == true)
{
id = this.ParentForm.SystemConfig.CurrentUser.ID;
pass = this.textBoxID.Text;
//Console.WriteLine(string.Format("UserManager_UserModifyPW : {0}, {1}", id, pass));
ret = UserManager.UserManager_UserModifyPWDirect(id, pass);
}
else
{
id = this.ParentForm.ChildFormMainDisplay.ChangeID;
pass = this.textBoxID.Text;
//Console.WriteLine(string.Format("UserManager_UserModifyPW : {0}, {1}", id, pass));
ret = UserManager.UserManager_UserModifyPWDirect(id, pass);
}
// 비밀번호 변경이 완료 되면 로그인 시도
if (ret == 0)
{
UserManager.UserManager_UserLoginDirect(id, pass, ref userInfo);
if (userInfo.status == 0)
{
//MessageBox.Show("로그인 성공");
#region 로그인 성공
if (userInfo.active_level == 1)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level1;
else if (userInfo.active_level == 2)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level2;
else if (userInfo.active_level == 3)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level3;
else if (userInfo.active_level == 9)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Admin;
else if (userInfo.active_level == 10)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer;
this.ParentForm.SystemConfig.CurrentUser.ID = userInfo.user_id;
this.ParentForm.SystemConfig.CurrentUser.Password = userInfo.user_pw;
this.ParentForm.SystemConfig.CurrentUser.ExpireId = userInfo.id_expire_period;
this.ParentForm.SystemConfig.CurrentUser.ExpirePassword = userInfo.password_expire_period;
DateTime time = DateTime.ParseExact(userInfo.password_register_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DatePasswordRegister = time;
time = DateTime.ParseExact(userInfo.id_login_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DateIdLogin = time;
time = DateTime.ParseExact(userInfo.id_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DateIdExpire = time;
time = DateTime.ParseExact(userInfo.password_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DatePasswordExpire = time;
this.ParentForm.SystemConfig.CurrentUser.IsLockAccount = userInfo.id_flock_status == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.IsLockPassword = userInfo.password_flock_status == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.IsAdmin = userInfo.fadmin == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.ActiveLevel = userInfo.active_level;
this.ParentForm.SystemConfig.CurrentUser.IsFirstPassword = userInfo.fFirstPW;
#endregion
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Success");
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
DialogFormMessage myMsg = new DialogFormMessage(33, this.ParentForm.SystemConfig.Language);
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Fail : " + this.ReturnUserStatus(ret));
DialogFormMessage myMsg = new DialogFormMessage(null, ret, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
}
}
else
{
DialogFormMessage myMsg = new DialogFormMessage(32, this.ParentForm.SystemConfig.Language);
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, "Failure change password");
// 비밀번호 변경 실패 시 메시지??
//Console.WriteLine(ret.ToString());
DialogFormMessage myMsg = new DialogFormMessage(null, ret, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
}
if (this.ParentForm.SystemConfig.IsOptPart11 == false)
UserManager.UserManager_AutoLogoutTimeoutPause();
}
#endregion
#region Event Handler
private void buttonLogOn_Click(object sender, EventArgs e)
{
// Automatic Logout Reset
this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset();
if (this.IsChangePassword == false)
this.LogOn();
else
this.ChangePassword();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
@ -195,7 +505,7 @@ namespace INT63DC_2C.DialogForms
private void smartKeyboard_OnXKeyClick(object sender, EventArgs e)
{
this.smartKeyboard.Show();
}
}
#endregion
}
}

View File

@ -38,6 +38,7 @@
this.pictureBoxQuestion = new System.Windows.Forms.PictureBox();
this.labelErrorCode = new SmartX.SmartLabel();
this.buttonOK = new System.Windows.Forms.Button();
this.timerAutoClose = new System.Windows.Forms.Timer();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.SuspendLayout();
//
@ -161,6 +162,11 @@
this.buttonOK.Text = "OK";
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
//
// timerAutoClose
//
this.timerAutoClose.Interval = 1000;
this.timerAutoClose.Tick += new System.EventHandler(this.timerAutoClose_Tick);
//
// DialogFormMessage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -196,6 +202,7 @@
private System.Windows.Forms.PictureBox pictureBoxQuestion;
private SmartX.SmartLabel labelErrorCode;
private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.Timer timerAutoClose;
}
}

View File

@ -18,28 +18,31 @@ namespace INT63DC_2C.DialogForms
#endregion
#region Constructor
public DialogFormMessage(string str, DataStore.LanguageID language)
public DialogFormMessage(string str, DataStore.LanguageID language, string code)
{
InitializeComponent();
this.labelErrorCode.Text = "";
this.labelErrorCode.Text = code;
this.labelMessage1.Text = "";
this.labelMessage2.Text = "";
switch (language)
{
case DataStore.LanguageID.Korean:
this.labelErrorCode.Text = "Notice";
if(this.labelErrorCode.Text == "")
this.labelErrorCode.Text = "Notice";
this.labelMessage1.Text = str + "개의 파일이 백업되었습니다.";
break;
case DataStore.LanguageID.English:
this.labelErrorCode.Text = "Notice";
if (this.labelErrorCode.Text == "")
this.labelErrorCode.Text = "Notice";
this.labelMessage1.Text = str + " files are backed up";
break;
case DataStore.LanguageID.Chinese:
this.buttonOK.Text = "好";
this.labelErrorCode.Text = "通知";
if (this.labelErrorCode.Text == "")
this.labelErrorCode.Text = "通知";
this.labelMessage1.Text = str + " 个文件已备份";
break;
case DataStore.LanguageID.Czech:
@ -49,11 +52,13 @@ namespace INT63DC_2C.DialogForms
case DataStore.LanguageID.German:
this.buttonOK.Text = "Bestätigen";
this.labelErrorCode.Text = "Meldung";
if (this.labelErrorCode.Text == "")
this.labelErrorCode.Text = "Meldung";
this.labelMessage1.Text = str + " Dateien wurden gesichert";
break;
case DataStore.LanguageID.Japanese:
this.labelErrorCode.Text = "注意";
if (this.labelErrorCode.Text == "")
this.labelErrorCode.Text = "注意";
this.labelMessage1.Text = str + "ファイルがバックアップされた";
break;
default:
@ -1141,6 +1146,609 @@ namespace INT63DC_2C.DialogForms
break;
}
}
public DialogFormMessage(int code, DataStore.LanguageID language, string data)
{
InitializeComponent();
this.labelErrorCode.Text = "";
this.labelMessage1.Text = "";
this.labelMessage2.Text = "";
switch (language)
{
case DataStore.LanguageID.Korean:
#region 한글
switch (code)
{
case 1:
this.labelErrorCode.Text = "Error 01";
this.labelMessage1.Text = "입력범위를 확인하세요.";
this.labelMessage2.Text = data;
break;
default:
this.labelErrorCode.Text = "Error 99";
this.labelMessage1.Text = "제조사에 문의하세요";
break;
}
#endregion
break;
case DataStore.LanguageID.English:
#region 영문
switch (code)
{
case 1:
this.labelErrorCode.Text = "Error 01";
this.labelMessage1.Text = "Confirm input range";
this.labelMessage2.Text = data;
break;
default:
this.labelErrorCode.Text = "Error 99";
this.labelMessage1.Text = "Please contact a manufacturer";
break;
}
#endregion
break;
case DataStore.LanguageID.Chinese:
#region 중문
this.buttonOK.Text = "好";
switch (code)
{
case 1:
this.labelErrorCode.Text = "錯誤 01";
this.labelMessage1.Text = "确认输入范围";
this.labelMessage2.Text = data;
break;
default:
this.labelErrorCode.Text = "錯誤 99";
this.labelMessage1.Text = "请联系厂商";
break;
}
#endregion
break;
case DataStore.LanguageID.Czech:
#region 체코어
switch (code)
{
case 1:
this.labelErrorCode.Text = "Chybě 01";
this.labelMessage1.Text = "Potvrďte vstupní rozsah.";
this.labelMessage2.Text = data;
break;
default:
this.labelErrorCode.Text = "Chybě 99";
this.labelMessage1.Text = "Kontaktujte výrobce";
break;
}
#endregion
break;
case DataStore.LanguageID.German:
#region 독일어
switch (code)
{
case 1:
this.labelErrorCode.Text = "Fehler 01";
this.labelMessage1.Text = "Den eingegebenen Wert bestätigen";
this.labelMessage2.Text = data;
break;
default:
this.labelErrorCode.Text = "Fehler 99";
this.labelMessage1.Text = "Hersteller kontaktieren";
break;
}
#endregion
break;
default:
#region 한글
switch (code)
{
case 1:
this.labelErrorCode.Text = "Error 01";
this.labelMessage1.Text = "입력범위를 확인하세요.";
this.labelMessage2.Text = data;
break;
default:
this.labelErrorCode.Text = "Error 99";
this.labelMessage1.Text = "제조사에 문의하세요";
break;
}
#endregion
break;
}
}
public DialogFormMessage(object dll, int code, DataStore.LanguageID language)
{
InitializeComponent();
this.labelErrorCode.Text = "";
this.labelMessage1.Text = "";
this.labelMessage2.Text = "";
switch (language)
{
case DataStore.LanguageID.Korean:
#region 한글
switch (code)
{
case 1:
this.labelErrorCode.Text = "Error 04_01";
this.labelMessage1.Text = "ID를 찾을 수 없습니다";
break;
case 2:
this.labelErrorCode.Text = "Error 04_02";
this.labelMessage1.Text = "ID : 동일한 ID가 있습니다";
break;
case 3:
this.labelErrorCode.Text = "Error 04_03";
this.labelMessage1.Text = "ID : 6~20자 입력하세요";
break;
case 4:
this.labelErrorCode.Text = "Error 04_04";
this.labelMessage1.Text = "ID : 6~20자 입력하세요";
break;
case 5:
this.labelErrorCode.Text = "Error 04_05";
this.labelMessage1.Text = "ID : 연속된 문자(123,321,abc,cba...)또는";
this.labelMessage2.Text = "동일한 문자(111,222,aaa...) 사용 할 수 없습니다";
break;
case 6:
this.labelErrorCode.Text = "Error 04_06";
this.labelMessage1.Text = "ID : 사용할 수 없는 문자가 포함되어 있습니다";
break;
case 7:
this.labelErrorCode.Text = "Error 04_07";
this.labelMessage1.Text = "ID : 사용자 계정이 만료 되었습니다";
break;
case 8:
this.labelErrorCode.Text = "Error 04_08";
this.labelMessage1.Text = "PASSWORD : 이전 패스워드 입니다";
break;
case 9:
this.labelErrorCode.Text = "Error 04_09";
this.labelMessage1.Text = "PASSWORD : 6~20자 입력하세요";
break;
case 10:
this.labelErrorCode.Text = "Error 04_10";
this.labelMessage1.Text = "PASSWORD : 6~20자 입력하세요";
break;
case 11:
this.labelErrorCode.Text = "Error 04_11";
this.labelMessage1.Text = "PASSWORD : 연속된 문자(123,321,abc,cba...)또는";
this.labelMessage2.Text = "동일한 문자(111,222,aaa...) 사용 할 수 없습니다";
break;
case 12:
this.labelErrorCode.Text = "Error 04_12";
this.labelMessage1.Text = "PASSWORD : 사용할 수 없는 문자가 포함되어 있습니다";
this.labelMessage2.Text = "사용 가능 특수문자 : !@#$%^&*+-.";
break;
case 13:
this.labelErrorCode.Text = "Error 04_13";
this.labelMessage1.Text = "PASSWORD : 영문1이상, 숫자1이상, 특수문자1이상";
this.labelMessage2.Text = "포함하여 주십시오";
break;
case 14:
this.labelErrorCode.Text = "Error 04_14";
this.labelMessage1.Text = "비밀번호를 확인하세요";
break;
case 15:
this.labelErrorCode.Text = "Error 04_15";
this.labelMessage1.Text = "PASSWORD : 비밀번호가 만료 되었습니다";
break;
case 16:
this.labelErrorCode.Text = "Error 04_16";
this.labelMessage1.Text = "";
break;
case 17:
this.labelErrorCode.Text = "Error 04_17";
this.labelMessage1.Text = "";
break;
case 18:
this.labelErrorCode.Text = "Error 04_18";
this.labelMessage1.Text = "";
break;
default:
this.labelErrorCode.Text = "Error 04_99";
this.labelMessage1.Text = "제조사에 문의하세요";
break;
}
#endregion
break;
case DataStore.LanguageID.English:
#region 영문
switch (code)
{
case 1:
this.labelErrorCode.Text = "Error 04_01";
this.labelMessage1.Text = "ID not found";
break;
case 2:
this.labelErrorCode.Text = "Error 04_02";
this.labelMessage1.Text = "ID : ID already exists";
break;
case 3:
this.labelErrorCode.Text = "Error 04_03";
this.labelMessage1.Text = "ID : Please enter 6~20 characters";
break;
case 4:
this.labelErrorCode.Text = "Error 04_04";
this.labelMessage1.Text = "ID : Please enter 6~20 characters";
break;
case 5:
this.labelErrorCode.Text = "Error 04_05";
this.labelMessage1.Text = "ID : Consecutive(123,321,abc,cba...) or";
this.labelMessage2.Text = "identical(111,222,aaa...) characters cannot be used.";
break;
case 6:
this.labelErrorCode.Text = "Error 04_06";
this.labelMessage1.Text = "ID : Contains invalid characters";
break;
case 7:
this.labelErrorCode.Text = "Error 04_07";
this.labelMessage1.Text = "ID : User account has expired";
break;
case 8:
this.labelErrorCode.Text = "Error 04_08";
this.labelMessage1.Text = "PASSWORD : This is the old password";
break;
case 9:
this.labelErrorCode.Text = "Error 04_09";
this.labelMessage1.Text = "PASSWORD : Please enter 6~20 characters";
break;
case 10:
this.labelErrorCode.Text = "Error 04_10";
this.labelMessage1.Text = "PASSWORD : Please enter 6~20 characters";
break;
case 11:
this.labelErrorCode.Text = "Error 04_11";
this.labelMessage1.Text = "PASSWORD : Consecutive(123,321,abc,cba...) or";
this.labelMessage2.Text = "identical(111,222,aaa...) characters cannot be used.";
break;
case 12:
this.labelErrorCode.Text = "Error 04_12";
this.labelMessage1.Text = "PASSWORD : Contains invalid characters";
this.labelMessage2.Text = "Special characters allowed : !@#$%^&*+-.";
break;
case 13:
this.labelErrorCode.Text = "Error 04_13";
this.labelMessage1.Text = "PASSWORD : Please include at least one English letter,";
this.labelMessage2.Text = "at least one number, and at least one special character";
break;
case 14:
this.labelErrorCode.Text = "Error 04_14";
this.labelMessage1.Text = "Check your password";
break;
case 15:
this.labelErrorCode.Text = "Error 04_15";
this.labelMessage1.Text = "PASSWORD : Password has expired";
break;
case 16:
this.labelErrorCode.Text = "Error 04_16";
this.labelMessage1.Text = "";
break;
case 17:
this.labelErrorCode.Text = "Error 04_17";
this.labelMessage1.Text = "";
break;
case 18:
this.labelErrorCode.Text = "Error 04_18";
this.labelMessage1.Text = "";
break;
default:
this.labelErrorCode.Text = "Error 04_99";
this.labelMessage1.Text = "Please contact a manufacturer";
break;
}
#endregion
break;
case DataStore.LanguageID.Chinese:
#region 중문
this.buttonOK.Text = "确认";
switch (code)
{
case 1:
this.labelErrorCode.Text = "错误 04_01";
this.labelMessage1.Text = "未找到 ID";
break;
case 2:
this.labelErrorCode.Text = "错误 04_02";
this.labelMessage1.Text = "ID : ID已存在";
break;
case 3:
this.labelErrorCode.Text = "错误 04_03";
this.labelMessage1.Text = "ID : 请输入6~20个字符";
break;
case 4:
this.labelErrorCode.Text = "错误 04_04";
this.labelMessage1.Text = "ID : 请输入6~20个字符";
break;
case 5:
this.labelErrorCode.Text = "错误 04_05";
this.labelMessage1.Text = "ID : 不能使用连续的 (123,321,abc,cba...)";
this.labelMessage2.Text = "或相同的 (111,222,aaa...) 字符。";
break;
case 6:
this.labelErrorCode.Text = "错误 04_06";
this.labelMessage1.Text = "ID : 它包含无效字符";
break;
case 7:
this.labelErrorCode.Text = "错误 04_07";
this.labelMessage1.Text = "ID : 用户帐号已过期";
break;
case 8:
this.labelErrorCode.Text = "错误 04_08";
this.labelMessage1.Text = "密码 : 这是旧密码";
break;
case 9:
this.labelErrorCode.Text = "错误 04_09";
this.labelMessage1.Text = "密码 : 请输入6~20个字符";
break;
case 10:
this.labelErrorCode.Text = "错误 04_10";
this.labelMessage1.Text = "密码 : 请输入6~20个字符";
break;
case 11:
this.labelErrorCode.Text = "错误 04_11";
this.labelMessage1.Text = "密码 : 不能使用连续的 (123,321,abc,cba...)";
this.labelMessage2.Text = "或相同的 (111,222,aaa...) 字符。";
break;
case 12:
this.labelErrorCode.Text = "错误 04_12";
this.labelMessage1.Text = "密码 : 它包含无效字符";
this.labelMessage2.Text = "允许使用特殊字符 : !@#$%^&*+-.";
break;
case 13:
this.labelErrorCode.Text = "错误 04_13";
this.labelMessage1.Text = "密码 : 请至少包含一个英文字母,";
this.labelMessage2.Text = "至少一个数字,至少一个特殊字符";
break;
case 14:
this.labelErrorCode.Text = "错误 04_14";
this.labelMessage1.Text = "检查您的密码";
break;
case 15:
this.labelErrorCode.Text = "错误 04_15";
this.labelMessage1.Text = "密码 : 密码已过期";
break;
case 16:
this.labelErrorCode.Text = "错误 04_16";
this.labelMessage1.Text = "";
break;
case 17:
this.labelErrorCode.Text = "错误 04_17";
this.labelMessage1.Text = "";
break;
case 18:
this.labelErrorCode.Text = "错误 04_18";
this.labelMessage1.Text = "";
break;
default:
this.labelErrorCode.Text = "错误 04_99";
this.labelMessage1.Text = "请联系制造商";
break;
}
#endregion
break;
case DataStore.LanguageID.Czech:
#region 체코어
switch (code)
{
case 1:
this.labelErrorCode.Text = "Chybě 04_01";
this.labelMessage1.Text = "";
break;
case 2:
this.labelErrorCode.Text = "Chybě 04_02";
this.labelMessage1.Text = "";
break;
case 3:
this.labelErrorCode.Text = "Chybě 04_03";
this.labelMessage1.Text = "";
break;
case 4:
this.labelErrorCode.Text = "Chybě 04_04";
this.labelMessage1.Text = "";
break;
case 5:
this.labelErrorCode.Text = "Chybě 04_05";
this.labelMessage1.Text = "";
break;
case 6:
this.labelErrorCode.Text = "Chybě 04_06";
this.labelMessage1.Text = "";
break;
case 7:
this.labelErrorCode.Text = "Chybě 04_07";
this.labelMessage1.Text = "";
break;
case 8:
this.labelErrorCode.Text = "Chybě 04_08";
this.labelMessage1.Text = "";
break;
case 9:
this.labelErrorCode.Text = "Chybě 04_09";
this.labelMessage1.Text = "";
break;
case 10:
this.labelErrorCode.Text = "Chybě 04_10";
this.labelMessage1.Text = "";
break;
case 11:
this.labelErrorCode.Text = "Chybě 04_11";
this.labelMessage1.Text = "";
break;
case 12:
this.labelErrorCode.Text = "Chybě 04_12";
this.labelMessage1.Text = "";
break;
case 13:
this.labelErrorCode.Text = "Chybě 04_13";
this.labelMessage1.Text = "";
break;
case 14:
this.labelErrorCode.Text = "Chybě 04_14";
this.labelMessage1.Text = "";
break;
case 15:
this.labelErrorCode.Text = "Chybě 04_15";
this.labelMessage1.Text = "";
break;
case 16:
this.labelErrorCode.Text = "Chybě 04_16";
this.labelMessage1.Text = "";
break;
case 17:
this.labelErrorCode.Text = "Chybě 04_17";
this.labelMessage1.Text = "";
break;
case 18:
this.labelErrorCode.Text = "Chybě 04_18";
this.labelMessage1.Text = "";
break;
default:
this.labelErrorCode.Text = "Chybě 04_99";
this.labelMessage1.Text = "Kontaktujte výrobce";
this.labelMessage2.Text = "";
break;
}
#endregion
break;
case DataStore.LanguageID.German:
#region 독일어
this.buttonOK.Text = "Bestätigen";
switch (code)
{
case 1:
this.labelErrorCode.Text = "Fehler 04_01";
this.labelMessage1.Text = "ID nicht gefunden";
break;
case 2:
this.labelErrorCode.Text = "Fehler 04_02";
this.labelMessage1.Text = "ID : ID existiert bereits";
break;
case 3:
this.labelErrorCode.Text = "Fehler 04_03";
this.labelMessage1.Text = "ID : Bitte geben Sie 6~20 Zeichen ein";
break;
case 4:
this.labelErrorCode.Text = "Fehler 04_04";
this.labelMessage1.Text = "ID : Bitte geben Sie 6~20 Zeichen ein";
break;
case 5:
this.labelErrorCode.Text = "Fehler 04_05";
this.labelMessage1.Text = "ID : Aufeinanderfolgende (123,321,abc,cba...)";
this.labelMessage2.Text = "oder identische (111,222,aaa...) Zeichen können nicht verwendet werden.";
break;
case 6:
this.labelErrorCode.Text = "Fehler 04_06";
this.labelMessage1.Text = "ID : Es enthält ungültige Zeichen";
break;
case 7:
this.labelErrorCode.Text = "Fehler 04_07";
this.labelMessage1.Text = "ID : Benutzerkonto ist abgelaufen";
break;
case 8:
this.labelErrorCode.Text = "Fehler 04_08";
this.labelMessage1.Text = "Passwort : Dies ist das alte Passwort";
break;
case 9:
this.labelErrorCode.Text = "Fehler 04_09";
this.labelMessage1.Text = "Passwort : Bitte geben Sie 6~20 Zeichen ein";
break;
case 10:
this.labelErrorCode.Text = "Fehler 04_10";
this.labelMessage1.Text = "Passwort : Bitte geben Sie 6~20 Zeichen ein";
break;
case 11:
this.labelErrorCode.Text = "Fehler 04_11";
this.labelMessage1.Text = "Passwort : Aufeinanderfolgende (123,321,abc,cba...)";
this.labelMessage2.Text = "oder identische (111,222,aaa...) Zeichen können nicht verwendet werden.";
break;
case 12:
this.labelErrorCode.Text = "Fehler 04_12";
this.labelMessage1.Text = "Passwort : Es enthält ungültige Zeichen";
this.labelMessage2.Text = "Sonderzeichen erlaubt : !@#$%^&*+-.";
break;
case 13:
this.labelErrorCode.Text = "Fehler 04_13";
this.labelMessage1.Text = "Passwort : Bitte geben Sie mindestens einen";
this.labelMessage2.Text = "englischen Buchstaben, mindestens eine Ziffer und mindestens ein Sonderzeichen an";
break;
case 14:
this.labelErrorCode.Text = "Fehler 04_14";
this.labelMessage1.Text = "Überprüfen Sie Ihr Passwort";
break;
case 15:
this.labelErrorCode.Text = "Fehler 04_15";
this.labelMessage1.Text = "Passwort : Passwort ist abgelaufen";
break;
case 16:
this.labelErrorCode.Text = "Fehler 04_16";
this.labelMessage1.Text = "";
break;
case 17:
this.labelErrorCode.Text = "Fehler 04_17";
this.labelMessage1.Text = "";
break;
case 18:
this.labelErrorCode.Text = "Fehler 04_18";
this.labelMessage1.Text = "";
break;
default:
this.labelErrorCode.Text = "Fehler 04_99";
this.labelMessage1.Text = "Bitte wenden Sie sich an einen Hersteller";
break;
}
#endregion
break;
default:
break;
}
}
public DialogFormMessage(DataStore.MessageBoxIcon icon, string code, string message1, string message2, int autoClose_sec)
{
InitializeComponent();
this.timerAutoClose.Enabled = false;
this.pictureBoxAsterisk.Visible = false;
this.pictureBoxExclamation.Visible = false;
this.pictureBoxHand.Visible = false;
this.pictureBoxQuestion.Visible = false;
switch (icon)
{
case DataStore.MessageBoxIcon.Hand:
this.pictureBoxHand.Visible = true;
this.pictureBoxHand.BringToFront();
break;
case DataStore.MessageBoxIcon.Question:
this.pictureBoxQuestion.Visible = true;
this.pictureBoxQuestion.BringToFront();
break;
case DataStore.MessageBoxIcon.Exclamation:
this.pictureBoxExclamation.Visible = true;
this.pictureBoxExclamation.BringToFront();
break;
case DataStore.MessageBoxIcon.Asterisk:
this.pictureBoxAsterisk.Visible = true;
this.pictureBoxAsterisk.BringToFront();
break;
default:
break;
}
this.labelErrorCode.Text = code;
this.labelMessage1.Text = message1;
this.labelMessage2.Text = message2;
if (autoClose_sec != 0)
{
this.timerAutoClose.Interval = autoClose_sec * 1000;
this.timerAutoClose.Enabled = true;
}
}
#endregion
#region Property
@ -1186,6 +1794,12 @@ namespace INT63DC_2C.DialogForms
this.DialogResult = DialogResult.OK;
this.Close();
}
private void timerAutoClose_Tick(object sender, EventArgs e)
{
this.timerAutoClose.Enabled = false;
this.DialogResult = DialogResult.OK;
this.Close();
}
#endregion
}
}

View File

@ -497,6 +497,9 @@
gg==
</value>
</data>
<metadata name="timerAutoClose.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value>
</metadata>

View File

@ -188,22 +188,22 @@ namespace INT63DC_2C.DialogForms
if (this.InputKey == this.Level4Password)
{
this.DialogResult = DialogResult.OK;
this.Group = DataStore.UserGroup.Level4Developer;
this.Group = DataStore.UserGroup.Developer;
}
else if (this.InputKey == this.Level3Password)
{
this.DialogResult = DialogResult.OK;
this.Group = DataStore.UserGroup.Level3Manager;
this.Group = DataStore.UserGroup.Level3;
}
else if (this.InputKey == this.Level2Password)
{
this.DialogResult = DialogResult.OK;
this.Group = DataStore.UserGroup.Level2Engineer;
this.Group = DataStore.UserGroup.Level2;
}
else if (this.InputKey == this.Level1Password)
{
this.DialogResult = DialogResult.OK;
this.Group = DataStore.UserGroup.Level1Operator;
this.Group = DataStore.UserGroup.Level1;
}
}
}
@ -251,7 +251,7 @@ namespace INT63DC_2C.DialogForms
private void buttonCancel_Click(object sender, EventArgs e)
{
this.Group = DataStore.UserGroup.LogOff;
this.Group = DataStore.UserGroup.LogOut;
this.Close();
}
#endregion

View File

@ -13,7 +13,9 @@ namespace INT63DC_2C.DialogForms
{
#region Field
private string m_InputKey;
private string m_PassKey;
private string m_PassKey;
private string m_PasswordHiddenMenu;
private int m_Digit;
#endregion
#region Constructor
@ -23,6 +25,15 @@ namespace INT63DC_2C.DialogForms
this.InitializeDesign(language);
}
public DialogFormPasswordKeyPad1(int digit, DataStore.LanguageID language)
{
InitializeComponent();
this.Digit = digit;
this.PasswordHiddenMenu = DateTime.Now.ToString("MMdd") + "0810";
this.InitializeDesign(language);
}
#endregion
#region Property
@ -36,20 +47,46 @@ namespace INT63DC_2C.DialogForms
get { return this.m_PassKey; }
set { this.m_PassKey = value; }
}
private int Digit
{
get { return this.m_Digit; }
set { this.m_Digit = value; }
}
public string PasswordHiddenMenu
{
get { return this.m_PasswordHiddenMenu; }
set { this.m_PasswordHiddenMenu = value; }
}
#endregion
#region Method
private void InputNum(string key)
{
if (this.InputKey.Length >= 4)
if (this.Digit == 8)
{
this.InputKey = key;
this.labelScreen.Text = this.InputKey;
if (this.InputKey.Length >= 8)
{
this.InputKey = key;
this.labelScreen.Text = "*";
}
else
{
this.InputKey += key;
this.labelScreen.Text += "*";
}
}
else
{
this.InputKey += key;
this.labelScreen.Text = this.InputKey;
if (this.InputKey.Length >= 4)
{
this.InputKey = key;
this.labelScreen.Text = "*";
}
else
{
this.InputKey += key;
this.labelScreen.Text += "*";
}
}
}
@ -116,9 +153,12 @@ namespace INT63DC_2C.DialogForms
#region Event Handler
private void buttonEnter_Click(object sender, EventArgs e)
{
if (this.labelScreen.Text.Length == 4)
if (this.Digit == 8)
{
this.DialogResult = DialogResult.OK;
if (this.InputKey == this.PasswordHiddenMenu)
this.DialogResult = DialogResult.OK;
else
this.DialogResult = DialogResult.Cancel;
}
}

View File

@ -0,0 +1,96 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace INT63DC_2C.DialogForms
{
public partial class DialogFormUserEditorKeyboard : Form
{
#region Field
private string m_RetStringValue;
#endregion
#region Constructor
public DialogFormUserEditorKeyboard(string value)
{
InitializeComponent();
this.textBox.Text = value;
this.RetStringValue = value;
this.InitializeControl();
this.DefaultSetting();
}
#endregion
#region Property
public string RetStringValue
{
get { return this.m_RetStringValue; }
private set { this.m_RetStringValue = value; }
}
#endregion
#region Method
private void InitializeControl()
{
int x = 0, y = 0;
x = Screen.PrimaryScreen.Bounds.Width / 2 - this.Size.Width / 2;
y = Screen.PrimaryScreen.Bounds.Height / 2 - this.Size.Height / 2;
this.Location = new Point(x, y);
this.Size = new Size(710, 470);
}
private void DefaultSetting()
{
this.smartKeyboard.TargetInputObject = this.textBox;
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.Show();
}
private void KeyActionEnter()
{
this.RetStringValue = this.textBox.Text;
this.DialogResult = DialogResult.OK;
this.Close();
this.Dispose();
}
private void KeyActionEsc()
{
this.DialogResult = DialogResult.Cancel;
this.Close();
this.Dispose();
}
#endregion
#region Event Handler
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
//if (e.KeyChar == '\r')
// this.KeyActionEnter();
//else if (e.KeyChar == 27)
// this.KeyActionEsc();
}
private void smartKeyboard_OnXKeyClick(object sender, EventArgs e)
{
this.KeyActionEsc();
}
private void smartKeyboard_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
this.KeyActionEnter();
else if (e.KeyCode == Keys.Escape)
this.KeyActionEsc();
}
#endregion
}
}

View File

@ -0,0 +1,123 @@
namespace INT63DC_2C.DialogForms
{
partial class DialogFormUserEditorKeyboard
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogFormUserEditorKeyboard));
this.textBox = new System.Windows.Forms.TextBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.smartKeyboard = new SmartX.SmartKeyboard();
this.pictureBoxImage = new System.Windows.Forms.PictureBox();
this.SuspendLayout();
//
// textBox
//
this.textBox.Font = new System.Drawing.Font("Arial", 25F, System.Drawing.FontStyle.Regular);
this.textBox.Location = new System.Drawing.Point(143, 82);
this.textBox.MaxLength = 20;
this.textBox.Name = "textBox";
this.textBox.Size = new System.Drawing.Size(489, 45);
this.textBox.TabIndex = 0;
this.textBox.Text = "ABCDE";
this.textBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox_KeyPress);
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(0, 0);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(710, 470);
//
// smartKeyboard
//
this.smartKeyboard.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.smartKeyboard.ControlKeyDisable = false;
this.smartKeyboard.DesignMinimize = false;
this.smartKeyboard.FontColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.smartKeyboard.HanYoungKeyDisable = true;
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.KeyFillColor = System.Drawing.Color.Black;
this.smartKeyboard.KeyOutLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.smartKeyboard.KeyOutLineWidth = 1;
this.smartKeyboard.KeyPressImage1 = null;
this.smartKeyboard.KeyPressImage2 = null;
this.smartKeyboard.KeyPressImage3 = null;
this.smartKeyboard.KeyUpImage1 = null;
this.smartKeyboard.KeyUpImage2 = null;
this.smartKeyboard.KeyUpImage3 = null;
this.smartKeyboard.LeftMargin = 5;
this.smartKeyboard.Location = new System.Drawing.Point(11, 190);
this.smartKeyboard.Name = "smartKeyboard";
this.smartKeyboard.PressFontColor = System.Drawing.Color.Olive;
this.smartKeyboard.PressKeyFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.smartKeyboard.PressKeyOutLineColor = System.Drawing.Color.Green;
this.smartKeyboard.RoundedCorners = true;
this.smartKeyboard.SetBackimage = null;
this.smartKeyboard.Size = new System.Drawing.Size(690, 270);
this.smartKeyboard.TabIndex = 173;
this.smartKeyboard.TABKeyDisable = false;
this.smartKeyboard.TargetInputObject = null;
this.smartKeyboard.Text = "smartKeyboard1";
this.smartKeyboard.ThemeStyle = SmartX.SmartKeyboard.KEYBOARDTHEMESTYLE.CUSTOMIZED_LITE;
this.smartKeyboard.TopMargin = 5;
this.smartKeyboard.OnXKeyClick += new System.EventHandler(this.smartKeyboard_OnXKeyClick);
this.smartKeyboard.KeyDown += new System.Windows.Forms.KeyEventHandler(this.smartKeyboard_KeyDown);
//
// pictureBoxImage
//
this.pictureBoxImage.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxImage.Image")));
this.pictureBoxImage.Location = new System.Drawing.Point(40, 68);
this.pictureBoxImage.Name = "pictureBoxImage";
this.pictureBoxImage.Size = new System.Drawing.Size(66, 72);
//
// DialogFormUserEditorKeyboard
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.ClientSize = new System.Drawing.Size(710, 470);
this.ControlBox = false;
this.Controls.Add(this.pictureBoxImage);
this.Controls.Add(this.smartKeyboard);
this.Controls.Add(this.textBox);
this.Controls.Add(this.pictureBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DialogFormUserEditorKeyboard";
this.Text = "DialogFormUserEditorKeyboard";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TextBox textBox;
private System.Windows.Forms.PictureBox pictureBox1;
private SmartX.SmartKeyboard smartKeyboard;
private System.Windows.Forms.PictureBox pictureBoxImage;
}
}

View File

@ -20,7 +20,6 @@ namespace INT63DC_2C.DialogForms
{
InitializeComponent();
}
public DialogFormYesNo(DataStore.LanguageID language, int ok)
{
InitializeComponent();
@ -456,6 +455,116 @@ namespace INT63DC_2C.DialogForms
break;
}
}
public DialogFormYesNo(DataStore.LanguageID language, int ok, string msg)
{
InitializeComponent();
this.labelErrorCode.Text = "";
this.labelMessage1.Text = "";
this.labelMessage2.Text = "";
switch (language)
{
case DataStore.LanguageID.Korean:
switch (ok)
{
case 2:
this.labelErrorCode.Text = "로그인";
if (int.Parse(msg) == 0)
this.labelMessage1.Text = "비밀번호가 만료되었습니다.";
else
this.labelMessage1.Text = string.Format("비밀번호 만료 {0}일 전입니다.", msg);
this.labelMessage2.Text = "비밀번호를 변경하시겠습니까?";
break;
case 31:
this.labelErrorCode.Text = "파일";
this.labelMessage1.Text = string.Format("{0} 파일이 이미 있습니다. 바꾸시겠습니까?", msg);
break;
default:
break;
}
break;
case DataStore.LanguageID.English:
switch (ok)
{
case 2:
this.labelErrorCode.Text = "Login";
if (int.Parse(msg) == 0)
this.labelMessage1.Text = "Password has expired.";
else
this.labelMessage1.Text = string.Format("{0} days before password expiration.", msg);
this.labelMessage2.Text = "Do you want to change the password?";
break;
case 31:
this.labelErrorCode.Text = "File";
this.labelMessage1.Text = string.Format("{0} already exists. Do you change the file?", msg);
break;
default:
break;
}
break;
case DataStore.LanguageID.Chinese:
switch (ok)
{
case 2:
this.labelErrorCode.Text = "登录";
if (int.Parse(msg) == 0)
this.labelMessage1.Text = "密码已过期.";
else
this.labelMessage1.Text = string.Format("密码过期前{0}天", msg);
this.labelMessage2.Text = "您要更改密码吗?";
break;
case 31:
this.labelErrorCode.Text = "文件";
this.labelMessage1.Text = string.Format("{0} 已经存在。 你改文件了吗?", msg);
break;
default:
break;
}
break;
case DataStore.LanguageID.Czech:
break;
case DataStore.LanguageID.German:
break;
default:
break;
}
}
public DialogFormYesNo(DataStore.MessageBoxIcon icon, string code, string message1, string message2)
{
InitializeComponent();
this.pictureBoxAsterisk.Visible = false;
this.pictureBoxExclamation.Visible = false;
this.pictureBoxHand.Visible = false;
this.pictureBoxQuestion.Visible = false;
switch (icon)
{
case DataStore.MessageBoxIcon.Hand:
this.pictureBoxHand.Visible = true;
this.pictureBoxHand.BringToFront();
break;
case DataStore.MessageBoxIcon.Question:
this.pictureBoxQuestion.Visible = true;
this.pictureBoxQuestion.BringToFront();
break;
case DataStore.MessageBoxIcon.Exclamation:
this.pictureBoxExclamation.Visible = true;
this.pictureBoxExclamation.BringToFront();
break;
case DataStore.MessageBoxIcon.Asterisk:
this.pictureBoxAsterisk.Visible = true;
this.pictureBoxAsterisk.BringToFront();
break;
default:
break;
}
this.labelErrorCode.Text = code;
this.labelMessage1.Text = message1;
this.labelMessage2.Text = message2;
}
#endregion
#region Property

View File

@ -328,7 +328,7 @@ namespace INT63DC_2C.Forms
file.Delete();
}
this.labelFileCount.Text = this.listBoxDataList.Items.Count.ToString();
DialogFormMessage msg = new DialogFormMessage(count.ToString(), this.ParentForm.SystemConfig.Language);
DialogFormMessage msg = new DialogFormMessage(count.ToString(), this.ParentForm.SystemConfig.Language, "Data backup");
splash.Finish();
msg.ShowDialog();
}

View File

@ -0,0 +1,453 @@
namespace INT63DC_2C.Forms
{
partial class FormDataBackup_Part11
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormDataBackup_Part11));
this.smartForm1 = new SmartX.SmartForm();
this.labelTitle = new SmartX.SmartLabel();
this.buttonBack = new SmartX.SmartButton();
this.smartGroupBox1 = new SmartX.SmartGroupBox();
this.treeViewInspection = new System.Windows.Forms.TreeView();
this.buttonInspectionBackup = new SmartX.SmartButton();
this.labelInspectionFileCount = new SmartX.SmartLabel();
this.smartGroupBox2 = new SmartX.SmartGroupBox();
this.treeViewHistory = new System.Windows.Forms.TreeView();
this.buttonHistoryBackup = new SmartX.SmartButton();
this.labelHistoryFileCount = new SmartX.SmartLabel();
this.labelFileName = new SmartX.SmartLabel();
this.labelPercentage = new SmartX.SmartLabel();
this.timerEncryption = new System.Windows.Forms.Timer();
this.timerFileCopy = new System.Windows.Forms.Timer();
this.smartGroupBox3 = new SmartX.SmartGroupBox();
this.listBoxOther = new System.Windows.Forms.ListBox();
this.buttonOtherBackup = new SmartX.SmartButton();
this.labelOtherFileCount = new SmartX.SmartLabel();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.smartGroupBox1.SuspendLayout();
this.smartGroupBox2.SuspendLayout();
this.smartGroupBox3.SuspendLayout();
this.SuspendLayout();
//
// smartForm1
//
this.smartForm1.CenterLocation = false;
this.smartForm1.Image = ((System.Drawing.Image)(resources.GetObject("smartForm1.Image")));
this.smartForm1.LCDDirection = SmartX.SmartForm.LCDDIRECTIONS.HORIZONTAL;
this.smartForm1.LCDSize = SmartX.SmartForm.LCDRESOLUTION.LCD1024X768;
this.smartForm1.Location = new System.Drawing.Point(0, 0);
this.smartForm1.MainForm = null;
this.smartForm1.Mode = SmartX.SmartForm.RUNMODE.RUNTIME;
this.smartForm1.MouseCursor = SmartX.SmartForm.OnOff.OFF;
this.smartForm1.Name = "smartForm1";
this.smartForm1.Size = new System.Drawing.Size(1024, 768);
this.smartForm1.SpecialFunctionClickPointSize = 100;
this.smartForm1.SuspendLayoutInterval = 0;
//
// labelTitle
//
this.labelTitle.BackPictureBox = this.smartForm1;
this.labelTitle.BackPictureBox1 = null;
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("새굴림", 35F, System.Drawing.FontStyle.Bold);
this.labelTitle.InitVisible = true;
this.labelTitle.LineSpacing = 0F;
this.labelTitle.Location = new System.Drawing.Point(199, 7);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(626, 60);
this.labelTitle.TabIndex = 1;
this.labelTitle.Text = "데 이 터 백 업";
this.labelTitle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitle.Wordwrap = false;
//
// buttonBack
//
this.buttonBack.BackPictureBox = null;
this.buttonBack.BackPictureBox1 = null;
this.buttonBack.BackPictureBox2 = null;
this.buttonBack.ButtonColor = System.Drawing.Color.Gray;
this.buttonBack.ButtonImageAutoSize = true;
this.buttonBack.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonBack.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.DisableImage")));
this.buttonBack.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.DownImage")));
this.buttonBack.GroupID = 0;
this.buttonBack.InitVisible = true;
this.buttonBack.Location = new System.Drawing.Point(924, 666);
this.buttonBack.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonBack.Name = "buttonBack";
this.buttonBack.NestedClickEventPrevent = false;
this.buttonBack.OutlinePixel = 1;
this.buttonBack.RepeatInterval = 200;
this.buttonBack.RepeatIntervalAccelerate = null;
this.buttonBack.SafeInterval = 200;
this.buttonBack.Size = new System.Drawing.Size(84, 87);
this.buttonBack.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonBack.TabIndex = 2;
this.buttonBack.TextColor = System.Drawing.Color.Black;
this.buttonBack.TextDownColor = System.Drawing.Color.White;
this.buttonBack.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonBack.TextLocation = new System.Drawing.Point(0, 0);
this.buttonBack.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonBack.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.UpImage")));
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// smartGroupBox1
//
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
this.smartGroupBox1.Controls.Add(this.treeViewInspection);
this.smartGroupBox1.Controls.Add(this.buttonInspectionBackup);
this.smartGroupBox1.Controls.Add(this.labelInspectionFileCount);
this.smartGroupBox1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.Black;
this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.Black;
this.smartGroupBox1.FrameLineThickness = 1;
this.smartGroupBox1.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.RoundRectangle;
this.smartGroupBox1.Image = null;
this.smartGroupBox1.InitVisible = true;
this.smartGroupBox1.Location = new System.Drawing.Point(0, 73);
this.smartGroupBox1.Name = "smartGroupBox1";
this.smartGroupBox1.RoundRadius = 5;
this.smartGroupBox1.Size = new System.Drawing.Size(341, 587);
this.smartGroupBox1.TabIndex = 3;
this.smartGroupBox1.Text = "Inspection";
this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
//
// treeViewInspection
//
this.treeViewInspection.CheckBoxes = true;
this.treeViewInspection.Location = new System.Drawing.Point(19, 82);
this.treeViewInspection.Name = "treeViewInspection";
this.treeViewInspection.Size = new System.Drawing.Size(300, 485);
this.treeViewInspection.TabIndex = 2;
this.treeViewInspection.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewInspection_AfterSelect);
//
// buttonInspectionBackup
//
this.buttonInspectionBackup.BackPictureBox = null;
this.buttonInspectionBackup.BackPictureBox1 = null;
this.buttonInspectionBackup.BackPictureBox2 = null;
this.buttonInspectionBackup.ButtonColor = System.Drawing.Color.Gray;
this.buttonInspectionBackup.ButtonImageAutoSize = true;
this.buttonInspectionBackup.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonInspectionBackup.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonInspectionBackup.DisableImage")));
this.buttonInspectionBackup.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonInspectionBackup.DownImage")));
this.buttonInspectionBackup.GroupID = 0;
this.buttonInspectionBackup.InitVisible = true;
this.buttonInspectionBackup.Location = new System.Drawing.Point(219, 26);
this.buttonInspectionBackup.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonInspectionBackup.Name = "buttonInspectionBackup";
this.buttonInspectionBackup.NestedClickEventPrevent = false;
this.buttonInspectionBackup.OutlinePixel = 1;
this.buttonInspectionBackup.RepeatInterval = 200;
this.buttonInspectionBackup.RepeatIntervalAccelerate = null;
this.buttonInspectionBackup.SafeInterval = 200;
this.buttonInspectionBackup.Size = new System.Drawing.Size(100, 50);
this.buttonInspectionBackup.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonInspectionBackup.TabIndex = 1;
this.buttonInspectionBackup.TextColor = System.Drawing.Color.Black;
this.buttonInspectionBackup.TextDownColor = System.Drawing.Color.White;
this.buttonInspectionBackup.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonInspectionBackup.TextLocation = new System.Drawing.Point(0, 0);
this.buttonInspectionBackup.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonInspectionBackup.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonInspectionBackup.UpImage")));
this.buttonInspectionBackup.Click += new System.EventHandler(this.buttonInspectionBackupEncryption_Click);
//
// labelInspectionFileCount
//
this.labelInspectionFileCount.BackPictureBox = null;
this.labelInspectionFileCount.BackPictureBox1 = null;
this.labelInspectionFileCount.BackPictureBox2 = null;
this.labelInspectionFileCount.BorderColor = System.Drawing.Color.Black;
this.labelInspectionFileCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelInspectionFileCount.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.labelInspectionFileCount.InitVisible = true;
this.labelInspectionFileCount.LineSpacing = 0F;
this.labelInspectionFileCount.Location = new System.Drawing.Point(46, 26);
this.labelInspectionFileCount.Name = "labelInspectionFileCount";
this.labelInspectionFileCount.Size = new System.Drawing.Size(70, 50);
this.labelInspectionFileCount.TabIndex = 0;
this.labelInspectionFileCount.Text = "00";
this.labelInspectionFileCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelInspectionFileCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelInspectionFileCount.Wordwrap = false;
//
// smartGroupBox2
//
this.smartGroupBox2.BackPictureBox = null;
this.smartGroupBox2.BackPictureBox1 = null;
this.smartGroupBox2.Controls.Add(this.treeViewHistory);
this.smartGroupBox2.Controls.Add(this.buttonHistoryBackup);
this.smartGroupBox2.Controls.Add(this.labelHistoryFileCount);
this.smartGroupBox2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.smartGroupBox2.FrameLineColor1 = System.Drawing.Color.Black;
this.smartGroupBox2.FrameLineColor2 = System.Drawing.Color.Black;
this.smartGroupBox2.FrameLineThickness = 1;
this.smartGroupBox2.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.RoundRectangle;
this.smartGroupBox2.Image = null;
this.smartGroupBox2.InitVisible = true;
this.smartGroupBox2.Location = new System.Drawing.Point(341, 73);
this.smartGroupBox2.Name = "smartGroupBox2";
this.smartGroupBox2.RoundRadius = 5;
this.smartGroupBox2.Size = new System.Drawing.Size(342, 587);
this.smartGroupBox2.TabIndex = 4;
this.smartGroupBox2.Text = "History";
this.smartGroupBox2.TextColor = System.Drawing.Color.Black;
//
// treeViewHistory
//
this.treeViewHistory.CheckBoxes = true;
this.treeViewHistory.Location = new System.Drawing.Point(19, 82);
this.treeViewHistory.Name = "treeViewHistory";
this.treeViewHistory.Size = new System.Drawing.Size(300, 485);
this.treeViewHistory.TabIndex = 3;
this.treeViewHistory.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewHistory_AfterSelect);
//
// buttonHistoryBackup
//
this.buttonHistoryBackup.BackPictureBox = null;
this.buttonHistoryBackup.BackPictureBox1 = null;
this.buttonHistoryBackup.BackPictureBox2 = null;
this.buttonHistoryBackup.ButtonColor = System.Drawing.Color.Gray;
this.buttonHistoryBackup.ButtonImageAutoSize = true;
this.buttonHistoryBackup.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonHistoryBackup.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonHistoryBackup.DisableImage")));
this.buttonHistoryBackup.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonHistoryBackup.DownImage")));
this.buttonHistoryBackup.GroupID = 0;
this.buttonHistoryBackup.InitVisible = true;
this.buttonHistoryBackup.Location = new System.Drawing.Point(219, 26);
this.buttonHistoryBackup.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonHistoryBackup.Name = "buttonHistoryBackup";
this.buttonHistoryBackup.NestedClickEventPrevent = false;
this.buttonHistoryBackup.OutlinePixel = 1;
this.buttonHistoryBackup.RepeatInterval = 200;
this.buttonHistoryBackup.RepeatIntervalAccelerate = null;
this.buttonHistoryBackup.SafeInterval = 200;
this.buttonHistoryBackup.Size = new System.Drawing.Size(100, 50);
this.buttonHistoryBackup.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonHistoryBackup.TabIndex = 2;
this.buttonHistoryBackup.TextColor = System.Drawing.Color.Black;
this.buttonHistoryBackup.TextDownColor = System.Drawing.Color.White;
this.buttonHistoryBackup.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonHistoryBackup.TextLocation = new System.Drawing.Point(0, 0);
this.buttonHistoryBackup.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonHistoryBackup.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonHistoryBackup.UpImage")));
this.buttonHistoryBackup.Click += new System.EventHandler(this.buttonHistoryBackupEncryption_Click);
//
// labelHistoryFileCount
//
this.labelHistoryFileCount.BackPictureBox = null;
this.labelHistoryFileCount.BackPictureBox1 = null;
this.labelHistoryFileCount.BackPictureBox2 = null;
this.labelHistoryFileCount.BorderColor = System.Drawing.Color.Black;
this.labelHistoryFileCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelHistoryFileCount.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.labelHistoryFileCount.InitVisible = true;
this.labelHistoryFileCount.LineSpacing = 0F;
this.labelHistoryFileCount.Location = new System.Drawing.Point(46, 26);
this.labelHistoryFileCount.Name = "labelHistoryFileCount";
this.labelHistoryFileCount.Size = new System.Drawing.Size(70, 50);
this.labelHistoryFileCount.TabIndex = 1;
this.labelHistoryFileCount.Text = "00";
this.labelHistoryFileCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelHistoryFileCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelHistoryFileCount.Wordwrap = false;
//
// labelFileName
//
this.labelFileName.BackPictureBox = null;
this.labelFileName.BackPictureBox1 = null;
this.labelFileName.BackPictureBox2 = null;
this.labelFileName.BorderColor = System.Drawing.Color.Black;
this.labelFileName.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelFileName.InitVisible = true;
this.labelFileName.LineSpacing = 0F;
this.labelFileName.Location = new System.Drawing.Point(27, 675);
this.labelFileName.Name = "labelFileName";
this.labelFileName.Size = new System.Drawing.Size(200, 39);
this.labelFileName.TabIndex = 6;
this.labelFileName.Text = "-";
this.labelFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelFileName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelFileName.Wordwrap = false;
//
// labelPercentage
//
this.labelPercentage.BackPictureBox = null;
this.labelPercentage.BackPictureBox1 = null;
this.labelPercentage.BackPictureBox2 = null;
this.labelPercentage.BorderColor = System.Drawing.Color.Black;
this.labelPercentage.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelPercentage.InitVisible = true;
this.labelPercentage.LineSpacing = 0F;
this.labelPercentage.Location = new System.Drawing.Point(27, 720);
this.labelPercentage.Name = "labelPercentage";
this.labelPercentage.Size = new System.Drawing.Size(200, 39);
this.labelPercentage.TabIndex = 7;
this.labelPercentage.Text = "-";
this.labelPercentage.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelPercentage.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelPercentage.Wordwrap = false;
//
// timerEncryption
//
this.timerEncryption.Tick += new System.EventHandler(this.timerEncryption_Tick);
//
// timerFileCopy
//
this.timerFileCopy.Tick += new System.EventHandler(this.timerFileCopy_Tick);
//
// smartGroupBox3
//
this.smartGroupBox3.BackPictureBox = null;
this.smartGroupBox3.BackPictureBox1 = null;
this.smartGroupBox3.Controls.Add(this.listBoxOther);
this.smartGroupBox3.Controls.Add(this.buttonOtherBackup);
this.smartGroupBox3.Controls.Add(this.labelOtherFileCount);
this.smartGroupBox3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.smartGroupBox3.FrameLineColor1 = System.Drawing.Color.Black;
this.smartGroupBox3.FrameLineColor2 = System.Drawing.Color.Black;
this.smartGroupBox3.FrameLineThickness = 1;
this.smartGroupBox3.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.RoundRectangle;
this.smartGroupBox3.Image = null;
this.smartGroupBox3.InitVisible = true;
this.smartGroupBox3.Location = new System.Drawing.Point(683, 73);
this.smartGroupBox3.Name = "smartGroupBox3";
this.smartGroupBox3.RoundRadius = 5;
this.smartGroupBox3.Size = new System.Drawing.Size(341, 587);
this.smartGroupBox3.TabIndex = 5;
this.smartGroupBox3.Text = "Other";
this.smartGroupBox3.TextColor = System.Drawing.Color.Black;
//
// listBoxOther
//
this.listBoxOther.Location = new System.Drawing.Point(19, 82);
this.listBoxOther.Name = "listBoxOther";
this.listBoxOther.Size = new System.Drawing.Size(300, 482);
this.listBoxOther.TabIndex = 25;
//
// buttonOtherBackup
//
this.buttonOtherBackup.BackPictureBox = null;
this.buttonOtherBackup.BackPictureBox1 = null;
this.buttonOtherBackup.BackPictureBox2 = null;
this.buttonOtherBackup.ButtonColor = System.Drawing.Color.Gray;
this.buttonOtherBackup.ButtonImageAutoSize = true;
this.buttonOtherBackup.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonOtherBackup.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonOtherBackup.DisableImage")));
this.buttonOtherBackup.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonOtherBackup.DownImage")));
this.buttonOtherBackup.GroupID = 0;
this.buttonOtherBackup.InitVisible = true;
this.buttonOtherBackup.Location = new System.Drawing.Point(219, 26);
this.buttonOtherBackup.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonOtherBackup.Name = "buttonOtherBackup";
this.buttonOtherBackup.NestedClickEventPrevent = false;
this.buttonOtherBackup.OutlinePixel = 1;
this.buttonOtherBackup.RepeatInterval = 200;
this.buttonOtherBackup.RepeatIntervalAccelerate = null;
this.buttonOtherBackup.SafeInterval = 200;
this.buttonOtherBackup.Size = new System.Drawing.Size(100, 50);
this.buttonOtherBackup.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonOtherBackup.TabIndex = 2;
this.buttonOtherBackup.TextColor = System.Drawing.Color.Black;
this.buttonOtherBackup.TextDownColor = System.Drawing.Color.White;
this.buttonOtherBackup.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonOtherBackup.TextLocation = new System.Drawing.Point(0, 0);
this.buttonOtherBackup.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonOtherBackup.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonOtherBackup.UpImage")));
this.buttonOtherBackup.Click += new System.EventHandler(this.buttonOtherBackup_Click);
//
// labelOtherFileCount
//
this.labelOtherFileCount.BackPictureBox = null;
this.labelOtherFileCount.BackPictureBox1 = null;
this.labelOtherFileCount.BackPictureBox2 = null;
this.labelOtherFileCount.BorderColor = System.Drawing.Color.Black;
this.labelOtherFileCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelOtherFileCount.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.labelOtherFileCount.InitVisible = true;
this.labelOtherFileCount.LineSpacing = 0F;
this.labelOtherFileCount.Location = new System.Drawing.Point(46, 26);
this.labelOtherFileCount.Name = "labelOtherFileCount";
this.labelOtherFileCount.Size = new System.Drawing.Size(70, 50);
this.labelOtherFileCount.TabIndex = 1;
this.labelOtherFileCount.Text = "00";
this.labelOtherFileCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelOtherFileCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelOtherFileCount.Wordwrap = false;
//
// FormDataBackup_Part11
//
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.smartGroupBox3);
this.Controls.Add(this.labelPercentage);
this.Controls.Add(this.labelFileName);
this.Controls.Add(this.smartGroupBox2);
this.Controls.Add(this.smartGroupBox1);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.smartForm1);
this.Name = "FormDataBackup_Part11";
this.Text = "FormDataBackup_Part11";
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).EndInit();
this.smartGroupBox1.ResumeLayout(false);
this.smartGroupBox2.ResumeLayout(false);
this.smartGroupBox3.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartForm smartForm1;
private SmartX.SmartLabel labelTitle;
private SmartX.SmartButton buttonBack;
private SmartX.SmartGroupBox smartGroupBox1;
private SmartX.SmartGroupBox smartGroupBox2;
private SmartX.SmartLabel labelInspectionFileCount;
private SmartX.SmartButton buttonInspectionBackup;
private SmartX.SmartLabel labelHistoryFileCount;
private SmartX.SmartButton buttonHistoryBackup;
private System.Windows.Forms.TreeView treeViewInspection;
private System.Windows.Forms.TreeView treeViewHistory;
private SmartX.SmartLabel labelFileName;
private SmartX.SmartLabel labelPercentage;
private System.Windows.Forms.Timer timerEncryption;
private System.Windows.Forms.Timer timerFileCopy;
private SmartX.SmartGroupBox smartGroupBox3;
private SmartX.SmartButton buttonOtherBackup;
private SmartX.SmartLabel labelOtherFileCount;
private System.Windows.Forms.ListBox listBoxOther;
}
}

View File

@ -0,0 +1,921 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using SmartX;
using INT63DC_ImageDll;
using INT63DC_2C.DialogForms;
using INT63DC_2C.Part11_Encryption;
namespace INT63DC_2C.Forms
{
public partial class FormDataBackup_Part11 : Form
{
#region Field
private FormMain m_ParentForm;
private SmartSplash Splash;
private string EncFileName;
private DataStore.E_DataType SelecteDataType;
private int CopyFileCount;
private List<DataBackupYear> ListInspectionFile;
private List<DataBackupYear> ListHistoryFile;
private Queue<string> Q_FileList = new Queue<string>();
#endregion
#region Constructor
public FormDataBackup_Part11(FormMain parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
}
#endregion
#region Property
public FormMain ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void InitializeDesign()
{
ImageDll images = new ImageDll();
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
{
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.English)
{
this.labelTitle.Text = "Data backup";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
this.labelTitle.Text = "数据备份";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
this.labelTitle.Text = "Záloha dat";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
this.labelTitle.Text = "Datensicherung";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackUp));
}
else
{
}
}
private void DefaultSetting()
{
this.EncFileName = "";
this.SelecteDataType = DataStore.E_DataType.None;
this.CopyFileCount = 0;
this.ListInspectionFile = new List<DataBackupYear>();
this.ListHistoryFile = new List<DataBackupYear>();
}
// Backup
private void Backup(DataStore.E_DataType type, TreeView view)
{
string targetPath = "", sourceFilePath = "", destFilePath = "", dataFolderPath = "";
string[] result;
DirectoryInfo dir;
FileInfo[] files;
List<string> listSelectedFile = new List<string>(); // 백업할 파일 리스트 (yyyy/MM/filename.csv)
this.Q_FileList = new Queue<string>();
switch (type)
{
case DataStore.E_DataType.None:
break;
case DataStore.E_DataType.History:
dataFolderPath = this.ParentForm.PathDataHistoryFolder;
break;
case DataStore.E_DataType.Inspection:
dataFolderPath = this.ParentForm.PathDataInspectionFolder;
break;
default:
break;
}
if (dataFolderPath == "")
return;
targetPath = "하드 디스크\\";
#region 백업 할 파일 리스트
listSelectedFile = this.GetSeletedNodeList(view);
this.CopyFileCount = listSelectedFile.Count;
#endregion
#region 백업할 파일 유무 체크
if (listSelectedFile.Count == 0)
{
DialogFormMessage msg = new DialogFormMessage(4, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
return;
}
#endregion
#region USB 장착 유무 체크
dir = new DirectoryInfo(targetPath);
if (dir.Exists == false)
{
// USB메모리가 장착되지 않았습니다
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
return;
}
#endregion
// Splash Start
this.SplashStart();
#region Header && Encryption 폴더에 파일 삭제
this.DirectoryFileDelete(this.ParentForm.PathEncryptionFolder);
this.DirectoryFileDelete(this.ParentForm.PathHeaderFolder);
#endregion
try
{
#region Header 파일 생성
// Header 파일 생성
FileHeaderItem header = new FileHeaderItem();
header.TimeStamp = DateTime.Now;
header.LoginId = this.ParentForm.SystemConfig.CurrentUser.ID;
header.SerialNumber = this.ParentForm.SystemConfig.SerialNumber;
header.EquipmentColumns = this.ParentForm.SystemConfig.EquipmentColumns;
header.EquipmentType = 103;
for (int i = 0; i < listSelectedFile.Count; i++)
this.CreateHeaderFile(this.ParentForm.PathHeaderFolder, listSelectedFile[i], header);
#endregion
#region 파일 암호화
// 데이터 파일
for (int i = 0; i < listSelectedFile.Count; i++)
this.Q_FileList.Enqueue(string.Format("{0}{1}", dataFolderPath, listSelectedFile[i]));
// 헤더 파일
dir = new DirectoryInfo(this.ParentForm.PathHeaderFolder);
files = dir.GetFiles();
foreach (FileInfo file in files)
{
result = file.FullName.Split('\\');
sourceFilePath = file.FullName;
destFilePath = string.Format("{0}{1}", this.ParentForm.PathEncryptionFolder, result[result.Length - 1]);
this.Q_FileList.Enqueue(file.FullName);
}
this.EncryptionFile(this.Q_FileList.Dequeue());
#endregion
}
catch
{
// 제조사에 문의하세요
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
this.SplashFinish();
msg.ShowDialog();
return;
}
}
// FileCopy
private void FileCopy(DataStore.E_DataType type)
{
int count = 0;
string targetPath = "", destTargetPath = "", sourceFilePath = "", destFilePath = "";
string[] result;
DirectoryInfo dir;
FileInfo[] files;
try
{
#region USB 복사
targetPath = "하드 디스크\\";
// USB\SerialNumber\ 루트
destTargetPath = string.Format("{0}{1}\\Data\\{2}\\{3}\\", targetPath, this.ParentForm.SystemConfig.SerialNumber, type, DateTime.Now.ToString("yyyyMMdd_HHmmss"));
// USB 폴더 체크 및 생성
dir = new DirectoryInfo(destTargetPath);
if (dir.Exists == false)
dir.Create();
// 파일 복사
dir = new DirectoryInfo(this.ParentForm.PathEncryptionFolder);
if (dir.Exists == false)
dir.Create();
files = dir.GetFiles();
count = files.Length;
foreach (FileInfo file in files)
{
result = file.FullName.Split('\\');
sourceFilePath = file.FullName;
destFilePath = string.Format("{0}{1}", destTargetPath, result[result.Length - 1]);
// 파일 중복 검사
if (File.Exists(destFilePath) == true)
{
DialogFormYesNo df = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 31, Path.GetFileName(result[result.Length - 1]));
df.BringToFront();
if (df.ShowDialog() == DialogResult.Yes)
{
this.Refresh();
File.Delete(destFilePath); // 존재하는 파일 삭제
File.Copy(sourceFilePath, destFilePath);
}
else
{
count--;
this.Refresh();
}
}
else
{
File.Copy(sourceFilePath, destFilePath);
}
}
if (type == DataStore.E_DataType.Others)
{
dir = new DirectoryInfo(this.ParentForm.PathDataBackupFolder);
files = dir.GetFiles();
foreach (FileInfo file in files)
file.Delete();
this.UpdateDisplayOtherFile();
}
// 복사 완료 메시지
DialogFormMessage msg = new DialogFormMessage(this.CopyFileCount.ToString(), this.ParentForm.SystemConfig.Language, type.ToString());
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.DataBackup, type.ToString());
this.SplashFinish();
msg.ShowDialog();
#endregion
}
catch
{
// 제조사에 문의하세요
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
this.SplashFinish();
msg.ShowDialog();
return;
}
}
// OtherBackup
private void OtherBackup()
{
string targetPath = "", sourceFilePath = "", destFilePath = "", dataFolderPath = "";
string[] result;
DirectoryInfo dir;
FileInfo[] files;
this.Q_FileList = new Queue<string>();
dataFolderPath = this.ParentForm.PathDataBackupFolder;
if (dataFolderPath == "")
return;
targetPath = "하드 디스크\\";
#region 백업할 파일 유무 체크
if (this.listBoxOther.Items.Count == 0)
{
DialogFormMessage msg = new DialogFormMessage(4, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
return;
}
#endregion
#region USB 장착 유무 체크
// USB 장착 유무 체크
dir = new DirectoryInfo(targetPath);
if (dir.Exists == false)
{
// USB메모리가 장착되지 않았습니다
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
return;
}
#endregion
this.SplashStart();
#region Header && Encryption 폴더에 파일 삭제
this.DirectoryFileDelete(this.ParentForm.PathEncryptionFolder);
this.DirectoryFileDelete(this.ParentForm.PathHeaderFolder);
#endregion
try
{
dir = new DirectoryInfo(this.ParentForm.PathDataBackupFolder);
files = dir.GetFiles();
this.CopyFileCount = files.Length;
List<string> listSelectedFile = new List<string>();
// jpg 파일 -> EncryptionFolder로 복사
foreach (FileInfo file in files)
{
if (file.Name.Substring(file.Name.Length - 3, 3) == "jpg")
{
file.CopyTo(string.Format("{0}{1}", this.ParentForm.PathEncryptionFolder, file.Name));
file.Delete();
}
else
listSelectedFile.Add(file.FullName);
}
#region Header 파일 생성
// Header 파일 생성
FileHeaderItem header = new FileHeaderItem();
header.TimeStamp = DateTime.Now;
header.LoginId = this.ParentForm.SystemConfig.CurrentUser.ID;
header.SerialNumber = this.ParentForm.SystemConfig.SerialNumber;
header.EquipmentColumns = this.ParentForm.SystemConfig.EquipmentColumns;
header.EquipmentType = 103;
for (int i = 0; i < listSelectedFile.Count; i++)
this.CreateHeaderFile(this.ParentForm.PathHeaderFolder, listSelectedFile[i], header);
#endregion
#region 파일 암호화
// 데이터 파일
for (int i = 0; i < listSelectedFile.Count; i++)
this.Q_FileList.Enqueue(listSelectedFile[i]);
// 헤더 파일
dir = new DirectoryInfo(this.ParentForm.PathHeaderFolder);
files = dir.GetFiles();
foreach (FileInfo file in files)
{
result = file.FullName.Split('\\');
sourceFilePath = file.FullName;
destFilePath = string.Format("{0}{1}", this.ParentForm.PathEncryptionFolder, result[result.Length - 1]);
this.Q_FileList.Enqueue(file.FullName);
}
this.EncryptionFile(this.Q_FileList.Dequeue());
#endregion
}
catch
{
// 제조사에 문의하세요
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
this.SplashFinish();
msg.ShowDialog();
return;
}
this.UpdateDisplayOtherFile();
}
private void SplashStart()
{
this.Splash = new SmartX.SmartSplash();
this.Splash.CenterPosition = false;
this.Splash.Left = 480;
this.Splash.Top = 360;
this.Splash.AnimationInterval = 200;
this.Splash.LoadingImagePathname = "SmartLoading4";
this.Splash.Start();
this.Enabled = false;
}
private void SplashFinish()
{
this.Splash.Finish();
this.Enabled = true;
this.EncFileName = "";
this.labelFileName.Text = "-";
this.labelPercentage.Text = "0%";
this.SelecteDataType = DataStore.E_DataType.None;
}
private List<string> DirectorySort(DirectoryInfo[] directorys)
{
List<string> listDirectory = new List<string>();
Dictionary<string, int> dirNames = new Dictionary<string, int>();
foreach (DirectoryInfo dir in directorys)
dirNames.Add(dir.Name, int.Parse(dir.Name));
// 순서데로 오름차순 정렬
var vrList = dirNames.OrderBy(x => x.Value);
foreach (var v in vrList)
listDirectory.Add(v.Key);
return listDirectory;
}
private List<string> DayInspectionDirectorySort(FileInfo[] files)
{
List<string> listFile = new List<string>();
Dictionary<string, int> dirNames = new Dictionary<string, int>();
string[] fileName;
#region File List 품번 순서데로 정렬
foreach (FileInfo file in files)
{
fileName = file.Name.Split('-');
dirNames.Add(file.Name, int.Parse(fileName[1].Substring(0, fileName[1].Length - 4)));
}
var vrList = dirNames.OrderBy(x => x.Value);
foreach (var v in vrList)
listFile.Add(v.Key);
#endregion
#region File List 날짜 순서데로 정렬
dirNames = new Dictionary<string, int>();
foreach (string f in listFile)
dirNames.Add(f, int.Parse(f.Substring(1, 8)));
listFile.Clear();
vrList = dirNames.OrderBy(x => x.Value);
foreach (var v in vrList)
listFile.Add(v.Key);
#endregion
return listFile;
}
private List<string> DayHistoryDirectorySort(FileInfo[] files)
{
List<string> listFile = new List<string>();
Dictionary<string, int> dirNames = new Dictionary<string, int>();
Dictionary<string, int> dirNamesSort = new Dictionary<string, int>();
foreach (FileInfo file in files)
{
if (file.Name.StartsWith("H") == true)
dirNames.Add(file.Name, int.Parse(file.Name.Substring(1, 8)));
}
var vrList = dirNames.Keys.ToList();
vrList.Sort();
foreach (var v in vrList)
dirNamesSort.Add(v, dirNames[v]);
foreach (var v in dirNamesSort)
listFile.Add(v.Key);
return listFile;
}
private List<string> GetSeletedNodeList(TreeView tree)
{
int yearCNT, monthCNT, dayCNT;
List<string> listSelectedFile = new List<string>();
yearCNT = tree.Nodes.Count;
if (yearCNT != 0)
{
for (int i = 0; i < yearCNT; i++)
{
monthCNT = tree.Nodes[i].Nodes.Count;
if (monthCNT != 0)
{
for (int j = 0; j < monthCNT; j++)
{
dayCNT = tree.Nodes[i].Nodes[j].Nodes.Count;
if (dayCNT != 0)
{
for (int k = 0; k < dayCNT; k++)
{
if (tree.Nodes[i].Nodes[j].Nodes[k].Checked == true)
{
//listSelectedFile.Add(tree.Nodes[i].Nodes[j].Nodes[k].Text);
listSelectedFile.Add(string.Format("{0}\\{1}\\{2}.csv", tree.Nodes[i].Text, tree.Nodes[i].Nodes[j].Text, tree.Nodes[i].Nodes[j].Nodes[k].Text));
}
}
}
}
}
}
}
return listSelectedFile;
}
private void UpdateDisplayInspectionFile()
{
int fileCount = 0;
string[] fileName;
List<string> years = new List<string>();
List<string> months = new List<string>();
List<string> days = new List<string>();
this.treeViewInspection.Nodes.Clear();
this.ListInspectionFile.Clear();
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataInspectionFolder);
List<string> fileNames = new List<string>();
// 폴더 체크
if (dir.Exists == false)
dir.Create();
// year 폴더 가져오기
DirectoryInfo[] yearDirectorys = dir.GetDirectories();
// year 폴더 정렬
years = this.DirectorySort(yearDirectorys);
// Inspection File 리스트 생성
if (years.Count != 0)
{
// Year
foreach (string year in years)
{
DataBackupYear y = new DataBackupYear(year);
DirectoryInfo monthDir = new DirectoryInfo(string.Format("{0}{1}", this.ParentForm.PathDataInspectionFolder, year));
DirectoryInfo[] monthDirectorys = monthDir.GetDirectories();
months = this.DirectorySort(monthDirectorys);
if (months.Count != 0)
{
// Month
foreach (string month in months)
{
DirectoryInfo dayDir = new DirectoryInfo(string.Format("{0}{1}\\{2}", this.ParentForm.PathDataInspectionFolder, year, month));
FileInfo[] dayFiles = dayDir.GetFiles();
days = this.DayInspectionDirectorySort(dayFiles);
DataBackupMonth m = new DataBackupMonth(month);
m.Days = days;
y.Months.Add(m);
}
this.ListInspectionFile.Add(y);
}
else
{
this.ListInspectionFile.Add(y);
}
}
// node 생성
for (int i = 0; i < this.ListInspectionFile.Count; i++)
{
TreeNode node = new TreeNode(this.ListInspectionFile[i].Year);
for (int j = 0; j < this.ListInspectionFile[i].Months.Count; j++)
{
TreeNode nodeMonth = new TreeNode(this.ListInspectionFile[i].Months[j].Month);
for (int k = 0; k < this.ListInspectionFile[i].Months[j].Days.Count; k++)
{
fileName = this.ListInspectionFile[i].Months[j].Days[k].Split('.');
nodeMonth.Nodes.Add(fileName[0]);
fileCount++;
}
node.Nodes.Add(nodeMonth);
}
this.treeViewInspection.Nodes.Add(node);
}
}
this.labelInspectionFileCount.Text = fileCount.ToString();
}
private void UpdateDisplayHistoryFile()
{
int fileCount = 0;
string[] fileName;
List<string> years = new List<string>();
List<string> months = new List<string>();
List<string> days = new List<string>();
this.treeViewHistory.Nodes.Clear();
this.ListHistoryFile.Clear();
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataHistoryFolder);
List<string> fileNames = new List<string>();
// 폴더 체크
if (dir.Exists == false)
dir.Create();
// year 폴더 가져오기
DirectoryInfo[] yearDirectorys = dir.GetDirectories();
// year 폴더 정렬
years = this.DirectorySort(yearDirectorys);
// Inspection File 리스트 생성
if (years.Count != 0)
{
// Year
foreach (string year in years)
{
DataBackupYear y = new DataBackupYear(year);
DirectoryInfo monthDir = new DirectoryInfo(string.Format("{0}{1}", this.ParentForm.PathDataHistoryFolder, year));
DirectoryInfo[] monthDirectorys = monthDir.GetDirectories();
months = this.DirectorySort(monthDirectorys);
if (months.Count != 0)
{
// Month
foreach (string month in months)
{
DirectoryInfo dayDir = new DirectoryInfo(string.Format("{0}{1}\\{2}", this.ParentForm.PathDataHistoryFolder, year, month));
FileInfo[] dayFiles = dayDir.GetFiles();
days = this.DayHistoryDirectorySort(dayFiles);
DataBackupMonth m = new DataBackupMonth(month);
m.Days = days;
y.Months.Add(m);
}
this.ListHistoryFile.Add(y);
}
else
{
this.ListHistoryFile.Add(y);
}
}
// node 생성
for (int i = 0; i < this.ListHistoryFile.Count; i++)
{
TreeNode node = new TreeNode(this.ListHistoryFile[i].Year);
for (int j = 0; j < this.ListHistoryFile[i].Months.Count; j++)
{
TreeNode nodeMonth = new TreeNode(this.ListHistoryFile[i].Months[j].Month);
for (int k = 0; k < this.ListHistoryFile[i].Months[j].Days.Count; k++)
{
fileName = this.ListHistoryFile[i].Months[j].Days[k].Split('.');
nodeMonth.Nodes.Add(fileName[0]);
fileCount++;
}
node.Nodes.Add(nodeMonth);
}
this.treeViewHistory.Nodes.Add(node);
}
}
this.labelHistoryFileCount.Text = fileCount.ToString();
}
private void UpdateDisplayOtherFile()
{
bool directoryCheck = false;
string[] fileName;
this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormDataBackup;
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataBackupFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] files = dir.GetFiles();
this.listBoxOther.Items.Clear();
foreach (FileInfo file in files)
{
if (file.Name.Substring(0, 1) == "S")
{
fileName = file.Name.Split('.');
this.listBoxOther.Items.Add(fileName[0]);
}
else
this.listBoxOther.Items.Add(file.Name);
}
this.labelOtherFileCount.Text = this.listBoxOther.Items.Count.ToString();
}
private void EncryptionFile(string sourceFilePath)
{
string[] data = sourceFilePath.Split('\\');
string destinationFilePath = string.Format("{0}{1}", this.ParentForm.PathEncryptionFolder, data[data.Length - 1]);
this.UI_Invoke(delegate
{
this.labelFileName.Text = data[data.Length - 1];
this.EncFileName = sourceFilePath;
});
Encryption.AesEncryption(sourceFilePath, destinationFilePath, true, true);
}
private void CreateHeaderFile(string headerFilePath, string sourceFilePath, FileHeaderItem header)
{
string[] result, fileName;
string filePath, section, key, value;
result = sourceFilePath.Split('\\');
fileName = result[result.Length - 1].Split('.');
filePath = string.Format("{0}{1}_h.ini", headerFilePath, fileName[0]);
section = header.GetType().Name;
// LoginID
key = DataStore.E_FileHeaderItem.LoginId.ToString();
value = header.LoginId;
IniFile.WriteString(filePath, section, key, value);
Thread.Sleep(5);
// SerialNumber
key = DataStore.E_FileHeaderItem.SerialNumber.ToString();
value = header.SerialNumber;
IniFile.WriteString(filePath, section, key, value);
Thread.Sleep(5);
// EquipmentColumns
key = DataStore.E_FileHeaderItem.EquipmentColumns.ToString();
value = header.EquipmentColumns.ToString();
IniFile.WriteString(filePath, section, key, value);
Thread.Sleep(5);
// TimeStamp
key = DataStore.E_FileHeaderItem.TimeStamp.ToString();
value = header.TimeStamp.ToString("MM/dd/yyyy HH:mm:ss");
IniFile.WriteString(filePath, section, key, value);
Thread.Sleep(5);
// EquipmentType
key = DataStore.E_FileHeaderItem.EquipmentType.ToString();
value = header.EquipmentType.ToString();
IniFile.WriteString(filePath, section, key, value);
Thread.Sleep(5);
}
private void DirectoryFileDelete(string dirPath)
{
DirectoryInfo dir = new DirectoryInfo(dirPath);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
file.Delete();
}
}
private bool UI_Invoke(ThreadStart invoker)
{
try
{
if (this.InvokeRequired)
{
if (this.IsDisposed)
return true;
this.Invoke(invoker);
}
else
{
invoker();
}
return true;
}
catch (Exception e)
{
return false;
}
}
public void CallBackEncryptionEvent(Encryption.auth_encryption_status_t sender)
{
if (sender.inFileName == this.EncFileName)
{
this.UI_Invoke(delegate
{
this.labelPercentage.Text = string.Format("{0} %", sender.percentage);
});
if (sender.percentage == 100)
{
if (sender.status == 0)
{
if (this.Q_FileList.Count != 0)
{
this.UI_Invoke(delegate
{
this.timerEncryption.Enabled = true;
});
}
else
{
this.UI_Invoke(delegate
{
this.timerFileCopy.Enabled = true;
});
}
}
}
}
}
public void DisplayRefresh()
{
this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormDataBackup;
this.EncFileName = "";
this.labelFileName.Text = "-";
this.labelPercentage.Text = "0%";
this.SelecteDataType = DataStore.E_DataType.None;
this.UpdateDisplayInspectionFile();
this.UpdateDisplayHistoryFile();
this.UpdateDisplayOtherFile();
//this.treeViewInspection.ExpandAll();
//this.treeViewHistory.ExpandAll();
}
#endregion
#region Event Handler
private void buttonBack_Click(object sender, EventArgs e)
{
((FormMain)(Owner)).smartForm.Show(2);
}
private void treeViewInspection_AfterSelect(object sender, TreeViewEventArgs e)
{
//if (e.Node.Text.Substring(0, 1) == "I")
//{
// if (e.Node.Checked == true)
// e.Node.Checked = false;
// else
// e.Node.Checked = true;
//}
}
private void treeViewHistory_AfterSelect(object sender, TreeViewEventArgs e)
{
//if (e.Node.Text.Substring(0, 1) == "H")
//{
// if (e.Node.Checked == true)
// e.Node.Checked = false;
// else
// e.Node.Checked = true;
//}
}
private void buttonInspectionBackupEncryption_Click(object sender, EventArgs e)
{
this.SelecteDataType = DataStore.E_DataType.Inspection;
this.Backup(this.SelecteDataType, this.treeViewInspection);
}
private void buttonHistoryBackupEncryption_Click(object sender, EventArgs e)
{
this.SelecteDataType = DataStore.E_DataType.History;
this.Backup(this.SelecteDataType, this.treeViewHistory);
}
private void buttonOtherBackup_Click(object sender, EventArgs e)
{
this.SelecteDataType = DataStore.E_DataType.Others;
this.OtherBackup();
}
private void timerEncryption_Tick(object sender, EventArgs e)
{
this.timerEncryption.Enabled = false;
this.EncryptionFile(this.Q_FileList.Dequeue());
}
private void timerFileCopy_Tick(object sender, EventArgs e)
{
this.timerFileCopy.Enabled = false;
this.FileCopy(this.SelecteDataType);
}
#endregion
}
}

View File

@ -23,6 +23,7 @@ namespace INT63DC_2C.Forms
#region Field
private int m_SelectNodeIndex;
private int FileIndex;
public string SelectFilePath;
private FormMain m_ParentForm;
public DataCommonList CurrentDataCommonList;
@ -239,6 +240,7 @@ namespace INT63DC_2C.Forms
{
this.FileIndex = 0;
this.SelectNodeIndex = -1;
this.SelectFilePath = "";
this.CurrentDataCommonList = new DataCommonList();
this.CollectionFileClassification = new Collection<List<string>>();
@ -628,6 +630,508 @@ namespace INT63DC_2C.Forms
this.UpdateDisplay(this.CurrentDataCommonList, this.CollectionLaneData);
}
private void FileBackup1(string path, DateTime time, DataCommonList commonList, Collection<DataCollector> datas)
{
bool fileCheck = false;
string fullFilePath = "";
StreamWriter sw;
fullFilePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.csv", path, time);
this.ParentForm.smartFileIO.FilePathName = fullFilePath;
sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
FileInfo fileInfo = new FileInfo(fullFilePath);
fileCheck = fileInfo.Exists;
if (fileCheck == true)
{
this.ParentForm.smartFileIO.Open(this.ParentForm.BufferSmartUart);
for (int i = 0; i < 40; i++)
{
this.ParentForm.smartFileIO.WriteString("");
}
this.ParentForm.smartFileIO.Close();
}
sw.WriteLine(string.Format("Product Name,{0}", commonList.ProductName));
sw.WriteLine(string.Format("Lot,{0}", commonList.Lot));
sw.WriteLine(string.Format("Start Time,{0}", commonList.StartTime));
sw.WriteLine(string.Format("End Time,{0}", commonList.EndTime));
sw.WriteLine(string.Format("Under Range[g],{0}", commonList.UnderRange));
sw.WriteLine(string.Format("Pass Range[g],{0}", commonList.PassRange));
sw.WriteLine(string.Format("Over Range[g],{0}", commonList.OverRange));
sw.WriteLine(string.Format("Tare Range[g],{0}", commonList.TareRange));
sw.WriteLine(string.Format("Total Count[ea],{0}", commonList.TotalCount));
sw.WriteLine(string.Format("Total NG Count[ea],{0}", commonList.TotalNGCount));
sw.WriteLine(string.Format("Total Pass Count[ea],{0}", commonList.TotalPassCount));
sw.WriteLine(string.Format("Total Pass Percentage[%],{0}", commonList.TotalPassPercentage));
sw.WriteLine(string.Format("Total Pass Average[g],{0:0.000}", commonList.TotalPassAverageWeight));
sw.WriteLine(string.Format("Total Pass Standard Deviation[g],{0}", commonList.TotalPassStandardDeviation));
sw.WriteLine(string.Format("Total Under Count[ea],{0}", commonList.TotalUnderCount));
sw.WriteLine(string.Format("Total Under Percentage[%],{0}", commonList.TotalUnderPercentage));
sw.WriteLine(string.Format("Total Under Sum Weight[kg],{0:0.000}", commonList.TotalUnderSumWeight / 1000));
sw.WriteLine(string.Format("Total Over Count[ea],{0}", commonList.TotalOverCount));
sw.WriteLine(string.Format("Total Over Percentage[%],{0}", commonList.TotalOverPercentage));
sw.WriteLine(string.Format("Total Over Sum Weight[kg],{0:0.000}", commonList.TotalOverSumWeight / 1000));
sw.WriteLine(string.Format("Total ExNG count[ea],{0}", commonList.TotalExNgCount));
sw.WriteLine(string.Format("Total ExNG Percentage[%],{0}", commonList.TotalExNgPercentage));
sw.Write("");
sw.Write(",");
for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
{
sw.Write(string.Format("#{0}", i + 1));
sw.Write(",");
}
sw.WriteLine();
#region Pass
sw.Write("Pass Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].PassTotalCount);
}
sw.WriteLine();
sw.Write("Pass Average[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(string.Format("{0:0.000}", datas[i].PassAverage));
}
sw.WriteLine();
sw.Write("Pass Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].PassPercentage);
}
sw.WriteLine();
sw.Write("Pass Standard Deviation[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(string.Format("{0:0.00}", datas[i].PassStandardDeviation));
}
sw.WriteLine();
sw.Write("Pass Min Weight[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].PassMinWeight, 1));
}
sw.WriteLine();
sw.Write("Pass Max Weight[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].PassMaxWeight, 1));
}
sw.WriteLine();
#endregion
#region Over
sw.Write("Over Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].OverTotalCount);
}
sw.WriteLine();
sw.Write("Over Sum Weight[kg]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
}
sw.WriteLine();
sw.Write("Over Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].OverPercentage);
}
sw.WriteLine();
#endregion
#region Under
sw.Write("Under Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].UnderTotalCount);
}
sw.WriteLine();
sw.Write("Under Sum Weight[kg]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
}
sw.WriteLine();
sw.Write("Under Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].UnderPercentage);
}
sw.WriteLine();
#endregion
#region Ex
sw.Write("ExNG Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].ExNgTotalCount);
}
sw.WriteLine();
sw.Write("ExNG Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].ExNgPercentage);
}
sw.WriteLine();
#endregion
#region Total
sw.Write("Total Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].TotalCount);
}
sw.WriteLine();
sw.Write("Total NG Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].TotalNGCount);
}
sw.WriteLine();
#endregion
sw.Close();
}
private void FileBackup2(string path, DateTime time, DataCommonList commonList, Collection<DataCollector> datas)
{
bool fileCheck = false;
string fullFilePath = "";
StreamWriter sw;
fullFilePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.csv", path, time);
this.ParentForm.smartFileIO.FilePathName = fullFilePath;
sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
FileInfo fileInfo = new FileInfo(fullFilePath);
fileCheck = fileInfo.Exists;
// 같은 파일이 있으면 초기화
if (fileCheck == true)
{
this.ParentForm.smartFileIO.Open(this.ParentForm.BufferSmartUart);
for (int i = 0; i < 40; i++)
{
this.ParentForm.smartFileIO.WriteString("");
}
this.ParentForm.smartFileIO.Close();
}
for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
{
#region 데이터 출력
// Lane Number
sw.Write("{0}", i + 1);
sw.Write(",");
// ProductName
sw.Write(commonList.ProductName);
sw.Write(",");
// Lot
sw.Write(commonList.Lot);
sw.Write(",");
// StartTime
sw.Write(commonList.StartTime);
sw.Write(",");
// EndTime
sw.Write(commonList.EndTime);
sw.Write(",");
// UnderRange
sw.Write(commonList.UnderRange);
sw.Write(",");
// PassRange
sw.Write(commonList.PassRange);
sw.Write(",");
// OverRange
sw.Write(commonList.OverRange);
sw.Write(",");
// TareRange
sw.Write(commonList.TareRange);
sw.Write(",");
// TotalCount
sw.Write(commonList.TotalCount);
sw.Write(",");
// TotalNGCount
sw.Write(commonList.TotalNGCount);
sw.Write(",");
// TotalPassCount
sw.Write(commonList.TotalPassCount);
sw.Write(",");
// TotalPassPercentage
sw.Write(commonList.TotalPassPercentage);
sw.Write(",");
// TotalPassAverage
sw.Write(string.Format("{0:0.000}", commonList.TotalPassAverageWeight));
sw.Write(",");
// TotalPassSD
sw.Write(string.Format("{0:0.00}", commonList.TotalPassStandardDeviation));
sw.Write(",");
// TotalUnderCount
sw.Write(commonList.TotalUnderCount);
sw.Write(",");
// TotalUnderPercentage
sw.Write(commonList.TotalUnderPercentage);
sw.Write(",");
// TotalUnderSumWeight
sw.Write(string.Format("{0:0.0000}", commonList.TotalUnderSumWeight / 1000));
sw.Write(",");
// TotalOverCount
sw.Write(commonList.TotalOverCount);
sw.Write(",");
// TotalOverPercentage
sw.Write(commonList.TotalOverPercentage);
sw.Write(",");
// TotalOverSumWeight
sw.Write(string.Format("{0:0.0000}", commonList.TotalOverSumWeight / 1000));
sw.Write(",");
// TotalExNgCount
sw.Write(commonList.TotalExNgCount);
sw.Write(",");
// TotalExNgPercentage
sw.Write(commonList.TotalExNgPercentage);
sw.Write(",");
// Lane PassCount
sw.Write(datas[i].PassTotalCount);
sw.Write(",");
// Lane PassAverage
sw.Write(string.Format("{0:0.000}", datas[i].PassAverage));
sw.Write(",");
// Lane PassPercentage
sw.Write(datas[i].PassPercentage);
sw.Write(",");
// Lane PassSD
sw.Write(string.Format("{0:0.00}", datas[i].PassStandardDeviation));
sw.Write(",");
// Lane PassMinWeight
sw.Write(Helper.DoubleToString(datas[i].PassMinWeight, 1));
sw.Write(",");
// Lane PassMaxWeight
sw.Write(Helper.DoubleToString(datas[i].PassMaxWeight, 1));
sw.Write(",");
// Lane OverCount
sw.Write(datas[i].OverTotalCount);
sw.Write(",");
// Lane OverSumWeight
sw.Write(Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
sw.Write(",");
// Lane OverPercentage
sw.Write(datas[i].OverPercentage);
sw.Write(",");
// Lane UnderCount
sw.Write(datas[i].UnderTotalCount);
sw.Write(",");
// Lane UnderSumWeight
sw.Write(Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
sw.Write(",");
// Lane UnderPercentage
sw.Write(datas[i].UnderPercentage);
sw.Write(",");
// Lane ExNgCount
sw.Write(datas[i].ExNgTotalCount);
sw.Write(",");
// Lane ExNgPercentage
sw.Write(datas[i].ExNgPercentage);
sw.Write(",");
// Lane TotalCount
sw.Write(datas[i].TotalCount);
sw.Write(",");
// Lane TotalNgCount
sw.Write(datas[i].TotalNGCount);
sw.WriteLine();
#endregion
}
sw.Close();
}
private void CreateScreenCapture(string path, DateTime time)
{
string filePath = "";
Bitmap bitMap = new Bitmap(1024, 768);
bitMap = IntechGraphics.CopyFromScreen();
filePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.jpg", path, time);
bitMap.Save(filePath, ImageFormat.Jpeg);
}
private int Backup1()
{
int ret = 0;
string filePath = "";
bool directoryCheck = false;
DateTime time = DateTime.Now;
// 메모리 장착 체크
if (this.CheckUSBMemory() == false)
{
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
this.buttonBackup.Enabled = true;
ret = -1;
return ret;
}
#region 통계 데이터 생성
// ScreenCapture
this.CreateScreenCapture(this.ParentForm.PathDataStatisticsFolder, time);
// csv File
this.FileBackup1(this.ParentForm.PathDataStatisticsFolder, time, this.CurrentDataCommonList, this.CollectionLaneData);
#endregion
#region 메모리로 파일 복사
try
{
filePath = "하드 디스크\\";
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataStatisticsFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
this.FileCopy(file, filePath + file.Name);
file.Delete();
}
DialogFormMessage msg = new DialogFormMessage("2", this.ParentForm.SystemConfig.Language, "Statistics");
msg.ShowDialog();
}
catch
{
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
ret = -1;
return ret;
}
#endregion
return ret;
}
private int Backup2()
{
int ret = 0;
DateTime time = DateTime.Now;
// csv File
this.FileBackup2(this.ParentForm.PathDataBackupFolder, time, this.CurrentDataCommonList, this.CollectionLaneData);
return ret;
}
public int DataRead()
{
int ret = 0, flag = 0;
long count = 0;
if (this.SelectFilePath == "")
return ret = -1;
SmartSplash splash = new SmartSplash();
splash.CenterPosition = true;
splash.AnimationInterval = 100;
splash.LoadingImagePathname = "SmartLoading4";
splash.Start();
this.CollectionWeightData.Clear();
this.ParentForm.smartFileIO.FilePathName = this.SelectFilePath;
this.ParentForm.smartFileIO.Open(2000000);
this.ParentForm.smartFileIO.ReadStringAllBuffer();
try
{
count = this.ParentForm.smartFileIO.GetCount();
for (int i = 0; i < count; i++)
{
if (flag == 100)
{
Thread.Sleep(5);
flag = 0;
}
this.CollectionWeightData.Add(this.ParentForm.smartFileIO.ReadStringBuffer(i).Split(','));
flag++;
}
this.ParentForm.smartFileIO.Close();
this.CollectionWeightData.RemoveAt(0);
this.DataAnalysis();
// File Name
string[] data = this.SelectFilePath.Split('\\');
data = data[data.Length - 1].Split('.');
this.labelFileName.Text = data[0];
ret = 0;
splash.Finish();
}
catch
{
ret = -1;
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(13, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
this.ParentForm.smartFileIO.Close();
}
return ret;
}
public int DataRead1()
{
string path = "";
@ -967,59 +1471,73 @@ namespace INT63DC_2C.Forms
}
private void buttonBackup_Click(object sender, EventArgs e)
{
#region 기존코드
//this.buttonBackup.Enabled = false;
//string filePath = "";
//bool directoryCheck = false;
//Bitmap bitMap = new Bitmap(1024, 768);
//// 메모리 장착 체크
//if (this.CheckUSBMemory() == false)
//{
// DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
// msg.ShowDialog();
// this.buttonBackup.Enabled = true;
// return;
//}
//#region 통계 데이터 생성
//bitMap = IntechGraphics.CopyFromScreen();
//filePath = string.Format("{0}{1:yyyyMMdd-HHmmss}_{2}_Capture.jpg",
// this.ParentForm.PathDataStatisticsFolder, DateTime.Now, this.ParentForm.SystemConfig.UsbID);
//bitMap.Save(filePath, ImageFormat.Jpeg);
//this.FileBackup(this.CurrentDataCommonList, this.CollectionLaneData);
//#endregion
//#region 메모리로 파일 복사
//try
//{
// filePath = "하드 디스크\\";
// DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataStatisticsFolder);
// directoryCheck = dir.Exists;
// // 폴더 체크
// if (directoryCheck == false)
// dir.Create();
// FileInfo[] files = dir.GetFiles();
// foreach (FileInfo file in files)
// {
// this.FileCopy(file, filePath + file.Name);
// file.Delete();
// }
// DialogFormMessage msg = new DialogFormMessage("2", this.ParentForm.SystemConfig.Language);
// msg.ShowDialog();
//}
//catch
//{
// DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
// msg.ShowDialog();
// return;
//}
//#endregion
//this.buttonBackup.Enabled = true;
#endregion
if (this.SelectFilePath == "")
return;
this.buttonBackup.Enabled = false;
string filePath = "";
bool directoryCheck = false;
Bitmap bitMap = new Bitmap(1024, 768);
// 메모리 장착 체크
if (this.CheckUSBMemory() == false)
{
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
this.buttonBackup.Enabled = true;
return;
}
#region 통계 데이터 생성
bitMap = IntechGraphics.CopyFromScreen();
filePath = string.Format("{0}{1:yyyyMMdd-HHmmss}_{2}_Capture.jpg",
this.ParentForm.PathDataStatisticsFolder, DateTime.Now, this.ParentForm.SystemConfig.UsbID);
bitMap.Save(filePath, ImageFormat.Jpeg);
this.FileBackup(this.CurrentDataCommonList, this.CollectionLaneData);
#endregion
#region 메모리로 파일 복사
try
{
filePath = "하드 디스크\\";
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataStatisticsFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
this.FileCopy(file, filePath + file.Name);
file.Delete();
}
DialogFormMessage msg = new DialogFormMessage("2", this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
}
catch
{
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
return;
}
#endregion
if (this.ParentForm.SystemConfig.IsOptPart11 == false)
this.Backup1();
else
this.Backup2();
this.buttonBackup.Enabled = true;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,965 @@
namespace INT63DC_2C.Forms
{
partial class FormDataViewer
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormDataViewer));
this.smartForm1 = new SmartX.SmartForm();
this.labelTitle = new SmartX.SmartLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.labelCurrentIndex = new SmartX.SmartLabel();
this.smartSeparatorLine1 = new SmartX.SmartSeparatorLine();
this.labelTotalIndex = new SmartX.SmartLabel();
this.buttonDown = new SmartX.SmartButton();
this.buttonUp = new SmartX.SmartButton();
this.listBoxEvent = new SmartX.SmartListBox();
this.labelItemCount = new SmartX.SmartLabel();
this.listBoxType = new SmartX.SmartListBox();
this.listBoxAfter = new SmartX.SmartListBox();
this.listBoxBefore = new SmartX.SmartListBox();
this.listBoxDetail = new SmartX.SmartListBox();
this.listBoxLoginID = new SmartX.SmartListBox();
this.listBoxTime = new SmartX.SmartListBox();
this.smartLabel8 = new SmartX.SmartLabel();
this.smartLabel7 = new SmartX.SmartLabel();
this.smartLabel6 = new SmartX.SmartLabel();
this.smartLabel5 = new SmartX.SmartLabel();
this.smartLabel4 = new SmartX.SmartLabel();
this.smartLabel3 = new SmartX.SmartLabel();
this.smartLabel2 = new SmartX.SmartLabel();
this.labelItemsCount = new SmartX.SmartLabel();
this.smartLabel9 = new SmartX.SmartLabel();
this.labelFileName = new SmartX.SmartLabel();
this.smartTimer1 = new SmartX.SmartTimer(this.components);
this.labelFileReadElapsedTime = new SmartX.SmartLabel();
this.labelRemainDataCount = new SmartX.SmartLabel();
this.labelDisplayUpdateElapsedTime = new SmartX.SmartLabel();
this.buttonFilter = new SmartX.SmartButton();
this.buttonSave = new SmartX.SmartButton();
this.buttonFileSelect = new SmartX.SmartButton();
this.buttonBack = new SmartX.SmartButton();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// smartForm1
//
this.smartForm1.CenterLocation = false;
this.smartForm1.Image = ((System.Drawing.Image)(resources.GetObject("smartForm1.Image")));
this.smartForm1.LCDDirection = SmartX.SmartForm.LCDDIRECTIONS.HORIZONTAL;
this.smartForm1.LCDSize = SmartX.SmartForm.LCDRESOLUTION.LCD1024X768;
this.smartForm1.Location = new System.Drawing.Point(0, 0);
this.smartForm1.MainForm = null;
this.smartForm1.Mode = SmartX.SmartForm.RUNMODE.RUNTIME;
this.smartForm1.MouseCursor = SmartX.SmartForm.OnOff.OFF;
this.smartForm1.Name = "smartForm1";
this.smartForm1.Size = new System.Drawing.Size(1024, 768);
this.smartForm1.SpecialFunctionClickPointSize = 100;
this.smartForm1.SuspendLayoutInterval = 0;
//
// labelTitle
//
this.labelTitle.BackPictureBox = this.smartForm1;
this.labelTitle.BackPictureBox1 = null;
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("새굴림", 35F, System.Drawing.FontStyle.Bold);
this.labelTitle.InitVisible = true;
this.labelTitle.LineSpacing = 0F;
this.labelTitle.Location = new System.Drawing.Point(3, 7);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(1018, 60);
this.labelTitle.TabIndex = 22;
this.labelTitle.Text = "데 이 터 뷰 어";
this.labelTitle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitle.Wordwrap = false;
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.panel1.Controls.Add(this.labelCurrentIndex);
this.panel1.Controls.Add(this.smartSeparatorLine1);
this.panel1.Controls.Add(this.labelTotalIndex);
this.panel1.Controls.Add(this.buttonDown);
this.panel1.Controls.Add(this.buttonUp);
this.panel1.Controls.Add(this.listBoxEvent);
this.panel1.Controls.Add(this.labelItemCount);
this.panel1.Controls.Add(this.listBoxType);
this.panel1.Controls.Add(this.listBoxAfter);
this.panel1.Controls.Add(this.listBoxBefore);
this.panel1.Controls.Add(this.listBoxDetail);
this.panel1.Controls.Add(this.listBoxLoginID);
this.panel1.Controls.Add(this.listBoxTime);
this.panel1.Controls.Add(this.smartLabel8);
this.panel1.Controls.Add(this.smartLabel7);
this.panel1.Controls.Add(this.smartLabel6);
this.panel1.Controls.Add(this.smartLabel5);
this.panel1.Controls.Add(this.smartLabel4);
this.panel1.Controls.Add(this.smartLabel3);
this.panel1.Controls.Add(this.smartLabel2);
this.panel1.Location = new System.Drawing.Point(0, 73);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1024, 580);
//
// labelCurrentIndex
//
this.labelCurrentIndex.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelCurrentIndex.BackPictureBox = null;
this.labelCurrentIndex.BackPictureBox1 = null;
this.labelCurrentIndex.BackPictureBox2 = null;
this.labelCurrentIndex.BorderColor = System.Drawing.Color.Black;
this.labelCurrentIndex.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelCurrentIndex.InitVisible = true;
this.labelCurrentIndex.LineSpacing = 0F;
this.labelCurrentIndex.Location = new System.Drawing.Point(948, 282);
this.labelCurrentIndex.Name = "labelCurrentIndex";
this.labelCurrentIndex.Size = new System.Drawing.Size(70, 20);
this.labelCurrentIndex.TabIndex = 239;
this.labelCurrentIndex.Text = "0";
this.labelCurrentIndex.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelCurrentIndex.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelCurrentIndex.Visible = false;
this.labelCurrentIndex.Wordwrap = false;
//
// smartSeparatorLine1
//
this.smartSeparatorLine1.InitVisible = true;
this.smartSeparatorLine1.Line1Color = System.Drawing.Color.DimGray;
this.smartSeparatorLine1.Line1Width = 1F;
this.smartSeparatorLine1.Line2Color = System.Drawing.Color.LightGray;
this.smartSeparatorLine1.Line2Visible = true;
this.smartSeparatorLine1.Line2Width = 1F;
this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
this.smartSeparatorLine1.Location = new System.Drawing.Point(948, 308);
this.smartSeparatorLine1.Name = "smartSeparatorLine1";
this.smartSeparatorLine1.Size = new System.Drawing.Size(70, 2);
this.smartSeparatorLine1.TabIndex = 238;
this.smartSeparatorLine1.Text = "smartSeparatorLine1";
this.smartSeparatorLine1.Visible = false;
//
// labelTotalIndex
//
this.labelTotalIndex.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelTotalIndex.BackPictureBox = null;
this.labelTotalIndex.BackPictureBox1 = null;
this.labelTotalIndex.BackPictureBox2 = null;
this.labelTotalIndex.BorderColor = System.Drawing.Color.Black;
this.labelTotalIndex.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTotalIndex.InitVisible = true;
this.labelTotalIndex.LineSpacing = 0F;
this.labelTotalIndex.Location = new System.Drawing.Point(948, 316);
this.labelTotalIndex.Name = "labelTotalIndex";
this.labelTotalIndex.Size = new System.Drawing.Size(70, 20);
this.labelTotalIndex.TabIndex = 38;
this.labelTotalIndex.Text = "0";
this.labelTotalIndex.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTotalIndex.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTotalIndex.Visible = false;
this.labelTotalIndex.Wordwrap = false;
//
// buttonDown
//
this.buttonDown.BackPictureBox = null;
this.buttonDown.BackPictureBox1 = null;
this.buttonDown.BackPictureBox2 = null;
this.buttonDown.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(191)))), ((int)(((byte)(191)))));
this.buttonDown.ButtonImageAutoSize = true;
this.buttonDown.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonDown.DisableImage = null;
this.buttonDown.DownImage = null;
this.buttonDown.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular);
this.buttonDown.GroupID = 0;
this.buttonDown.InitVisible = true;
this.buttonDown.Location = new System.Drawing.Point(948, 350);
this.buttonDown.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonDown.Name = "buttonDown";
this.buttonDown.NestedClickEventPrevent = false;
this.buttonDown.OutlinePixel = 1;
this.buttonDown.RepeatInterval = 200;
this.buttonDown.RepeatIntervalAccelerate = null;
this.buttonDown.SafeInterval = 200;
this.buttonDown.Size = new System.Drawing.Size(70, 230);
this.buttonDown.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonDown.TabIndex = 40;
this.buttonDown.Text = "▼";
this.buttonDown.TextColor = System.Drawing.Color.Black;
this.buttonDown.TextDownColor = System.Drawing.Color.White;
this.buttonDown.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonDown.TextLocation = new System.Drawing.Point(0, 0);
this.buttonDown.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonDown.UpImage = null;
this.buttonDown.Click += new System.EventHandler(this.buttonDown_Click);
//
// buttonUp
//
this.buttonUp.BackPictureBox = null;
this.buttonUp.BackPictureBox1 = null;
this.buttonUp.BackPictureBox2 = null;
this.buttonUp.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(191)))), ((int)(((byte)(191)))));
this.buttonUp.ButtonImageAutoSize = true;
this.buttonUp.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonUp.DisableImage = null;
this.buttonUp.DownImage = null;
this.buttonUp.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular);
this.buttonUp.GroupID = 0;
this.buttonUp.InitVisible = true;
this.buttonUp.Location = new System.Drawing.Point(948, 39);
this.buttonUp.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonUp.Name = "buttonUp";
this.buttonUp.NestedClickEventPrevent = false;
this.buttonUp.OutlinePixel = 1;
this.buttonUp.RepeatInterval = 200;
this.buttonUp.RepeatIntervalAccelerate = null;
this.buttonUp.SafeInterval = 200;
this.buttonUp.Size = new System.Drawing.Size(70, 230);
this.buttonUp.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonUp.TabIndex = 39;
this.buttonUp.Text = "▲";
this.buttonUp.TextColor = System.Drawing.Color.Black;
this.buttonUp.TextDownColor = System.Drawing.Color.White;
this.buttonUp.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonUp.TextLocation = new System.Drawing.Point(0, 0);
this.buttonUp.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonUp.UpImage = null;
this.buttonUp.Click += new System.EventHandler(this.buttonUp_Click);
//
// listBoxEvent
//
this.listBoxEvent.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxEvent.BackPictureBox = null;
this.listBoxEvent.BackPictureBox1 = null;
this.listBoxEvent.BackPictureBox2 = null;
this.listBoxEvent.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxEvent.ColumnDelimiter = '\0';
this.listBoxEvent.ColumnOffsets = null;
this.listBoxEvent.FontColor = System.Drawing.Color.Black;
this.listBoxEvent.InitVisible = true;
this.listBoxEvent.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxEvent.ItemOffsetGap = 5;
this.listBoxEvent.ItemOffsetX = 5;
this.listBoxEvent.ItemOffsetY = 0;
this.listBoxEvent.Location = new System.Drawing.Point(208, 39);
this.listBoxEvent.MouseMoveEventSpace = 3;
this.listBoxEvent.MouseMoveSpace = 10;
this.listBoxEvent.Name = "listBoxEvent";
this.listBoxEvent.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxEvent.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxEvent.SelectFilled = true;
this.listBoxEvent.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxEvent.SelectItemIndex = -1;
this.listBoxEvent.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxEvent.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxEvent.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxEvent.SeparationlineVisibleBottom = false;
this.listBoxEvent.SeparationlineVisibleTop = false;
this.listBoxEvent.Size = new System.Drawing.Size(180, 540);
this.listBoxEvent.TabIndex = 28;
this.listBoxEvent.Text = "smartListBox1";
this.listBoxEvent.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// labelItemCount
//
this.labelItemCount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelItemCount.BackPictureBox = null;
this.labelItemCount.BackPictureBox1 = null;
this.labelItemCount.BackPictureBox2 = null;
this.labelItemCount.BorderColor = System.Drawing.Color.Black;
this.labelItemCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelItemCount.InitVisible = true;
this.labelItemCount.LineSpacing = 0F;
this.labelItemCount.Location = new System.Drawing.Point(948, 3);
this.labelItemCount.Name = "labelItemCount";
this.labelItemCount.Size = new System.Drawing.Size(70, 30);
this.labelItemCount.TabIndex = 38;
this.labelItemCount.Text = "0 / 0 ";
this.labelItemCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelItemCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelItemCount.Visible = false;
this.labelItemCount.Wordwrap = false;
//
// listBoxType
//
this.listBoxType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxType.BackPictureBox = null;
this.listBoxType.BackPictureBox1 = null;
this.listBoxType.BackPictureBox2 = null;
this.listBoxType.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxType.ColumnDelimiter = '\0';
this.listBoxType.ColumnOffsets = null;
this.listBoxType.FontColor = System.Drawing.Color.Black;
this.listBoxType.InitVisible = true;
this.listBoxType.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxType.ItemOffsetGap = 5;
this.listBoxType.ItemOffsetX = 5;
this.listBoxType.ItemOffsetY = 0;
this.listBoxType.Location = new System.Drawing.Point(852, 39);
this.listBoxType.MouseMoveEventSpace = 3;
this.listBoxType.MouseMoveSpace = 10;
this.listBoxType.Name = "listBoxType";
this.listBoxType.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxType.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxType.SelectFilled = true;
this.listBoxType.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxType.SelectItemIndex = -1;
this.listBoxType.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxType.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxType.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxType.SeparationlineVisibleBottom = false;
this.listBoxType.SeparationlineVisibleTop = false;
this.listBoxType.Size = new System.Drawing.Size(90, 540);
this.listBoxType.TabIndex = 28;
this.listBoxType.Text = "smartListBox1";
this.listBoxType.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// listBoxAfter
//
this.listBoxAfter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxAfter.BackPictureBox = null;
this.listBoxAfter.BackPictureBox1 = null;
this.listBoxAfter.BackPictureBox2 = null;
this.listBoxAfter.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxAfter.ColumnDelimiter = '\0';
this.listBoxAfter.ColumnOffsets = null;
this.listBoxAfter.FontColor = System.Drawing.Color.Black;
this.listBoxAfter.InitVisible = true;
this.listBoxAfter.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxAfter.ItemOffsetGap = 5;
this.listBoxAfter.ItemOffsetX = 5;
this.listBoxAfter.ItemOffsetY = 0;
this.listBoxAfter.Location = new System.Drawing.Point(716, 39);
this.listBoxAfter.MouseMoveEventSpace = 3;
this.listBoxAfter.MouseMoveSpace = 10;
this.listBoxAfter.Name = "listBoxAfter";
this.listBoxAfter.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxAfter.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxAfter.SelectFilled = true;
this.listBoxAfter.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxAfter.SelectItemIndex = -1;
this.listBoxAfter.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxAfter.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxAfter.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxAfter.SeparationlineVisibleBottom = false;
this.listBoxAfter.SeparationlineVisibleTop = false;
this.listBoxAfter.Size = new System.Drawing.Size(130, 540);
this.listBoxAfter.TabIndex = 28;
this.listBoxAfter.Text = "smartListBox1";
this.listBoxAfter.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// listBoxBefore
//
this.listBoxBefore.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxBefore.BackPictureBox = null;
this.listBoxBefore.BackPictureBox1 = null;
this.listBoxBefore.BackPictureBox2 = null;
this.listBoxBefore.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxBefore.ColumnDelimiter = '\0';
this.listBoxBefore.ColumnOffsets = null;
this.listBoxBefore.FontColor = System.Drawing.Color.Black;
this.listBoxBefore.InitVisible = true;
this.listBoxBefore.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxBefore.ItemOffsetGap = 5;
this.listBoxBefore.ItemOffsetX = 5;
this.listBoxBefore.ItemOffsetY = 0;
this.listBoxBefore.Location = new System.Drawing.Point(580, 39);
this.listBoxBefore.MouseMoveEventSpace = 3;
this.listBoxBefore.MouseMoveSpace = 10;
this.listBoxBefore.Name = "listBoxBefore";
this.listBoxBefore.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxBefore.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxBefore.SelectFilled = true;
this.listBoxBefore.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxBefore.SelectItemIndex = -1;
this.listBoxBefore.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxBefore.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxBefore.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxBefore.SeparationlineVisibleBottom = false;
this.listBoxBefore.SeparationlineVisibleTop = false;
this.listBoxBefore.Size = new System.Drawing.Size(130, 540);
this.listBoxBefore.TabIndex = 28;
this.listBoxBefore.Text = "smartListBox1";
this.listBoxBefore.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// listBoxDetail
//
this.listBoxDetail.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxDetail.BackPictureBox = null;
this.listBoxDetail.BackPictureBox1 = null;
this.listBoxDetail.BackPictureBox2 = null;
this.listBoxDetail.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxDetail.ColumnDelimiter = '\0';
this.listBoxDetail.ColumnOffsets = null;
this.listBoxDetail.FontColor = System.Drawing.Color.Black;
this.listBoxDetail.InitVisible = true;
this.listBoxDetail.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxDetail.ItemOffsetGap = 5;
this.listBoxDetail.ItemOffsetX = 5;
this.listBoxDetail.ItemOffsetY = 0;
this.listBoxDetail.Location = new System.Drawing.Point(394, 39);
this.listBoxDetail.MouseMoveEventSpace = 3;
this.listBoxDetail.MouseMoveSpace = 10;
this.listBoxDetail.Name = "listBoxDetail";
this.listBoxDetail.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxDetail.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxDetail.SelectFilled = true;
this.listBoxDetail.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxDetail.SelectItemIndex = -1;
this.listBoxDetail.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxDetail.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxDetail.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxDetail.SeparationlineVisibleBottom = false;
this.listBoxDetail.SeparationlineVisibleTop = false;
this.listBoxDetail.Size = new System.Drawing.Size(180, 540);
this.listBoxDetail.TabIndex = 28;
this.listBoxDetail.Text = "smartListBox1";
this.listBoxDetail.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// listBoxLoginID
//
this.listBoxLoginID.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxLoginID.BackPictureBox = null;
this.listBoxLoginID.BackPictureBox1 = null;
this.listBoxLoginID.BackPictureBox2 = null;
this.listBoxLoginID.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxLoginID.ColumnDelimiter = '\0';
this.listBoxLoginID.ColumnOffsets = null;
this.listBoxLoginID.FontColor = System.Drawing.Color.Black;
this.listBoxLoginID.InitVisible = true;
this.listBoxLoginID.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxLoginID.ItemOffsetGap = 5;
this.listBoxLoginID.ItemOffsetX = 5;
this.listBoxLoginID.ItemOffsetY = 0;
this.listBoxLoginID.Location = new System.Drawing.Point(92, 39);
this.listBoxLoginID.MouseMoveEventSpace = 3;
this.listBoxLoginID.MouseMoveSpace = 10;
this.listBoxLoginID.Name = "listBoxLoginID";
this.listBoxLoginID.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxLoginID.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxLoginID.SelectFilled = true;
this.listBoxLoginID.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxLoginID.SelectItemIndex = -1;
this.listBoxLoginID.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxLoginID.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxLoginID.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxLoginID.SeparationlineVisibleBottom = false;
this.listBoxLoginID.SeparationlineVisibleTop = false;
this.listBoxLoginID.Size = new System.Drawing.Size(110, 540);
this.listBoxLoginID.TabIndex = 28;
this.listBoxLoginID.Text = "smartListBox1";
this.listBoxLoginID.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// listBoxTime
//
this.listBoxTime.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.listBoxTime.BackPictureBox = null;
this.listBoxTime.BackPictureBox1 = null;
this.listBoxTime.BackPictureBox2 = null;
this.listBoxTime.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.listBoxTime.ColumnDelimiter = '\0';
this.listBoxTime.ColumnOffsets = null;
this.listBoxTime.FontColor = System.Drawing.Color.Black;
this.listBoxTime.InitVisible = true;
this.listBoxTime.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
this.listBoxTime.ItemOffsetGap = 5;
this.listBoxTime.ItemOffsetX = 5;
this.listBoxTime.ItemOffsetY = 0;
this.listBoxTime.Location = new System.Drawing.Point(6, 39);
this.listBoxTime.MouseMoveEventSpace = 3;
this.listBoxTime.MouseMoveSpace = 10;
this.listBoxTime.Name = "listBoxTime";
this.listBoxTime.OutLineColor = System.Drawing.SystemColors.ControlText;
this.listBoxTime.SelectColor = System.Drawing.Color.WhiteSmoke;
this.listBoxTime.SelectFilled = true;
this.listBoxTime.SelectFontColor = System.Drawing.Color.DarkBlue;
this.listBoxTime.SelectItemIndex = -1;
this.listBoxTime.SeparationlineColor1 = System.Drawing.Color.Gray;
this.listBoxTime.SeparationlineColor2 = System.Drawing.Color.LightGray;
this.listBoxTime.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle;
this.listBoxTime.SeparationlineVisibleBottom = false;
this.listBoxTime.SeparationlineVisibleTop = false;
this.listBoxTime.Size = new System.Drawing.Size(80, 540);
this.listBoxTime.TabIndex = 28;
this.listBoxTime.Text = "smartListBox1";
this.listBoxTime.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
//
// smartLabel8
//
this.smartLabel8.BackColor = System.Drawing.Color.Black;
this.smartLabel8.BackPictureBox = null;
this.smartLabel8.BackPictureBox1 = null;
this.smartLabel8.BackPictureBox2 = null;
this.smartLabel8.BorderColor = System.Drawing.Color.Black;
this.smartLabel8.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel8.ForeColor = System.Drawing.Color.White;
this.smartLabel8.InitVisible = true;
this.smartLabel8.LineSpacing = 0F;
this.smartLabel8.Location = new System.Drawing.Point(852, 5);
this.smartLabel8.Name = "smartLabel8";
this.smartLabel8.Size = new System.Drawing.Size(90, 30);
this.smartLabel8.TabIndex = 28;
this.smartLabel8.Text = "Type";
this.smartLabel8.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel8.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel8.Wordwrap = false;
//
// smartLabel7
//
this.smartLabel7.BackColor = System.Drawing.Color.Black;
this.smartLabel7.BackPictureBox = null;
this.smartLabel7.BackPictureBox1 = null;
this.smartLabel7.BackPictureBox2 = null;
this.smartLabel7.BorderColor = System.Drawing.Color.Black;
this.smartLabel7.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel7.ForeColor = System.Drawing.Color.White;
this.smartLabel7.InitVisible = true;
this.smartLabel7.LineSpacing = 0F;
this.smartLabel7.Location = new System.Drawing.Point(716, 5);
this.smartLabel7.Name = "smartLabel7";
this.smartLabel7.Size = new System.Drawing.Size(130, 30);
this.smartLabel7.TabIndex = 28;
this.smartLabel7.Text = "After";
this.smartLabel7.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel7.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel7.Wordwrap = false;
//
// smartLabel6
//
this.smartLabel6.BackColor = System.Drawing.Color.Black;
this.smartLabel6.BackPictureBox = null;
this.smartLabel6.BackPictureBox1 = null;
this.smartLabel6.BackPictureBox2 = null;
this.smartLabel6.BorderColor = System.Drawing.Color.Black;
this.smartLabel6.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel6.ForeColor = System.Drawing.Color.White;
this.smartLabel6.InitVisible = true;
this.smartLabel6.LineSpacing = 0F;
this.smartLabel6.Location = new System.Drawing.Point(580, 5);
this.smartLabel6.Name = "smartLabel6";
this.smartLabel6.Size = new System.Drawing.Size(130, 30);
this.smartLabel6.TabIndex = 28;
this.smartLabel6.Text = "Before";
this.smartLabel6.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel6.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel6.Wordwrap = false;
//
// smartLabel5
//
this.smartLabel5.BackColor = System.Drawing.Color.Black;
this.smartLabel5.BackPictureBox = null;
this.smartLabel5.BackPictureBox1 = null;
this.smartLabel5.BackPictureBox2 = null;
this.smartLabel5.BorderColor = System.Drawing.Color.Black;
this.smartLabel5.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel5.ForeColor = System.Drawing.Color.White;
this.smartLabel5.InitVisible = true;
this.smartLabel5.LineSpacing = 0F;
this.smartLabel5.Location = new System.Drawing.Point(394, 5);
this.smartLabel5.Name = "smartLabel5";
this.smartLabel5.Size = new System.Drawing.Size(180, 30);
this.smartLabel5.TabIndex = 28;
this.smartLabel5.Text = "Detail";
this.smartLabel5.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel5.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel5.Wordwrap = false;
//
// smartLabel4
//
this.smartLabel4.BackColor = System.Drawing.Color.Black;
this.smartLabel4.BackPictureBox = null;
this.smartLabel4.BackPictureBox1 = null;
this.smartLabel4.BackPictureBox2 = null;
this.smartLabel4.BorderColor = System.Drawing.Color.Black;
this.smartLabel4.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel4.ForeColor = System.Drawing.Color.White;
this.smartLabel4.InitVisible = true;
this.smartLabel4.LineSpacing = 0F;
this.smartLabel4.Location = new System.Drawing.Point(208, 5);
this.smartLabel4.Name = "smartLabel4";
this.smartLabel4.Size = new System.Drawing.Size(180, 30);
this.smartLabel4.TabIndex = 28;
this.smartLabel4.Text = "Event";
this.smartLabel4.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel4.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel4.Wordwrap = false;
//
// smartLabel3
//
this.smartLabel3.BackColor = System.Drawing.Color.Black;
this.smartLabel3.BackPictureBox = null;
this.smartLabel3.BackPictureBox1 = null;
this.smartLabel3.BackPictureBox2 = null;
this.smartLabel3.BorderColor = System.Drawing.Color.Black;
this.smartLabel3.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel3.ForeColor = System.Drawing.Color.White;
this.smartLabel3.InitVisible = true;
this.smartLabel3.LineSpacing = 0F;
this.smartLabel3.Location = new System.Drawing.Point(92, 5);
this.smartLabel3.Name = "smartLabel3";
this.smartLabel3.Size = new System.Drawing.Size(110, 30);
this.smartLabel3.TabIndex = 28;
this.smartLabel3.Text = "Login ID";
this.smartLabel3.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel3.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel3.Wordwrap = false;
//
// smartLabel2
//
this.smartLabel2.BackColor = System.Drawing.Color.Black;
this.smartLabel2.BackPictureBox = null;
this.smartLabel2.BackPictureBox1 = null;
this.smartLabel2.BackPictureBox2 = null;
this.smartLabel2.BorderColor = System.Drawing.Color.Black;
this.smartLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel2.ForeColor = System.Drawing.Color.White;
this.smartLabel2.InitVisible = true;
this.smartLabel2.LineSpacing = 0F;
this.smartLabel2.Location = new System.Drawing.Point(6, 5);
this.smartLabel2.Name = "smartLabel2";
this.smartLabel2.Size = new System.Drawing.Size(80, 30);
this.smartLabel2.TabIndex = 28;
this.smartLabel2.Text = "Time";
this.smartLabel2.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel2.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel2.Wordwrap = false;
//
// labelItemsCount
//
this.labelItemsCount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelItemsCount.BackPictureBox = null;
this.labelItemsCount.BackPictureBox1 = null;
this.labelItemsCount.BackPictureBox2 = null;
this.labelItemsCount.BorderColor = System.Drawing.Color.Black;
this.labelItemsCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelItemsCount.InitVisible = true;
this.labelItemsCount.LineSpacing = 0F;
this.labelItemsCount.Location = new System.Drawing.Point(6, 7);
this.labelItemsCount.Name = "labelItemsCount";
this.labelItemsCount.Size = new System.Drawing.Size(70, 30);
this.labelItemsCount.TabIndex = 31;
this.labelItemsCount.Text = "0 / 0 ";
this.labelItemsCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelItemsCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelItemsCount.Visible = false;
this.labelItemsCount.Wordwrap = false;
//
// smartLabel9
//
this.smartLabel9.BackPictureBox = this.smartForm1;
this.smartLabel9.BackPictureBox1 = null;
this.smartLabel9.BackPictureBox2 = null;
this.smartLabel9.BorderColor = System.Drawing.Color.Black;
this.smartLabel9.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel9.InitVisible = true;
this.smartLabel9.LineSpacing = 0F;
this.smartLabel9.Location = new System.Drawing.Point(845, 12);
this.smartLabel9.Name = "smartLabel9";
this.smartLabel9.Size = new System.Drawing.Size(80, 22);
this.smartLabel9.TabIndex = 28;
this.smartLabel9.Text = "FileName :";
this.smartLabel9.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.smartLabel9.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel9.Wordwrap = false;
//
// labelFileName
//
this.labelFileName.BackPictureBox = this.smartForm1;
this.labelFileName.BackPictureBox1 = null;
this.labelFileName.BackPictureBox2 = null;
this.labelFileName.BorderColor = System.Drawing.Color.Black;
this.labelFileName.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelFileName.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Bold);
this.labelFileName.InitVisible = true;
this.labelFileName.LineSpacing = 0F;
this.labelFileName.Location = new System.Drawing.Point(845, 40);
this.labelFileName.Name = "labelFileName";
this.labelFileName.Size = new System.Drawing.Size(170, 23);
this.labelFileName.TabIndex = 29;
this.labelFileName.Text = "FileName";
this.labelFileName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelFileName.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelFileName.Wordwrap = false;
//
// smartTimer1
//
this.smartTimer1.EndTime = ((long)(100000000000));
this.smartTimer1.Interval = 100;
this.smartTimer1.IntervalSeries = null;
this.smartTimer1.NowMillisecond = ((long)(0));
this.smartTimer1.StartTime = ((long)(0));
//
// labelFileReadElapsedTime
//
this.labelFileReadElapsedTime.BackPictureBox = this.smartForm1;
this.labelFileReadElapsedTime.BackPictureBox1 = null;
this.labelFileReadElapsedTime.BackPictureBox2 = null;
this.labelFileReadElapsedTime.BorderColor = System.Drawing.Color.Black;
this.labelFileReadElapsedTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelFileReadElapsedTime.InitVisible = true;
this.labelFileReadElapsedTime.LineSpacing = 0F;
this.labelFileReadElapsedTime.Location = new System.Drawing.Point(95, 687);
this.labelFileReadElapsedTime.Name = "labelFileReadElapsedTime";
this.labelFileReadElapsedTime.Size = new System.Drawing.Size(150, 30);
this.labelFileReadElapsedTime.TabIndex = 32;
this.labelFileReadElapsedTime.Text = "FileName";
this.labelFileReadElapsedTime.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelFileReadElapsedTime.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelFileReadElapsedTime.Visible = false;
this.labelFileReadElapsedTime.Wordwrap = false;
//
// labelRemainDataCount
//
this.labelRemainDataCount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(150)))), ((int)(((byte)(151)))));
this.labelRemainDataCount.BackPictureBox = null;
this.labelRemainDataCount.BackPictureBox1 = null;
this.labelRemainDataCount.BackPictureBox2 = null;
this.labelRemainDataCount.BorderColor = System.Drawing.Color.Black;
this.labelRemainDataCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelRemainDataCount.InitVisible = true;
this.labelRemainDataCount.LineSpacing = 0F;
this.labelRemainDataCount.Location = new System.Drawing.Point(6, 43);
this.labelRemainDataCount.Name = "labelRemainDataCount";
this.labelRemainDataCount.Size = new System.Drawing.Size(70, 20);
this.labelRemainDataCount.TabIndex = 32;
this.labelRemainDataCount.Text = "0 / 0 ";
this.labelRemainDataCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelRemainDataCount.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelRemainDataCount.Visible = false;
this.labelRemainDataCount.Wordwrap = false;
//
// labelDisplayUpdateElapsedTime
//
this.labelDisplayUpdateElapsedTime.BackPictureBox = this.smartForm1;
this.labelDisplayUpdateElapsedTime.BackPictureBox1 = null;
this.labelDisplayUpdateElapsedTime.BackPictureBox2 = null;
this.labelDisplayUpdateElapsedTime.BorderColor = System.Drawing.Color.Black;
this.labelDisplayUpdateElapsedTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelDisplayUpdateElapsedTime.InitVisible = true;
this.labelDisplayUpdateElapsedTime.LineSpacing = 0F;
this.labelDisplayUpdateElapsedTime.Location = new System.Drawing.Point(251, 687);
this.labelDisplayUpdateElapsedTime.Name = "labelDisplayUpdateElapsedTime";
this.labelDisplayUpdateElapsedTime.Size = new System.Drawing.Size(150, 30);
this.labelDisplayUpdateElapsedTime.TabIndex = 35;
this.labelDisplayUpdateElapsedTime.Text = "FileName";
this.labelDisplayUpdateElapsedTime.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelDisplayUpdateElapsedTime.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelDisplayUpdateElapsedTime.Visible = false;
this.labelDisplayUpdateElapsedTime.Wordwrap = false;
//
// buttonFilter
//
this.buttonFilter.BackPictureBox = null;
this.buttonFilter.BackPictureBox1 = null;
this.buttonFilter.BackPictureBox2 = null;
this.buttonFilter.ButtonColor = System.Drawing.Color.Gray;
this.buttonFilter.ButtonImageAutoSize = true;
this.buttonFilter.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonFilter.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonFilter.DisableImage")));
this.buttonFilter.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonFilter.DownImage")));
this.buttonFilter.GroupID = 0;
this.buttonFilter.InitVisible = true;
this.buttonFilter.Location = new System.Drawing.Point(744, 666);
this.buttonFilter.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonFilter.Name = "buttonFilter";
this.buttonFilter.NestedClickEventPrevent = false;
this.buttonFilter.OutlinePixel = 1;
this.buttonFilter.RepeatInterval = 200;
this.buttonFilter.RepeatIntervalAccelerate = null;
this.buttonFilter.SafeInterval = 200;
this.buttonFilter.Size = new System.Drawing.Size(84, 87);
this.buttonFilter.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonFilter.TabIndex = 41;
this.buttonFilter.TextColor = System.Drawing.Color.Black;
this.buttonFilter.TextDownColor = System.Drawing.Color.White;
this.buttonFilter.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonFilter.TextLocation = new System.Drawing.Point(0, 0);
this.buttonFilter.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonFilter.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonFilter.UpImage")));
this.buttonFilter.Visible = false;
this.buttonFilter.Click += new System.EventHandler(this.buttonFilter_Click);
//
// buttonSave
//
this.buttonSave.BackPictureBox = null;
this.buttonSave.BackPictureBox1 = null;
this.buttonSave.BackPictureBox2 = null;
this.buttonSave.ButtonColor = System.Drawing.Color.Gray;
this.buttonSave.ButtonImageAutoSize = true;
this.buttonSave.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonSave.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonSave.DisableImage")));
this.buttonSave.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonSave.DownImage")));
this.buttonSave.GroupID = 0;
this.buttonSave.InitVisible = true;
this.buttonSave.Location = new System.Drawing.Point(654, 666);
this.buttonSave.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonSave.Name = "buttonSave";
this.buttonSave.NestedClickEventPrevent = false;
this.buttonSave.OutlinePixel = 1;
this.buttonSave.RepeatInterval = 200;
this.buttonSave.RepeatIntervalAccelerate = null;
this.buttonSave.SafeInterval = 200;
this.buttonSave.Size = new System.Drawing.Size(84, 87);
this.buttonSave.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonSave.TabIndex = 40;
this.buttonSave.TextColor = System.Drawing.Color.Black;
this.buttonSave.TextDownColor = System.Drawing.Color.White;
this.buttonSave.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonSave.TextLocation = new System.Drawing.Point(0, 0);
this.buttonSave.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonSave.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonSave.UpImage")));
this.buttonSave.Visible = false;
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
//
// buttonFileSelect
//
this.buttonFileSelect.BackPictureBox = null;
this.buttonFileSelect.BackPictureBox1 = null;
this.buttonFileSelect.BackPictureBox2 = null;
this.buttonFileSelect.ButtonColor = System.Drawing.Color.Gray;
this.buttonFileSelect.ButtonImageAutoSize = true;
this.buttonFileSelect.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonFileSelect.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonFileSelect.DisableImage")));
this.buttonFileSelect.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonFileSelect.DownImage")));
this.buttonFileSelect.GroupID = 0;
this.buttonFileSelect.InitVisible = true;
this.buttonFileSelect.Location = new System.Drawing.Point(834, 666);
this.buttonFileSelect.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonFileSelect.Name = "buttonFileSelect";
this.buttonFileSelect.NestedClickEventPrevent = false;
this.buttonFileSelect.OutlinePixel = 1;
this.buttonFileSelect.RepeatInterval = 200;
this.buttonFileSelect.RepeatIntervalAccelerate = null;
this.buttonFileSelect.SafeInterval = 200;
this.buttonFileSelect.Size = new System.Drawing.Size(84, 87);
this.buttonFileSelect.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonFileSelect.TabIndex = 39;
this.buttonFileSelect.TextColor = System.Drawing.Color.Black;
this.buttonFileSelect.TextDownColor = System.Drawing.Color.White;
this.buttonFileSelect.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonFileSelect.TextLocation = new System.Drawing.Point(0, 0);
this.buttonFileSelect.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonFileSelect.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonFileSelect.UpImage")));
this.buttonFileSelect.Click += new System.EventHandler(this.buttonFileSelect_Click);
//
// buttonBack
//
this.buttonBack.BackPictureBox = null;
this.buttonBack.BackPictureBox1 = null;
this.buttonBack.BackPictureBox2 = null;
this.buttonBack.ButtonColor = System.Drawing.Color.Gray;
this.buttonBack.ButtonImageAutoSize = true;
this.buttonBack.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonBack.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.DisableImage")));
this.buttonBack.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.DownImage")));
this.buttonBack.GroupID = 0;
this.buttonBack.InitVisible = true;
this.buttonBack.Location = new System.Drawing.Point(924, 666);
this.buttonBack.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonBack.Name = "buttonBack";
this.buttonBack.NestedClickEventPrevent = false;
this.buttonBack.OutlinePixel = 1;
this.buttonBack.RepeatInterval = 200;
this.buttonBack.RepeatIntervalAccelerate = null;
this.buttonBack.SafeInterval = 200;
this.buttonBack.Size = new System.Drawing.Size(84, 87);
this.buttonBack.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonBack.TabIndex = 38;
this.buttonBack.TextColor = System.Drawing.Color.Black;
this.buttonBack.TextDownColor = System.Drawing.Color.White;
this.buttonBack.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonBack.TextLocation = new System.Drawing.Point(0, 0);
this.buttonBack.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonBack.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonBack.UpImage")));
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// FormDataViewer
//
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.buttonFilter);
this.Controls.Add(this.buttonSave);
this.Controls.Add(this.buttonFileSelect);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.labelItemsCount);
this.Controls.Add(this.labelDisplayUpdateElapsedTime);
this.Controls.Add(this.labelRemainDataCount);
this.Controls.Add(this.labelFileReadElapsedTime);
this.Controls.Add(this.labelFileName);
this.Controls.Add(this.panel1);
this.Controls.Add(this.smartLabel9);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.smartForm1);
this.Name = "FormDataViewer";
this.Text = "FormDataViewer";
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartForm smartForm1;
private SmartX.SmartLabel labelTitle;
private System.Windows.Forms.Panel panel1;
private SmartX.SmartLabel smartLabel8;
private SmartX.SmartLabel smartLabel7;
private SmartX.SmartLabel smartLabel6;
private SmartX.SmartLabel smartLabel5;
private SmartX.SmartLabel smartLabel4;
private SmartX.SmartLabel smartLabel3;
private SmartX.SmartLabel smartLabel2;
private SmartX.SmartListBox listBoxEvent;
private SmartX.SmartListBox listBoxType;
private SmartX.SmartListBox listBoxAfter;
private SmartX.SmartListBox listBoxBefore;
private SmartX.SmartListBox listBoxDetail;
private SmartX.SmartListBox listBoxLoginID;
private SmartX.SmartListBox listBoxTime;
private SmartX.SmartLabel labelItemsCount;
private SmartX.SmartLabel smartLabel9;
private SmartX.SmartLabel labelFileName;
private SmartX.SmartTimer smartTimer1;
private SmartX.SmartLabel labelFileReadElapsedTime;
private SmartX.SmartLabel labelRemainDataCount;
private SmartX.SmartLabel labelDisplayUpdateElapsedTime;
private SmartX.SmartLabel labelItemCount;
private SmartX.SmartLabel labelCurrentIndex;
private SmartX.SmartSeparatorLine smartSeparatorLine1;
private SmartX.SmartLabel labelTotalIndex;
private SmartX.SmartButton buttonDown;
private SmartX.SmartButton buttonUp;
private SmartX.SmartButton buttonFilter;
private SmartX.SmartButton buttonSave;
private SmartX.SmartButton buttonFileSelect;
private SmartX.SmartButton buttonBack;
}
}

View File

@ -0,0 +1,556 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using SmartX;
using INT63DC_ImageDll;
using INT63DC_2C.DialogForms;
namespace INT63DC_2C.Forms
{
public partial class FormDataViewer : Form
{
#region Field
private int m_SelectNodeIndex;
private int RemainCNT;
private int StartIndex;
private int DataRemainCNT;
private int DataAllCNT;
private static int ListBoxLineCount = 30; // 화면에 보여지는 listBox 줄 수
public bool IsFileOpen;
public string PathDestinationFileName;
private FormMain m_ParentForm;
private Collection<string[]> CollectionHistoryData; // 파일에서 읽은 데이터
private List<string> ListTime;
private List<string> ListLoginID;
private List<string> ListEvent;
private List<string> ListDetail;
private List<string> ListBefore;
private List<string> ListAfter;
private List<string> ListType;
#endregion
#region Constructor
public FormDataViewer(FormMain parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
this.InitializeControl();
}
#endregion
#region Property
public int SelectNodeIndex
{
get { return this.m_SelectNodeIndex; }
set { this.m_SelectNodeIndex = value; }
}
public FormMain ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void InitializeDesign()
{
ImageDll images = new ImageDll();
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
{
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.English)
{
this.labelTitle.Text = "Data viewer";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveUp));
this.buttonFilter.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFilterDisable));
this.buttonFilter.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFilterDown));
this.buttonFilter.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFilterUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
this.labelTitle.Text = "数据查看器";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveUp));
this.buttonFilter.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFilterDisable));
this.buttonFilter.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFilterDown));
this.buttonFilter.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFilterUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
this.labelTitle.Text = "Prohlížeč dat";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeSaveUp));
this.buttonFilter.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFilterDisable));
this.buttonFilter.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFilterDown));
this.buttonFilter.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFilterUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
this.labelTitle.Text = "Datenbetrachter";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerSaveUp));
this.buttonFilter.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFilterDisable));
this.buttonFilter.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFilterDown));
this.buttonFilter.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engFilterUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackUp));
}
else
{
}
}
private void InitializeControl()
{
this.ClearData();
}
private void DefaultSetting()
{
this.SelectNodeIndex = -1;
this.StartIndex = 0;
this.RemainCNT = 0;
this.DataRemainCNT = 0;
this.DataAllCNT = 0;
this.IsFileOpen = false;
this.PathDestinationFileName = "";
this.CollectionHistoryData = new Collection<string[]>();
//this.CollectionFileClassification = new Collection<List<string>>();
this.ListTime = new List<string>();
this.ListLoginID = new List<string>();
this.ListEvent = new List<string>();
this.ListDetail = new List<string>();
this.ListBefore = new List<string>();
this.ListAfter = new List<string>();
this.ListType = new List<string>();
}
private void ListBoxScrollDown()
{
this.listBoxTime.ScrollDown();
this.listBoxLoginID.ScrollDown();
this.listBoxEvent.ScrollDown();
this.listBoxDetail.ScrollDown();
this.listBoxBefore.ScrollDown();
this.listBoxAfter.ScrollDown();
this.listBoxType.ScrollDown();
this.ListBoxItemsCount();
}
private void ListBoxScrollDown(int value)
{
this.listBoxTime.ScrollDown(value);
this.listBoxLoginID.ScrollDown(value);
this.listBoxEvent.ScrollDown(value);
this.listBoxDetail.ScrollDown(value);
this.listBoxBefore.ScrollDown(value);
this.listBoxAfter.ScrollDown(value);
this.listBoxType.ScrollDown(value);
this.ListBoxItemsCount();
}
private void ListBoxScrollUp()
{
this.listBoxTime.ScrollUp();
this.listBoxLoginID.ScrollUp();
this.listBoxEvent.ScrollUp();
this.listBoxDetail.ScrollUp();
this.listBoxBefore.ScrollUp();
this.listBoxAfter.ScrollUp();
this.listBoxType.ScrollUp();
this.ListBoxItemsCount();
}
private void ListBoxScrollUp(int value)
{
this.listBoxTime.ScrollUp(value);
this.listBoxLoginID.ScrollUp(value);
this.listBoxEvent.ScrollUp(value);
this.listBoxDetail.ScrollUp(value);
this.listBoxBefore.ScrollUp(value);
this.listBoxAfter.ScrollUp(value);
this.listBoxType.ScrollUp(value);
this.ListBoxItemsCount();
}
private void ListBoxItemsCount()
{
if (this.listBoxTime.ItemCount == 0)
{
this.StartIndex = 0;
this.RemainCNT = 0;
this.DataRemainCNT = 0;
this.DataAllCNT = 0;
}
else
{
this.StartIndex = this.listBoxType.ViewStartItemIndex;
this.RemainCNT = this.listBoxType.ViewRemainCount;
}
this.labelItemsCount.Text = this.StartIndex.ToString() + " / " + this.RemainCNT.ToString();
this.labelRemainDataCount.Text = this.DataRemainCNT.ToString();
if (this.listBoxTime.ItemCount == 0)
this.labelItemCount.Text = "0 / 0";
else
this.labelItemCount.Text = (this.StartIndex + 29).ToString() + " / " + this.DataAllCNT.ToString();
}
private void UpdateDisplay()
{
int cnt = 0;
if (this.ListTime.Count > 50)
{
cnt = 50;
this.DataRemainCNT = this.ListTime.Count - 50;
}
else
cnt = this.ListTime.Count;
for (int i = 0; i < cnt; i++)
{
this.listBoxTime.AddItem(this.ListTime[i]);
this.listBoxLoginID.AddItem(this.ListLoginID[i]);
this.listBoxEvent.AddItem(this.ListEvent[i]);
this.listBoxDetail.AddItem(this.ListDetail[i]);
this.listBoxBefore.AddItem(this.ListBefore[i]);
this.listBoxAfter.AddItem(this.ListAfter[i]);
this.listBoxType.AddItem(this.ListType[i]);
}
this.ListBoxItemsCount();
}
private void UpdateDisplayAddListBox()
{
int index = 0, range = 0;
SmartX.SmartSplash splash;
// 화면 표시 로딩시간 타이머 on
this.smartTimer1.StartWatch();
splash = new SmartX.SmartSplash();
splash.CenterPosition = true;
splash.AnimationInterval = 100;
splash.LoadingImagePathname = "SmartLoading4";
splash.Start();
index = this.ListTime.Count - this.DataRemainCNT;
if (this.DataRemainCNT > 50)
{
range = index + 50;
for (int i = index; i < range; i++)
{
this.listBoxTime.AddItem(this.ListTime[i]);
this.listBoxLoginID.AddItem(this.ListLoginID[i]);
this.listBoxEvent.AddItem(this.ListEvent[i]);
this.listBoxDetail.AddItem(this.ListDetail[i]);
this.listBoxBefore.AddItem(this.ListBefore[i]);
this.listBoxAfter.AddItem(this.ListAfter[i]);
this.listBoxType.AddItem(this.ListType[i]);
}
this.DataRemainCNT = this.DataRemainCNT - 50;
}
else
{
for (int i = index; i < this.ListTime.Count; i++)
{
this.listBoxTime.AddItem(this.ListTime[i]);
this.listBoxLoginID.AddItem(this.ListLoginID[i]);
this.listBoxEvent.AddItem(this.ListEvent[i]);
this.listBoxDetail.AddItem(this.ListDetail[i]);
this.listBoxBefore.AddItem(this.ListBefore[i]);
this.listBoxAfter.AddItem(this.ListAfter[i]);
this.listBoxType.AddItem(this.ListType[i]);
}
this.DataRemainCNT = 0;
}
this.ListBoxItemsCount();
splash.Finish();
// 화면 표시 로딩시간 타이머 off
this.smartTimer1.StopWatch();
this.labelDisplayUpdateElapsedTime.Text = this.smartTimer1.StopWatchElapsedMicrosecond.ToString();
}
private void UpdateListItemByFilter(DataViewerFilter filter)
{
bool enable = false;
// List Item Add
for (int i = 0; i < this.CollectionHistoryData.Count; i++)
{
// 필터 적용
switch (this.CollectionHistoryData[i][7])
{
case "Alarm":
enable = filter.TypeAlarm;
break;
case "Operation":
enable = filter.TypeOperation;
break;
case "Parameter":
enable = filter.TypeParameter;
break;
default:
enable = false;
break;
}
if (enable == true)
{
this.ListTime.Add(this.CollectionHistoryData[i][1]);
this.ListLoginID.Add(this.CollectionHistoryData[i][2]);
this.ListEvent.Add(this.CollectionHistoryData[i][3]);
this.ListDetail.Add(this.CollectionHistoryData[i][4]);
this.ListBefore.Add(this.CollectionHistoryData[i][5]);
this.ListAfter.Add(this.CollectionHistoryData[i][6]);
this.ListType.Add(this.CollectionHistoryData[i][7]);
}
}
}
public int DataRead(string filePath)
{
//string path = "";
int ret = 0, flag = 0;
long count = 0;
SmartSplash splash;
splash = new SmartSplash();
splash.CenterPosition = true;
splash.AnimationInterval = 100;
splash.LoadingImagePathname = "SmartLoading4";
splash.Start();
this.ClearData();
this.CollectionHistoryData.Clear();
// 파일 로딩 시간 타이머 ON
this.smartTimer1.StartWatch();
this.ParentForm.smartFileIO.FilePathName = filePath;
this.ParentForm.smartFileIO.Open(2000000);
this.ParentForm.smartFileIO.ReadStringAllBuffer();
try
{
count = this.ParentForm.smartFileIO.GetCount();
for (int i = 0; i < count; i++)
{
if (flag == 100)
{
Thread.Sleep(5);
flag = 0;
}
this.CollectionHistoryData.Add(this.ParentForm.smartFileIO.ReadStringBuffer(i).Split(','));
flag++;
}
this.ParentForm.smartFileIO.Close();
this.CollectionHistoryData.RemoveAt(0);
this.DataAllCNT = this.CollectionHistoryData.Count;
// 파일 로딩 시간 타이머 off
this.smartTimer1.StopWatch();
this.labelFileReadElapsedTime.Text = this.smartTimer1.StopWatchElapsedMicrosecond.ToString();
// 화면 표시 로딩시간 타이머 on
this.smartTimer1.StartWatch();
// File Name
string[] data = filePath.Split('\\');
data = data[data.Length - 1].Split('.');
this.labelFileName.Text = data[0];
// List 갱신
this.UpdateListItemByFilter(this.ParentForm.CurrentDataViewerFilter);
// 화면 표시
this.UpdateDisplay();
// 화면 표시 로딩시간 타이머 off
this.smartTimer1.StopWatch();
this.labelDisplayUpdateElapsedTime.Text = this.smartTimer1.StopWatchElapsedMicrosecond.ToString();
this.CollectionHistoryData.Clear();
ret = 0;
splash.Finish();
}
catch
{
this.CollectionHistoryData.Clear();
ret = -1;
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(13, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
this.ParentForm.smartFileIO.Close();
}
return ret;
}
public void ClearData()
{
this.CollectionHistoryData.Clear();
this.listBoxTime.ClearAll();
this.listBoxLoginID.ClearAll();
this.listBoxEvent.ClearAll();
this.listBoxDetail.ClearAll();
this.listBoxBefore.ClearAll();
this.listBoxAfter.ClearAll();
this.listBoxType.ClearAll();
this.ListTime.Clear();
this.ListLoginID.Clear();
this.ListEvent.Clear();
this.ListDetail.Clear();
this.ListBefore.Clear();
this.ListAfter.Clear();
this.ListType.Clear();
}
public void DisplayRefresh()
{
this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormDataViewer;
this.labelFileName.Text = "";
this.ClearData();
this.ListBoxItemsCount();
}
#endregion
#region Event Handler
private void buttonBack_Click(object sender, EventArgs e)
{
this.ParentForm.ChildFormMenu.DisplayRefresh();
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormMenu);
}
private void buttonFileSelect_Click(object sender, EventArgs e)
{
this.SelectNodeIndex = -1;
DialogFormHistoryData form = new DialogFormHistoryData(this);
if (form.ShowDialog() == DialogResult.OK)
this.buttonSave.Enabled = true;
else
this.buttonSave.Enabled = false;
}
private void buttonSave_Click(object sender, EventArgs e)
{
}
private void buttonFilter_Click(object sender, EventArgs e)
{
DialogFormDataViewerFilter form = new DialogFormDataViewerFilter(this);
if (form.ShowDialog() == DialogResult.OK)
{
// 필터적용
this.ClearData();
this.UpdateListItemByFilter(this.ParentForm.CurrentDataViewerFilter);
this.UpdateDisplay();
}
}
private void buttonUp_Click(object sender, EventArgs e)
{
if (this.StartIndex == 0)
return;
if (this.StartIndex < 6)
this.ListBoxScrollUp();
else
this.ListBoxScrollUp(50);
}
private void buttonDown_Click(object sender, EventArgs e)
{
if (this.RemainCNT == 0)
{
if (this.DataRemainCNT != 0)
{
this.UpdateDisplayAddListBox();
}
return;
}
if (this.RemainCNT < 6)
{
this.ListBoxScrollDown();
if (this.listBoxTime.ViewRemainCount == 0)
this.ListBoxScrollDown(20);
}
else
this.ListBoxScrollDown(50);
}
private void listBox_SelectedIndexChanged(object sender, EventArgs e)
{
SmartListBox lb = sender as SmartListBox;
if (lb == null)
return;
this.listBoxTime.SelectItemIndex = lb.SelectItemIndex;
this.listBoxLoginID.SelectItemIndex = lb.SelectItemIndex;
this.listBoxEvent.SelectItemIndex = lb.SelectItemIndex;
this.listBoxDetail.SelectItemIndex = lb.SelectItemIndex;
this.listBoxBefore.SelectItemIndex = lb.SelectItemIndex;
this.listBoxAfter.SelectItemIndex = lb.SelectItemIndex;
this.listBoxType.SelectItemIndex = lb.SelectItemIndex;
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@ -76,6 +76,9 @@
this.labelStaticOrder = new SmartX.SmartLabel();
this.labelStaticLane = new SmartX.SmartLabel();
this.labelTitle = new SmartX.SmartLabel();
this.smartLabel6 = new SmartX.SmartLabel();
this.labelDataStoragePeriod = new SmartX.SmartLabel();
this.labelStaticDataStoragePeriod = new SmartX.SmartLabel();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.groupBoxSpecialMenu.SuspendLayout();
this.panel3.SuspendLayout();
@ -103,6 +106,9 @@
//
this.groupBoxSpecialMenu.BackPictureBox = this.smartForm1;
this.groupBoxSpecialMenu.BackPictureBox1 = null;
this.groupBoxSpecialMenu.Controls.Add(this.smartLabel6);
this.groupBoxSpecialMenu.Controls.Add(this.labelDataStoragePeriod);
this.groupBoxSpecialMenu.Controls.Add(this.labelStaticDataStoragePeriod);
this.groupBoxSpecialMenu.Controls.Add(this.panel3);
this.groupBoxSpecialMenu.Controls.Add(this.smartLabel1);
this.groupBoxSpecialMenu.Controls.Add(this.buttonFunction);
@ -161,7 +167,7 @@
//
// radioButtonCOM2
//
this.radioButtonCOM2.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonCOM2.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonCOM2.Location = new System.Drawing.Point(212, 3);
this.radioButtonCOM2.Name = "radioButtonCOM2";
this.radioButtonCOM2.Size = new System.Drawing.Size(189, 20);
@ -172,7 +178,7 @@
// radioButtonCOM1
//
this.radioButtonCOM1.Checked = true;
this.radioButtonCOM1.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonCOM1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonCOM1.Location = new System.Drawing.Point(20, 3);
this.radioButtonCOM1.Name = "radioButtonCOM1";
this.radioButtonCOM1.Size = new System.Drawing.Size(189, 20);
@ -187,12 +193,12 @@
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("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.smartLabel1.InitVisible = true;
this.smartLabel1.LineSpacing = 0F;
this.smartLabel1.Location = new System.Drawing.Point(120, 500);
this.smartLabel1.Location = new System.Drawing.Point(42, 500);
this.smartLabel1.Name = "smartLabel1";
this.smartLabel1.Size = new System.Drawing.Size(280, 25);
this.smartLabel1.Size = new System.Drawing.Size(358, 25);
this.smartLabel1.TabIndex = 259;
this.smartLabel1.Text = "COM PORT";
this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -259,13 +265,13 @@
this.labelStaticWeightLimitIgnoreCount.BackPictureBox2 = null;
this.labelStaticWeightLimitIgnoreCount.BorderColor = System.Drawing.Color.Black;
this.labelStaticWeightLimitIgnoreCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticWeightLimitIgnoreCount.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticWeightLimitIgnoreCount.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticWeightLimitIgnoreCount.ForeColor = System.Drawing.Color.Black;
this.labelStaticWeightLimitIgnoreCount.InitVisible = true;
this.labelStaticWeightLimitIgnoreCount.LineSpacing = 0F;
this.labelStaticWeightLimitIgnoreCount.Location = new System.Drawing.Point(120, 259);
this.labelStaticWeightLimitIgnoreCount.Location = new System.Drawing.Point(42, 259);
this.labelStaticWeightLimitIgnoreCount.Name = "labelStaticWeightLimitIgnoreCount";
this.labelStaticWeightLimitIgnoreCount.Size = new System.Drawing.Size(280, 25);
this.labelStaticWeightLimitIgnoreCount.Size = new System.Drawing.Size(358, 25);
this.labelStaticWeightLimitIgnoreCount.TabIndex = 252;
this.labelStaticWeightLimitIgnoreCount.Text = "중량 Limit - 무시수량";
this.labelStaticWeightLimitIgnoreCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -283,7 +289,7 @@
//
// radioButtonServoMotor
//
this.radioButtonServoMotor.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonServoMotor.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonServoMotor.Location = new System.Drawing.Point(212, 3);
this.radioButtonServoMotor.Name = "radioButtonServoMotor";
this.radioButtonServoMotor.Size = new System.Drawing.Size(189, 20);
@ -294,7 +300,7 @@
// radioButtonAcMotor
//
this.radioButtonAcMotor.Checked = true;
this.radioButtonAcMotor.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonAcMotor.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonAcMotor.Location = new System.Drawing.Point(20, 3);
this.radioButtonAcMotor.Name = "radioButtonAcMotor";
this.radioButtonAcMotor.Size = new System.Drawing.Size(189, 20);
@ -309,12 +315,12 @@
this.labelStaticMotor.BackPictureBox2 = null;
this.labelStaticMotor.BorderColor = System.Drawing.Color.Black;
this.labelStaticMotor.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticMotor.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticMotor.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticMotor.InitVisible = true;
this.labelStaticMotor.LineSpacing = 0F;
this.labelStaticMotor.Location = new System.Drawing.Point(120, 531);
this.labelStaticMotor.Location = new System.Drawing.Point(42, 531);
this.labelStaticMotor.Name = "labelStaticMotor";
this.labelStaticMotor.Size = new System.Drawing.Size(280, 25);
this.labelStaticMotor.Size = new System.Drawing.Size(358, 25);
this.labelStaticMotor.TabIndex = 249;
this.labelStaticMotor.Text = "모터";
this.labelStaticMotor.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -349,13 +355,13 @@
this.labelStaticEmptyWeight.BackPictureBox2 = null;
this.labelStaticEmptyWeight.BorderColor = System.Drawing.Color.Black;
this.labelStaticEmptyWeight.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticEmptyWeight.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticEmptyWeight.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticEmptyWeight.ForeColor = System.Drawing.Color.Black;
this.labelStaticEmptyWeight.InitVisible = true;
this.labelStaticEmptyWeight.LineSpacing = 0F;
this.labelStaticEmptyWeight.Location = new System.Drawing.Point(120, 228);
this.labelStaticEmptyWeight.Location = new System.Drawing.Point(42, 228);
this.labelStaticEmptyWeight.Name = "labelStaticEmptyWeight";
this.labelStaticEmptyWeight.Size = new System.Drawing.Size(280, 25);
this.labelStaticEmptyWeight.Size = new System.Drawing.Size(358, 25);
this.labelStaticEmptyWeight.TabIndex = 244;
this.labelStaticEmptyWeight.Text = "Empty 중량 설정";
this.labelStaticEmptyWeight.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -370,7 +376,7 @@
this.labelInfo3.BackPictureBox2 = null;
this.labelInfo3.BorderColor = System.Drawing.Color.Black;
this.labelInfo3.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelInfo3.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelInfo3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelInfo3.ForeColor = System.Drawing.Color.MediumBlue;
this.labelInfo3.InitVisible = true;
this.labelInfo3.LineSpacing = 0F;
@ -391,7 +397,7 @@
this.labelInfo2.BackPictureBox2 = null;
this.labelInfo2.BorderColor = System.Drawing.Color.Black;
this.labelInfo2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelInfo2.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelInfo2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelInfo2.ForeColor = System.Drawing.Color.MediumBlue;
this.labelInfo2.InitVisible = true;
this.labelInfo2.LineSpacing = 0F;
@ -412,7 +418,7 @@
this.labelInfo1.BackPictureBox2 = null;
this.labelInfo1.BorderColor = System.Drawing.Color.Black;
this.labelInfo1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelInfo1.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelInfo1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelInfo1.ForeColor = System.Drawing.Color.MediumBlue;
this.labelInfo1.InitVisible = true;
this.labelInfo1.LineSpacing = 0F;
@ -453,13 +459,13 @@
this.labelStaticSorter3Location.BackPictureBox2 = null;
this.labelStaticSorter3Location.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter3Location.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter3Location.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter3Location.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter3Location.ForeColor = System.Drawing.Color.Black;
this.labelStaticSorter3Location.InitVisible = true;
this.labelStaticSorter3Location.LineSpacing = 0F;
this.labelStaticSorter3Location.Location = new System.Drawing.Point(120, 197);
this.labelStaticSorter3Location.Location = new System.Drawing.Point(42, 197);
this.labelStaticSorter3Location.Name = "labelStaticSorter3Location";
this.labelStaticSorter3Location.Size = new System.Drawing.Size(280, 25);
this.labelStaticSorter3Location.Size = new System.Drawing.Size(358, 25);
this.labelStaticSorter3Location.TabIndex = 233;
this.labelStaticSorter3Location.Text = "선별기3 위치";
this.labelStaticSorter3Location.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -494,13 +500,13 @@
this.labelStaticSorter2Location.BackPictureBox2 = null;
this.labelStaticSorter2Location.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter2Location.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter2Location.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter2Location.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
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(42, 166);
this.labelStaticSorter2Location.Name = "labelStaticSorter2Location";
this.labelStaticSorter2Location.Size = new System.Drawing.Size(280, 25);
this.labelStaticSorter2Location.Size = new System.Drawing.Size(358, 25);
this.labelStaticSorter2Location.TabIndex = 229;
this.labelStaticSorter2Location.Text = "선별기2 위치";
this.labelStaticSorter2Location.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -535,13 +541,13 @@
this.labelStaticSorter1Location.BackPictureBox2 = null;
this.labelStaticSorter1Location.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter1Location.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter1Location.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter1Location.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
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(42, 135);
this.labelStaticSorter1Location.Name = "labelStaticSorter1Location";
this.labelStaticSorter1Location.Size = new System.Drawing.Size(280, 25);
this.labelStaticSorter1Location.Size = new System.Drawing.Size(358, 25);
this.labelStaticSorter1Location.TabIndex = 227;
this.labelStaticSorter1Location.Text = "선별기1 위치";
this.labelStaticSorter1Location.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -586,12 +592,12 @@
this.labelStaticLogin.BackPictureBox2 = null;
this.labelStaticLogin.BorderColor = System.Drawing.Color.Black;
this.labelStaticLogin.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticLogin.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
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, 290);
this.labelStaticLogin.Location = new System.Drawing.Point(42, 290);
this.labelStaticLogin.Name = "labelStaticLogin";
this.labelStaticLogin.Size = new System.Drawing.Size(280, 25);
this.labelStaticLogin.Size = new System.Drawing.Size(358, 25);
this.labelStaticLogin.TabIndex = 209;
this.labelStaticLogin.Text = "Login";
this.labelStaticLogin.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -675,7 +681,7 @@
//
// radioButtonLanguageJap
//
this.radioButtonLanguageJap.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageJap.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageJap.Location = new System.Drawing.Point(272, 27);
this.radioButtonLanguageJap.Name = "radioButtonLanguageJap";
this.radioButtonLanguageJap.Size = new System.Drawing.Size(120, 20);
@ -686,7 +692,7 @@
//
// radioButtonLanguageGerman
//
this.radioButtonLanguageGerman.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageGerman.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageGerman.Location = new System.Drawing.Point(146, 27);
this.radioButtonLanguageGerman.Name = "radioButtonLanguageGerman";
this.radioButtonLanguageGerman.Size = new System.Drawing.Size(120, 20);
@ -697,7 +703,7 @@
//
// radioButtonLanguageCzech
//
this.radioButtonLanguageCzech.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageCzech.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageCzech.Location = new System.Drawing.Point(20, 29);
this.radioButtonLanguageCzech.Name = "radioButtonLanguageCzech";
this.radioButtonLanguageCzech.Size = new System.Drawing.Size(120, 20);
@ -708,7 +714,7 @@
//
// radioButtonLanguageChinese
//
this.radioButtonLanguageChinese.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageChinese.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageChinese.Location = new System.Drawing.Point(272, 3);
this.radioButtonLanguageChinese.Name = "radioButtonLanguageChinese";
this.radioButtonLanguageChinese.Size = new System.Drawing.Size(120, 20);
@ -719,7 +725,7 @@
//
// radioButtonLanguageEnglish
//
this.radioButtonLanguageEnglish.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageEnglish.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageEnglish.Location = new System.Drawing.Point(146, 3);
this.radioButtonLanguageEnglish.Name = "radioButtonLanguageEnglish";
this.radioButtonLanguageEnglish.Size = new System.Drawing.Size(120, 20);
@ -731,7 +737,7 @@
// radioButtonLanguageKorean
//
this.radioButtonLanguageKorean.Checked = true;
this.radioButtonLanguageKorean.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageKorean.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonLanguageKorean.Location = new System.Drawing.Point(20, 3);
this.radioButtonLanguageKorean.Name = "radioButtonLanguageKorean";
this.radioButtonLanguageKorean.Size = new System.Drawing.Size(120, 20);
@ -750,7 +756,7 @@
//
// radioButtonWeightViewReverse
//
this.radioButtonWeightViewReverse.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonWeightViewReverse.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonWeightViewReverse.Location = new System.Drawing.Point(212, 3);
this.radioButtonWeightViewReverse.Name = "radioButtonWeightViewReverse";
this.radioButtonWeightViewReverse.Size = new System.Drawing.Size(189, 20);
@ -761,7 +767,7 @@
// radioButtonWeightViewForward
//
this.radioButtonWeightViewForward.Checked = true;
this.radioButtonWeightViewForward.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonWeightViewForward.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.radioButtonWeightViewForward.Location = new System.Drawing.Point(20, 3);
this.radioButtonWeightViewForward.Name = "radioButtonWeightViewForward";
this.radioButtonWeightViewForward.Size = new System.Drawing.Size(189, 20);
@ -777,7 +783,7 @@
this.labelBuadrateWarning2.BackPictureBox2 = null;
this.labelBuadrateWarning2.BorderColor = System.Drawing.Color.Black;
this.labelBuadrateWarning2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelBuadrateWarning2.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelBuadrateWarning2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelBuadrateWarning2.ForeColor = System.Drawing.Color.Red;
this.labelBuadrateWarning2.InitVisible = true;
this.labelBuadrateWarning2.LineSpacing = 0F;
@ -798,7 +804,7 @@
this.labelBuadrateWarning.BackPictureBox2 = null;
this.labelBuadrateWarning.BorderColor = System.Drawing.Color.Black;
this.labelBuadrateWarning.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelBuadrateWarning.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelBuadrateWarning.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelBuadrateWarning.ForeColor = System.Drawing.Color.Red;
this.labelBuadrateWarning.InitVisible = true;
this.labelBuadrateWarning.LineSpacing = 0F;
@ -818,12 +824,12 @@
this.labelStaticLanguage.BackPictureBox2 = null;
this.labelStaticLanguage.BorderColor = System.Drawing.Color.Black;
this.labelStaticLanguage.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticLanguage.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
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, 383);
this.labelStaticLanguage.Location = new System.Drawing.Point(42, 383);
this.labelStaticLanguage.Name = "labelStaticLanguage";
this.labelStaticLanguage.Size = new System.Drawing.Size(280, 25);
this.labelStaticLanguage.Size = new System.Drawing.Size(358, 25);
this.labelStaticLanguage.TabIndex = 129;
this.labelStaticLanguage.Text = "언어";
this.labelStaticLanguage.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -877,12 +883,12 @@
this.labelStaticIndividualNG.BackPictureBox2 = null;
this.labelStaticIndividualNG.BorderColor = System.Drawing.Color.Black;
this.labelStaticIndividualNG.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticIndividualNG.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
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, 321);
this.labelStaticIndividualNG.Location = new System.Drawing.Point(42, 321);
this.labelStaticIndividualNG.Name = "labelStaticIndividualNG";
this.labelStaticIndividualNG.Size = new System.Drawing.Size(280, 25);
this.labelStaticIndividualNG.Size = new System.Drawing.Size(358, 25);
this.labelStaticIndividualNG.TabIndex = 125;
this.labelStaticIndividualNG.Text = "개별 NG";
this.labelStaticIndividualNG.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -896,12 +902,12 @@
this.labelStaticOrder.BackPictureBox2 = null;
this.labelStaticOrder.BorderColor = System.Drawing.Color.Black;
this.labelStaticOrder.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticOrder.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
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, 352);
this.labelStaticOrder.Location = new System.Drawing.Point(42, 352);
this.labelStaticOrder.Name = "labelStaticOrder";
this.labelStaticOrder.Size = new System.Drawing.Size(280, 25);
this.labelStaticOrder.Size = new System.Drawing.Size(358, 25);
this.labelStaticOrder.TabIndex = 119;
this.labelStaticOrder.Text = "중량표시";
this.labelStaticOrder.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -915,12 +921,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("New Gulim", 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(42, 104);
this.labelStaticLane.Name = "labelStaticLane";
this.labelStaticLane.Size = new System.Drawing.Size(280, 25);
this.labelStaticLane.Size = new System.Drawing.Size(358, 25);
this.labelStaticLane.TabIndex = 119;
this.labelStaticLane.Text = "장비 열";
this.labelStaticLane.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
@ -934,7 +940,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(199, 7);
@ -946,6 +952,65 @@
this.labelTitle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitle.Wordwrap = false;
//
// smartLabel6
//
this.smartLabel6.BackPictureBox = this.smartForm1;
this.smartLabel6.BackPictureBox1 = null;
this.smartLabel6.BackPictureBox2 = null;
this.smartLabel6.BorderColor = System.Drawing.Color.Black;
this.smartLabel6.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel6.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.smartLabel6.InitVisible = true;
this.smartLabel6.LineSpacing = 0F;
this.smartLabel6.Location = new System.Drawing.Point(515, 439);
this.smartLabel6.Name = "smartLabel6";
this.smartLabel6.Size = new System.Drawing.Size(100, 25);
this.smartLabel6.TabIndex = 265;
this.smartLabel6.Text = "months";
this.smartLabel6.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.smartLabel6.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel6.Wordwrap = false;
//
// labelDataStoragePeriod
//
this.labelDataStoragePeriod.BackColor = System.Drawing.SystemColors.Window;
this.labelDataStoragePeriod.BackPictureBox = null;
this.labelDataStoragePeriod.BackPictureBox1 = null;
this.labelDataStoragePeriod.BackPictureBox2 = null;
this.labelDataStoragePeriod.BorderColor = System.Drawing.Color.Black;
this.labelDataStoragePeriod.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelDataStoragePeriod.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Bold);
this.labelDataStoragePeriod.InitVisible = true;
this.labelDataStoragePeriod.LineSpacing = 0F;
this.labelDataStoragePeriod.Location = new System.Drawing.Point(425, 439);
this.labelDataStoragePeriod.Name = "labelDataStoragePeriod";
this.labelDataStoragePeriod.Size = new System.Drawing.Size(84, 25);
this.labelDataStoragePeriod.TabIndex = 264;
this.labelDataStoragePeriod.Text = "100";
this.labelDataStoragePeriod.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelDataStoragePeriod.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelDataStoragePeriod.Wordwrap = false;
this.labelDataStoragePeriod.Click += new System.EventHandler(this.labelDataStoragePeriod_Click);
//
// labelStaticDataStoragePeriod
//
this.labelStaticDataStoragePeriod.BackPictureBox = this.smartForm1;
this.labelStaticDataStoragePeriod.BackPictureBox1 = null;
this.labelStaticDataStoragePeriod.BackPictureBox2 = null;
this.labelStaticDataStoragePeriod.BorderColor = System.Drawing.Color.Black;
this.labelStaticDataStoragePeriod.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticDataStoragePeriod.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticDataStoragePeriod.InitVisible = true;
this.labelStaticDataStoragePeriod.LineSpacing = 0F;
this.labelStaticDataStoragePeriod.Location = new System.Drawing.Point(42, 439);
this.labelStaticDataStoragePeriod.Name = "labelStaticDataStoragePeriod";
this.labelStaticDataStoragePeriod.Size = new System.Drawing.Size(358, 25);
this.labelStaticDataStoragePeriod.TabIndex = 263;
this.labelStaticDataStoragePeriod.Text = "데이터 저장 기한";
this.labelStaticDataStoragePeriod.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelStaticDataStoragePeriod.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelStaticDataStoragePeriod.Wordwrap = false;
//
// FormEquipmentSetting
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -1015,5 +1080,8 @@
public System.Windows.Forms.RadioButton radioButtonCOM1;
private SmartX.SmartLabel smartLabel1;
private System.Windows.Forms.RadioButton radioButtonLanguageJap;
private SmartX.SmartLabel smartLabel6;
public SmartX.SmartLabel labelDataStoragePeriod;
private SmartX.SmartLabel labelStaticDataStoragePeriod;
}
}

View File

@ -433,6 +433,9 @@ namespace INT63DC_2C.Forms
else
this.ParentForm.SystemConfig.Language = DataStore.LanguageID.Korean;
// 데이터 저장기간
this.ParentForm.SystemConfig.DataStoragePeriod = int.Parse(this.labelDataStoragePeriod.Text);
// COM Port
if (this.radioButtonCOM1.Checked == true)
this.ParentForm.SystemConfig.ComPort = "COM1";
@ -572,6 +575,26 @@ namespace INT63DC_2C.Forms
}
}
}
private void labelDataStoragePeriod_Click(object sender, EventArgs e)
{
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelDataStoragePeriod.Text, 2, 0, false, this.ParentForm.SystemConfig.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
if (myKeyPad.doubleValue < 1 || myKeyPad.doubleValue > 99)
{
// 입력범위를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
}
else
{
this.labelDataStoragePeriod.Text = myKeyPad.StringValue;
if (this.buttonSave.Visible != true)
this.buttonSave.Visible = true;
}
}
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@ -195,14 +195,14 @@ namespace INT63DC_2C.Forms
structItem2.DummyBool5 = false;
structItem2.DummyBool6 = false;
structItem2.DummyBool7 = false;
structItem2.DummyBool8 = false;
structItem2.IsOptPart11 = false;
structItem2.IsLeakSamplingOnce = false;
structItem2.IsSamplingOnce = this.ParentForm.SystemConfig.IsSamplingOnce;
structItem2.DummyInt1 = 0;
structItem2.DummyInt2 = 0;
structItem2.DummyInt3 = 0;
structItem2.DummyInt4 = 0;
structItem2.AutomaticLogout = 0;
structItem2.DataStoragePeriod = 0;
structItem2.LeakSamplingTime = 0;
structItem2.Sorter4Location = 0;
structItem2.ComRetryCNT = 0;
@ -228,9 +228,9 @@ namespace INT63DC_2C.Forms
structItem2.DummyString5 = "";
structItem2.DummyString6 = "";
structItem2.DummyString7 = "";
structItem2.DummyString8 = "";
structItem2.DummyString9 = "";
structItem2.DummyString10 = "";
structItem2.User_Level1_Name = "";
structItem2.User_Level2_Name = "";
structItem2.User_Level3_Name = "";
structItem2.DummyString11 = "";
structItem2.DummyString12 = "";

View File

@ -87,6 +87,15 @@
this.smartLabel5 = new SmartX.SmartLabel();
this.smartLabel6 = new SmartX.SmartLabel();
this.buttonScreen = new SmartX.SmartButton();
this.labelTitleDllSerialPortVer = new SmartX.SmartLabel();
this.labelTitleDllSerialPort = new SmartX.SmartLabel();
this.labelSerialPortVer = new SmartX.SmartLabel();
this.labelTitleDllAes128Ver = new SmartX.SmartLabel();
this.labelTitleDllUserMgrVer = new SmartX.SmartLabel();
this.labelTitleDllAes128 = new SmartX.SmartLabel();
this.labelTitleDllUserMgr = new SmartX.SmartLabel();
this.labelAes128Ver = new SmartX.SmartLabel();
this.labelUserMgerVer = new SmartX.SmartLabel();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.tabControlSpecialFunction.SuspendLayout();
this.tabPage1.SuspendLayout();
@ -110,7 +119,7 @@
// tabControlSpecialFunction
//
this.tabControlSpecialFunction.Controls.Add(this.tabPage1);
this.tabControlSpecialFunction.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.tabControlSpecialFunction.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.tabControlSpecialFunction.Location = new System.Drawing.Point(1055, 83);
this.tabControlSpecialFunction.Name = "tabControlSpecialFunction";
this.tabControlSpecialFunction.SelectedIndex = 0;
@ -166,7 +175,7 @@
this.labelSub16.BackPictureBox2 = null;
this.labelSub16.BorderColor = System.Drawing.Color.Black;
this.labelSub16.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub16.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub16.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub16.InitVisible = true;
this.labelSub16.LineSpacing = 0F;
this.labelSub16.Location = new System.Drawing.Point(33, 503);
@ -186,7 +195,7 @@
this.labelSub15.BackPictureBox2 = null;
this.labelSub15.BorderColor = System.Drawing.Color.Black;
this.labelSub15.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub15.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub15.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub15.InitVisible = true;
this.labelSub15.LineSpacing = 0F;
this.labelSub15.Location = new System.Drawing.Point(33, 472);
@ -246,7 +255,7 @@
this.labelSub14.BackPictureBox2 = null;
this.labelSub14.BorderColor = System.Drawing.Color.Black;
this.labelSub14.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub14.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub14.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub14.InitVisible = true;
this.labelSub14.LineSpacing = 0F;
this.labelSub14.Location = new System.Drawing.Point(33, 441);
@ -266,7 +275,7 @@
this.labelSub13.BackPictureBox2 = null;
this.labelSub13.BorderColor = System.Drawing.Color.Black;
this.labelSub13.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub13.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub13.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub13.InitVisible = true;
this.labelSub13.LineSpacing = 0F;
this.labelSub13.Location = new System.Drawing.Point(33, 410);
@ -326,7 +335,7 @@
this.labelSub12.BackPictureBox2 = null;
this.labelSub12.BorderColor = System.Drawing.Color.Black;
this.labelSub12.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub12.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub12.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub12.InitVisible = true;
this.labelSub12.LineSpacing = 0F;
this.labelSub12.Location = new System.Drawing.Point(33, 379);
@ -346,7 +355,7 @@
this.labelSub11.BackPictureBox2 = null;
this.labelSub11.BorderColor = System.Drawing.Color.Black;
this.labelSub11.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub11.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub11.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub11.InitVisible = true;
this.labelSub11.LineSpacing = 0F;
this.labelSub11.Location = new System.Drawing.Point(33, 348);
@ -406,7 +415,7 @@
this.labelSub1.BackPictureBox2 = null;
this.labelSub1.BorderColor = System.Drawing.Color.Black;
this.labelSub1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub1.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub1.InitVisible = true;
this.labelSub1.LineSpacing = 0F;
this.labelSub1.Location = new System.Drawing.Point(33, 38);
@ -486,7 +495,7 @@
this.labelSub10.BackPictureBox2 = null;
this.labelSub10.BorderColor = System.Drawing.Color.Black;
this.labelSub10.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub10.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub10.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub10.InitVisible = true;
this.labelSub10.LineSpacing = 0F;
this.labelSub10.Location = new System.Drawing.Point(33, 317);
@ -526,7 +535,7 @@
this.labelSub9.BackPictureBox2 = null;
this.labelSub9.BorderColor = System.Drawing.Color.Black;
this.labelSub9.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub9.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub9.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub9.InitVisible = true;
this.labelSub9.LineSpacing = 0F;
this.labelSub9.Location = new System.Drawing.Point(33, 286);
@ -566,7 +575,7 @@
this.labelSub8.BackPictureBox2 = null;
this.labelSub8.BorderColor = System.Drawing.Color.Black;
this.labelSub8.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub8.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub8.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub8.InitVisible = true;
this.labelSub8.LineSpacing = 0F;
this.labelSub8.Location = new System.Drawing.Point(33, 255);
@ -606,7 +615,7 @@
this.labelSub7.BackPictureBox2 = null;
this.labelSub7.BorderColor = System.Drawing.Color.Black;
this.labelSub7.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub7.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub7.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub7.InitVisible = true;
this.labelSub7.LineSpacing = 0F;
this.labelSub7.Location = new System.Drawing.Point(33, 224);
@ -646,7 +655,7 @@
this.labelSub6.BackPictureBox2 = null;
this.labelSub6.BorderColor = System.Drawing.Color.Black;
this.labelSub6.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub6.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub6.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub6.InitVisible = true;
this.labelSub6.LineSpacing = 0F;
this.labelSub6.Location = new System.Drawing.Point(33, 193);
@ -686,7 +695,7 @@
this.labelSub5.BackPictureBox2 = null;
this.labelSub5.BorderColor = System.Drawing.Color.Black;
this.labelSub5.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub5.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub5.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub5.InitVisible = true;
this.labelSub5.LineSpacing = 0F;
this.labelSub5.Location = new System.Drawing.Point(33, 162);
@ -726,7 +735,7 @@
this.labelSub4.BackPictureBox2 = null;
this.labelSub4.BorderColor = System.Drawing.Color.Black;
this.labelSub4.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub4.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub4.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub4.InitVisible = true;
this.labelSub4.LineSpacing = 0F;
this.labelSub4.Location = new System.Drawing.Point(33, 131);
@ -746,7 +755,7 @@
this.labelSub2.BackPictureBox2 = null;
this.labelSub2.BorderColor = System.Drawing.Color.Black;
this.labelSub2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub2.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub2.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub2.InitVisible = true;
this.labelSub2.LineSpacing = 0F;
this.labelSub2.Location = new System.Drawing.Point(33, 69);
@ -786,7 +795,7 @@
this.labelSub3.BackPictureBox2 = null;
this.labelSub3.BorderColor = System.Drawing.Color.Black;
this.labelSub3.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSub3.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelSub3.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSub3.InitVisible = true;
this.labelSub3.LineSpacing = 0F;
this.labelSub3.Location = new System.Drawing.Point(33, 100);
@ -800,7 +809,7 @@
//
// buttonSubBoardVersion
//
this.buttonSubBoardVersion.Font = new System.Drawing.Font("New Gulim", 11F, System.Drawing.FontStyle.Bold);
this.buttonSubBoardVersion.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold);
this.buttonSubBoardVersion.Location = new System.Drawing.Point(153, 3);
this.buttonSubBoardVersion.Name = "buttonSubBoardVersion";
this.buttonSubBoardVersion.Size = new System.Drawing.Size(100, 30);
@ -861,7 +870,7 @@
this.labelInfo2.BackPictureBox2 = null;
this.labelInfo2.BorderColor = System.Drawing.Color.Black;
this.labelInfo2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelInfo2.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold);
this.labelInfo2.Font = new System.Drawing.Font("새굴림", 18F, System.Drawing.FontStyle.Bold);
this.labelInfo2.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.labelInfo2.InitVisible = true;
this.labelInfo2.LineSpacing = 0F;
@ -881,7 +890,7 @@
this.labelStaticDisplayVer.BackPictureBox2 = null;
this.labelStaticDisplayVer.BorderColor = System.Drawing.Color.Black;
this.labelStaticDisplayVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticDisplayVer.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelStaticDisplayVer.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelStaticDisplayVer.InitVisible = true;
this.labelStaticDisplayVer.LineSpacing = 0F;
this.labelStaticDisplayVer.Location = new System.Drawing.Point(224, 202);
@ -900,7 +909,7 @@
this.labelSerialNo.BackPictureBox2 = null;
this.labelSerialNo.BorderColor = System.Drawing.Color.Black;
this.labelSerialNo.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSerialNo.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelSerialNo.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelSerialNo.InitVisible = true;
this.labelSerialNo.LineSpacing = 0F;
this.labelSerialNo.Location = new System.Drawing.Point(380, 168);
@ -920,7 +929,7 @@
this.labelMainControlVer.BackPictureBox2 = null;
this.labelMainControlVer.BorderColor = System.Drawing.Color.Black;
this.labelMainControlVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelMainControlVer.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelMainControlVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelMainControlVer.InitVisible = true;
this.labelMainControlVer.LineSpacing = 0F;
this.labelMainControlVer.Location = new System.Drawing.Point(557, 233);
@ -939,7 +948,7 @@
this.labelStaticSerialNo.BackPictureBox2 = null;
this.labelStaticSerialNo.BorderColor = System.Drawing.Color.Black;
this.labelStaticSerialNo.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSerialNo.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelStaticSerialNo.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelStaticSerialNo.InitVisible = true;
this.labelStaticSerialNo.LineSpacing = 0F;
this.labelStaticSerialNo.Location = new System.Drawing.Point(224, 168);
@ -958,7 +967,7 @@
this.labelStaticMainboardVer.BackPictureBox2 = null;
this.labelStaticMainboardVer.BorderColor = System.Drawing.Color.Black;
this.labelStaticMainboardVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticMainboardVer.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.labelStaticMainboardVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelStaticMainboardVer.InitVisible = true;
this.labelStaticMainboardVer.LineSpacing = 0F;
this.labelStaticMainboardVer.Location = new System.Drawing.Point(224, 233);
@ -977,7 +986,7 @@
this.labelDisplayVer.BackPictureBox2 = null;
this.labelDisplayVer.BorderColor = System.Drawing.Color.Black;
this.labelDisplayVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelDisplayVer.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelDisplayVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelDisplayVer.InitVisible = true;
this.labelDisplayVer.LineSpacing = 0F;
this.labelDisplayVer.Location = new System.Drawing.Point(557, 202);
@ -996,7 +1005,7 @@
this.labelCompany.BackPictureBox2 = null;
this.labelCompany.BorderColor = System.Drawing.Color.Black;
this.labelCompany.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelCompany.Font = new System.Drawing.Font("New Gulim", 24F, System.Drawing.FontStyle.Bold);
this.labelCompany.Font = new System.Drawing.Font("새굴림", 24F, System.Drawing.FontStyle.Bold);
this.labelCompany.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.labelCompany.InitVisible = true;
this.labelCompany.LineSpacing = 0F;
@ -1016,7 +1025,7 @@
this.labelWebsite.BackPictureBox2 = null;
this.labelWebsite.BorderColor = System.Drawing.Color.Black;
this.labelWebsite.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelWebsite.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelWebsite.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelWebsite.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.labelWebsite.InitVisible = true;
this.labelWebsite.LineSpacing = 0F;
@ -1036,7 +1045,7 @@
this.labelAddress1.BackPictureBox2 = null;
this.labelAddress1.BorderColor = System.Drawing.Color.Black;
this.labelAddress1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelAddress1.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelAddress1.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelAddress1.ForeColor = System.Drawing.Color.DarkOliveGreen;
this.labelAddress1.InitVisible = true;
this.labelAddress1.LineSpacing = 0F;
@ -1056,7 +1065,7 @@
this.labelEmail.BackPictureBox2 = null;
this.labelEmail.BorderColor = System.Drawing.Color.Black;
this.labelEmail.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelEmail.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelEmail.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelEmail.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.labelEmail.InitVisible = true;
this.labelEmail.LineSpacing = 0F;
@ -1076,7 +1085,7 @@
this.labelTelNumber.BackPictureBox2 = null;
this.labelTelNumber.BorderColor = System.Drawing.Color.Black;
this.labelTelNumber.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTelNumber.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelTelNumber.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelTelNumber.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.labelTelNumber.InitVisible = true;
this.labelTelNumber.LineSpacing = 0F;
@ -1096,7 +1105,7 @@
this.labelAddress2.BackPictureBox2 = null;
this.labelAddress2.BorderColor = System.Drawing.Color.Black;
this.labelAddress2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelAddress2.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelAddress2.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelAddress2.ForeColor = System.Drawing.Color.DarkOliveGreen;
this.labelAddress2.InitVisible = true;
this.labelAddress2.LineSpacing = 0F;
@ -1147,7 +1156,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(199, 7);
@ -1166,7 +1175,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.InitVisible = true;
this.smartLabel2.LineSpacing = 0F;
this.smartLabel2.Location = new System.Drawing.Point(380, 233);
@ -1185,7 +1194,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(380, 202);
@ -1204,7 +1213,7 @@
this.smartLabel5.BackPictureBox2 = null;
this.smartLabel5.BorderColor = System.Drawing.Color.Black;
this.smartLabel5.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel5.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.smartLabel5.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.smartLabel5.InitVisible = true;
this.smartLabel5.LineSpacing = 0F;
this.smartLabel5.Location = new System.Drawing.Point(516, 233);
@ -1223,7 +1232,7 @@
this.smartLabel6.BackPictureBox2 = null;
this.smartLabel6.BorderColor = System.Drawing.Color.Black;
this.smartLabel6.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel6.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold);
this.smartLabel6.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.smartLabel6.InitVisible = true;
this.smartLabel6.LineSpacing = 0F;
this.smartLabel6.Location = new System.Drawing.Point(516, 202);
@ -1266,12 +1275,201 @@
this.buttonScreen.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonScreen.UpImage")));
this.buttonScreen.Click += new System.EventHandler(this.buttonScreen_Click);
//
// labelTitleDllSerialPortVer
//
this.labelTitleDllSerialPortVer.BackPictureBox = this.smartForm1;
this.labelTitleDllSerialPortVer.BackPictureBox1 = null;
this.labelTitleDllSerialPortVer.BackPictureBox2 = null;
this.labelTitleDllSerialPortVer.BorderColor = System.Drawing.Color.Black;
this.labelTitleDllSerialPortVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDllSerialPortVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleDllSerialPortVer.InitVisible = true;
this.labelTitleDllSerialPortVer.LineSpacing = 0F;
this.labelTitleDllSerialPortVer.Location = new System.Drawing.Point(799, 171);
this.labelTitleDllSerialPortVer.Name = "labelTitleDllSerialPortVer";
this.labelTitleDllSerialPortVer.Size = new System.Drawing.Size(35, 25);
this.labelTitleDllSerialPortVer.TabIndex = 283;
this.labelTitleDllSerialPortVer.Text = "Ver";
this.labelTitleDllSerialPortVer.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleDllSerialPortVer.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDllSerialPortVer.Visible = false;
this.labelTitleDllSerialPortVer.Wordwrap = false;
//
// labelTitleDllSerialPort
//
this.labelTitleDllSerialPort.BackPictureBox = this.smartForm1;
this.labelTitleDllSerialPort.BackPictureBox1 = null;
this.labelTitleDllSerialPort.BackPictureBox2 = null;
this.labelTitleDllSerialPort.BorderColor = System.Drawing.Color.Black;
this.labelTitleDllSerialPort.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDllSerialPort.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleDllSerialPort.InitVisible = true;
this.labelTitleDllSerialPort.LineSpacing = 0F;
this.labelTitleDllSerialPort.Location = new System.Drawing.Point(693, 171);
this.labelTitleDllSerialPort.Name = "labelTitleDllSerialPort";
this.labelTitleDllSerialPort.Size = new System.Drawing.Size(100, 25);
this.labelTitleDllSerialPort.TabIndex = 282;
this.labelTitleDllSerialPort.Text = "DllSerial";
this.labelTitleDllSerialPort.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleDllSerialPort.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDllSerialPort.Visible = false;
this.labelTitleDllSerialPort.Wordwrap = false;
//
// labelSerialPortVer
//
this.labelSerialPortVer.BackPictureBox = this.smartForm1;
this.labelSerialPortVer.BackPictureBox1 = null;
this.labelSerialPortVer.BackPictureBox2 = null;
this.labelSerialPortVer.BorderColor = System.Drawing.Color.Black;
this.labelSerialPortVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelSerialPortVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelSerialPortVer.InitVisible = true;
this.labelSerialPortVer.LineSpacing = 0F;
this.labelSerialPortVer.Location = new System.Drawing.Point(840, 171);
this.labelSerialPortVer.Name = "labelSerialPortVer";
this.labelSerialPortVer.Size = new System.Drawing.Size(80, 25);
this.labelSerialPortVer.TabIndex = 281;
this.labelSerialPortVer.Text = "1.0";
this.labelSerialPortVer.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelSerialPortVer.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelSerialPortVer.Visible = false;
this.labelSerialPortVer.Wordwrap = false;
//
// labelTitleDllAes128Ver
//
this.labelTitleDllAes128Ver.BackPictureBox = this.smartForm1;
this.labelTitleDllAes128Ver.BackPictureBox1 = null;
this.labelTitleDllAes128Ver.BackPictureBox2 = null;
this.labelTitleDllAes128Ver.BorderColor = System.Drawing.Color.Black;
this.labelTitleDllAes128Ver.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDllAes128Ver.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleDllAes128Ver.InitVisible = true;
this.labelTitleDllAes128Ver.LineSpacing = 0F;
this.labelTitleDllAes128Ver.Location = new System.Drawing.Point(799, 233);
this.labelTitleDllAes128Ver.Name = "labelTitleDllAes128Ver";
this.labelTitleDllAes128Ver.Size = new System.Drawing.Size(35, 25);
this.labelTitleDllAes128Ver.TabIndex = 279;
this.labelTitleDllAes128Ver.Text = "Ver";
this.labelTitleDllAes128Ver.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleDllAes128Ver.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDllAes128Ver.Visible = false;
this.labelTitleDllAes128Ver.Wordwrap = false;
//
// labelTitleDllUserMgrVer
//
this.labelTitleDllUserMgrVer.BackPictureBox = this.smartForm1;
this.labelTitleDllUserMgrVer.BackPictureBox1 = null;
this.labelTitleDllUserMgrVer.BackPictureBox2 = null;
this.labelTitleDllUserMgrVer.BorderColor = System.Drawing.Color.Black;
this.labelTitleDllUserMgrVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDllUserMgrVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleDllUserMgrVer.InitVisible = true;
this.labelTitleDllUserMgrVer.LineSpacing = 0F;
this.labelTitleDllUserMgrVer.Location = new System.Drawing.Point(799, 202);
this.labelTitleDllUserMgrVer.Name = "labelTitleDllUserMgrVer";
this.labelTitleDllUserMgrVer.Size = new System.Drawing.Size(35, 25);
this.labelTitleDllUserMgrVer.TabIndex = 280;
this.labelTitleDllUserMgrVer.Text = "Ver";
this.labelTitleDllUserMgrVer.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleDllUserMgrVer.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDllUserMgrVer.Visible = false;
this.labelTitleDllUserMgrVer.Wordwrap = false;
//
// labelTitleDllAes128
//
this.labelTitleDllAes128.BackPictureBox = this.smartForm1;
this.labelTitleDllAes128.BackPictureBox1 = null;
this.labelTitleDllAes128.BackPictureBox2 = null;
this.labelTitleDllAes128.BorderColor = System.Drawing.Color.Black;
this.labelTitleDllAes128.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDllAes128.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleDllAes128.InitVisible = true;
this.labelTitleDllAes128.LineSpacing = 0F;
this.labelTitleDllAes128.Location = new System.Drawing.Point(693, 233);
this.labelTitleDllAes128.Name = "labelTitleDllAes128";
this.labelTitleDllAes128.Size = new System.Drawing.Size(100, 25);
this.labelTitleDllAes128.TabIndex = 277;
this.labelTitleDllAes128.Text = "DllAes128 ";
this.labelTitleDllAes128.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleDllAes128.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDllAes128.Visible = false;
this.labelTitleDllAes128.Wordwrap = false;
//
// labelTitleDllUserMgr
//
this.labelTitleDllUserMgr.BackPictureBox = this.smartForm1;
this.labelTitleDllUserMgr.BackPictureBox1 = null;
this.labelTitleDllUserMgr.BackPictureBox2 = null;
this.labelTitleDllUserMgr.BorderColor = System.Drawing.Color.Black;
this.labelTitleDllUserMgr.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleDllUserMgr.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleDllUserMgr.InitVisible = true;
this.labelTitleDllUserMgr.LineSpacing = 0F;
this.labelTitleDllUserMgr.Location = new System.Drawing.Point(693, 202);
this.labelTitleDllUserMgr.Name = "labelTitleDllUserMgr";
this.labelTitleDllUserMgr.Size = new System.Drawing.Size(100, 25);
this.labelTitleDllUserMgr.TabIndex = 278;
this.labelTitleDllUserMgr.Text = "DllUserMgr ";
this.labelTitleDllUserMgr.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleDllUserMgr.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleDllUserMgr.Visible = false;
this.labelTitleDllUserMgr.Wordwrap = false;
//
// labelAes128Ver
//
this.labelAes128Ver.BackPictureBox = this.smartForm1;
this.labelAes128Ver.BackPictureBox1 = null;
this.labelAes128Ver.BackPictureBox2 = null;
this.labelAes128Ver.BorderColor = System.Drawing.Color.Black;
this.labelAes128Ver.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelAes128Ver.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelAes128Ver.InitVisible = true;
this.labelAes128Ver.LineSpacing = 0F;
this.labelAes128Ver.Location = new System.Drawing.Point(840, 233);
this.labelAes128Ver.Name = "labelAes128Ver";
this.labelAes128Ver.Size = new System.Drawing.Size(80, 25);
this.labelAes128Ver.TabIndex = 276;
this.labelAes128Ver.Text = "1.0";
this.labelAes128Ver.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelAes128Ver.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelAes128Ver.Visible = false;
this.labelAes128Ver.Wordwrap = false;
//
// labelUserMgerVer
//
this.labelUserMgerVer.BackPictureBox = this.smartForm1;
this.labelUserMgerVer.BackPictureBox1 = null;
this.labelUserMgerVer.BackPictureBox2 = null;
this.labelUserMgerVer.BorderColor = System.Drawing.Color.Black;
this.labelUserMgerVer.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserMgerVer.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelUserMgerVer.InitVisible = true;
this.labelUserMgerVer.LineSpacing = 0F;
this.labelUserMgerVer.Location = new System.Drawing.Point(840, 202);
this.labelUserMgerVer.Name = "labelUserMgerVer";
this.labelUserMgerVer.Size = new System.Drawing.Size(80, 25);
this.labelUserMgerVer.TabIndex = 275;
this.labelUserMgerVer.Text = "1.0";
this.labelUserMgerVer.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelUserMgerVer.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelUserMgerVer.Visible = false;
this.labelUserMgerVer.Wordwrap = false;
//
// FormInformation
//
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.labelTitleDllSerialPortVer);
this.Controls.Add(this.labelTitleDllSerialPort);
this.Controls.Add(this.labelSerialPortVer);
this.Controls.Add(this.labelTitleDllAes128Ver);
this.Controls.Add(this.labelTitleDllUserMgrVer);
this.Controls.Add(this.labelTitleDllAes128);
this.Controls.Add(this.labelTitleDllUserMgr);
this.Controls.Add(this.labelAes128Ver);
this.Controls.Add(this.labelUserMgerVer);
this.Controls.Add(this.textBoxSerialNo);
this.Controls.Add(this.buttonScreen);
this.Controls.Add(this.smartLabel5);
@ -1365,5 +1563,14 @@
private SmartX.SmartLabel labelSub13;
private SmartX.SmartLabel labelSubBoardVersion14;
private SmartX.SmartLabel labelSubBoardVersion13;
public SmartX.SmartLabel labelTitleDllSerialPortVer;
public SmartX.SmartLabel labelTitleDllSerialPort;
public SmartX.SmartLabel labelSerialPortVer;
public SmartX.SmartLabel labelTitleDllAes128Ver;
public SmartX.SmartLabel labelTitleDllUserMgrVer;
public SmartX.SmartLabel labelTitleDllAes128;
public SmartX.SmartLabel labelTitleDllUserMgr;
public SmartX.SmartLabel labelAes128Ver;
public SmartX.SmartLabel labelUserMgerVer;
}
}

View File

@ -12,6 +12,7 @@ using System.Windows.Forms;
using SmartX;
using INT63DC_2C.DialogForms;
using INT63DC_ImageDll;
using System.Threading;
namespace INT63DC_2C.Forms
{
@ -393,6 +394,30 @@ namespace INT63DC_2C.Forms
this.labelMainControlVer.Text = "-";
}
private bool UI_Invoke(ThreadStart invoker)
{
try
{
if (this.InvokeRequired)
{
if (this.IsDisposed)
return true;
this.Invoke(invoker);
}
else
{
invoker();
}
return true;
}
catch (Exception e)
{
return false;
}
}
private void CreateASInfo()
{
@ -495,6 +520,26 @@ namespace INT63DC_2C.Forms
this.CollectionControlVerLabel[i].Text = sb.ToString();
}
}
public void UpdatePart11UserManagerVersionDisplay(string ver)
{
this.UI_Invoke(delegate
{
this.labelUserMgerVer.Text = ver;
this.labelTitleDllUserMgr.Visible = true;
this.labelTitleDllUserMgrVer.Visible = true;
this.labelUserMgerVer.Visible = true;
});
}
public void UpdatePart11AesEncryptionVersionDisplay(string ver)
{
this.UI_Invoke(delegate
{
this.labelAes128Ver.Text = ver;
this.labelTitleDllAes128.Visible = true;
this.labelTitleDllAes128Ver.Visible = true;
this.labelAes128Ver.Visible = true;
});
}
public void DisplayRefresh()
{
@ -517,7 +562,7 @@ namespace INT63DC_2C.Forms
#region Event Handler
private void labelSerialNo_Click(object sender, EventArgs e)
{
if (ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.textBoxSerialNo.Visible = true;
this.textBoxSerialNo.BringToFront();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -106,8 +106,6 @@
this.labelAlarm2ErrorCode = new SmartX.SmartLabel();
this.buttonAlarm2OK = new SmartX.SmartButton();
this.labelTimeroutCount = new SmartX.SmartLabel();
this.labelUserID = new SmartX.SmartLabel();
this.labelUserLevel = new SmartX.SmartLabel();
this.labelTitleScreen = new SmartX.SmartLabel();
this.labelTitleNG = new SmartX.SmartLabel();
this.labelTitleTotalCount = new SmartX.SmartLabel();
@ -163,6 +161,9 @@
this.buttonLeakSamplingOnce = new SmartX.SmartButton();
this.labelLeakSamplingTime = new SmartX.SmartLabel();
this.smartTimerLeakRunDelay = new SmartX.SmartTimer(this.components);
this.labelExpireOfPassword = new SmartX.SmartLabel();
this.labelUserID = new SmartX.SmartLabel();
this.labelUserLevel = new SmartX.SmartLabel();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.panelSetting.SuspendLayout();
this.groupBoxJudgmentSetting.SuspendLayout();
@ -236,7 +237,7 @@
this.labelProductName.LineSpacing = 0F;
this.labelProductName.Location = new System.Drawing.Point(126, 29);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(365, 39);
this.labelProductName.Size = new System.Drawing.Size(323, 39);
this.labelProductName.TabIndex = 2;
this.labelProductName.Text = "ABCDEFGHABCDEFGHABCDEFGH";
this.labelProductName.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
@ -273,7 +274,7 @@
this.labelLotNo.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Bold);
this.labelLotNo.InitVisible = true;
this.labelLotNo.LineSpacing = 0F;
this.labelLotNo.Location = new System.Drawing.Point(497, 29);
this.labelLotNo.Location = new System.Drawing.Point(455, 29);
this.labelLotNo.Name = "labelLotNo";
this.labelLotNo.Size = new System.Drawing.Size(200, 39);
this.labelLotNo.TabIndex = 429;
@ -735,7 +736,7 @@
this.groupBoxJudgmentSetting.Controls.Add(this.labelFilter);
this.groupBoxJudgmentSetting.Controls.Add(this.labelStaticJudgmentDelayTime);
this.groupBoxJudgmentSetting.Controls.Add(this.labelJudgmentCount);
this.groupBoxJudgmentSetting.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.groupBoxJudgmentSetting.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.groupBoxJudgmentSetting.ForeColor = System.Drawing.Color.White;
this.groupBoxJudgmentSetting.FrameLineColor1 = System.Drawing.Color.Black;
this.groupBoxJudgmentSetting.FrameLineColor2 = System.Drawing.Color.Black;
@ -780,7 +781,7 @@
this.labelStaticTurnDelayTime.BackPictureBox2 = null;
this.labelStaticTurnDelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticTurnDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticTurnDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticTurnDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticTurnDelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticTurnDelayTime.InitVisible = true;
this.labelStaticTurnDelayTime.LineSpacing = 0F;
@ -822,7 +823,7 @@
this.labelStaticForcedZeroDelayTime.BackPictureBox2 = null;
this.labelStaticForcedZeroDelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticForcedZeroDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticForcedZeroDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticForcedZeroDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticForcedZeroDelayTime.ForeColor = System.Drawing.Color.WhiteSmoke;
this.labelStaticForcedZeroDelayTime.InitVisible = true;
this.labelStaticForcedZeroDelayTime.LineSpacing = 0F;
@ -843,7 +844,7 @@
this.labelStaticFilter.BackPictureBox2 = null;
this.labelStaticFilter.BorderColor = System.Drawing.Color.SteelBlue;
this.labelStaticFilter.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticFilter.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticFilter.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticFilter.ForeColor = System.Drawing.Color.White;
this.labelStaticFilter.InitVisible = true;
this.labelStaticFilter.LineSpacing = 0F;
@ -864,7 +865,7 @@
this.labelStaticJudgmentCount.BackPictureBox2 = null;
this.labelStaticJudgmentCount.BorderColor = System.Drawing.Color.SteelBlue;
this.labelStaticJudgmentCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticJudgmentCount.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticJudgmentCount.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticJudgmentCount.ForeColor = System.Drawing.Color.White;
this.labelStaticJudgmentCount.InitVisible = true;
this.labelStaticJudgmentCount.LineSpacing = 0F;
@ -927,7 +928,7 @@
this.labelStaticJudgmentDelayTime.BackPictureBox2 = null;
this.labelStaticJudgmentDelayTime.BorderColor = System.Drawing.Color.SteelBlue;
this.labelStaticJudgmentDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticJudgmentDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticJudgmentDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticJudgmentDelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticJudgmentDelayTime.InitVisible = true;
this.labelStaticJudgmentDelayTime.LineSpacing = 0F;
@ -994,7 +995,7 @@
//
// buttonClose
//
this.buttonClose.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.buttonClose.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.buttonClose.Location = new System.Drawing.Point(457, 450);
this.buttonClose.Name = "buttonClose";
this.buttonClose.Size = new System.Drawing.Size(100, 30);
@ -1035,7 +1036,7 @@
this.groupBoxSorter.Controls.Add(this.labelStaticSorter1DelayTime);
this.groupBoxSorter.Controls.Add(this.labelSorter1RunTime);
this.groupBoxSorter.Controls.Add(this.labelStaticSorter1RunTime);
this.groupBoxSorter.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.groupBoxSorter.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.groupBoxSorter.FrameLineColor1 = System.Drawing.Color.Black;
this.groupBoxSorter.FrameLineColor2 = System.Drawing.Color.Black;
this.groupBoxSorter.FrameLineThickness = 1;
@ -1121,7 +1122,7 @@
this.labelStaticDischargeStopperRunTime.BackPictureBox2 = null;
this.labelStaticDischargeStopperRunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticDischargeStopperRunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticDischargeStopperRunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticDischargeStopperRunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticDischargeStopperRunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticDischargeStopperRunTime.InitVisible = true;
this.labelStaticDischargeStopperRunTime.LineSpacing = 0F;
@ -1142,7 +1143,7 @@
this.labelStaticDischargeStopperDelayTime.BackPictureBox2 = null;
this.labelStaticDischargeStopperDelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticDischargeStopperDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticDischargeStopperDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticDischargeStopperDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticDischargeStopperDelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticDischargeStopperDelayTime.InitVisible = true;
this.labelStaticDischargeStopperDelayTime.LineSpacing = 0F;
@ -1163,7 +1164,7 @@
this.labelStaticSorter4RunTime.BackPictureBox2 = null;
this.labelStaticSorter4RunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter4RunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter4RunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter4RunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter4RunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter4RunTime.InitVisible = true;
this.labelStaticSorter4RunTime.LineSpacing = 0F;
@ -1184,7 +1185,7 @@
this.labelStaticStopper2DelayTime.BackPictureBox2 = null;
this.labelStaticStopper2DelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticStopper2DelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticStopper2DelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticStopper2DelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticStopper2DelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticStopper2DelayTime.InitVisible = true;
this.labelStaticStopper2DelayTime.LineSpacing = 0F;
@ -1226,7 +1227,7 @@
this.labelStaticSorter4DelayTime.BackPictureBox2 = null;
this.labelStaticSorter4DelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter4DelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter4DelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter4DelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter4DelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter4DelayTime.InitVisible = true;
this.labelStaticSorter4DelayTime.LineSpacing = 0F;
@ -1247,7 +1248,7 @@
this.labelStaticEntryGateRunTime.BackPictureBox2 = null;
this.labelStaticEntryGateRunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticEntryGateRunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticEntryGateRunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticEntryGateRunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticEntryGateRunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticEntryGateRunTime.InitVisible = true;
this.labelStaticEntryGateRunTime.LineSpacing = 0F;
@ -1268,7 +1269,7 @@
this.labelStaticEntryGateDelayTime.BackPictureBox2 = null;
this.labelStaticEntryGateDelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticEntryGateDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticEntryGateDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticEntryGateDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticEntryGateDelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticEntryGateDelayTime.InitVisible = true;
this.labelStaticEntryGateDelayTime.LineSpacing = 0F;
@ -1289,7 +1290,7 @@
this.labelStaticStopper2RunTime.BackPictureBox2 = null;
this.labelStaticStopper2RunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticStopper2RunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticStopper2RunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticStopper2RunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticStopper2RunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticStopper2RunTime.InitVisible = true;
this.labelStaticStopper2RunTime.LineSpacing = 0F;
@ -1415,7 +1416,7 @@
this.labelStaticSorter3DelayTime.BackPictureBox2 = null;
this.labelStaticSorter3DelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter3DelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter3DelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter3DelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter3DelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter3DelayTime.InitVisible = true;
this.labelStaticSorter3DelayTime.LineSpacing = 0F;
@ -1457,7 +1458,7 @@
this.labelStaticSorter3RunTime.BackPictureBox2 = null;
this.labelStaticSorter3RunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter3RunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter3RunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter3RunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter3RunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter3RunTime.InitVisible = true;
this.labelStaticSorter3RunTime.LineSpacing = 0F;
@ -1499,7 +1500,7 @@
this.labelStaticSorter2DelayTime.BackPictureBox2 = null;
this.labelStaticSorter2DelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter2DelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter2DelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter2DelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter2DelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter2DelayTime.InitVisible = true;
this.labelStaticSorter2DelayTime.LineSpacing = 0F;
@ -1541,7 +1542,7 @@
this.labelStaticSorter2RunTime.BackPictureBox2 = null;
this.labelStaticSorter2RunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter2RunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter2RunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter2RunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter2RunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter2RunTime.InitVisible = true;
this.labelStaticSorter2RunTime.LineSpacing = 0F;
@ -1583,7 +1584,7 @@
this.labelStaticSorter1DelayTime.BackPictureBox2 = null;
this.labelStaticSorter1DelayTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter1DelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter1DelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter1DelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter1DelayTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter1DelayTime.InitVisible = true;
this.labelStaticSorter1DelayTime.LineSpacing = 0F;
@ -1625,7 +1626,7 @@
this.labelStaticSorter1RunTime.BackPictureBox2 = null;
this.labelStaticSorter1RunTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSorter1RunTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSorter1RunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter1RunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSorter1RunTime.ForeColor = System.Drawing.Color.White;
this.labelStaticSorter1RunTime.InitVisible = true;
this.labelStaticSorter1RunTime.LineSpacing = 0F;
@ -1714,7 +1715,7 @@
this.smartListBox1.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER;
this.smartListBox1.ColumnDelimiter = '\0';
this.smartListBox1.ColumnOffsets = null;
this.smartListBox1.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.smartListBox1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.smartListBox1.FontColor = System.Drawing.Color.Black;
this.smartListBox1.InitVisible = true;
this.smartListBox1.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD;
@ -1753,7 +1754,7 @@
this.labelAlarm2ErrorCode.BackPictureBox2 = null;
this.labelAlarm2ErrorCode.BorderColor = System.Drawing.Color.Black;
this.labelAlarm2ErrorCode.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelAlarm2ErrorCode.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.labelAlarm2ErrorCode.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.labelAlarm2ErrorCode.InitVisible = true;
this.labelAlarm2ErrorCode.LineSpacing = 0F;
this.labelAlarm2ErrorCode.Location = new System.Drawing.Point(11, 4);
@ -1806,9 +1807,9 @@
this.labelTimeroutCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTimeroutCount.InitVisible = true;
this.labelTimeroutCount.LineSpacing = 0F;
this.labelTimeroutCount.Location = new System.Drawing.Point(703, 29);
this.labelTimeroutCount.Location = new System.Drawing.Point(334, 5);
this.labelTimeroutCount.Name = "labelTimeroutCount";
this.labelTimeroutCount.Size = new System.Drawing.Size(30, 39);
this.labelTimeroutCount.Size = new System.Drawing.Size(115, 21);
this.labelTimeroutCount.TabIndex = 472;
this.labelTimeroutCount.Text = "0";
this.labelTimeroutCount.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@ -1816,47 +1817,6 @@
this.labelTimeroutCount.Visible = false;
this.labelTimeroutCount.Wordwrap = false;
//
// labelUserID
//
this.labelUserID.BackColor = System.Drawing.SystemColors.ControlDark;
this.labelUserID.BackPictureBox = this.smartForm1;
this.labelUserID.BackPictureBox1 = null;
this.labelUserID.BackPictureBox2 = null;
this.labelUserID.BorderColor = System.Drawing.Color.LightGray;
this.labelUserID.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserID.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelUserID.InitVisible = true;
this.labelUserID.LineSpacing = 0F;
this.labelUserID.Location = new System.Drawing.Point(310, 5);
this.labelUserID.Name = "labelUserID";
this.labelUserID.Size = new System.Drawing.Size(100, 20);
this.labelUserID.TabIndex = 507;
this.labelUserID.Text = "ABCDEFGHAB";
this.labelUserID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelUserID.TextVAlign = SmartX.SmartLabel.TextVerAlign.Bottom;
this.labelUserID.Wordwrap = false;
//
// labelUserLevel
//
this.labelUserLevel.BackColor = System.Drawing.SystemColors.ControlDark;
this.labelUserLevel.BackPictureBox = this.smartForm1;
this.labelUserLevel.BackPictureBox1 = null;
this.labelUserLevel.BackPictureBox2 = null;
this.labelUserLevel.BorderColor = System.Drawing.Color.LightGray;
this.labelUserLevel.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserLevel.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelUserLevel.ForeColor = System.Drawing.Color.Black;
this.labelUserLevel.InitVisible = true;
this.labelUserLevel.LineSpacing = 0F;
this.labelUserLevel.Location = new System.Drawing.Point(416, 5);
this.labelUserLevel.Name = "labelUserLevel";
this.labelUserLevel.Size = new System.Drawing.Size(75, 20);
this.labelUserLevel.TabIndex = 506;
this.labelUserLevel.Text = "Level3";
this.labelUserLevel.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelUserLevel.TextVAlign = SmartX.SmartLabel.TextVerAlign.Bottom;
this.labelUserLevel.Wordwrap = false;
//
// labelTitleScreen
//
this.labelTitleScreen.BackPictureBox = this.smartForm1;
@ -1864,7 +1824,7 @@
this.labelTitleScreen.BackPictureBox2 = null;
this.labelTitleScreen.BorderColor = System.Drawing.Color.Black;
this.labelTitleScreen.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleScreen.Font = new System.Drawing.Font("New Gulim", 15F, System.Drawing.FontStyle.Bold);
this.labelTitleScreen.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.labelTitleScreen.InitVisible = true;
this.labelTitleScreen.LineSpacing = 0F;
this.labelTitleScreen.Location = new System.Drawing.Point(661, 583);
@ -1883,7 +1843,7 @@
this.labelTitleNG.BackPictureBox2 = null;
this.labelTitleNG.BorderColor = System.Drawing.Color.Black;
this.labelTitleNG.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleNG.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold);
this.labelTitleNG.Font = new System.Drawing.Font("새굴림", 18F, System.Drawing.FontStyle.Bold);
this.labelTitleNG.InitVisible = true;
this.labelTitleNG.LineSpacing = 0F;
this.labelTitleNG.Location = new System.Drawing.Point(307, 704);
@ -1902,7 +1862,7 @@
this.labelTitleTotalCount.BackPictureBox2 = null;
this.labelTitleTotalCount.BorderColor = System.Drawing.Color.Black;
this.labelTitleTotalCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleTotalCount.Font = new System.Drawing.Font("New Gulim", 20F, System.Drawing.FontStyle.Bold);
this.labelTitleTotalCount.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.labelTitleTotalCount.InitVisible = true;
this.labelTitleTotalCount.LineSpacing = 0F;
this.labelTitleTotalCount.Location = new System.Drawing.Point(25, 704);
@ -2003,7 +1963,7 @@
this.labelTitleSampling.BackPictureBox2 = null;
this.labelTitleSampling.BorderColor = System.Drawing.Color.Black;
this.labelTitleSampling.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleSampling.Font = new System.Drawing.Font("New Gulim", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleSampling.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleSampling.InitVisible = true;
this.labelTitleSampling.LineSpacing = 0F;
this.labelTitleSampling.Location = new System.Drawing.Point(238, 8);
@ -2030,7 +1990,7 @@
this.labelStaticSamplingCount.BackPictureBox2 = null;
this.labelStaticSamplingCount.BorderColor = System.Drawing.Color.Black;
this.labelStaticSamplingCount.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSamplingCount.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSamplingCount.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSamplingCount.InitVisible = true;
this.labelStaticSamplingCount.LineSpacing = 0F;
this.labelStaticSamplingCount.Location = new System.Drawing.Point(238, 78);
@ -2050,7 +2010,7 @@
this.labelStaticSamplingTime.BackPictureBox2 = null;
this.labelStaticSamplingTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticSamplingTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticSamplingTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSamplingTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticSamplingTime.InitVisible = true;
this.labelStaticSamplingTime.LineSpacing = 0F;
this.labelStaticSamplingTime.Location = new System.Drawing.Point(238, 44);
@ -2204,7 +2164,7 @@
this.labelTitleBypass.BackPictureBox2 = null;
this.labelTitleBypass.BorderColor = System.Drawing.Color.Black;
this.labelTitleBypass.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleBypass.Font = new System.Drawing.Font("New Gulim", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleBypass.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleBypass.InitVisible = true;
this.labelTitleBypass.LineSpacing = 0F;
this.labelTitleBypass.Location = new System.Drawing.Point(35, 8);
@ -2353,7 +2313,7 @@
this.buttonCut.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.buttonCut.GroupID = 0;
this.buttonCut.InitVisible = true;
this.buttonCut.Location = new System.Drawing.Point(755, 29);
this.buttonCut.Location = new System.Drawing.Point(554, 3);
this.buttonCut.Mode = SmartX.SmartButton.BUTTONMODE.PUSH;
this.buttonCut.Name = "buttonCut";
this.buttonCut.NestedClickEventPrevent = false;
@ -2361,7 +2321,7 @@
this.buttonCut.RepeatInterval = 200;
this.buttonCut.RepeatIntervalAccelerate = null;
this.buttonCut.SafeInterval = 200;
this.buttonCut.Size = new System.Drawing.Size(80, 39);
this.buttonCut.Size = new System.Drawing.Size(80, 30);
this.buttonCut.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCut.TabIndex = 9;
this.buttonCut.Text = "CUT";
@ -2385,7 +2345,7 @@
this.labelCutSignalInterval.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelCutSignalInterval.InitVisible = true;
this.labelCutSignalInterval.LineSpacing = 0F;
this.labelCutSignalInterval.Location = new System.Drawing.Point(755, 0);
this.labelCutSignalInterval.Location = new System.Drawing.Point(466, 3);
this.labelCutSignalInterval.Name = "labelCutSignalInterval";
this.labelCutSignalInterval.Size = new System.Drawing.Size(80, 30);
this.labelCutSignalInterval.TabIndex = 8;
@ -2420,7 +2380,7 @@
this.labelMessage4.BackPictureBox2 = null;
this.labelMessage4.BorderColor = System.Drawing.Color.Black;
this.labelMessage4.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelMessage4.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.labelMessage4.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.labelMessage4.InitVisible = true;
this.labelMessage4.LineSpacing = 0F;
this.labelMessage4.Location = new System.Drawing.Point(75, 79);
@ -2439,7 +2399,7 @@
this.labelMessage3.BackPictureBox2 = null;
this.labelMessage3.BorderColor = System.Drawing.Color.Black;
this.labelMessage3.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelMessage3.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.labelMessage3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.labelMessage3.InitVisible = true;
this.labelMessage3.LineSpacing = 0F;
this.labelMessage3.Location = new System.Drawing.Point(75, 56);
@ -2458,7 +2418,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", 10F, System.Drawing.FontStyle.Regular);
this.smartLabel4.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.smartLabel4.InitVisible = true;
this.smartLabel4.LineSpacing = 0F;
this.smartLabel4.Location = new System.Drawing.Point(11, 4);
@ -2534,7 +2494,7 @@
this.labelStaticOverRangeLimit.BackPictureBox2 = null;
this.labelStaticOverRangeLimit.BorderColor = System.Drawing.Color.SteelBlue;
this.labelStaticOverRangeLimit.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticOverRangeLimit.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticOverRangeLimit.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticOverRangeLimit.ForeColor = System.Drawing.Color.Black;
this.labelStaticOverRangeLimit.InitVisible = true;
this.labelStaticOverRangeLimit.LineSpacing = 0F;
@ -2604,7 +2564,7 @@
this.labelStaticUnderRangeLimit.BackPictureBox2 = null;
this.labelStaticUnderRangeLimit.BorderColor = System.Drawing.Color.SteelBlue;
this.labelStaticUnderRangeLimit.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticUnderRangeLimit.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticUnderRangeLimit.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticUnderRangeLimit.ForeColor = System.Drawing.Color.Black;
this.labelStaticUnderRangeLimit.InitVisible = true;
this.labelStaticUnderRangeLimit.LineSpacing = 0F;
@ -2625,7 +2585,7 @@
this.labelStaticOverRange.BackPictureBox2 = null;
this.labelStaticOverRange.BorderColor = System.Drawing.Color.Black;
this.labelStaticOverRange.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticOverRange.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticOverRange.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticOverRange.InitVisible = true;
this.labelStaticOverRange.LineSpacing = 0F;
this.labelStaticOverRange.Location = new System.Drawing.Point(64, 10);
@ -2666,7 +2626,7 @@
this.labelStaticUnderRange.BackPictureBox2 = null;
this.labelStaticUnderRange.BorderColor = System.Drawing.Color.Black;
this.labelStaticUnderRange.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticUnderRange.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticUnderRange.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticUnderRange.InitVisible = true;
this.labelStaticUnderRange.LineSpacing = 0F;
this.labelStaticUnderRange.Location = new System.Drawing.Point(64, 78);
@ -2686,7 +2646,7 @@
this.labelStaticPassRange.BackPictureBox2 = null;
this.labelStaticPassRange.BorderColor = System.Drawing.Color.Black;
this.labelStaticPassRange.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticPassRange.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticPassRange.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticPassRange.InitVisible = true;
this.labelStaticPassRange.LineSpacing = 0F;
this.labelStaticPassRange.Location = new System.Drawing.Point(64, 44);
@ -2767,7 +2727,7 @@
this.labelMessage5.BackPictureBox2 = null;
this.labelMessage5.BorderColor = System.Drawing.Color.Black;
this.labelMessage5.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelMessage5.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.labelMessage5.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.labelMessage5.InitVisible = true;
this.labelMessage5.LineSpacing = 0F;
this.labelMessage5.Location = new System.Drawing.Point(75, 62);
@ -2786,7 +2746,7 @@
this.smartLabel5.BackPictureBox2 = null;
this.smartLabel5.BorderColor = System.Drawing.Color.Black;
this.smartLabel5.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.smartLabel5.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.smartLabel5.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.smartLabel5.InitVisible = true;
this.smartLabel5.LineSpacing = 0F;
this.smartLabel5.Location = new System.Drawing.Point(11, 4);
@ -2887,7 +2847,7 @@
this.labelTitleLeakSampling.BackPictureBox2 = null;
this.labelTitleLeakSampling.BorderColor = System.Drawing.Color.Black;
this.labelTitleLeakSampling.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleLeakSampling.Font = new System.Drawing.Font("New Gulim", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleLeakSampling.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleLeakSampling.InitVisible = true;
this.labelTitleLeakSampling.LineSpacing = 0F;
this.labelTitleLeakSampling.Location = new System.Drawing.Point(35, 12);
@ -2914,7 +2874,7 @@
this.labelStaticLeakSamplingTime.BackPictureBox2 = null;
this.labelStaticLeakSamplingTime.BorderColor = System.Drawing.Color.Black;
this.labelStaticLeakSamplingTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelStaticLeakSamplingTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticLeakSamplingTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelStaticLeakSamplingTime.InitVisible = true;
this.labelStaticLeakSamplingTime.LineSpacing = 0F;
this.labelStaticLeakSamplingTime.Location = new System.Drawing.Point(35, 61);
@ -2987,12 +2947,78 @@
this.smartTimerLeakRunDelay.StartTime = ((long)(0));
this.smartTimerLeakRunDelay.Tick += new System.EventHandler(this.smartTimerLeakRunDelay_Tick);
//
// labelExpireOfPassword
//
this.labelExpireOfPassword.BackColor = System.Drawing.SystemColors.ControlDark;
this.labelExpireOfPassword.BackPictureBox = this.smartForm1;
this.labelExpireOfPassword.BackPictureBox1 = null;
this.labelExpireOfPassword.BackPictureBox2 = null;
this.labelExpireOfPassword.BorderColor = System.Drawing.Color.LightGray;
this.labelExpireOfPassword.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelExpireOfPassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelExpireOfPassword.ForeColor = System.Drawing.Color.Black;
this.labelExpireOfPassword.InitVisible = true;
this.labelExpireOfPassword.LineSpacing = 0F;
this.labelExpireOfPassword.Location = new System.Drawing.Point(687, 51);
this.labelExpireOfPassword.Name = "labelExpireOfPassword";
this.labelExpireOfPassword.Size = new System.Drawing.Size(148, 17);
this.labelExpireOfPassword.TabIndex = 577;
this.labelExpireOfPassword.Text = "Level3";
this.labelExpireOfPassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelExpireOfPassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Top;
this.labelExpireOfPassword.Visible = false;
this.labelExpireOfPassword.Wordwrap = false;
//
// labelUserID
//
this.labelUserID.BackColor = System.Drawing.SystemColors.ControlDark;
this.labelUserID.BackPictureBox = this.smartForm1;
this.labelUserID.BackPictureBox1 = null;
this.labelUserID.BackPictureBox2 = null;
this.labelUserID.BorderColor = System.Drawing.Color.LightGray;
this.labelUserID.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserID.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelUserID.InitVisible = true;
this.labelUserID.LineSpacing = 0F;
this.labelUserID.Location = new System.Drawing.Point(687, 9);
this.labelUserID.Name = "labelUserID";
this.labelUserID.Size = new System.Drawing.Size(148, 17);
this.labelUserID.TabIndex = 576;
this.labelUserID.Text = "ABCDEFGHAB";
this.labelUserID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelUserID.TextVAlign = SmartX.SmartLabel.TextVerAlign.Top;
this.labelUserID.Wordwrap = false;
//
// labelUserLevel
//
this.labelUserLevel.BackColor = System.Drawing.SystemColors.ControlDark;
this.labelUserLevel.BackPictureBox = this.smartForm1;
this.labelUserLevel.BackPictureBox1 = null;
this.labelUserLevel.BackPictureBox2 = null;
this.labelUserLevel.BorderColor = System.Drawing.Color.LightGray;
this.labelUserLevel.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserLevel.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelUserLevel.ForeColor = System.Drawing.Color.Black;
this.labelUserLevel.InitVisible = true;
this.labelUserLevel.LineSpacing = 0F;
this.labelUserLevel.Location = new System.Drawing.Point(687, 30);
this.labelUserLevel.Name = "labelUserLevel";
this.labelUserLevel.Size = new System.Drawing.Size(148, 17);
this.labelUserLevel.TabIndex = 575;
this.labelUserLevel.Text = "Level3";
this.labelUserLevel.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelUserLevel.TextVAlign = SmartX.SmartLabel.TextVerAlign.Top;
this.labelUserLevel.Wordwrap = false;
//
// FormMainDisplay
//
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.labelExpireOfPassword);
this.Controls.Add(this.labelUserID);
this.Controls.Add(this.labelUserLevel);
this.Controls.Add(this.panelSubMenu3);
this.Controls.Add(this.panelAlarmMessageBox4);
this.Controls.Add(this.panelSubMenu2);
@ -3005,8 +3031,6 @@
this.Controls.Add(this.labelTitleNG);
this.Controls.Add(this.labelTitleTotalCount);
this.Controls.Add(this.labelTitleScreen);
this.Controls.Add(this.labelUserID);
this.Controls.Add(this.labelUserLevel);
this.Controls.Add(this.labelTimeroutCount);
this.Controls.Add(this.panelAlarmMessageBox2);
this.Controls.Add(this.pictureBoxAlarm);
@ -3091,8 +3115,6 @@
private SmartX.SmartButton buttonAlarm2OK;
private SmartX.SmartListBox smartListBox1;
private SmartX.SmartLabel labelTimeroutCount;
private SmartX.SmartLabel labelUserID;
private SmartX.SmartLabel labelUserLevel;
private SmartX.SmartLabel labelTitleScreen;
private SmartX.SmartLabel labelTitleNG;
private SmartX.SmartLabel labelTitleTotalCount;
@ -3187,5 +3209,8 @@
private SmartX.SmartLabel labelStaticStopper2DelayTime;
public SmartX.SmartLabel labelStopper2RunTime;
private SmartX.SmartLabel labelStaticStopper2RunTime;
private SmartX.SmartLabel labelExpireOfPassword;
private SmartX.SmartLabel labelUserID;
private SmartX.SmartLabel labelUserLevel;
}
}

View File

@ -13,6 +13,7 @@ using SmartX;
using INT63DC_ImageDll;
using INT63DC_2C.Controls;
using INT63DC_2C.DialogForms;
using INT63DC_2C.Part11_UserManager;
namespace INT63DC_2C.Forms
{
@ -22,6 +23,7 @@ namespace INT63DC_2C.Forms
private FormMain m_ParentForm;
private int SubmenuIndex;
private bool IsFistAlarmView;
public string ChangeID;
private Color ColorButtonAccessTrue;
private Color ColorButtonAccessFalse;
@ -862,6 +864,7 @@ namespace INT63DC_2C.Forms
this.SubmenuIndex = 0;
this.IsFistAlarmView = false;
this.ChangeID = "";
this.ColorButtonAccessTrue = Color.Black;
this.ColorButtonAccessFalse = Color.DimGray;
@ -884,7 +887,7 @@ namespace INT63DC_2C.Forms
this.panelAlarmMessageBox4.BringToFront();
if (this.ParentForm.SystemConfig.IsLogin == true)
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser, this.ParentForm.CurrentUserGroup);
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser);
else
{
this.buttonUser.Visible = false;
@ -1004,6 +1007,31 @@ namespace INT63DC_2C.Forms
break;
}
}
private bool UI_Invoke(ThreadStart invoker)
{
try
{
if (this.InvokeRequired)
{
if (this.IsDisposed)
return true;
this.Invoke(invoker);
}
else
{
invoker();
}
return true;
}
catch (Exception e)
{
return false;
}
}
private void UpdateDisplay(DataStore.FormMainDisplayStore displayForm)
{
if (displayForm == DataStore.FormMainDisplayStore.FormMainDisplayBarGraph)
@ -1303,232 +1331,229 @@ namespace INT63DC_2C.Forms
else
this.buttonTableForm.ButtonUp();
}
private void UpdateDisplayUser(User user, UserGroup setGroup)
public void UpdateDisplayUser(UserItem user)
{
string id = "", group = "";
Color colorButtonText = this.ColorButtonAccessFalse;
string id = "", group = "", expirePW = "";
int expireDate = 0;
Color colorExpirePW = this.ParentForm.ColorLogOff;
switch (user.Group)
{
case DataStore.UserGroup.Level1Operator:
case DataStore.UserGroup.None:
break;
case DataStore.UserGroup.Level1:
id = user.ID;
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "级别1";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
group = "Úroveň1`";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Stufe1";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Japanese)
group = "Level1";
else
group = "Level1";
group = this.ParentForm.SystemConfig.User_Level1_Name;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonUser.ButtonDown();
this.buttonProductNo.Enabled = setGroup.Level1.IsMainDisplayProductNo;
this.buttonClear.Enabled = setGroup.Level1.IsMainDisplayClear;
this.buttonSubMenu.Enabled = setGroup.Level1.IsMainDisplaySubMenu;
this.buttonUnder.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.buttonPass.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.buttonOver.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.buttonTare.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.labelOverRange.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.labelPassRange.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.labelUnderRange.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.labelOverRangeLimit.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.labelUnderRangeLimit.Enabled = setGroup.Level1.IsMainDisplayWeightSetting;
this.groupBoxJudgmentSetting.Enabled = setGroup.Level1.IsMenuSystemSetting;
this.groupBoxSorter.Enabled = setGroup.Level1.IsMenuSystemSetting;
this.buttonProductNo.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayProductNo;
this.buttonSubMenu.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplaySubMenu;
this.buttonClear.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayClear;
this.buttonUnder.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting;
this.buttonPass.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting;
this.buttonOver.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting;
this.buttonTare.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting;
if (setGroup.Level1.IsMainDisplayWeightSetting == true)
colorButtonText = this.ColorButtonAccessTrue;
else
colorButtonText = this.ColorButtonAccessFalse;
if (setGroup.Level1.IsMainDisplayProductNo == true)
this.buttonProductNo.TextColor = Color.Black;
else
this.buttonProductNo.TextColor = Color.DimGray;
this.buttonMenu.Enabled = true;
break;
case DataStore.UserGroup.Level2Engineer:
case DataStore.UserGroup.Level2:
id = user.ID;
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "级别2";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
group = "Úroveň2`";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Stufe2";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Japanese)
group = "Level2";
else
group = "Level2";
group = this.ParentForm.SystemConfig.User_Level2_Name;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonUser.ButtonDown();
this.buttonProductNo.Enabled = setGroup.Level2.IsMainDisplayProductNo;
this.buttonClear.Enabled = setGroup.Level2.IsMainDisplayClear;
this.buttonSubMenu.Enabled = setGroup.Level2.IsMainDisplaySubMenu;
this.buttonUnder.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.buttonPass.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.buttonOver.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.buttonTare.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.labelOverRange.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.labelPassRange.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.labelUnderRange.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.labelOverRangeLimit.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.labelUnderRangeLimit.Enabled = setGroup.Level2.IsMainDisplayWeightSetting;
this.groupBoxJudgmentSetting.Enabled = setGroup.Level2.IsMenuSystemSetting;
this.groupBoxSorter.Enabled = setGroup.Level2.IsMenuSystemSetting;
this.buttonProductNo.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayProductNo;
this.buttonSubMenu.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplaySubMenu;
this.buttonClear.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayClear;
this.buttonUnder.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayWeightSetting;
this.buttonPass.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayWeightSetting;
this.buttonOver.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayWeightSetting;
this.buttonTare.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayWeightSetting;
if (setGroup.Level2.IsMainDisplayWeightSetting == true)
colorButtonText = this.ColorButtonAccessTrue;
else
colorButtonText = this.ColorButtonAccessFalse;
if (setGroup.Level2.IsMainDisplayProductNo == true)
this.buttonProductNo.TextColor = Color.Black;
else
this.buttonProductNo.TextColor = Color.DimGray;
this.buttonMenu.Enabled = true;
break;
case DataStore.UserGroup.Level3Manager:
case DataStore.UserGroup.Level3:
id = user.ID;
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "级别3";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
group = "Úroveň3`";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Stufe3";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Japanese)
group = "Level3";
else
group = "Level3";
group = this.ParentForm.SystemConfig.User_Level3_Name;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonUser.ButtonDown();
this.buttonProductNo.Enabled = setGroup.Level3.IsMainDisplayProductNo;
this.buttonClear.Enabled = setGroup.Level3.IsMainDisplayClear;
this.buttonSubMenu.Enabled = setGroup.Level3.IsMainDisplaySubMenu;
this.buttonUnder.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.buttonPass.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.buttonOver.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.buttonTare.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.labelOverRange.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.labelPassRange.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.labelUnderRange.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.labelOverRangeLimit.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.labelUnderRangeLimit.Enabled = setGroup.Level3.IsMainDisplayWeightSetting;
this.groupBoxJudgmentSetting.Enabled = setGroup.Level3.IsMenuSystemSetting;
this.groupBoxSorter.Enabled = setGroup.Level3.IsMenuSystemSetting;
this.buttonProductNo.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayProductNo;
this.buttonSubMenu.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplaySubMenu;
this.buttonClear.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayClear;
this.buttonUnder.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayWeightSetting;
this.buttonPass.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayWeightSetting;
this.buttonOver.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayWeightSetting;
this.buttonTare.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayWeightSetting;
if (setGroup.Level3.IsMainDisplayWeightSetting == true)
colorButtonText = this.ColorButtonAccessTrue;
else
colorButtonText = this.ColorButtonAccessFalse;
if (setGroup.Level3.IsMainDisplayProductNo == true)
this.buttonProductNo.TextColor = Color.Black;
else
this.buttonProductNo.TextColor = Color.DimGray;
this.buttonMenu.Enabled = true;
break;
case DataStore.UserGroup.Level4Developer:
case DataStore.UserGroup.Admin:
id = user.ID;
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "级别4";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
group = "Úroveň4`";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Stufe4";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Japanese)
group = "Level4";
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Administrator";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "行政";
else
group = "Level4";
group = "Administrator";
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonUser.ButtonDown();
this.buttonProductNo.Enabled = true;
this.buttonClear.Enabled = true;
this.buttonSubMenu.Enabled = true;
this.buttonClear.Enabled = true;
this.buttonUnder.Enabled = true;
this.buttonPass.Enabled = true;
this.buttonOver.Enabled = true;
this.buttonTare.Enabled = true;
this.labelOverRange.Enabled = true;
this.labelPassRange.Enabled = true;
this.labelUnderRange.Enabled = true;
this.labelOverRangeLimit.Enabled = true;
this.labelUnderRangeLimit.Enabled = true;
this.groupBoxJudgmentSetting.Enabled = true;
this.groupBoxSorter.Enabled = true;
colorButtonText = this.ColorButtonAccessTrue;
this.buttonProductNo.TextColor = Color.Black;
this.buttonMenu.Enabled = true;
break;
case DataStore.UserGroup.LogOff:
id = "";
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "关闭";
case DataStore.UserGroup.Developer:
id = user.ID;
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Entwickler";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "开发商";
else
group = "Off";
group = "Developer";
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOff)
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonUser.ButtonDown();
this.buttonProductNo.Enabled = true;
this.buttonSubMenu.Enabled = true;
this.buttonClear.Enabled = true;
this.buttonUnder.Enabled = true;
this.buttonPass.Enabled = true;
this.buttonOver.Enabled = true;
this.buttonTare.Enabled = true;
this.buttonMenu.Enabled = true;
break;
case DataStore.UserGroup.NotLogin:
id = "";
group = "";
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonProductNo.Enabled = true;
this.buttonSubMenu.Enabled = true;
this.buttonClear.Enabled = true;
this.buttonUnder.Enabled = true;
this.buttonPass.Enabled = true;
this.buttonOver.Enabled = true;
this.buttonTare.Enabled = true;
this.buttonMenu.Enabled = true;
break;
case DataStore.UserGroup.LogOut:
id = "";
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
group = "Ausloggen";
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
group = "登出";
else
group = "Log out";
this.labelExpireOfPassword.Visible = false;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
this.buttonUser.ButtonUp();
this.buttonProductNo.Enabled = false;
this.buttonClear.Enabled = false;
this.buttonSubMenu.Enabled = false;
this.buttonClear.Enabled = false;
this.buttonUnder.Enabled = false;
this.buttonPass.Enabled = false;
this.buttonOver.Enabled = false;
this.buttonTare.Enabled = false;
this.labelOverRange.Enabled = false;
this.labelPassRange.Enabled = false;
this.labelUnderRange.Enabled = false;
this.labelOverRangeLimit.Enabled = false;
this.labelUnderRangeLimit.Enabled = false;
this.groupBoxJudgmentSetting.Enabled = false;
this.groupBoxSorter.Enabled = false;
colorButtonText = this.ColorButtonAccessFalse;
this.buttonProductNo.TextColor = Color.DimGray;
break;
case DataStore.UserGroup.NotLogin:
this.buttonUser.ButtonDown();
this.buttonProductNo.Enabled = true;
this.buttonClear.Enabled = true;
this.buttonSubMenu.Enabled = true;
this.buttonUnder.Enabled = true;
this.buttonPass.Enabled = true;
this.buttonOver.Enabled = true;
this.buttonTare.Enabled = true;
colorButtonText = this.ColorButtonAccessTrue;
this.buttonProductNo.TextColor = Color.Black;
this.buttonMenu.Enabled = false;
break;
default:
break;
}
if (this.ParentForm.SystemConfig.IsLogin == true)
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
{
if (user.ExpirePassword != 0)
{
expireDate = user.GetPasswordExpiryDday();
if (expireDate == 9999)
{
// Administrator or Developer
colorExpirePW = this.ParentForm.ColorLogOn;
expirePW = "-";
}
else
{
if (expireDate >= -10)
{
colorExpirePW = this.ParentForm.ColorLogOff;
if (expireDate > 0)
expirePW = string.Format("D+{0}", expireDate);
else
expirePW = string.Format("D{0}", expireDate);
}
else
{
colorExpirePW = this.ParentForm.ColorLogOn;
expirePW = string.Format("D{0}", expireDate);
}
}
}
else
{
colorExpirePW = this.ParentForm.ColorLogOn;
expirePW = "-";
}
}
else
{
// Part11 미사용
colorExpirePW = this.ParentForm.ColorLogOn;
expirePW = "-";
}
}
if (this.labelUserLevel.Text != group)
this.labelUserLevel.Text = group;
if (this.labelUserID.Text != id)
this.labelUserID.Text = id;
if (this.buttonUnder.TextColor != colorButtonText)
{
this.buttonUnder.TextColor = colorButtonText;
this.buttonPass.TextColor = colorButtonText;
this.buttonOver.TextColor = colorButtonText;
this.buttonTare.TextColor = colorButtonText;
}
if (this.labelExpireOfPassword.ForeColor != colorExpirePW)
this.labelExpireOfPassword.ForeColor = colorExpirePW;
if (this.labelExpireOfPassword.Text != expirePW)
this.labelExpireOfPassword.Text = expirePW;
}
public void UpdateCurrentProductDisplay(DataStore.EquipmentStatus status, ProductItem pItem,JudgmentSetItem jItem, Collection<WeightData> weightDatas)
@ -1759,10 +1784,10 @@ namespace INT63DC_2C.Forms
if (this.ParentForm.SystemConfig.IsLogin == true)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level1Operator ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level2Engineer ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3Manager ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level1 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level2 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.buttonProductNo.Enabled = true;
this.buttonUnder.Enabled = true;
@ -2310,6 +2335,235 @@ namespace INT63DC_2C.Forms
}
}
private void PasswordExpirationCheck(UserItem user)
{
int expiryDay = 0;
// 만료일 -10 일때 메시지 띄우기
expiryDay = user.GetPasswordExpiryDday();
if (expiryDay >= -10)
{
//Console.WriteLine("password : " + expiryDay.ToString());
DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 2, expiryDay.ToString());
if (myDlg.ShowDialog() == DialogResult.Yes)
{
// 비밀 번호 변경 띄우기
DialogFormLogOn logOn = new DialogFormLogOn(this.ParentForm, true, true);
if (logOn.ShowDialog() == DialogResult.OK)
{
}
}
}
}
private void DirectLogin(string id, string pass)
{
UserManager.UserMgr_user_info_t userInfo = new UserManager.UserMgr_user_info_t();
UserManager.UserManager_UserLoginDirect(id, pass, ref userInfo);
//Console.WriteLine(string.Format("status : {0}", userInfo.status));
//Console.WriteLine("ID : " + id);
//Console.WriteLine("pass : " + pass);
if (userInfo.status == 0)
{
#region 로그인 성공
if (userInfo.active_level == 1)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level1;
else if (userInfo.active_level == 2)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level2;
else if (userInfo.active_level == 3)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level3;
else if (userInfo.active_level == 9)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Admin;
else if (userInfo.active_level == 10)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer;
this.ParentForm.SystemConfig.CurrentUser.ID = userInfo.user_id;
this.ParentForm.SystemConfig.CurrentUser.Password = userInfo.user_pw;
this.ParentForm.SystemConfig.CurrentUser.ExpireId = userInfo.id_expire_period;
this.ParentForm.SystemConfig.CurrentUser.ExpirePassword = userInfo.password_expire_period;
//Console.WriteLine(userInfo.password_register_date.GetDateTime());
//Console.WriteLine(userInfo.id_login_date.GetDateTime());
//Console.WriteLine(userInfo.id_expire_date.GetDateTime());
//Console.WriteLine(userInfo.password_expire_date.GetDateTime());
DateTime time = DateTime.ParseExact(userInfo.password_register_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DatePasswordRegister = time;
time = DateTime.ParseExact(userInfo.id_login_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DateIdLogin = time;
time = DateTime.ParseExact(userInfo.id_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DateIdExpire = time;
time = DateTime.ParseExact(userInfo.password_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.ParentForm.SystemConfig.CurrentUser.DatePasswordExpire = time;
this.ParentForm.SystemConfig.CurrentUser.IsLockAccount = userInfo.id_flock_status == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.IsLockPassword = userInfo.password_flock_status == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.IsAdmin = userInfo.fadmin == 0 ? false : true;
this.ParentForm.SystemConfig.CurrentUser.ActiveLevel = userInfo.active_level;
this.ParentForm.SystemConfig.CurrentUser.IsFirstPassword = userInfo.fFirstPW;
#endregion
this.UI_Invoke(delegate
{
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser);
});
}
}
private void Login()
{
DialogResult result;
DialogFormLogOn logOn = new DialogFormLogOn(this.ParentForm, false, false);
result = logOn.ShowDialog();
if (result == DialogResult.OK)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level1 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level2 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3)
{
// 비밀번호 만료일 10일 미만 체크 후 비밀번호 변경
this.PasswordExpirationCheck(this.ParentForm.SystemConfig.CurrentUser);
}
this.buttonUser.ButtonDown();
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser);
}
else if (result == DialogResult.Abort)
{
// 비밀 번호 변경 띄우기
DialogFormLogOn logOn1 = new DialogFormLogOn(this.ParentForm, false, true);
if (logOn1.ShowDialog() == DialogResult.OK)
{
this.buttonUser.ButtonDown();
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser);
}
else
this.buttonUser.ButtonUp();
}
else
{
this.buttonUser.ButtonUp();
}
}
public void Logout()
{
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.LogOut;
this.buttonUser.ButtonUp();
this.DisplayRefresh();
this.ChangeID = "";
// Part 11
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Logout, "");
}
public void Part11AutomaticLogoutReset()
{
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
UserManager.UserManager_AutoLogoutTimeoutReset();
}
public void CallBackUserListLoginTimeoutDataEvent(UserManager.UserMgr_login_timeout_t user)
{
string code = "", message1 = "", message2 = "";
int warningTime = 0;
if (user.remainder_time != 0)
{
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
code = "로그인";
message1 = "잠시 후에 로그아웃 됩니다";
message2 = "";
break;
case DataStore.LanguageID.English:
code = "Login";
message1 = "You will be logged out after a while";
message2 = "";
break;
case DataStore.LanguageID.Chinese:
code = "Login";
message1 = "You will be logged out after a while";
message2 = "";
break;
case DataStore.LanguageID.Czech:
code = "Login";
message1 = "You will be logged out after a while";
message2 = "";
break;
case DataStore.LanguageID.German:
code = "Login";
message1 = "You will be logged out after a while";
message2 = "";
break;
default:
break;
}
warningTime = this.ParentForm.FlagAutomaticLogoutWarningTime - 2;
this.UI_Invoke(delegate
{
DialogFormMessage msg = new DialogFormMessage(DataStore.MessageBoxIcon.Asterisk, code, message1, message2, warningTime);
msg.ShowDialog();
});
}
else
{
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
code = "Login";
message1 = "자동 로그아웃 되었습니다";
message2 = "";
break;
case DataStore.LanguageID.English:
code = "Login";
message1 = "automatically logged out";
message2 = "";
break;
case DataStore.LanguageID.Chinese:
code = "Login";
message1 = "automatically logged out";
message2 = "";
break;
case DataStore.LanguageID.Czech:
code = "Login";
message1 = "automatically logged out";
message2 = "";
break;
case DataStore.LanguageID.German:
code = "Login";
message1 = "automatically logged out";
message2 = "";
break;
default:
break;
}
// User Logout
UserManager.UserManager_UserLogout();
this.UI_Invoke(delegate
{
this.Logout();
});
this.UI_Invoke(delegate
{
DialogFormMessage msg = new DialogFormMessage(DataStore.MessageBoxIcon.Asterisk, code, message1, message2, 0);
msg.ShowDialog();
});
}
}
public void UpdateDisplayTime()
{
this.labelTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@ -2388,7 +2642,7 @@ namespace INT63DC_2C.Forms
this.MainDisplay = DataStore.FormMainDisplayStore.FormMainDisplayBarGraph;
this.UpdateDisplay(this.MainDisplay);
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser, this.ParentForm.CurrentUserGroup);
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser);
if (this.ParentForm.EquipmentStatus == DataStore.EquipmentStatus.Stop)
this.ProductChange(this.ParentForm.SystemConfig.ProductNumber);
@ -2805,7 +3059,7 @@ namespace INT63DC_2C.Forms
}
else
{
if (this.ParentForm.SystemConfig.IsLogin == true && this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (this.ParentForm.SystemConfig.IsLogin == true && this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.groupBoxJudgmentSetting.Visible = true;
this.labelFilter.Visible = true;
@ -2882,31 +3136,20 @@ namespace INT63DC_2C.Forms
}
private void buttonUser_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.LogOff)
{
DialogFormLogOn logOn = new DialogFormLogOn(this.ParentForm);
if (logOn.ShowDialog() == DialogResult.OK)
{
//this.DisplayRefresh();
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser, this.ParentForm.CurrentUserGroup);
// Automatic Logout Reset
if (this.ParentForm.SystemConfig.IsLogin == true)
this.Part11AutomaticLogoutReset();
this.buttonUser.ButtonDown();
}
else
{
this.buttonUser.ButtonUp();
}
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.LogOut)
{
this.Login();
}
else
{
DialogFormYesNo msg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 12);
if (msg.ShowDialog() == DialogResult.Yes)
{
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.LogOff;
this.buttonUser.ButtonUp();
//this.DisplayRefresh();
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser, this.ParentForm.CurrentUserGroup);
this.Logout();
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,9 @@
this.buttonFunction = new SmartX.SmartButton();
this.buttonOptionSetting = new SmartX.SmartButton();
this.buttonDataStatistics = new SmartX.SmartButton();
this.buttonMotor = new SmartX.SmartButton();
this.buttonMotorSetting = new SmartX.SmartButton();
this.buttonDataViewer = new SmartX.SmartButton();
this.labelExpireOfPassword = new SmartX.SmartLabel();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.SuspendLayout();
//
@ -448,12 +450,12 @@
this.labelUserLevel.BackPictureBox2 = null;
this.labelUserLevel.BorderColor = System.Drawing.Color.Black;
this.labelUserLevel.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserLevel.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelUserLevel.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelUserLevel.InitVisible = true;
this.labelUserLevel.LineSpacing = 0F;
this.labelUserLevel.Location = new System.Drawing.Point(888, 50);
this.labelUserLevel.Location = new System.Drawing.Point(860, 37);
this.labelUserLevel.Name = "labelUserLevel";
this.labelUserLevel.Size = new System.Drawing.Size(120, 20);
this.labelUserLevel.Size = new System.Drawing.Size(148, 15);
this.labelUserLevel.TabIndex = 16;
this.labelUserLevel.Text = "Level1";
this.labelUserLevel.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@ -499,12 +501,12 @@
this.labelUserID.BackPictureBox2 = null;
this.labelUserID.BorderColor = System.Drawing.Color.Black;
this.labelUserID.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelUserID.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelUserID.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelUserID.InitVisible = true;
this.labelUserID.LineSpacing = 0F;
this.labelUserID.Location = new System.Drawing.Point(888, 24);
this.labelUserID.Location = new System.Drawing.Point(860, 16);
this.labelUserID.Name = "labelUserID";
this.labelUserID.Size = new System.Drawing.Size(120, 20);
this.labelUserID.Size = new System.Drawing.Size(148, 15);
this.labelUserID.TabIndex = 19;
this.labelUserID.Text = "ABCDEFGHAB";
this.labelUserID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
@ -607,36 +609,88 @@
this.buttonDataStatistics.Visible = false;
this.buttonDataStatistics.Click += new System.EventHandler(this.buttonMenu_Click);
//
// buttonMotor
// buttonMotorSetting
//
this.buttonMotor.BackPictureBox = null;
this.buttonMotor.BackPictureBox1 = null;
this.buttonMotor.BackPictureBox2 = null;
this.buttonMotor.ButtonColor = System.Drawing.Color.Gray;
this.buttonMotor.ButtonImageAutoSize = true;
this.buttonMotor.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonMotor.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonMotor.DisableImage")));
this.buttonMotor.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonMotor.DownImage")));
this.buttonMotor.GroupID = 0;
this.buttonMotor.InitVisible = true;
this.buttonMotor.Location = new System.Drawing.Point(196, 597);
this.buttonMotor.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonMotor.Name = "buttonMotor";
this.buttonMotor.NestedClickEventPrevent = false;
this.buttonMotor.OutlinePixel = 1;
this.buttonMotor.RepeatInterval = 200;
this.buttonMotor.RepeatIntervalAccelerate = null;
this.buttonMotor.SafeInterval = 200;
this.buttonMotor.Size = new System.Drawing.Size(150, 150);
this.buttonMotor.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonMotor.TabIndex = 29;
this.buttonMotor.TextColor = System.Drawing.Color.Black;
this.buttonMotor.TextDownColor = System.Drawing.Color.White;
this.buttonMotor.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonMotor.TextLocation = new System.Drawing.Point(0, 0);
this.buttonMotor.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonMotor.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonMotor.UpImage")));
this.buttonMotor.Click += new System.EventHandler(this.buttonMenu_Click);
this.buttonMotorSetting.BackPictureBox = null;
this.buttonMotorSetting.BackPictureBox1 = null;
this.buttonMotorSetting.BackPictureBox2 = null;
this.buttonMotorSetting.ButtonColor = System.Drawing.Color.Gray;
this.buttonMotorSetting.ButtonImageAutoSize = true;
this.buttonMotorSetting.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonMotorSetting.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonMotorSetting.DisableImage")));
this.buttonMotorSetting.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonMotorSetting.DownImage")));
this.buttonMotorSetting.GroupID = 0;
this.buttonMotorSetting.InitVisible = true;
this.buttonMotorSetting.Location = new System.Drawing.Point(196, 597);
this.buttonMotorSetting.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonMotorSetting.Name = "buttonMotorSetting";
this.buttonMotorSetting.NestedClickEventPrevent = false;
this.buttonMotorSetting.OutlinePixel = 1;
this.buttonMotorSetting.RepeatInterval = 200;
this.buttonMotorSetting.RepeatIntervalAccelerate = null;
this.buttonMotorSetting.SafeInterval = 200;
this.buttonMotorSetting.Size = new System.Drawing.Size(150, 150);
this.buttonMotorSetting.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonMotorSetting.TabIndex = 29;
this.buttonMotorSetting.TextColor = System.Drawing.Color.Black;
this.buttonMotorSetting.TextDownColor = System.Drawing.Color.White;
this.buttonMotorSetting.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonMotorSetting.TextLocation = new System.Drawing.Point(0, 0);
this.buttonMotorSetting.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonMotorSetting.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonMotorSetting.UpImage")));
this.buttonMotorSetting.Click += new System.EventHandler(this.buttonMenu_Click);
//
// buttonDataViewer
//
this.buttonDataViewer.BackPictureBox = null;
this.buttonDataViewer.BackPictureBox1 = null;
this.buttonDataViewer.BackPictureBox2 = null;
this.buttonDataViewer.ButtonColor = System.Drawing.Color.Gray;
this.buttonDataViewer.ButtonImageAutoSize = true;
this.buttonDataViewer.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonDataViewer.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonDataViewer.DisableImage")));
this.buttonDataViewer.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonDataViewer.DownImage")));
this.buttonDataViewer.GroupID = 0;
this.buttonDataViewer.InitVisible = true;
this.buttonDataViewer.Location = new System.Drawing.Point(352, 597);
this.buttonDataViewer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonDataViewer.Name = "buttonDataViewer";
this.buttonDataViewer.NestedClickEventPrevent = false;
this.buttonDataViewer.OutlinePixel = 1;
this.buttonDataViewer.RepeatInterval = 200;
this.buttonDataViewer.RepeatIntervalAccelerate = null;
this.buttonDataViewer.SafeInterval = 200;
this.buttonDataViewer.Size = new System.Drawing.Size(150, 150);
this.buttonDataViewer.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonDataViewer.TabIndex = 31;
this.buttonDataViewer.TextColor = System.Drawing.Color.Black;
this.buttonDataViewer.TextDownColor = System.Drawing.Color.White;
this.buttonDataViewer.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonDataViewer.TextLocation = new System.Drawing.Point(0, 0);
this.buttonDataViewer.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonDataViewer.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonDataViewer.UpImage")));
this.buttonDataViewer.Click += new System.EventHandler(this.buttonMenu_Click);
//
// labelExpireOfPassword
//
this.labelExpireOfPassword.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(151)))), ((int)(((byte)(151)))));
this.labelExpireOfPassword.BackPictureBox = this.smartForm1;
this.labelExpireOfPassword.BackPictureBox1 = null;
this.labelExpireOfPassword.BackPictureBox2 = null;
this.labelExpireOfPassword.BorderColor = System.Drawing.Color.LightGray;
this.labelExpireOfPassword.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelExpireOfPassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelExpireOfPassword.ForeColor = System.Drawing.Color.Black;
this.labelExpireOfPassword.InitVisible = true;
this.labelExpireOfPassword.LineSpacing = 0F;
this.labelExpireOfPassword.Location = new System.Drawing.Point(860, 58);
this.labelExpireOfPassword.Name = "labelExpireOfPassword";
this.labelExpireOfPassword.Size = new System.Drawing.Size(148, 15);
this.labelExpireOfPassword.TabIndex = 578;
this.labelExpireOfPassword.Text = "Level3";
this.labelExpireOfPassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelExpireOfPassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelExpireOfPassword.Wordwrap = false;
//
// FormMenu
//
@ -644,7 +698,9 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.AutoScroll = true;
this.ClientSize = new System.Drawing.Size(1024, 768);
this.Controls.Add(this.buttonMotor);
this.Controls.Add(this.labelExpireOfPassword);
this.Controls.Add(this.buttonDataViewer);
this.Controls.Add(this.buttonMotorSetting);
this.Controls.Add(this.buttonOptionSetting);
this.Controls.Add(this.buttonDataStatistics);
this.Controls.Add(this.buttonFunction);
@ -692,6 +748,8 @@
private SmartX.SmartButton buttonFunction;
private SmartX.SmartButton buttonOptionSetting;
private SmartX.SmartButton buttonDataStatistics;
private SmartX.SmartButton buttonMotor;
private SmartX.SmartButton buttonMotorSetting;
private SmartX.SmartButton buttonDataViewer;
private SmartX.SmartLabel labelExpireOfPassword;
}
}

View File

@ -9,6 +9,7 @@ using System.Windows.Forms;
using INT63DC_2C.DialogForms;
using INT63DC_ImageDll;
using INT63DC_2C.Part11_UserManager;
namespace INT63DC_2C.Forms
{
@ -92,9 +93,9 @@ namespace INT63DC_2C.Forms
this.buttonOptionSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuOptionDisable));
this.buttonOptionSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuOptionDown));
this.buttonOptionSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuOptionUp));
this.buttonMotor.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuMotorSettingDisable));
this.buttonMotor.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuMotorSettingDown));
this.buttonMotor.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuMotorSettingUp));
this.buttonMotorSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuMotorSettingDisable));
this.buttonMotorSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuMotorSettingDown));
this.buttonMotorSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMenuMotorSettingUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
@ -146,9 +147,9 @@ namespace INT63DC_2C.Forms
this.buttonOptionSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuOptionDisable));
this.buttonOptionSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuOptionDown));
this.buttonOptionSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuOptionUp));
this.buttonMotor.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuMotorSettingDisable));
this.buttonMotor.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuMotorSettingDown));
this.buttonMotor.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuMotorSettingUp));
this.buttonMotorSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuMotorSettingDisable));
this.buttonMotorSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuMotorSettingDown));
this.buttonMotorSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMenuMotorSettingUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
@ -200,9 +201,9 @@ namespace INT63DC_2C.Forms
this.buttonOptionSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuOptionDisable));
this.buttonOptionSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuOptionDown));
this.buttonOptionSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuOptionUp));
this.buttonMotor.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuMotorSettingDisable));
this.buttonMotor.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuMotorSettingDown));
this.buttonMotor.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuMotorSettingUp));
this.buttonMotorSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuMotorSettingDisable));
this.buttonMotorSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuMotorSettingDown));
this.buttonMotorSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMenuMotorSettingUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
@ -254,9 +255,9 @@ namespace INT63DC_2C.Forms
this.buttonOptionSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuOptionDisable));
this.buttonOptionSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuOptionDown));
this.buttonOptionSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuOptionUp));
this.buttonMotor.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuMotorSettingDisable));
this.buttonMotor.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuMotorSettingDown));
this.buttonMotor.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuMotorSettingUp));
this.buttonMotorSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuMotorSettingDisable));
this.buttonMotorSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuMotorSettingDown));
this.buttonMotorSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMenuMotorSettingUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
@ -308,9 +309,9 @@ namespace INT63DC_2C.Forms
this.buttonOptionSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuOptionDisable));
this.buttonOptionSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuOptionDown));
this.buttonOptionSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuOptionUp));
this.buttonMotor.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuMotorSettingDisable));
this.buttonMotor.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuMotorSettingDown));
this.buttonMotor.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuMotorSettingUp));
this.buttonMotorSetting.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuMotorSettingDisable));
this.buttonMotorSetting.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuMotorSettingDown));
this.buttonMotorSetting.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnMenuMotorSettingUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackupDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDown));
@ -332,326 +333,333 @@ namespace INT63DC_2C.Forms
}
if (this.ParentForm.SystemConfig.MotorSelect == 0)
this.buttonMotor.Visible = false;
this.buttonMotorSetting.Visible = false;
else
this.buttonMotor.Visible = true;
this.buttonMotorSetting.Visible = true;
}
private void UpdateDisplayUser(User user, UserGroup setGroup)
public void UpdateDisplayMenuAccess(UserItem user)
{
string id = "", group = "";
string id = "", group = "", expirePW = "";
int expireDate = 0;
Color colorExpirePW = this.ParentForm.ColorLogOff;
// Level 4 전용
this.buttonOptionSetting.Visible = false;
this.buttonEquipmentTest.Visible = false;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
{
this.buttonDataStatistics.Visible = true;
this.buttonDataViewer.Visible = true;
this.buttonUser.Visible = true;
}
else
{
this.buttonDataViewer.Visible = false;
if (this.ParentForm.SystemConfig.IsLogin == true)
this.buttonUser.Visible = true;
else
this.buttonUser.Visible = false;
// 옵션 데이터집계
if (this.ParentForm.SystemConfig.IsOptDataStatistics == true)
{
this.buttonDataStatistics.Visible = true;
this.buttonUser.Location = new Point(this.buttonDataViewer.Location.X, this.buttonDataViewer.Location.Y);
}
else
{
this.buttonDataStatistics.Visible = false;
this.buttonUser.Location = new Point(this.buttonDataStatistics.Location.X, this.buttonDataStatistics.Location.Y);
}
}
switch (user.Group)
{
case DataStore.UserGroup.Level1Operator:
case DataStore.UserGroup.None:
break;
case DataStore.UserGroup.Level1:
#region Level1
id = user.ID;
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
case DataStore.LanguageID.English:
group = "Level1";
break;
case DataStore.LanguageID.Chinese:
group = "级别1";
break;
case DataStore.LanguageID.Czech:
group = "Úroveň1`";
break;
case DataStore.LanguageID.German:
group = "Stufe1";
break;
case DataStore.LanguageID.Japanese:
group = "Level1";
break;
default:
break;
}
group = this.ParentForm.SystemConfig.User_Level1_Name;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonTimeSetting.Enabled = setGroup.Level1.IsMenuTimeSetting;
this.buttonInformation.Enabled = setGroup.Level1.IsMenuInformation;
this.buttonDataBackup.Enabled = setGroup.Level1.IsMenuDataBackup;
this.buttonCalibration.Enabled = setGroup.Level1.IsMenuCalibration;
this.buttonConfiguration.Enabled = setGroup.Level1.IsMenuConfiguration;
this.buttonUpdate.Enabled = setGroup.Level1.IsMenuUpdate;
this.buttonSysConfig.Enabled = setGroup.Level1.IsMenuSystemSetting;
this.buttonFactoryInitialize.Enabled = setGroup.Level1.IsMenuFactoryReset;
this.buttonEquipmentSetting.Enabled = setGroup.Level1.IsMenuEquipmentSetting;
this.buttonIOTest.Enabled = setGroup.Level1.IsMenuIOTest;
this.buttonMotor.Enabled = setGroup.Level1.IsMenuMotorSetting;
this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuInformation;
this.buttonDataBackup.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuDataBackup;
this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuConfiguration;
this.buttonCalibration.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuCalibration;
// 유저설정
if (this.ParentForm.SystemConfig.IsLogin == true)
{
this.buttonUser.Visible = true;
this.buttonUser.Enabled = setGroup.Level1.IsMenuUserSetting;
}
else
this.buttonUser.Visible = false;
this.buttonSysConfig.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuSystem;
this.buttonMotorSetting.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuMotor;
this.buttonUpdate.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuUpdate;
this.buttonFactoryInitialize.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuInitialization;
this.buttonIOTest.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuIOTest;
// 옵션 - 데이터 집계
if (this.ParentForm.SystemConfig.IsOptDataStatistics == true)
{
this.buttonDataStatistics.Visible = true;
this.buttonDataStatistics.Enabled = setGroup.Level1.IsMenuDataStatistics;
}
else
this.buttonDataStatistics.Visible = false;
this.buttonEquipmentSetting.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuEquipment;
this.buttonTimeSetting.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuTime;
this.buttonUser.Enabled = true;
this.buttonDataStatistics.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuStatistics;
this.buttonDataViewer.Enabled = this.ParentForm.CurrentUserGroup.Level1.IsMenuViewer;
this.buttonEquipmentTest.Visible = false;
this.buttonOptionSetting.Visible = false;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
#endregion
break;
case DataStore.UserGroup.Level2Engineer:
case DataStore.UserGroup.Level2:
#region Level2
id = user.ID;
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
case DataStore.LanguageID.English:
group = "Level2";
break;
case DataStore.LanguageID.Chinese:
group = "级别2";
break;
case DataStore.LanguageID.Czech:
group = "Úroveň2`";
break;
case DataStore.LanguageID.German:
group = "Stufe2";
break;
case DataStore.LanguageID.Japanese:
group = "Level2";
break;
default:
break;
}
group = this.ParentForm.SystemConfig.User_Level2_Name;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonTimeSetting.Enabled = setGroup.Level2.IsMenuTimeSetting;
this.buttonInformation.Enabled = setGroup.Level2.IsMenuInformation;
this.buttonDataBackup.Enabled = setGroup.Level2.IsMenuDataBackup;
this.buttonCalibration.Enabled = setGroup.Level2.IsMenuCalibration;
this.buttonConfiguration.Enabled = setGroup.Level2.IsMenuConfiguration;
this.buttonUpdate.Enabled = setGroup.Level2.IsMenuUpdate;
this.buttonSysConfig.Enabled = setGroup.Level2.IsMenuSystemSetting;
this.buttonFactoryInitialize.Enabled = setGroup.Level2.IsMenuFactoryReset;
this.buttonEquipmentSetting.Enabled = setGroup.Level2.IsMenuEquipmentSetting;
this.buttonIOTest.Enabled = setGroup.Level2.IsMenuIOTest;
this.buttonMotor.Enabled = setGroup.Level2.IsMenuMotorSetting;
this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuInformation;
this.buttonDataBackup.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuDataBackup;
this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuConfiguration;
this.buttonCalibration.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuCalibration;
// 유저설정
if (this.ParentForm.SystemConfig.IsLogin == true)
{
this.buttonUser.Visible = true;
this.buttonUser.Enabled = setGroup.Level2.IsMenuUserSetting;
}
else
this.buttonUser.Visible = false;
this.buttonSysConfig.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuSystem;
this.buttonMotorSetting.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuMotor;
this.buttonUpdate.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuUpdate;
this.buttonFactoryInitialize.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuInitialization;
this.buttonIOTest.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuIOTest;
// 옵션 - 데이터 집계
if (this.ParentForm.SystemConfig.IsOptDataStatistics == true)
{
this.buttonDataStatistics.Visible = true;
this.buttonDataStatistics.Enabled = setGroup.Level2.IsMenuDataStatistics;
}
else
this.buttonDataStatistics.Visible = false;
this.buttonEquipmentSetting.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuEquipment;
this.buttonTimeSetting.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuTime;
this.buttonUser.Enabled = true;
this.buttonDataStatistics.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuStatistics;
this.buttonDataViewer.Enabled = this.ParentForm.CurrentUserGroup.Level2.IsMenuViewer;
this.buttonEquipmentTest.Visible = false;
this.buttonOptionSetting.Visible = false;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
#endregion
break;
case DataStore.UserGroup.Level3Manager:
case DataStore.UserGroup.Level3:
#region Level3
id = user.ID;
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
case DataStore.LanguageID.English:
group = "Level3";
break;
case DataStore.LanguageID.Chinese:
group = "级别3";
break;
case DataStore.LanguageID.Czech:
group = "Úroveň3`";
break;
case DataStore.LanguageID.German:
group = "Stufe3";
break;
case DataStore.LanguageID.Japanese:
group = "Level3";
break;
default:
break;
}
group = this.ParentForm.SystemConfig.User_Level3_Name;
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonTimeSetting.Enabled = setGroup.Level3.IsMenuTimeSetting;
this.buttonInformation.Enabled = setGroup.Level3.IsMenuInformation;
this.buttonDataBackup.Enabled = setGroup.Level3.IsMenuDataBackup;
this.buttonCalibration.Enabled = setGroup.Level3.IsMenuCalibration;
this.buttonConfiguration.Enabled = setGroup.Level3.IsMenuConfiguration;
this.buttonUpdate.Enabled = setGroup.Level3.IsMenuUpdate;
this.buttonSysConfig.Enabled = setGroup.Level3.IsMenuSystemSetting;
this.buttonFactoryInitialize.Enabled = setGroup.Level3.IsMenuFactoryReset;
this.buttonEquipmentSetting.Enabled = setGroup.Level3.IsMenuEquipmentSetting;
this.buttonIOTest.Enabled = setGroup.Level3.IsMenuIOTest;
this.buttonMotor.Enabled = setGroup.Level3.IsMenuMotorSetting;
this.buttonInformation.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuInformation;
this.buttonDataBackup.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuDataBackup;
this.buttonConfiguration.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuConfiguration;
this.buttonCalibration.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuCalibration;
// 유저설정
if (this.ParentForm.SystemConfig.IsLogin == true)
{
this.buttonUser.Visible = true;
this.buttonUser.Enabled = setGroup.Level3.IsMenuUserSetting;
}
else
this.buttonUser.Visible = false;
this.buttonSysConfig.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuSystem;
this.buttonMotorSetting.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuMotor;
this.buttonUpdate.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuUpdate;
this.buttonFactoryInitialize.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuInitialization;
this.buttonIOTest.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuIOTest;
// 옵션 - 데이터 집계
if (this.ParentForm.SystemConfig.IsOptDataStatistics == true)
{
this.buttonDataStatistics.Visible = true;
this.buttonDataStatistics.Enabled = setGroup.Level3.IsMenuDataStatistics;
}
else
this.buttonDataStatistics.Visible = false;
this.buttonEquipmentSetting.Enabled = true;
this.buttonTimeSetting.Enabled = true;
this.buttonUser.Enabled = true;
this.buttonDataStatistics.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuStatistics;
this.buttonDataViewer.Enabled = this.ParentForm.CurrentUserGroup.Level3.IsMenuViewer;
this.buttonEquipmentTest.Visible = false;
this.buttonOptionSetting.Visible = false;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
#endregion
break;
case DataStore.UserGroup.Level4Developer:
#region Level4
case DataStore.UserGroup.Admin:
#region Admin
id = user.ID;
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
case DataStore.LanguageID.English:
group = "Level4";
break;
case DataStore.LanguageID.Chinese:
group = "级别4";
break;
case DataStore.LanguageID.Czech:
group = "Úroveň4`";
break;
case DataStore.LanguageID.German:
group = "Stufe4";
break;
case DataStore.LanguageID.Japanese:
group = "Level4";
break;
default:
break;
}
group = "Administrator";
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonTimeSetting.Enabled = true;
this.buttonInformation.Enabled = true;
this.buttonDataBackup.Enabled = true;
this.buttonCalibration.Enabled = true;
this.buttonConfiguration.Enabled = true;
this.buttonUpdate.Enabled = true;
this.buttonCalibration.Enabled = true;
this.buttonSysConfig.Enabled = true;
this.buttonMotorSetting.Enabled = true;
this.buttonUpdate.Enabled = true;
this.buttonFactoryInitialize.Enabled = true;
this.buttonEquipmentSetting.Enabled = true;
this.buttonIOTest.Enabled = true;
this.buttonMotor.Enabled = true;
// 유저설정
this.buttonUser.Visible = true;
this.buttonEquipmentSetting.Enabled = true;
this.buttonTimeSetting.Enabled = true;
this.buttonUser.Enabled = true;
this.buttonDataStatistics.Enabled = true;
this.buttonDataViewer.Enabled = true;
// 옵션 - 데이터 집계
this.buttonDataStatistics.Visible = true;
this.buttonDataStatistics.Enabled = true;
this.buttonEquipmentTest.Visible = false;
this.buttonOptionSetting.Visible = false;
// 히든버튼
this.buttonEquipmentTest.Visible = true;
this.buttonOptionSetting.Visible = true;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
#endregion
break;
case DataStore.UserGroup.LogOff:
#region LogOff
id = "";
case DataStore.UserGroup.Developer:
#region Developer
id = user.ID;
group = "Developer";
if (this.labelUserLevel.ForeColor != this.ParentForm.ColorLogOn)
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOff;
this.labelUserLevel.ForeColor = this.labelUserID.ForeColor = this.ParentForm.ColorLogOn;
this.buttonTimeSetting.Enabled = false;
this.buttonInformation.Enabled = false;
this.buttonDataBackup.Enabled = false;
this.buttonCalibration.Enabled = false;
this.buttonInformation.Enabled = true;
this.buttonDataBackup.Enabled = true;
this.buttonConfiguration.Enabled = true;
this.buttonCalibration.Enabled = true;
this.buttonConfiguration.Enabled = false;
this.buttonUpdate.Enabled = false;
this.buttonSysConfig.Enabled = false;
this.buttonFactoryInitialize.Enabled = false;
this.buttonSysConfig.Enabled = true;
this.buttonMotorSetting.Enabled = true;
this.buttonUpdate.Enabled = true;
this.buttonFactoryInitialize.Enabled = true;
this.buttonIOTest.Enabled = true;
this.buttonEquipmentSetting.Enabled = false;
this.buttonIOTest.Enabled = false;
this.buttonMotor.Enabled = false;
this.buttonEquipmentSetting.Enabled = true;
this.buttonTimeSetting.Enabled = true;
this.buttonUser.Enabled = true;
this.buttonDataStatistics.Enabled = true;
this.buttonDataViewer.Enabled = true;
// 유저설정
if (this.ParentForm.SystemConfig.IsLogin == true)
{
this.buttonUser.Visible = true;
this.buttonUser.Enabled = false;
}
else
this.buttonUser.Visible = false;
this.buttonEquipmentTest.Visible = true;
this.buttonOptionSetting.Visible = true;
// 옵션 - 데이터 집계
if (this.ParentForm.SystemConfig.IsOptDataStatistics == true)
{
this.buttonDataStatistics.Visible = true;
this.buttonDataStatistics.Enabled = false;
}
else
this.buttonDataStatistics.Visible = false;
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.labelExpireOfPassword.Visible = true;
#endregion
break;
case DataStore.UserGroup.NotLogin:
#region NotLogin
this.buttonTimeSetting.Enabled = true;
// true
this.buttonInformation.Enabled = true;
this.buttonDataBackup.Enabled = true;
this.buttonCalibration.Enabled = true;
this.buttonConfiguration.Enabled = true;
this.buttonUpdate.Enabled = true;
this.buttonSysConfig.Enabled = true;
this.buttonFactoryInitialize.Enabled = true;
this.buttonEquipmentSetting.Enabled = true;
this.buttonIOTest.Enabled = true;
this.buttonMotor.Enabled = true;
this.buttonCalibration.Enabled = true;
// 옵션 - 데이터 집계
this.buttonSysConfig.Enabled = true;
this.buttonMotorSetting.Enabled = true;
this.buttonUpdate.Enabled = true;
this.buttonFactoryInitialize.Enabled = true;
this.buttonIOTest.Enabled = true;
this.buttonEquipmentSetting.Enabled = true;
this.buttonTimeSetting.Enabled = true;
// false
this.buttonEquipmentTest.Visible = false;
this.buttonOptionSetting.Visible = false;
this.buttonUser.Enabled = false;
this.buttonDataViewer.Visible = false;
// 옵션 데이터집계
if (this.ParentForm.SystemConfig.IsOptDataStatistics == true)
this.buttonDataStatistics.Visible = true;
else
this.buttonDataStatistics.Visible = false;
#endregion
break;
case DataStore.UserGroup.LogOut:
group = "Log out";
this.labelExpireOfPassword.Visible = false;
break;
default:
break;
}
//if (this.ParentForm.SystemConfig.IsLogin == true)
//{
// if (this.ParentForm.SystemConfig.IsPart11 == true)
// {
// if (user.ExpirePassword != 0)
// {
// expireDate = user.GetPasswordExpiryDday();
// if (expireDate == 9999)
// {
// // Administrator or Developer
// colorExpirePW = this.ParentForm.ColorLogOn;
// expirePW = "-";
// }
// else
// {
// if (expireDate >= -10)
// {
// colorExpirePW = this.ParentForm.ColorLogOff;
// if (expireDate > 0)
// expirePW = string.Format("D+{0}", expireDate);
// else
// expirePW = string.Format("D{0}", expireDate);
// }
// else
// {
// colorExpirePW = this.ParentForm.ColorLogOn;
// expirePW = string.Format("D{0}", expireDate);
// }
// }
// }
// else
// {
// colorExpirePW = this.ParentForm.ColorLogOn;
// expirePW = "-";
// }
// }
// else
// {
// // Part11 미사용
// colorExpirePW = this.ParentForm.ColorLogOn;
// expirePW = "-";
// }
//}
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
{
if (user.ExpirePassword != 0)
{
expireDate = user.GetPasswordExpiryDday();
colorExpirePW = this.ParentForm.ColorLogOn;
expirePW = "-";
if (expireDate < 9999)
{
if (expireDate >= -10)
{
colorExpirePW = this.ParentForm.ColorLogOff;
if (expireDate > 0)
expirePW = string.Format("D+{0}", expireDate);
else
expirePW = string.Format("D{0}", expireDate);
}
else
{
colorExpirePW = this.ParentForm.ColorLogOn;
expirePW = string.Format("D{0}", expireDate);
}
}
}
}
if (this.labelUserID.Text != id)
this.labelUserID.Text = id;
if (this.labelUserLevel.Text != group)
this.labelUserLevel.Text = group;
if (this.labelExpireOfPassword.ForeColor != colorExpirePW)
this.labelExpireOfPassword.ForeColor = colorExpirePW;
if (this.labelExpireOfPassword.Text != expirePW)
this.labelExpireOfPassword.Text = expirePW;
}
public void DisplayRefresh()
{
this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser, this.ParentForm.CurrentUserGroup);
this.UpdateDisplayMenuAccess(this.ParentForm.SystemConfig.CurrentUser);
this.ParentForm.TransferData(CommunicationCommand.ModeMenu, CommunicationID.MainBoard);
this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormMenu;
@ -763,8 +771,8 @@ namespace INT63DC_2C.Forms
else if (button == this.buttonUser)
{
#region 유저설정
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormUserSetting);
this.ParentForm.ChildFormUserSetting.DisplayRefresh();
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormUserEditor);
this.ParentForm.ChildFormUserEditor.DisplayRefresh();
#endregion
}
else if (button == this.buttonDataStatistics)
@ -781,7 +789,7 @@ namespace INT63DC_2C.Forms
this.ParentForm.ChildFormOptionSetting.DisplayRefresh();
#endregion
}
else if (button == this.buttonMotor)
else if (button == this.buttonMotorSetting)
{
#region 모터설정
this.ParentForm.ChildFormMotorSetting.DisplayRefresh();
@ -793,14 +801,21 @@ namespace INT63DC_2C.Forms
{
if (this.ParentForm.SystemConfig.IsLogin == false)
{
this.ParentForm.CurrentUserPasswordType.SetDefinedPassword(OptionPassword.Default);
DialogFormPasswordKeyPad pass = new DialogFormPasswordKeyPad(this.ParentForm.SystemConfig.Language, this.ParentForm.CurrentUserPasswordType, 8);
if (pass.ShowDialog() == DialogResult.OK)
DialogFormPasswordKeyPad1 password = new DialogFormPasswordKeyPad1(8, this.ParentForm.SystemConfig.Language);
DialogResult dialogResult = password.ShowDialog();
if (dialogResult == DialogResult.OK)
{
if (this.buttonEquipmentTest.Visible == false)
this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer;
this.UpdateDisplayMenuAccess(this.ParentForm.SystemConfig.CurrentUser);
}
}
else
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
if (this.buttonEquipmentTest.Visible != true)
this.buttonEquipmentTest.Visible = true;
if (this.buttonOptionSetting.Visible == false)
if (this.buttonOptionSetting.Visible != true)
this.buttonOptionSetting.Visible = true;
}
}

View File

@ -7931,7 +7931,7 @@
mAZbI77f8f2XnJSM909FVl5u3v8BQ9Jb96NpL/MAAAAASUVORK5CYII=
</value>
</data>
<data name="buttonMotor.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="buttonMotorSetting.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAIAAACzY+a1AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
@ -8056,7 +8056,7 @@
rN9Z/9XW1JJ/+mR1dnT+H5WcNRDz/0IIAAAAAElFTkSuQmCC
</value>
</data>
<data name="buttonMotor.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="buttonMotorSetting.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAIAAACzY+a1AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
@ -8358,7 +8358,7 @@
l6SvuKsAAAAASUVORK5CYII=
</value>
</data>
<data name="buttonMotor.UpImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="buttonMotorSetting.UpImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAIAAACzY+a1AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
@ -8512,6 +8512,633 @@
OQJ3VCHCw91j586dqIrD6enpGGpRGxmJp4nwCywA6IAUjJ/Iv6CgINxLeF/w1lKosejhgQM+Pj6oh3Qk
oy2cY3QV4REogAjoQHZhF+Mn8s/rvBcjbkQhCWdnZ6Sjl5eXTCYjOQvteBThBdL5yD/cNbi7u2O+c3Nz
4yjjKkT4XfQ7fuz4/v374XKLCN9gaMT9O+7/Tp08hfUnR5b/Jf//B/fj/OZ5uk98AAAAAElFTkSuQmCC
</value>
</data>
<data name="buttonDataViewer.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
D3zo8+4B8DirAAAAAElFTkSuQmCC
</value>
</data>
<data name="buttonDataViewer.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
TkSuQmCC
</value>
</data>
<data name="buttonDataViewer.UpImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAASUVORK5CYII=
</value>
</data>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,9 @@ using System.Drawing;
using System.Text;
using System.Windows.Forms;
using INT63DC_2C.Part11_UserManager;
using SmartX;
using INT63DC_2C.DialogForms;
using INT63DC_ImageDll;
namespace INT63DC_2C.Forms
@ -25,6 +28,10 @@ namespace INT63DC_2C.Forms
private Collection<Control> CollectionLevel2Control;
private Collection<Control> CollectionLevel3Control;
private Collection<Control> CollectionLevel4Control;
private string BeforeTextBox1;
private string BeforeTextBox2;
private string BeforeTextBox3;
#endregion
#region Constructor
@ -54,95 +61,47 @@ namespace INT63DC_2C.Forms
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
this.labelTitle.Text = "그룹 에디터";
break;
case DataStore.LanguageID.English:
case DataStore.LanguageID.Czech:
case DataStore.LanguageID.German:
this.labelTitle.Text = "Group Editor";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
break;
case DataStore.LanguageID.Chinese:
#region Chinese
this.labelTitle.Text = "组编辑";
this.labelTitle1.Text = "级别1";
this.labelTitle2.Text = "级别2";
this.labelTitle3.Text = "级别3";
this.labelStaticMainDisplayAccess.Text = "主显示访问";
this.labelStaticProductNo.Text = "编号";
this.labelStaticWeightSetting.Text = "体重设定";
this.labelStaticClear.Text = "消除";
this.labelStaticSubMenu.Text = "子菜单";
this.labelStaticMenu.Text = "菜单";
this.labelStaticTimeSetting.Text = "时间设定";
this.labelStaticInformation.Text = "系统信息";
this.labelStaticDataBackup.Text = "数据备份";
this.labelStaticCalibration.Text = "校准";
this.labelStaticConfiguration.Text = "选项";
this.labelStaticUpdate.Text = "更新";
this.labelStaticSystemSetting.Text = "系统设定";
this.labelStaticFactoryReset.Text = "回复出厂设置";
this.labelStaticMotorSetting.Text = "设置电机";
this.labelStaticEquipmentSetting.Text = "设备设置";
this.labelStaticIOTest.Text = "I/O测试";
this.labelStaticUserSetting.Text = "用户设置";
this.labelTitleDataStatistics.Text = "数据统计";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveUp));
#endregion
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
break;
case DataStore.LanguageID.Japanese:
#region Japanese
this.labelTitle.Text = "グルㅡプエディタㅡ";
case DataStore.LanguageID.Czech:
this.labelTitle.Text = "Group Editor";
this.labelTitle1.Text = "Level 1";
this.labelTitle2.Text = "Level 2";
this.labelTitle3.Text = "Level 3";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeSaveUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackUp));
break;
case DataStore.LanguageID.German:
this.labelTitle.Text = "Group Editor";
this.labelStaticMainDisplayAccess.Text = "メインディスプレイ";
this.labelStaticProductNo.Text = "番号";
this.labelStaticWeightSetting.Text = "設定値";
this.labelStaticClear.Text = "クリア";
this.labelStaticSubMenu.Text = "サブメニュㅡ";
this.labelStaticMenu.Text = "メニュㅡ";
this.labelStaticTimeSetting.Text = "時間設定";
this.labelStaticInformation.Text = "インフォメㅡション";
this.labelStaticDataBackup.Text = "デㅡタバックアップ";
this.labelStaticCalibration.Text = "校正";
this.labelStaticConfiguration.Text = "構成";
this.labelStaticUpdate.Text = "更新";
this.labelStaticSystemSetting.Text = "システム設定";
this.labelStaticFactoryReset.Text = "初期化";
this.labelStaticMotorSetting.Text = "モㅡタㅡ設定";
this.labelStaticEquipmentSetting.Text = "装置設定";
this.labelStaticIOTest.Text = "I/Oテスト";
this.labelStaticUserSetting.Text = "ユㅡザㅡの設定";
this.labelTitleDataStatistics.Text = "デㅡタ統計";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackUp));
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnSaveUp));
#endregion
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerSaveUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackUp));
break;
default:
break;
@ -150,26 +109,30 @@ namespace INT63DC_2C.Forms
}
private void DefaultSetting()
{
this.BeforeTextBox1 = "";
this.BeforeTextBox2 = "";
this.BeforeTextBox3 = "";
this.CollectionLevel1Location = new Collection<Point>();
this.CollectionLevel1Location.Add(this.labelTitle1.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainProductNo.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainWeightSet.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainClear.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainSubMenu.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuTimeSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuTime.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuInformation.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuDataBackup.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuCommunication.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuConfiguration.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuCalibration.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuSystemSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuMotorSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuSystem.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuMotor.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuIOTest.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuUpdate.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuFactoryReset.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuUserSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuUserGroupSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuEquipmentSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuDataStatistics.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuInitialization.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuEquipment.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuStatistics.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuViewer.Location);
this.CollectionLevel2Location = new Collection<Point>();
this.CollectionLevel2Location.Add(this.labelTitle2.Location);
@ -177,20 +140,20 @@ namespace INT63DC_2C.Forms
this.CollectionLevel2Location.Add(this.checkBoxL2MainWeightSet.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MainClear.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MainSubMenu.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuTimeSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuTime.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuInformation.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuDataBackup.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuCommunication.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuConfiguration.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuCalibration.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuSystemSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuMotorSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuSystem.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuMotor.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuIOTest.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuUpdate.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuFactoryReset.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuUserSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuUserGroupSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuEquipmentSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuDataStatistics.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuInitialization.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuEquipment.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuStatistics.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuViewer.Location);
this.CollectionLevel3Location = new Collection<Point>();
this.CollectionLevel3Location.Add(this.labelTitle3.Location);
@ -198,20 +161,20 @@ namespace INT63DC_2C.Forms
this.CollectionLevel3Location.Add(this.checkBoxL3MainWeightSet.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MainClear.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MainSubMenu.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuTimeSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuTime.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuInformation.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuDataBackup.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuConfiguration.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuCommunication.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuCalibration.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuSystemSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuMotorSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuSystem.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuMotor.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuIOTest.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuUpdate.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuFactoryReset.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuUserSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuUserGroupSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuEquipmentSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuDataStatistics.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuInitialization.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuEquipment.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuStatistics.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuViewer.Location);
this.CollectionLevel1Control = new Collection<Control>();
this.CollectionLevel1Control.Add(this.labelTitle1);
@ -219,20 +182,20 @@ namespace INT63DC_2C.Forms
this.CollectionLevel1Control.Add(this.checkBoxL1MainWeightSet);
this.CollectionLevel1Control.Add(this.checkBoxL1MainClear);
this.CollectionLevel1Control.Add(this.checkBoxL1MainSubMenu);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuTimeSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuTime);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuInformation);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuDataBackup);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuConfiguration);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuCommunication);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuCalibration);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuSystemSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuMotorSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuSystem);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuMotor);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuIOTest);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuUpdate);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuFactoryReset);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuUserSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuUserGroupSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuEquipmentSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuDataStatistics);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuInitialization);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuEquipment);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuStatistics);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuViewer);
this.CollectionLevel2Control = new Collection<Control>();
this.CollectionLevel2Control.Add(this.labelTitle2);
@ -240,20 +203,20 @@ namespace INT63DC_2C.Forms
this.CollectionLevel2Control.Add(this.checkBoxL2MainWeightSet);
this.CollectionLevel2Control.Add(this.checkBoxL2MainClear);
this.CollectionLevel2Control.Add(this.checkBoxL2MainSubMenu);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuTimeSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuTime);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuInformation);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuDataBackup);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuConfiguration);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuCommunication);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuCalibration);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuSystemSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuMotorSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuSystem);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuMotor);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuIOTest);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuUpdate);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuFactoryReset);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuUserSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuUserGroupSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuEquipmentSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuDataStatistics);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuInitialization);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuEquipment);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuStatistics);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuViewer);
this.CollectionLevel3Control = new Collection<Control>();
this.CollectionLevel3Control.Add(this.labelTitle3);
@ -261,67 +224,70 @@ namespace INT63DC_2C.Forms
this.CollectionLevel3Control.Add(this.checkBoxL3MainWeightSet);
this.CollectionLevel3Control.Add(this.checkBoxL3MainClear);
this.CollectionLevel3Control.Add(this.checkBoxL3MainSubMenu);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuTimeSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuTime);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuInformation);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuDataBackup);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuConfiguration);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuCommunication);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuCalibration);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuSystemSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuMotorSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuSystem);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuMotor);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuIOTest);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuUpdate);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuFactoryReset);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuUserSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuUserGroupSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuEquipmentSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuDataStatistics);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuInitialization);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuEquipment);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuStatistics);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuViewer);
this.CollectionLevel4Control = new Collection<Control>();
this.CollectionLevel4Control.Add(this.labelTitle4);
this.CollectionLevel4Control.Add(this.labelTitleNotLogin1);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainProductNo);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainWeightSet);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainClear);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainSubMenu);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuTimeSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuTime);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuInformation);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuDataBackup);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuConfiguration);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuCommunication);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuCalibration);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuSystemSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuMotorSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuSystem);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuMotor);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuIOTest);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuUpdate);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuFactoryReset);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuUserSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuUserGroupSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuEquipmentSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuDataStatistics);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuInitialization);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuEquipment);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuStatistics);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuViewer);
this.UpdateDisplay(this.ParentForm.CurrentUserGroup);
this.UpdateDisplay(this.ParentForm.CurrentUserGroup, this.ParentForm.SystemConfig);
}
private void UpdateDisplay(UserGroup group)
private void UpdateDisplay(UserGroup group, SystemConfigurationItem system)
{
this.labelLevel1Name.Text = system.User_Level1_Name;
this.labelLevel2Name.Text = system.User_Level2_Name;
this.labelLevel3Name.Text = system.User_Level3_Name;
#region Level1
this.checkBoxL1MainProductNo.Checked = group.Level1.IsMainDisplayProductNo;
this.checkBoxL1MainWeightSet.Checked = group.Level1.IsMainDisplayWeightSetting;
this.checkBoxL1MainClear.Checked = group.Level1.IsMainDisplayClear;
this.checkBoxL1MainSubMenu.Checked = group.Level1.IsMainDisplaySubMenu;
this.checkBoxL1MenuCalibration.Checked = group.Level1.IsMenuCalibration;
this.checkBoxL1MenuConfiguration.Checked = group.Level1.IsMenuConfiguration;
this.checkBoxL1MenuDataBackup.Checked = group.Level1.IsMenuDataBackup;
this.checkBoxL1MenuDataStatistics.Checked = group.Level1.IsMenuDataStatistics;
this.checkBoxL1MenuEquipmentSetting.Checked = group.Level1.IsMenuEquipmentSetting;
this.checkBoxL1MenuFactoryReset.Checked = group.Level1.IsMenuFactoryReset;
this.checkBoxL1MenuInformation.Checked = group.Level1.IsMenuInformation;
this.checkBoxL1MenuConfiguration.Checked = group.Level1.IsMenuConfiguration;
this.checkBoxL1MenuCalibration.Checked = group.Level1.IsMenuCalibration;
this.checkBoxL1MenuSystem.Checked = group.Level1.IsMenuSystem;
this.checkBoxL1MenuMotor.Checked = group.Level1.IsMenuMotor;
this.checkBoxL1MenuIOTest.Checked = group.Level1.IsMenuIOTest;
this.checkBoxL1MenuMotorSetting.Checked = group.Level1.IsMenuMotorSetting;
this.checkBoxL1MenuSystemSetting.Checked = group.Level1.IsMenuSystemSetting;
this.checkBoxL1MenuTimeSetting.Checked = group.Level1.IsMenuTimeSetting;
this.checkBoxL1MenuEquipment.Checked = group.Level1.IsMenuEquipment;
this.checkBoxL1MenuUpdate.Checked = group.Level1.IsMenuUpdate;
this.checkBoxL1MenuUserGroupSetting.Checked = group.Level1.IsMenuUserGroupSetting;
this.checkBoxL1MenuUserSetting.Checked = group.Level1.IsMenuUserSetting;
this.checkBoxL1MenuInitialization.Checked = group.Level1.IsMenuInitialization;
this.checkBoxL1MenuTime.Checked = group.Level1.IsMenuTime;
this.checkBoxL1MenuDataBackup.Checked = group.Level1.IsMenuDataBackup;
this.checkBoxL1MenuStatistics.Checked = group.Level1.IsMenuStatistics;
this.checkBoxL1MenuViewer.Checked = group.Level1.IsMenuViewer;
#endregion
#region Level2
@ -330,20 +296,19 @@ namespace INT63DC_2C.Forms
this.checkBoxL2MainClear.Checked = group.Level2.IsMainDisplayClear;
this.checkBoxL2MainSubMenu.Checked = group.Level2.IsMainDisplaySubMenu;
this.checkBoxL2MenuCalibration.Checked = group.Level2.IsMenuCalibration;
this.checkBoxL2MenuConfiguration.Checked = group.Level2.IsMenuConfiguration;
this.checkBoxL2MenuDataBackup.Checked = group.Level2.IsMenuDataBackup;
this.checkBoxL2MenuDataStatistics.Checked = group.Level2.IsMenuDataStatistics;
this.checkBoxL2MenuEquipmentSetting.Checked = group.Level2.IsMenuEquipmentSetting;
this.checkBoxL2MenuFactoryReset.Checked = group.Level2.IsMenuFactoryReset;
this.checkBoxL2MenuInformation.Checked = group.Level2.IsMenuInformation;
this.checkBoxL2MenuConfiguration.Checked = group.Level2.IsMenuConfiguration;
this.checkBoxL2MenuCalibration.Checked = group.Level2.IsMenuCalibration;
this.checkBoxL2MenuSystem.Checked = group.Level2.IsMenuSystem;
this.checkBoxL2MenuMotor.Checked = group.Level2.IsMenuMotor;
this.checkBoxL2MenuIOTest.Checked = group.Level2.IsMenuIOTest;
this.checkBoxL2MenuMotorSetting.Checked = group.Level2.IsMenuMotorSetting;
this.checkBoxL2MenuSystemSetting.Checked = group.Level2.IsMenuSystemSetting;
this.checkBoxL2MenuTimeSetting.Checked = group.Level2.IsMenuTimeSetting;
this.checkBoxL2MenuEquipment.Checked = group.Level2.IsMenuEquipment;
this.checkBoxL2MenuUpdate.Checked = group.Level2.IsMenuUpdate;
this.checkBoxL2MenuUserGroupSetting.Checked = group.Level2.IsMenuUserGroupSetting;
this.checkBoxL2MenuUserSetting.Checked = group.Level2.IsMenuUserSetting;
this.checkBoxL2MenuInitialization.Checked = group.Level2.IsMenuInitialization;
this.checkBoxL2MenuTime.Checked = group.Level2.IsMenuTime;
this.checkBoxL2MenuDataBackup.Checked = group.Level2.IsMenuDataBackup;
this.checkBoxL2MenuStatistics.Checked = group.Level2.IsMenuStatistics;
this.checkBoxL2MenuViewer.Checked = group.Level2.IsMenuViewer;
#endregion
#region Level3
@ -352,20 +317,19 @@ namespace INT63DC_2C.Forms
this.checkBoxL3MainClear.Checked = group.Level3.IsMainDisplayClear;
this.checkBoxL3MainSubMenu.Checked = group.Level3.IsMainDisplaySubMenu;
this.checkBoxL3MenuCalibration.Checked = group.Level3.IsMenuCalibration;
this.checkBoxL3MenuConfiguration.Checked = group.Level3.IsMenuConfiguration;
this.checkBoxL3MenuDataBackup.Checked = group.Level3.IsMenuDataBackup;
this.checkBoxL3MenuDataStatistics.Checked = group.Level3.IsMenuDataStatistics;
this.checkBoxL3MenuEquipmentSetting.Checked = group.Level3.IsMenuEquipmentSetting;
this.checkBoxL3MenuFactoryReset.Checked = group.Level3.IsMenuFactoryReset;
this.checkBoxL3MenuInformation.Checked = group.Level3.IsMenuInformation;
this.checkBoxL3MenuConfiguration.Checked = group.Level3.IsMenuConfiguration;
this.checkBoxL3MenuCalibration.Checked = group.Level3.IsMenuCalibration;
this.checkBoxL3MenuSystem.Checked = group.Level3.IsMenuSystem;
this.checkBoxL3MenuMotor.Checked = group.Level3.IsMenuMotor;
this.checkBoxL3MenuIOTest.Checked = group.Level3.IsMenuIOTest;
this.checkBoxL3MenuMotorSetting.Checked = group.Level3.IsMenuMotorSetting;
this.checkBoxL3MenuSystemSetting.Checked = group.Level3.IsMenuSystemSetting;
this.checkBoxL3MenuTimeSetting.Checked = group.Level3.IsMenuTimeSetting;
this.checkBoxL3MenuEquipment.Checked = true;
this.checkBoxL3MenuUpdate.Checked = group.Level3.IsMenuUpdate;
this.checkBoxL3MenuUserGroupSetting.Checked = group.Level3.IsMenuUserGroupSetting;
this.checkBoxL3MenuUserSetting.Checked = group.Level3.IsMenuUserSetting;
this.checkBoxL3MenuInitialization.Checked = group.Level3.IsMenuInitialization;
this.checkBoxL3MenuTime.Checked = true;
this.checkBoxL3MenuDataBackup.Checked = group.Level3.IsMenuDataBackup;
this.checkBoxL3MenuStatistics.Checked = group.Level3.IsMenuStatistics;
this.checkBoxL3MenuViewer.Checked = group.Level3.IsMenuViewer;
#endregion
#region NotLogin
@ -374,71 +338,120 @@ namespace INT63DC_2C.Forms
this.checkBoxNotLoginMainClear.Checked = group.NotLogin.IsMainDisplayClear;
this.checkBoxNotLoginMainSubMenu.Checked = group.NotLogin.IsMainDisplaySubMenu;
this.checkBoxNotLoginMenuCalibration.Checked = group.NotLogin.IsMenuCalibration;
this.checkBoxNotLoginMenuConfiguration.Checked = group.NotLogin.IsMenuConfiguration;
this.checkBoxNotLoginMenuDataBackup.Checked = group.NotLogin.IsMenuDataBackup;
this.checkBoxNotLoginMenuDataStatistics.Checked = group.NotLogin.IsMenuDataStatistics;
this.checkBoxNotLoginMenuEquipmentSetting.Checked = group.NotLogin.IsMenuEquipmentSetting;
this.checkBoxNotLoginMenuFactoryReset.Checked = group.NotLogin.IsMenuFactoryReset;
this.checkBoxNotLoginMenuInformation.Checked = group.NotLogin.IsMenuInformation;
this.checkBoxNotLoginMenuConfiguration.Checked = group.NotLogin.IsMenuConfiguration;
this.checkBoxNotLoginMenuCalibration.Checked = group.NotLogin.IsMenuCalibration;
this.checkBoxNotLoginMenuSystem.Checked = group.NotLogin.IsMenuSystem;
this.checkBoxNotLoginMenuMotor.Checked = group.NotLogin.IsMenuMotor;
this.checkBoxNotLoginMenuIOTest.Checked = group.NotLogin.IsMenuIOTest;
this.checkBoxNotLoginMenuMotorSetting.Checked = group.NotLogin.IsMenuMotorSetting;
this.checkBoxNotLoginMenuSystemSetting.Checked = group.NotLogin.IsMenuSystemSetting;
this.checkBoxNotLoginMenuTimeSetting.Checked = group.NotLogin.IsMenuTimeSetting;
this.checkBoxNotLoginMenuEquipment.Checked = group.NotLogin.IsMenuEquipment;
this.checkBoxNotLoginMenuUpdate.Checked = group.NotLogin.IsMenuUpdate;
this.checkBoxNotLoginMenuUserGroupSetting.Checked = group.NotLogin.IsMenuUserGroupSetting;
this.checkBoxNotLoginMenuUserSetting.Checked = group.NotLogin.IsMenuUserSetting;
this.checkBoxNotLoginMenuInitialization.Checked = group.NotLogin.IsMenuInitialization;
this.checkBoxNotLoginMenuTime.Checked = group.NotLogin.IsMenuTime;
this.checkBoxNotLoginMenuDataBackup.Checked = group.NotLogin.IsMenuDataBackup;
this.checkBoxNotLoginMenuStatistics.Checked = group.NotLogin.IsMenuStatistics;
this.checkBoxNotLoginMenuViewer.Checked = group.NotLogin.IsMenuViewer;
#endregion
}
private void UpdatePart11Visible()
{
if (this.ParentForm.SystemConfig.IsOptPart11 == false)
{
this.labelTitleStatistics.Visible = false;
this.checkBoxL1MenuStatistics.Visible = false;
this.checkBoxL2MenuStatistics.Visible = false;
this.checkBoxL3MenuStatistics.Visible = false;
this.checkBoxNotLoginMenuStatistics.Visible = false;
this.labelTitleViewer.Visible = false;
this.checkBoxL1MenuViewer.Visible = false;
this.checkBoxL2MenuViewer.Visible = false;
this.checkBoxL3MenuViewer.Visible = false;
this.checkBoxNotLoginMenuViewer.Visible = false;
}
else
{
this.labelTitleStatistics.Visible = true;
this.checkBoxL1MenuStatistics.Visible = true;
this.checkBoxL2MenuStatistics.Visible = true;
this.checkBoxL3MenuStatistics.Visible = true;
this.checkBoxNotLoginMenuStatistics.Visible = true;
this.labelTitleViewer.Visible = true;
this.checkBoxL1MenuViewer.Visible = true;
this.checkBoxL2MenuViewer.Visible = true;
this.checkBoxL3MenuViewer.Visible = true;
this.checkBoxNotLoginMenuViewer.Visible = true;
}
}
public void DisplayRefresh()
{
this.UpdateDisplay(this.ParentForm.CurrentUserGroup);
this.UpdateDisplay(this.ParentForm.CurrentUserGroup, this.ParentForm.SystemConfig);
this.UpdatePart11Visible();
this.buttonSave.Visible = false;
// Not login 미사용으로 Visible = false 처리함
for (int i = 0; i < this.CollectionLevel1Control.Count; i++)
this.CollectionLevel4Control[i].Visible = false;
if (this.ParentForm.SystemConfig.CurrentUser.Group != DataStore.UserGroup.Developer)
{
this.labelTitleNotLogin1.Visible = false;
this.labelTitleNotLogin2.Visible = false;
// 현재 데이터 통계 메뉴가 없어서 Visible = false 처리함
// 추후에 데이터 통계 메뉴 추가 되면 삭제
this.labelTitleDataStatistics.Visible = false;
this.checkBoxL1MenuDataStatistics.Visible = false;
this.checkBoxL2MenuDataStatistics.Visible = false;
this.checkBoxL3MenuDataStatistics.Visible = false;
this.checkBoxNotLoginMenuDataStatistics.Visible = false;
for (int i = 0; i < this.CollectionLevel1Control.Count; i++)
{
//this.CollectionLevel1Control[i].Location = new Point(this.CollectionLevel2Location[i].X, this.CollectionLevel2Location[i].Y);
//this.CollectionLevel2Control[i].Location = new Point(this.CollectionLevel3Location[i].X, this.CollectionLevel3Location[i].Y);
//this.CollectionLevel3Control[i].Visible = false;
this.CollectionLevel4Control[i].Visible = false;
}
}
else
{
this.labelTitleNotLogin1.Visible = true;
this.labelTitleNotLogin2.Visible = true;
for (int i = 0; i < this.CollectionLevel1Control.Count; i++)
{
//this.CollectionLevel1Control[i].Location = new Point(this.CollectionLevel1Location[i].X, this.CollectionLevel1Location[i].Y);
//this.CollectionLevel2Control[i].Location = new Point(this.CollectionLevel2Location[i].X, this.CollectionLevel2Location[i].Y);
//this.CollectionLevel3Control[i].Visible = true;
this.CollectionLevel4Control[i].Visible = true;
}
}
}
#endregion
#region Event Handler
private void buttonBack_Click(object sender, EventArgs e)
{
this.ParentForm.ChildFormUserSetting.DisplayRefresh();
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormUserSetting);
this.ParentForm.ChildFormUserEditor.DisplayRefresh();
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormUserEditor);
}
private void buttonSave_Click(object sender, EventArgs e)
{
string detail;
#region Level1
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayProductNo = this.checkBoxL1MainProductNo.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting = this.checkBoxL1MainWeightSet.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayClear = this.checkBoxL1MainClear.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplaySubMenu = this.checkBoxL1MainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuCalibration = this.checkBoxL1MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuConfiguration = this.checkBoxL1MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuDataBackup = this.checkBoxL1MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuDataStatistics = this.checkBoxL1MenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuEquipmentSetting = this.checkBoxL1MenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuFactoryReset = this.checkBoxL1MenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuInformation = this.checkBoxL1MenuInformation.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuConfiguration = this.checkBoxL1MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuCalibration = this.checkBoxL1MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuSystem = this.checkBoxL1MenuSystem.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuMotor = this.checkBoxL1MenuMotor.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuIOTest = this.checkBoxL1MenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuMotorSetting = this.checkBoxL1MenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuSystemSetting = this.checkBoxL1MenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuTimeSetting = this.checkBoxL1MenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuUpdate = this.checkBoxL1MenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuUserGroupSetting = this.checkBoxL1MenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuUserSetting = this.checkBoxL1MenuUserSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuInitialization = this.checkBoxL1MenuInitialization.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuTime = this.checkBoxL1MenuTime.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuDataBackup = this.checkBoxL1MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuEquipment = this.checkBoxL1MenuEquipment.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuStatistics = this.checkBoxL1MenuStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuViewer = this.checkBoxL1MenuViewer.Checked;
#endregion
#region Level2
@ -447,20 +460,19 @@ namespace INT63DC_2C.Forms
this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayClear = this.checkBoxL2MainClear.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMainDisplaySubMenu = this.checkBoxL2MainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuCalibration = this.checkBoxL2MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuConfiguration = this.checkBoxL2MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuDataBackup = this.checkBoxL2MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuDataStatistics = this.checkBoxL2MenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuEquipmentSetting = this.checkBoxL2MenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuFactoryReset = this.checkBoxL2MenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuInformation = this.checkBoxL2MenuInformation.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuConfiguration = this.checkBoxL2MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuCalibration = this.checkBoxL2MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuSystem = this.checkBoxL2MenuSystem.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuMotor = this.checkBoxL2MenuMotor.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuIOTest = this.checkBoxL2MenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuMotorSetting = this.checkBoxL2MenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuSystemSetting = this.checkBoxL2MenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuTimeSetting = this.checkBoxL2MenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuUpdate = this.checkBoxL2MenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuUserGroupSetting = this.checkBoxL2MenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuUserSetting = this.checkBoxL2MenuUserSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuInitialization = this.checkBoxL2MenuInitialization.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuTime = this.checkBoxL2MenuTime.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuDataBackup = this.checkBoxL2MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuEquipment = this.checkBoxL2MenuEquipment.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuStatistics = this.checkBoxL2MenuStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuViewer = this.checkBoxL2MenuViewer.Checked;
#endregion
#region Level3
@ -469,20 +481,19 @@ namespace INT63DC_2C.Forms
this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayClear = this.checkBoxL3MainClear.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMainDisplaySubMenu = this.checkBoxL3MainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuCalibration = this.checkBoxL3MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuConfiguration = this.checkBoxL3MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuDataBackup = this.checkBoxL3MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuDataStatistics = this.checkBoxL3MenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuEquipmentSetting = this.checkBoxL3MenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuFactoryReset = this.checkBoxL3MenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuInformation = this.checkBoxL3MenuInformation.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuConfiguration = this.checkBoxL3MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuCalibration = this.checkBoxL3MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuSystem = this.checkBoxL3MenuSystem.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuMotor = this.checkBoxL3MenuMotor.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuIOTest = this.checkBoxL3MenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuMotorSetting = this.checkBoxL3MenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuSystemSetting = this.checkBoxL3MenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuTimeSetting = this.checkBoxL3MenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuUpdate = this.checkBoxL3MenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuUserGroupSetting = this.checkBoxL3MenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuUserSetting = true;
this.ParentForm.CurrentUserGroup.Level3.IsMenuInitialization = this.checkBoxL3MenuInitialization.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuTime = true;
this.ParentForm.CurrentUserGroup.Level3.IsMenuDataBackup = this.checkBoxL3MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuEquipment = true;
this.ParentForm.CurrentUserGroup.Level3.IsMenuStatistics = this.checkBoxL3MenuStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuViewer = this.checkBoxL3MenuViewer.Checked;
#endregion
#region NotLogin
@ -491,31 +502,34 @@ namespace INT63DC_2C.Forms
this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplayClear = this.checkBoxNotLoginMainClear.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplaySubMenu = this.checkBoxNotLoginMainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuCalibration = this.checkBoxNotLoginMenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuConfiguration = this.checkBoxNotLoginMenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuDataBackup = this.checkBoxNotLoginMenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuDataStatistics = this.checkBoxNotLoginMenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuEquipmentSetting = this.checkBoxNotLoginMenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuFactoryReset = this.checkBoxNotLoginMenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuInformation = this.checkBoxNotLoginMenuInformation.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuConfiguration = this.checkBoxNotLoginMenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuCalibration = this.checkBoxNotLoginMenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuSystem = this.checkBoxNotLoginMenuSystem.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuMotor = this.checkBoxNotLoginMenuMotor.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuIOTest = this.checkBoxNotLoginMenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuMotorSetting = this.checkBoxNotLoginMenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuSystemSetting = this.checkBoxNotLoginMenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuTimeSetting = this.checkBoxNotLoginMenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuEquipment = this.checkBoxNotLoginMenuEquipment.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuUpdate = this.checkBoxNotLoginMenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuUserGroupSetting = this.checkBoxNotLoginMenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuUserSetting = this.checkBoxNotLoginMenuUserSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuInitialization = this.checkBoxNotLoginMenuInitialization.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuTime = this.checkBoxNotLoginMenuTime.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuDataBackup = this.checkBoxNotLoginMenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuStatistics = this.checkBoxNotLoginMenuStatistics.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuViewer = this.checkBoxNotLoginMenuViewer.Checked;
#endregion
this.ParentForm.SaveUserGroupFile(this.ParentForm.CurrentUserGroup);
// Part 11
detail = "Change access right";
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.GroupEditor, detail);
this.buttonSave.Visible = false;
}
private void labelTitle1_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3Manager ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer
|| this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin)
{
this.checkBoxL1MainProductNo.Checked = true;
this.checkBoxL1MainWeightSet.Checked = true;
@ -523,27 +537,27 @@ namespace INT63DC_2C.Forms
this.checkBoxL1MainSubMenu.Checked = true;
this.checkBoxL1MenuInformation.Checked = true;
this.checkBoxL1MenuDataBackup.Checked = true;
this.checkBoxL1MenuConfiguration.Checked = true;
this.checkBoxL1MenuCommunication.Checked = true;
this.checkBoxL1MenuCalibration.Checked = true;
this.checkBoxL1MenuSystemSetting.Checked = true;
this.checkBoxL1MenuMotorSetting.Checked = true;
this.checkBoxL1MenuSystem.Checked = true;
this.checkBoxL1MenuMotor.Checked = true;
this.checkBoxL1MenuIOTest.Checked = true;
this.checkBoxL1MenuUpdate.Checked = true;
this.checkBoxL1MenuFactoryReset.Checked = true;
this.checkBoxL1MenuUserSetting.Checked = true;
this.checkBoxL1MenuUserGroupSetting.Checked = true;
this.checkBoxL1MenuEquipmentSetting.Checked = true;
this.checkBoxL1MenuDataStatistics.Checked = true;
this.checkBoxL1MenuTimeSetting.Checked = true;
this.checkBoxL1MenuInitialization.Checked = true;
this.checkBoxL1MenuTime.Checked = true;
this.checkBoxL1MenuDataBackup.Checked = true;
this.checkBoxL1MenuStatistics.Checked = true;
this.checkBoxL1MenuViewer.Checked = true;
this.checkBoxL1MenuEquipment.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelTitle2_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3Manager ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer
|| this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin)
{
this.checkBoxL2MainProductNo.Checked = true;
this.checkBoxL2MainWeightSet.Checked = true;
@ -551,27 +565,27 @@ namespace INT63DC_2C.Forms
this.checkBoxL2MainSubMenu.Checked = true;
this.checkBoxL2MenuInformation.Checked = true;
this.checkBoxL2MenuDataBackup.Checked = true;
this.checkBoxL2MenuConfiguration.Checked = true;
this.checkBoxL2MenuCommunication.Checked = true;
this.checkBoxL2MenuCalibration.Checked = true;
this.checkBoxL2MenuSystemSetting.Checked = true;
this.checkBoxL2MenuMotorSetting.Checked = true;
this.checkBoxL2MenuSystem.Checked = true;
this.checkBoxL2MenuMotor.Checked = true;
this.checkBoxL2MenuIOTest.Checked = true;
this.checkBoxL2MenuUpdate.Checked = true;
this.checkBoxL2MenuFactoryReset.Checked = true;
this.checkBoxL2MenuUserSetting.Checked = true;
this.checkBoxL2MenuUserGroupSetting.Checked = true;
this.checkBoxL2MenuEquipmentSetting.Checked = true;
this.checkBoxL2MenuDataStatistics.Checked = true;
this.checkBoxL2MenuTimeSetting.Checked = true;
this.checkBoxL2MenuInitialization.Checked = true;
this.checkBoxL2MenuTime.Checked = true;
this.checkBoxL2MenuDataBackup.Checked = true;
this.checkBoxL2MenuStatistics.Checked = true;
this.checkBoxL2MenuViewer.Checked = true;
this.checkBoxL2MenuEquipment.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelTitle3_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3Manager ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer
|| this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin)
{
this.checkBoxL3MainProductNo.Checked = true;
this.checkBoxL3MainWeightSet.Checked = true;
@ -579,27 +593,27 @@ namespace INT63DC_2C.Forms
this.checkBoxL3MainSubMenu.Checked = true;
this.checkBoxL3MenuInformation.Checked = true;
this.checkBoxL3MenuDataBackup.Checked = true;
this.checkBoxL3MenuConfiguration.Checked = true;
this.checkBoxL3MenuCommunication.Checked = true;
this.checkBoxL3MenuCalibration.Checked = true;
this.checkBoxL3MenuSystemSetting.Checked = true;
this.checkBoxL3MenuMotorSetting.Checked = true;
this.checkBoxL3MenuSystem.Checked = true;
this.checkBoxL3MenuMotor.Checked = true;
this.checkBoxL3MenuIOTest.Checked = true;
this.checkBoxL3MenuUpdate.Checked = true;
this.checkBoxL3MenuFactoryReset.Checked = true;
this.checkBoxL3MenuUserSetting.Checked = true;
this.checkBoxL3MenuUserGroupSetting.Checked = true;
this.checkBoxL3MenuEquipmentSetting.Checked = true;
this.checkBoxL3MenuDataStatistics.Checked = true;
this.checkBoxL3MenuTimeSetting.Checked = true;
this.checkBoxL3MenuInitialization.Checked = true;
this.checkBoxL3MenuTime.Checked = true;
this.checkBoxL3MenuDataBackup.Checked = true;
this.checkBoxL3MenuStatistics.Checked = true;
this.checkBoxL3MenuViewer.Checked = true;
this.checkBoxL3MenuEquipment.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelTitle4_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3Manager ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level4Developer)
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer
|| this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin)
{
this.checkBoxNotLoginMainProductNo.Checked = true;
this.checkBoxNotLoginMainWeightSet.Checked = true;
@ -607,24 +621,88 @@ namespace INT63DC_2C.Forms
this.checkBoxNotLoginMainSubMenu.Checked = true;
this.checkBoxNotLoginMenuInformation.Checked = true;
this.checkBoxNotLoginMenuDataBackup.Checked = true;
this.checkBoxNotLoginMenuCommunication.Checked = true;
this.checkBoxNotLoginMenuConfiguration.Checked = true;
this.checkBoxNotLoginMenuCalibration.Checked = true;
this.checkBoxNotLoginMenuSystemSetting.Checked = true;
this.checkBoxNotLoginMenuMotorSetting.Checked = true;
this.checkBoxNotLoginMenuSystem.Checked = true;
this.checkBoxNotLoginMenuMotor.Checked = true;
this.checkBoxNotLoginMenuIOTest.Checked = true;
this.checkBoxNotLoginMenuUpdate.Checked = true;
this.checkBoxNotLoginMenuFactoryReset.Checked = true;
this.checkBoxNotLoginMenuUserSetting.Checked = true;
this.checkBoxNotLoginMenuUserGroupSetting.Checked = true;
this.checkBoxNotLoginMenuEquipmentSetting.Checked = true;
this.checkBoxNotLoginMenuDataStatistics.Checked = true;
this.checkBoxNotLoginMenuTimeSetting.Checked = true;
this.checkBoxNotLoginMenuInitialization.Checked = true;
this.checkBoxNotLoginMenuTime.Checked = true;
this.checkBoxNotLoginMenuStatistics.Checked = true;
this.checkBoxNotLoginMenuViewer.Checked = true;
this.checkBoxNotLoginMenuDataBackup.Checked = true;
this.checkBoxNotLoginMenuEquipment.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelLevel1Name_Click(object sender, EventArgs e)
{
string before = "", after = "";
before = this.labelLevel1Name.Text;
DialogFormUserEditorKeyboard keyboard = new DialogFormUserEditorKeyboard(this.labelLevel1Name.Text);
if (keyboard.ShowDialog() == DialogResult.OK)
{
this.labelLevel1Name.Text = keyboard.RetStringValue;
after = this.labelLevel1Name.Text;
this.ParentForm.SystemConfig.User_Level1_Name = this.labelLevel1Name.Text;
this.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.SystemConfig);
// Part11
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.Level1Name, "", before, after);
}
}
private void labelLevel2Name_Click(object sender, EventArgs e)
{
string before = "", after = "";
before = this.labelLevel2Name.Text;
DialogFormUserEditorKeyboard keyboard = new DialogFormUserEditorKeyboard(this.labelLevel2Name.Text);
if (keyboard.ShowDialog() == DialogResult.OK)
{
this.labelLevel2Name.Text = keyboard.RetStringValue;
after = this.labelLevel2Name.Text;
this.ParentForm.SystemConfig.User_Level2_Name = this.labelLevel2Name.Text;
this.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.SystemConfig);
// Part11
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.Level2Name, "", before, after);
}
}
private void labelLevel3Name_Click(object sender, EventArgs e)
{
string before = "", after = "";
before = this.labelLevel3Name.Text;
DialogFormUserEditorKeyboard keyboard = new DialogFormUserEditorKeyboard(this.labelLevel3Name.Text);
if (keyboard.ShowDialog() == DialogResult.OK)
{
this.labelLevel3Name.Text = keyboard.RetStringValue;
after = this.labelLevel3Name.Text;
this.ParentForm.SystemConfig.User_Level3_Name = this.labelLevel3Name.Text;
this.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.SystemConfig);
// Part11
if (this.ParentForm.SystemConfig.IsOptPart11 == true)
this.ParentForm.SetTrackingHistoryData(DataStore.TrackingParameter.Level3Name, "", before, after);
}
}
private void checkBox_Click(object sender, EventArgs e)
{
if (this.buttonSave.Visible == false)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,635 @@
using System;
using System.Linq;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using INT63DC_ImageDll;
namespace INT63DC_2C.Forms
{
public partial class FormUserGroupEditor : Form
{
#region Field
private FormMain m_ParentForm;
private Collection<Point> CollectionLevel1Location;
private Collection<Point> CollectionLevel2Location;
private Collection<Point> CollectionLevel3Location;
private Collection<Control> CollectionLevel1Control;
private Collection<Control> CollectionLevel2Control;
private Collection<Control> CollectionLevel3Control;
private Collection<Control> CollectionLevel4Control;
#endregion
#region Constructor
public FormUserGroupEditor(FormMain parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
}
#endregion
#region Property
public FormMain ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
public void InitializeDesign()
{
ImageDll images = new ImageDll();
switch (this.ParentForm.SystemConfig.Language)
{
case DataStore.LanguageID.Korean:
break;
case DataStore.LanguageID.English:
case DataStore.LanguageID.Czech:
case DataStore.LanguageID.German:
this.labelTitle.Text = "Group Editor";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engSaveUp));
break;
case DataStore.LanguageID.Chinese:
#region Chinese
this.labelTitle.Text = "组编辑";
this.labelTitle1.Text = "级别1";
this.labelTitle2.Text = "级别2";
this.labelTitle3.Text = "级别3";
this.labelStaticMainDisplayAccess.Text = "主显示访问";
this.labelStaticProductNo.Text = "编号";
this.labelStaticWeightSetting.Text = "体重设定";
this.labelStaticClear.Text = "消除";
this.labelStaticSubMenu.Text = "子菜单";
this.labelStaticMenu.Text = "菜单";
this.labelStaticTimeSetting.Text = "时间设定";
this.labelStaticInformation.Text = "系统信息";
this.labelStaticDataBackup.Text = "数据备份";
this.labelStaticCalibration.Text = "校准";
this.labelStaticConfiguration.Text = "选项";
this.labelStaticUpdate.Text = "更新";
this.labelStaticSystemSetting.Text = "系统设定";
this.labelStaticFactoryReset.Text = "回复出厂设置";
this.labelStaticMotorSetting.Text = "设置电机";
this.labelStaticEquipmentSetting.Text = "设备设置";
this.labelStaticIOTest.Text = "I/O测试";
this.labelStaticUserSetting.Text = "用户设置";
this.labelTitleDataStatistics.Text = "数据统计";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnSaveUp));
#endregion
break;
case DataStore.LanguageID.Japanese:
#region Japanese
this.labelTitle.Text = "グルㅡプエディタㅡ";
this.labelTitle1.Text = "Level 1";
this.labelTitle2.Text = "Level 2";
this.labelTitle3.Text = "Level 3";
this.labelStaticMainDisplayAccess.Text = "メインディスプレイ";
this.labelStaticProductNo.Text = "番号";
this.labelStaticWeightSetting.Text = "設定値";
this.labelStaticClear.Text = "クリア";
this.labelStaticSubMenu.Text = "サブメニュㅡ";
this.labelStaticMenu.Text = "メニュㅡ";
this.labelStaticTimeSetting.Text = "時間設定";
this.labelStaticInformation.Text = "インフォメㅡション";
this.labelStaticDataBackup.Text = "デㅡタバックアップ";
this.labelStaticCalibration.Text = "校正";
this.labelStaticConfiguration.Text = "構成";
this.labelStaticUpdate.Text = "更新";
this.labelStaticSystemSetting.Text = "システム設定";
this.labelStaticFactoryReset.Text = "初期化";
this.labelStaticMotorSetting.Text = "モㅡタㅡ設定";
this.labelStaticEquipmentSetting.Text = "装置設定";
this.labelStaticIOTest.Text = "I/Oテスト";
this.labelStaticUserSetting.Text = "ユㅡザㅡの設定";
this.labelTitleDataStatistics.Text = "デㅡタ統計";
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackUp));
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnSaveDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnSaveDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnSaveUp));
#endregion
break;
default:
break;
}
}
private void DefaultSetting()
{
this.CollectionLevel1Location = new Collection<Point>();
this.CollectionLevel1Location.Add(this.labelTitle1.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainProductNo.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainWeightSet.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainClear.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MainSubMenu.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuTimeSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuInformation.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuDataBackup.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuConfiguration.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuCalibration.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuSystemSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuMotorSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuIOTest.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuUpdate.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuFactoryReset.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuUserSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuUserGroupSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuEquipmentSetting.Location);
this.CollectionLevel1Location.Add(this.checkBoxL1MenuDataStatistics.Location);
this.CollectionLevel2Location = new Collection<Point>();
this.CollectionLevel2Location.Add(this.labelTitle2.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MainProductNo.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MainWeightSet.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MainClear.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MainSubMenu.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuTimeSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuInformation.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuDataBackup.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuConfiguration.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuCalibration.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuSystemSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuMotorSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuIOTest.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuUpdate.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuFactoryReset.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuUserSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuUserGroupSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuEquipmentSetting.Location);
this.CollectionLevel2Location.Add(this.checkBoxL2MenuDataStatistics.Location);
this.CollectionLevel3Location = new Collection<Point>();
this.CollectionLevel3Location.Add(this.labelTitle3.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MainProductNo.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MainWeightSet.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MainClear.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MainSubMenu.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuTimeSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuInformation.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuDataBackup.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuConfiguration.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuCalibration.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuSystemSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuMotorSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuIOTest.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuUpdate.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuFactoryReset.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuUserSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuUserGroupSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuEquipmentSetting.Location);
this.CollectionLevel3Location.Add(this.checkBoxL3MenuDataStatistics.Location);
this.CollectionLevel1Control = new Collection<Control>();
this.CollectionLevel1Control.Add(this.labelTitle1);
this.CollectionLevel1Control.Add(this.checkBoxL1MainProductNo);
this.CollectionLevel1Control.Add(this.checkBoxL1MainWeightSet);
this.CollectionLevel1Control.Add(this.checkBoxL1MainClear);
this.CollectionLevel1Control.Add(this.checkBoxL1MainSubMenu);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuTimeSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuInformation);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuDataBackup);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuConfiguration);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuCalibration);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuSystemSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuMotorSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuIOTest);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuUpdate);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuFactoryReset);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuUserSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuUserGroupSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuEquipmentSetting);
this.CollectionLevel1Control.Add(this.checkBoxL1MenuDataStatistics);
this.CollectionLevel2Control = new Collection<Control>();
this.CollectionLevel2Control.Add(this.labelTitle2);
this.CollectionLevel2Control.Add(this.checkBoxL2MainProductNo);
this.CollectionLevel2Control.Add(this.checkBoxL2MainWeightSet);
this.CollectionLevel2Control.Add(this.checkBoxL2MainClear);
this.CollectionLevel2Control.Add(this.checkBoxL2MainSubMenu);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuTimeSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuInformation);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuDataBackup);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuConfiguration);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuCalibration);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuSystemSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuMotorSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuIOTest);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuUpdate);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuFactoryReset);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuUserSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuUserGroupSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuEquipmentSetting);
this.CollectionLevel2Control.Add(this.checkBoxL2MenuDataStatistics);
this.CollectionLevel3Control = new Collection<Control>();
this.CollectionLevel3Control.Add(this.labelTitle3);
this.CollectionLevel3Control.Add(this.checkBoxL3MainProductNo);
this.CollectionLevel3Control.Add(this.checkBoxL3MainWeightSet);
this.CollectionLevel3Control.Add(this.checkBoxL3MainClear);
this.CollectionLevel3Control.Add(this.checkBoxL3MainSubMenu);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuTimeSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuInformation);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuDataBackup);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuConfiguration);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuCalibration);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuSystemSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuMotorSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuIOTest);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuUpdate);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuFactoryReset);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuUserSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuUserGroupSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuEquipmentSetting);
this.CollectionLevel3Control.Add(this.checkBoxL3MenuDataStatistics);
this.CollectionLevel4Control = new Collection<Control>();
this.CollectionLevel4Control.Add(this.labelTitle4);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainProductNo);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainWeightSet);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainClear);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMainSubMenu);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuTimeSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuInformation);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuDataBackup);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuConfiguration);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuCalibration);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuSystemSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuMotorSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuIOTest);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuUpdate);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuFactoryReset);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuUserSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuUserGroupSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuEquipmentSetting);
this.CollectionLevel4Control.Add(this.checkBoxNotLoginMenuDataStatistics);
this.UpdateDisplay(this.ParentForm.CurrentUserGroup);
}
private void UpdateDisplay(UserGroup group)
{
#region Level1
this.checkBoxL1MainProductNo.Checked = group.Level1.IsMainDisplayProductNo;
this.checkBoxL1MainWeightSet.Checked = group.Level1.IsMainDisplayWeightSetting;
this.checkBoxL1MainClear.Checked = group.Level1.IsMainDisplayClear;
this.checkBoxL1MainSubMenu.Checked = group.Level1.IsMainDisplaySubMenu;
this.checkBoxL1MenuCalibration.Checked = group.Level1.IsMenuCalibration;
this.checkBoxL1MenuConfiguration.Checked = group.Level1.IsMenuConfiguration;
this.checkBoxL1MenuDataBackup.Checked = group.Level1.IsMenuDataBackup;
this.checkBoxL1MenuDataStatistics.Checked = group.Level1.IsMenuDataStatistics;
this.checkBoxL1MenuEquipmentSetting.Checked = group.Level1.IsMenuEquipmentSetting;
this.checkBoxL1MenuFactoryReset.Checked = group.Level1.IsMenuFactoryReset;
this.checkBoxL1MenuInformation.Checked = group.Level1.IsMenuInformation;
this.checkBoxL1MenuIOTest.Checked = group.Level1.IsMenuIOTest;
this.checkBoxL1MenuMotorSetting.Checked = group.Level1.IsMenuMotorSetting;
this.checkBoxL1MenuSystemSetting.Checked = group.Level1.IsMenuSystemSetting;
this.checkBoxL1MenuTimeSetting.Checked = group.Level1.IsMenuTimeSetting;
this.checkBoxL1MenuUpdate.Checked = group.Level1.IsMenuUpdate;
this.checkBoxL1MenuUserGroupSetting.Checked = group.Level1.IsMenuUserGroupSetting;
this.checkBoxL1MenuUserSetting.Checked = group.Level1.IsMenuUserSetting;
#endregion
#region Level2
this.checkBoxL2MainProductNo.Checked = group.Level2.IsMainDisplayProductNo;
this.checkBoxL2MainWeightSet.Checked = group.Level2.IsMainDisplayWeightSetting;
this.checkBoxL2MainClear.Checked = group.Level2.IsMainDisplayClear;
this.checkBoxL2MainSubMenu.Checked = group.Level2.IsMainDisplaySubMenu;
this.checkBoxL2MenuCalibration.Checked = group.Level2.IsMenuCalibration;
this.checkBoxL2MenuConfiguration.Checked = group.Level2.IsMenuConfiguration;
this.checkBoxL2MenuDataBackup.Checked = group.Level2.IsMenuDataBackup;
this.checkBoxL2MenuDataStatistics.Checked = group.Level2.IsMenuDataStatistics;
this.checkBoxL2MenuEquipmentSetting.Checked = group.Level2.IsMenuEquipmentSetting;
this.checkBoxL2MenuFactoryReset.Checked = group.Level2.IsMenuFactoryReset;
this.checkBoxL2MenuInformation.Checked = group.Level2.IsMenuInformation;
this.checkBoxL2MenuIOTest.Checked = group.Level2.IsMenuIOTest;
this.checkBoxL2MenuMotorSetting.Checked = group.Level2.IsMenuMotorSetting;
this.checkBoxL2MenuSystemSetting.Checked = group.Level2.IsMenuSystemSetting;
this.checkBoxL2MenuTimeSetting.Checked = group.Level2.IsMenuTimeSetting;
this.checkBoxL2MenuUpdate.Checked = group.Level2.IsMenuUpdate;
this.checkBoxL2MenuUserGroupSetting.Checked = group.Level2.IsMenuUserGroupSetting;
this.checkBoxL2MenuUserSetting.Checked = group.Level2.IsMenuUserSetting;
#endregion
#region Level3
this.checkBoxL3MainProductNo.Checked = group.Level3.IsMainDisplayProductNo;
this.checkBoxL3MainWeightSet.Checked = group.Level3.IsMainDisplayWeightSetting;
this.checkBoxL3MainClear.Checked = group.Level3.IsMainDisplayClear;
this.checkBoxL3MainSubMenu.Checked = group.Level3.IsMainDisplaySubMenu;
this.checkBoxL3MenuCalibration.Checked = group.Level3.IsMenuCalibration;
this.checkBoxL3MenuConfiguration.Checked = group.Level3.IsMenuConfiguration;
this.checkBoxL3MenuDataBackup.Checked = group.Level3.IsMenuDataBackup;
this.checkBoxL3MenuDataStatistics.Checked = group.Level3.IsMenuDataStatistics;
this.checkBoxL3MenuEquipmentSetting.Checked = group.Level3.IsMenuEquipmentSetting;
this.checkBoxL3MenuFactoryReset.Checked = group.Level3.IsMenuFactoryReset;
this.checkBoxL3MenuInformation.Checked = group.Level3.IsMenuInformation;
this.checkBoxL3MenuIOTest.Checked = group.Level3.IsMenuIOTest;
this.checkBoxL3MenuMotorSetting.Checked = group.Level3.IsMenuMotorSetting;
this.checkBoxL3MenuSystemSetting.Checked = group.Level3.IsMenuSystemSetting;
this.checkBoxL3MenuTimeSetting.Checked = group.Level3.IsMenuTimeSetting;
this.checkBoxL3MenuUpdate.Checked = group.Level3.IsMenuUpdate;
this.checkBoxL3MenuUserGroupSetting.Checked = group.Level3.IsMenuUserGroupSetting;
this.checkBoxL3MenuUserSetting.Checked = group.Level3.IsMenuUserSetting;
#endregion
#region NotLogin
this.checkBoxNotLoginMainProductNo.Checked = group.NotLogin.IsMainDisplayProductNo;
this.checkBoxNotLoginMainWeightSet.Checked = group.NotLogin.IsMainDisplayWeightSetting;
this.checkBoxNotLoginMainClear.Checked = group.NotLogin.IsMainDisplayClear;
this.checkBoxNotLoginMainSubMenu.Checked = group.NotLogin.IsMainDisplaySubMenu;
this.checkBoxNotLoginMenuCalibration.Checked = group.NotLogin.IsMenuCalibration;
this.checkBoxNotLoginMenuConfiguration.Checked = group.NotLogin.IsMenuConfiguration;
this.checkBoxNotLoginMenuDataBackup.Checked = group.NotLogin.IsMenuDataBackup;
this.checkBoxNotLoginMenuDataStatistics.Checked = group.NotLogin.IsMenuDataStatistics;
this.checkBoxNotLoginMenuEquipmentSetting.Checked = group.NotLogin.IsMenuEquipmentSetting;
this.checkBoxNotLoginMenuFactoryReset.Checked = group.NotLogin.IsMenuFactoryReset;
this.checkBoxNotLoginMenuInformation.Checked = group.NotLogin.IsMenuInformation;
this.checkBoxNotLoginMenuIOTest.Checked = group.NotLogin.IsMenuIOTest;
this.checkBoxNotLoginMenuMotorSetting.Checked = group.NotLogin.IsMenuMotorSetting;
this.checkBoxNotLoginMenuSystemSetting.Checked = group.NotLogin.IsMenuSystemSetting;
this.checkBoxNotLoginMenuTimeSetting.Checked = group.NotLogin.IsMenuTimeSetting;
this.checkBoxNotLoginMenuUpdate.Checked = group.NotLogin.IsMenuUpdate;
this.checkBoxNotLoginMenuUserGroupSetting.Checked = group.NotLogin.IsMenuUserGroupSetting;
this.checkBoxNotLoginMenuUserSetting.Checked = group.NotLogin.IsMenuUserSetting;
#endregion
}
public void DisplayRefresh()
{
this.UpdateDisplay(this.ParentForm.CurrentUserGroup);
this.buttonSave.Visible = false;
// Not login 미사용으로 Visible = false 처리함
for (int i = 0; i < this.CollectionLevel1Control.Count; i++)
this.CollectionLevel4Control[i].Visible = false;
// 현재 데이터 통계 메뉴가 없어서 Visible = false 처리함
// 추후에 데이터 통계 메뉴 추가 되면 삭제
this.labelTitleDataStatistics.Visible = false;
this.checkBoxL1MenuDataStatistics.Visible = false;
this.checkBoxL2MenuDataStatistics.Visible = false;
this.checkBoxL3MenuDataStatistics.Visible = false;
this.checkBoxNotLoginMenuDataStatistics.Visible = false;
}
#endregion
#region Event Handler
private void buttonBack_Click(object sender, EventArgs e)
{
this.ParentForm.ChildFormUserSetting.DisplayRefresh();
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormUserSetting);
}
private void buttonSave_Click(object sender, EventArgs e)
{
#region Level1
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayProductNo = this.checkBoxL1MainProductNo.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayWeightSetting = this.checkBoxL1MainWeightSet.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplayClear = this.checkBoxL1MainClear.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMainDisplaySubMenu = this.checkBoxL1MainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuCalibration = this.checkBoxL1MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuConfiguration = this.checkBoxL1MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuDataBackup = this.checkBoxL1MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuDataStatistics = this.checkBoxL1MenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuEquipmentSetting = this.checkBoxL1MenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuFactoryReset = this.checkBoxL1MenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuInformation = this.checkBoxL1MenuInformation.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuIOTest = this.checkBoxL1MenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuMotorSetting = this.checkBoxL1MenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuSystemSetting = this.checkBoxL1MenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuTimeSetting = this.checkBoxL1MenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuUpdate = this.checkBoxL1MenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuUserGroupSetting = this.checkBoxL1MenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.Level1.IsMenuUserSetting = this.checkBoxL1MenuUserSetting.Checked;
#endregion
#region Level2
this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayProductNo = this.checkBoxL2MainProductNo.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayWeightSetting = this.checkBoxL2MainWeightSet.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMainDisplayClear = this.checkBoxL2MainClear.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMainDisplaySubMenu = this.checkBoxL2MainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuCalibration = this.checkBoxL2MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuConfiguration = this.checkBoxL2MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuDataBackup = this.checkBoxL2MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuDataStatistics = this.checkBoxL2MenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuEquipmentSetting = this.checkBoxL2MenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuFactoryReset = this.checkBoxL2MenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuInformation = this.checkBoxL2MenuInformation.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuIOTest = this.checkBoxL2MenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuMotorSetting = this.checkBoxL2MenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuSystemSetting = this.checkBoxL2MenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuTimeSetting = this.checkBoxL2MenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuUpdate = this.checkBoxL2MenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuUserGroupSetting = this.checkBoxL2MenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.Level2.IsMenuUserSetting = this.checkBoxL2MenuUserSetting.Checked;
#endregion
#region Level3
this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayProductNo = this.checkBoxL3MainProductNo.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayWeightSetting = this.checkBoxL3MainWeightSet.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMainDisplayClear = this.checkBoxL3MainClear.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMainDisplaySubMenu = this.checkBoxL3MainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuCalibration = this.checkBoxL3MenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuConfiguration = this.checkBoxL3MenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuDataBackup = this.checkBoxL3MenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuDataStatistics = this.checkBoxL3MenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuEquipmentSetting = this.checkBoxL3MenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuFactoryReset = this.checkBoxL3MenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuInformation = this.checkBoxL3MenuInformation.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuIOTest = this.checkBoxL3MenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuMotorSetting = this.checkBoxL3MenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuSystemSetting = this.checkBoxL3MenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuTimeSetting = this.checkBoxL3MenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuUpdate = this.checkBoxL3MenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuUserGroupSetting = this.checkBoxL3MenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.Level3.IsMenuUserSetting = true;
#endregion
#region NotLogin
this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplayProductNo = this.checkBoxNotLoginMainProductNo.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplayWeightSetting = this.checkBoxNotLoginMainWeightSet.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplayClear = this.checkBoxNotLoginMainClear.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMainDisplaySubMenu = this.checkBoxNotLoginMainSubMenu.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuCalibration = this.checkBoxNotLoginMenuCalibration.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuConfiguration = this.checkBoxNotLoginMenuConfiguration.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuDataBackup = this.checkBoxNotLoginMenuDataBackup.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuDataStatistics = this.checkBoxNotLoginMenuDataStatistics.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuEquipmentSetting = this.checkBoxNotLoginMenuEquipmentSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuFactoryReset = this.checkBoxNotLoginMenuFactoryReset.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuInformation = this.checkBoxNotLoginMenuInformation.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuIOTest = this.checkBoxNotLoginMenuIOTest.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuMotorSetting = this.checkBoxNotLoginMenuMotorSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuSystemSetting = this.checkBoxNotLoginMenuSystemSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuTimeSetting = this.checkBoxNotLoginMenuTimeSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuUpdate = this.checkBoxNotLoginMenuUpdate.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuUserGroupSetting = this.checkBoxNotLoginMenuUserGroupSetting.Checked;
this.ParentForm.CurrentUserGroup.NotLogin.IsMenuUserSetting = this.checkBoxNotLoginMenuUserSetting.Checked;
#endregion
this.ParentForm.SaveUserGroupFile(this.ParentForm.CurrentUserGroup);
this.buttonSave.Visible = false;
}
private void labelTitle1_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.checkBoxL1MainProductNo.Checked = true;
this.checkBoxL1MainWeightSet.Checked = true;
this.checkBoxL1MainClear.Checked = true;
this.checkBoxL1MainSubMenu.Checked = true;
this.checkBoxL1MenuInformation.Checked = true;
this.checkBoxL1MenuDataBackup.Checked = true;
this.checkBoxL1MenuConfiguration.Checked = true;
this.checkBoxL1MenuCalibration.Checked = true;
this.checkBoxL1MenuSystemSetting.Checked = true;
this.checkBoxL1MenuMotorSetting.Checked = true;
this.checkBoxL1MenuIOTest.Checked = true;
this.checkBoxL1MenuUpdate.Checked = true;
this.checkBoxL1MenuFactoryReset.Checked = true;
this.checkBoxL1MenuUserSetting.Checked = true;
this.checkBoxL1MenuUserGroupSetting.Checked = true;
this.checkBoxL1MenuEquipmentSetting.Checked = true;
this.checkBoxL1MenuDataStatistics.Checked = true;
this.checkBoxL1MenuTimeSetting.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelTitle2_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.checkBoxL2MainProductNo.Checked = true;
this.checkBoxL2MainWeightSet.Checked = true;
this.checkBoxL2MainClear.Checked = true;
this.checkBoxL2MainSubMenu.Checked = true;
this.checkBoxL2MenuInformation.Checked = true;
this.checkBoxL2MenuDataBackup.Checked = true;
this.checkBoxL2MenuConfiguration.Checked = true;
this.checkBoxL2MenuCalibration.Checked = true;
this.checkBoxL2MenuSystemSetting.Checked = true;
this.checkBoxL2MenuMotorSetting.Checked = true;
this.checkBoxL2MenuIOTest.Checked = true;
this.checkBoxL2MenuUpdate.Checked = true;
this.checkBoxL2MenuFactoryReset.Checked = true;
this.checkBoxL2MenuUserSetting.Checked = true;
this.checkBoxL2MenuUserGroupSetting.Checked = true;
this.checkBoxL2MenuEquipmentSetting.Checked = true;
this.checkBoxL2MenuDataStatistics.Checked = true;
this.checkBoxL2MenuTimeSetting.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelTitle3_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.checkBoxL3MainProductNo.Checked = true;
this.checkBoxL3MainWeightSet.Checked = true;
this.checkBoxL3MainClear.Checked = true;
this.checkBoxL3MainSubMenu.Checked = true;
this.checkBoxL3MenuInformation.Checked = true;
this.checkBoxL3MenuDataBackup.Checked = true;
this.checkBoxL3MenuConfiguration.Checked = true;
this.checkBoxL3MenuCalibration.Checked = true;
this.checkBoxL3MenuSystemSetting.Checked = true;
this.checkBoxL3MenuMotorSetting.Checked = true;
this.checkBoxL3MenuIOTest.Checked = true;
this.checkBoxL3MenuUpdate.Checked = true;
this.checkBoxL3MenuFactoryReset.Checked = true;
this.checkBoxL3MenuUserSetting.Checked = true;
this.checkBoxL3MenuUserGroupSetting.Checked = true;
this.checkBoxL3MenuEquipmentSetting.Checked = true;
this.checkBoxL3MenuDataStatistics.Checked = true;
this.checkBoxL3MenuTimeSetting.Checked = true;
this.buttonSave.Visible = true;
}
}
private void labelTitle4_Click(object sender, EventArgs e)
{
if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Level3 ||
this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer)
{
this.checkBoxNotLoginMainProductNo.Checked = true;
this.checkBoxNotLoginMainWeightSet.Checked = true;
this.checkBoxNotLoginMainClear.Checked = true;
this.checkBoxNotLoginMainSubMenu.Checked = true;
this.checkBoxNotLoginMenuInformation.Checked = true;
this.checkBoxNotLoginMenuDataBackup.Checked = true;
this.checkBoxNotLoginMenuConfiguration.Checked = true;
this.checkBoxNotLoginMenuCalibration.Checked = true;
this.checkBoxNotLoginMenuSystemSetting.Checked = true;
this.checkBoxNotLoginMenuMotorSetting.Checked = true;
this.checkBoxNotLoginMenuIOTest.Checked = true;
this.checkBoxNotLoginMenuUpdate.Checked = true;
this.checkBoxNotLoginMenuFactoryReset.Checked = true;
this.checkBoxNotLoginMenuUserSetting.Checked = true;
this.checkBoxNotLoginMenuUserGroupSetting.Checked = true;
this.checkBoxNotLoginMenuEquipmentSetting.Checked = true;
this.checkBoxNotLoginMenuDataStatistics.Checked = true;
this.checkBoxNotLoginMenuTimeSetting.Checked = true;
this.buttonSave.Visible = true;
}
}
private void checkBox_Click(object sender, EventArgs e)
{
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -331,7 +331,7 @@ namespace INT63DC_2C.Forms
{
this.ParentForm.CurrentCollectionUser.Level1Users[this.listBoxLevel1.SelectItemIndex].ID = this.textBoxID.Text;
this.ParentForm.CurrentCollectionUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Password = this.textBoxPassword.Text;
this.ParentForm.CurrentCollectionUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Group = DataStore.UserGroup.Level1Operator;
this.ParentForm.CurrentCollectionUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Group = DataStore.UserGroup.Level1;
this.ParentForm.SaveUserLevel1File(this.ParentForm.CurrentCollectionUser.Level1Users);
this.listBoxLevel1.Items[this.listBoxLevel1.SelectItemIndex] = this.textBoxID.Text;
@ -340,7 +340,7 @@ namespace INT63DC_2C.Forms
{
this.ParentForm.CurrentCollectionUser.Level2Users[this.listBoxLevel2.SelectItemIndex].ID = this.textBoxID.Text;
this.ParentForm.CurrentCollectionUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Password = this.textBoxPassword.Text;
this.ParentForm.CurrentCollectionUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Group = DataStore.UserGroup.Level2Engineer;
this.ParentForm.CurrentCollectionUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Group = DataStore.UserGroup.Level2;
this.ParentForm.SaveUserLevel2File(this.ParentForm.CurrentCollectionUser.Level2Users);
this.listBoxLevel2.Items[this.listBoxLevel2.SelectItemIndex] = this.textBoxID.Text;
@ -349,7 +349,7 @@ namespace INT63DC_2C.Forms
{
this.ParentForm.CurrentCollectionUser.Level3Users[this.listBoxLevel3.SelectItemIndex].ID = this.textBoxID.Text;
this.ParentForm.CurrentCollectionUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Password = this.textBoxPassword.Text;
this.ParentForm.CurrentCollectionUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Group = DataStore.UserGroup.Level3Manager;
this.ParentForm.CurrentCollectionUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Group = DataStore.UserGroup.Level3;
this.ParentForm.SaveUserLevel3File(this.ParentForm.CurrentCollectionUser.Level3Users);
this.listBoxLevel3.Items[this.listBoxLevel3.SelectItemIndex] = this.textBoxID.Text;

View File

@ -335,6 +335,12 @@
<Compile Include="Controls\ControlMainDisplayTable15.Designer.cs">
<DependentUpon>ControlMainDisplayTable15.cs</DependentUpon>
</Compile>
<Compile Include="Controls\ControlUserSetting.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\ControlUserSetting.designer.cs">
<DependentUpon>ControlUserSetting.cs</DependentUpon>
</Compile>
<Compile Include="DataStore.cs" />
<Compile Include="DialogForms\DialogFormDataStatistics.cs">
<SubType>Form</SubType>
@ -342,6 +348,18 @@
<Compile Include="DialogForms\DialogFormDataStatistics.designer.cs">
<DependentUpon>DialogFormDataStatistics.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormDataViewerFilter.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormDataViewerFilter.designer.cs">
<DependentUpon>DialogFormDataViewerFilter.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormHistoryData.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormHistoryData.designer.cs">
<DependentUpon>DialogFormHistoryData.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormLogOn.cs">
<SubType>Form</SubType>
</Compile>
@ -372,6 +390,12 @@
<Compile Include="DialogForms\DialogFormPasswordKeyPad.Designer.cs">
<DependentUpon>DialogFormPasswordKeyPad.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormUserEditorKeyboard.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormUserEditorKeyboard.designer.cs">
<DependentUpon>DialogFormUserEditorKeyboard.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormYesNo.cs">
<SubType>Form</SubType>
</Compile>
@ -396,12 +420,24 @@
<Compile Include="Forms\FormDataBackup.Designer.cs">
<DependentUpon>FormDataBackup.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormDataBackup_Part11.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormDataBackup_Part11.designer.cs">
<DependentUpon>FormDataBackup_Part11.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormDataStatistics.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormDataStatistics.designer.cs">
<DependentUpon>FormDataStatistics.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormDataViewer.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormDataViewer.designer.cs">
<DependentUpon>FormDataViewer.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormEquipmentSetting.cs">
<SubType>Form</SubType>
</Compile>
@ -480,20 +516,28 @@
<Compile Include="Forms\FormTimeSetting.Designer.cs">
<DependentUpon>FormTimeSetting.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormUserEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormUserEditor.designer.cs">
<DependentUpon>FormUserEditor.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormUserGroupEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormUserGroupEditor.designer.cs">
<DependentUpon>FormUserGroupEditor.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormUserSetting.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormUserSetting.Designer.cs">
<DependentUpon>FormUserSetting.cs</DependentUpon>
</Compile>
<Compile Include="Helper.cs" />
<Compile Include="IniFile.cs" />
<Compile Include="IntechGraphics.cs" />
<Compile Include="Part11_Encryption\Encryption.cs" />
<Compile Include="Part11_Encryption\Encryption.Define.cs" />
<Compile Include="Part11_Encryption\Encryption.Structure.cs" />
<Compile Include="Part11_UserManager\UserItem.cs" />
<Compile Include="Part11_UserManager\UserManager.cs" />
<Compile Include="Part11_UserManager\UserManager.Define.cs" />
<Compile Include="Part11_UserManager\UserManager.Structure.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Controls\ControlCalibration10.resx">
@ -720,6 +764,10 @@
<DependentUpon>FormDataStatistics.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormDataViewer.resx">
<DependentUpon>FormDataViewer.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormEquipmentSetting.resx">
<DependentUpon>FormEquipmentSetting.cs</DependentUpon>
<SubType>Designer</SubType>
@ -772,12 +820,12 @@
<DependentUpon>FormTimeSetting.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormUserGroupEditor.resx">
<DependentUpon>FormUserGroupEditor.cs</DependentUpon>
<EmbeddedResource Include="Forms\FormUserEditor.resx">
<DependentUpon>FormUserEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormUserSetting.resx">
<DependentUpon>FormUserSetting.cs</DependentUpon>
<EmbeddedResource Include="Forms\FormUserGroupEditor.resx">
<DependentUpon>FormUserGroupEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">

View File

@ -0,0 +1,600 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using INT63DC_2C.Forms;
namespace INT63DC_2C
{
class IniFile
{
/*
* Checkmate / 2010.08
* IniFile Ini .
* static .
*
* static .
* .
* .
*
* .
* FileInfo .
* . IniFile ini = new IniFile("C:\\Temp\\Test.ini");
*
* ReadString() : ini .
* ReadInteger() : ini (int32) .
* ReadBool() : ini bool .
*
* WriteString() : ini .
* WriteInteger() : ini (int32) .
* WriteBool() : ini bool .
*/
#region Field
FileInfo fi;
#endregion
#region Constructor
public IniFile(String filename)
{
//파일 검색 과정을 줄이기 위해 파일정보를 클래스 생성 시 파일 정보를 설정한다.
fi = new FileInfo(filename);
}
#endregion
#region Method
public int ReadInteger(String sSect, String sKey, int defaultvalue)
{
String sValue;
sValue = defaultvalue.ToString();
sValue = ReadString(sSect, sKey, sValue);
return Convert.ToInt32(sValue);
}
public bool ReadBool(String sSect, String sKey, bool defaultvalue)
{
String sValue;
if (defaultvalue == true)
{
sValue = "1";
}
else
{
sValue = "0";
}
sValue = ReadString(sSect, sKey, sValue);
if (sValue == "1")
{
return true;
}
else
{
return false;
}
}
public String ReadString(String sSect, String sKey, String defaultvalue)
{
if (fi.Exists == false)
{
return defaultvalue;
}
String result = defaultvalue;
String strLine;
String[] strArr;
char[] tokenArr = new char[] { '=' };
bool bFindSect = false;
int nOffset1;
int nOffset2;
FileStream fs = fi.OpenRead();
StreamReader sr = new StreamReader(fs);
sSect = "[" + sSect.ToUpper() + "]";
sKey = sKey.ToUpper();
strLine = sr.ReadLine();
while (strLine != null)
{
nOffset1 = strLine.IndexOf(']');
if (strLine == "") //빈라인은 처리
{
//
}
else if ((strLine[0] == '[') && (nOffset1 > 1)) //해당 라인이 섹션이름인가
{
if (bFindSect == true)
{
//섹션을 찾았다가 변경 되었으므로 진행 종료. //섹션은 동일한 것이 여러번 나타날 수 없다.
break;
}
else
{
if (strLine.ToUpper() == sSect) //Section Name 찾기
{
//섹션이름을 찾았음
bFindSect = true;
}
}
}
else
{
if (bFindSect)
{
//현재 섹션에서 진행중
nOffset2 = strLine.IndexOf('=');
if (nOffset2 > 0)
{
//key 영역
strArr = strLine.Split(tokenArr);
if (strArr.GetUpperBound(0) > 0)
{
if (strArr[0].ToUpper() == sKey)
{
//KeyName 일치 - Found
//값에 '='가 있을 수 있으므로 반복처리
result = "";
for (int i = 1; i <= strArr.GetUpperBound(0); i++)
{
result += strArr[i];
}
break;
}
} //if (strArr.GetUpperBound(0) == 1)
} //if (nOffset2 > 0)
} //if (bFindSect)
} //else
strLine = sr.ReadLine();
} //while
sr.Close();
fs.Close();
fi.Refresh();
return result;
}
public bool WriteString(String sSect, String sKey, String sValue)
{
bool result = false;
String strLine;
String sectname;
String keyname;
String[] strArr;
char[] tokenArr = new char[] { '=' };
bool bFindSect = false;
bool bFindKey = false;
int nOffset1;
int nOffset2;
FileStream fs;
FileStream fs2;
StreamReader sr;
StreamWriter sw;
String sTempFile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\IniTemp.ini";
if (fi.Exists == false)
{
//파일이 없을 경우
fs2 = new FileStream(fi.FullName, FileMode.OpenOrCreate);
sw = new StreamWriter(fs2);
sw.WriteLine("[" + sSect + "]");
sw.WriteLine("{0}={1}", sKey, sValue);
sw.Close();
fs2.Close();
fi.Refresh(); //정보를 갱신해야 다음에 Exists가 처리된다.
return true;
}
fs = fi.OpenRead();
fs2 = new FileStream(sTempFile, FileMode.OpenOrCreate);
sr = new StreamReader(fs);
sw = new StreamWriter(fs2);
sectname = "[" + sSect.ToUpper() + "]";
keyname = sKey.ToUpper();
strLine = sr.ReadLine();
while (strLine != null)
{
nOffset1 = strLine.IndexOf(']');
if (strLine == "") //빈라인은 처리
{
sw.WriteLine("");
}
else if ((strLine[0] == '[') && (nOffset1 > 1)) //해당 라인이 섹션이름인가
{
if (bFindSect == true)
{
//섹션을 찾았다가 변경 되었음 //섹션은 동일한 것이 여러번 나타날 수 없다.
if (bFindKey == false)
{
//해당키 찾지 못함 //키 추가
sw.WriteLine("{0}={1}", sKey, sValue);
result = true;
bFindKey = true;
}
sw.WriteLine(strLine);
}
else
{
if (strLine.ToUpper() == sectname) //Section Name 찾기
{
//섹션이름을 찾았음
bFindSect = true;
}
sw.WriteLine(strLine);
}
}
else
{
if (bFindSect)
{
//현재 섹션에서 진행중
nOffset2 = strLine.IndexOf('=');
if (bFindKey)
{
//키값을 이미 처리되었음 //그냥 복사만
sw.WriteLine(strLine);
}
else if (nOffset2 > 0)
{
//key 영역
strArr = strLine.Split(tokenArr);
if (strArr.GetUpperBound(0) > 0)
{
if (strArr[0].ToUpper() == keyname)
{
//KeyName 일치 - Found
sw.WriteLine("{0}={1}", strArr[0], sValue); //기존 키이름 보존
result = true;
bFindKey = true;
}
else
{
sw.WriteLine(strLine);
}
} //if (strArr.GetUpperBound(0) == 1)
else
{
sw.WriteLine(strLine);
}
} //if (nOffset2 > 0)
} //if (bFindSect)
else
{
sw.WriteLine(strLine);
}
} //else
strLine = sr.ReadLine();
} //while
//키를 찾지 못했으면 새로이 추가
if (bFindKey == false)
{
if (bFindSect == false) //섹션도 못 찾았을 경우 추가
{
sw.WriteLine("[" + sSect + "]");
}
sw.WriteLine("{0}={1}", sKey, sValue);
result = true;
}
sr.Close();
fs.Close();
sw.Close();
fs2.Close();
File.Copy(sTempFile, fi.FullName, true); //원본 파일에 임시파일 덮어쓰기
File.Delete(sTempFile); //임시 파일 삭제
fi.Refresh(); //정보를 갱신해야 다음에 Exists가 처리된다.
return result;
}
public bool WriteInteger(String sSect, String sKey, int value)
{
String sValue;
sValue = value.ToString();
return WriteString(sSect, sKey, sValue);
}
public bool WriteBool(String sSect, String sKey, bool value)
{
String sValue;
if (value == true)
{
sValue = "1";
}
else
{
sValue = "0";
}
return WriteString(sSect, sKey, sValue);
}
//static 함수
public static int ReadInteger(String sFile, String sSect, String sKey, int defaultvalue)
{
String sValue;
int nValue;
sValue = defaultvalue.ToString();
sValue = ReadString(sFile, sSect, sKey, sValue);
try
{
nValue = Convert.ToInt32(sValue);
return nValue;
}
//catch (System.Exception e)
catch
{
return defaultvalue;
}
}
public static bool ReadBool(String sFile, String sSect, String sKey, bool defaultvalue)
{
String sValue;
if (defaultvalue == true)
{
sValue = "1";
}
else
{
sValue = "0";
}
sValue = ReadString(sFile, sSect, sKey, sValue);
if (sValue == "1")
{
return true;
}
else
{
return false;
}
}
public static String ReadString(String sFile, String sSect, String sKey, String defaultvalue)
{
if (File.Exists(sFile) == false)
{
return defaultvalue;
}
String result = defaultvalue;
String strLine;
String[] strArr;
char[] tokenArr = new char[] { '=' };
bool bFindSect = false;
int nOffset1;
int nOffset2;
FileStream fs = new FileStream(sFile, FileMode.OpenOrCreate);
StreamReader sr = new StreamReader(fs);
sSect = "[" + sSect.ToUpper() + "]";
sKey = sKey.ToUpper();
strLine = sr.ReadLine();
while (strLine != null)
{
nOffset1 = strLine.IndexOf(']');
if (strLine == "") //빈라인은 처리
{
//
}
else if ((strLine[0] == '[') && (nOffset1 > 1)) //해당 라인이 섹션이름인가
{
if (bFindSect == true)
{
//섹션을 찾았다가 변경 되었으므로 진행 종료. //섹션은 동일한 것이 여러번 나타날 수 없다.
break;
}
else
{
if (strLine.ToUpper() == sSect) //Section Name 찾기
{
//섹션이름을 찾았음
bFindSect = true;
}
}
}
else
{
if (bFindSect)
{
//현재 섹션에서 진행중
nOffset2 = strLine.IndexOf('=');
if (nOffset2 > 0)
{
//key 영역
strArr = strLine.Split(tokenArr);
if (strArr.GetUpperBound(0) > 0)
{
if (strArr[0].ToUpper() == sKey)
{
//KeyName 일치 - Found
//값에 '='가 있을 수 있으므로 반복처리
result = "";
for (int i = 1; i <= strArr.GetUpperBound(0); i++)
{
result += strArr[i];
}
break;
}
} //if (strArr.GetUpperBound(0) == 1)
} //if (nOffset2 > 0)
} //if (bFindSect)
} //else
strLine = sr.ReadLine();
} //while
sr.Close();
fs.Close();
return result;
}
public static bool WriteString(String sFile, String sSect, String sKey, String sValue)
{
bool result = false;
String strLine;
String sectname;
String keyname;
String[] strArr;
char[] tokenArr = new char[] { '=' };
bool bFindSect = false;
bool bFindKey = false;
int nOffset1;
int nOffset2;
String sTempFile = string.Format("{0}{1}", FormMain.PathBinFolder, "IniTemp.ini");
FileStream fs = new FileStream(sFile, FileMode.OpenOrCreate);
FileStream fs2 = new FileStream(sTempFile, FileMode.OpenOrCreate);
StreamReader sr = new StreamReader(fs);
StreamWriter sw = new StreamWriter(fs2);
sectname = "[" + sSect.ToUpper() + "]";
keyname = sKey.ToUpper();
strLine = sr.ReadLine();
while (strLine != null)
{
nOffset1 = strLine.IndexOf(']');
if (strLine == "") //빈라인은 처리
{
sw.WriteLine("");
}
else if ((strLine[0] == '[') && (nOffset1 > 1)) //해당 라인이 섹션이름인가
{
if (bFindSect == true)
{
//섹션을 찾았다가 변경 되었음 //섹션은 동일한 것이 여러번 나타날 수 없다.
if (bFindKey == false)
{
//해당키 찾지 못함 //키 추가
sw.WriteLine("{0}={1}", sKey, sValue);
result = true;
bFindKey = true;
}
sw.WriteLine(strLine);
}
else
{
if (strLine.ToUpper() == sectname) //Section Name 찾기
{
//섹션이름을 찾았음
bFindSect = true;
}
sw.WriteLine(strLine);
}
}
else
{
if (bFindSect)
{
//현재 섹션에서 진행중
nOffset2 = strLine.IndexOf('=');
if (bFindKey)
{
//키값을 이미 처리되었음 //그냥 복사만
sw.WriteLine(strLine);
}
else if (nOffset2 > 0)
{
//key 영역
strArr = strLine.Split(tokenArr);
if (strArr.GetUpperBound(0) > 0)
{
if (strArr[0].ToUpper() == keyname)
{
//KeyName 일치 - Found
sw.WriteLine("{0}={1}", strArr[0], sValue); //기존 키 이름 보존
result = true;
bFindKey = true;
}
else
{
sw.WriteLine(strLine);
}
} //if (strArr.GetUpperBound(0) == 1)
else
{
sw.WriteLine(strLine);
}
} //if (nOffset2 > 0)
} //if (bFindSect)
else
{
sw.WriteLine(strLine);
}
} //else
strLine = sr.ReadLine();
} //while
//키를 찾지 못했으면 새로이 추가
if (bFindKey == false)
{
if (bFindSect == false) //섹션도 못 찾았을 경우 추가
{
sw.WriteLine("[" + sSect + "]");
}
sw.WriteLine("{0}={1}", sKey, sValue);
result = true;
}
sr.Close();
fs.Close();
sw.Close();
fs2.Close();
File.Copy(sTempFile, sFile, true);
File.Delete(sTempFile);
return result;
}
public static bool WriteInteger(String sFile, String sSect, String sKey, int value)
{
String sValue;
sValue = value.ToString();
return WriteString(sFile, sSect, sKey, sValue);
}
public static bool WriteBool(String sFile, String sSect, String sKey, bool value)
{
String sValue;
if (value == true)
{
sValue = "1";
}
else
{
sValue = "0";
}
return WriteString(sFile, sSect, sKey, sValue);
}
#endregion
}
}

View File

@ -0,0 +1,34 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_Encryption
{
public partial class Encryption
{
private const string PathDll = "SD Card\\Run\\DllAes128.dll";
private delegate void fnAesVersionCB(StringBuilder version);
private static fnAesVersionCB fnAesVersionCallBack;
public delegate void fnAesEncryptionCB(ref auth_encryption_status_t encryption_status);
public static fnAesEncryptionCB fnAesEncryptionCallBack;
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_AES_Register_VersionCB(fnAesVersionCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
public static extern void DLL_AES_Register_EncryptionCB(fnAesEncryptionCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_SAES_Getversion();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
public static extern void DLL_AES_Activation();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
public static extern int DLL_AES_Encryption(IntPtr inFileName, IntPtr outFileName, bool encrypt, bool compress);
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_Encryption
{
public partial class Encryption
{
public const int MAX_FILE_NAME_LENGTH = 256;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct auth_encryption_status_t
{
public int status;
public int error_type;
public int error_index;
public int percentage;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_FILE_NAME_LENGTH)]
public string inFileName;
}
}
}

View File

@ -0,0 +1,62 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_Encryption
{
public partial class Encryption
{
public delegate void ObjectEventHandler(object data);
public static event ObjectEventHandler DllAesEncryption_Event;
public static event ObjectEventHandler DllAesEncryption_GetVersionDataEvent;
public static void InitializeEncryption()
{
// register callback
fnAesVersionCallBack = AesEncryption_VersionCallback;
DLL_AES_Register_VersionCB(fnAesVersionCallBack);
fnAesEncryptionCallBack = cbAesEncryption;
DLL_AES_Register_EncryptionCB(fnAesEncryptionCallBack);
// call the function
DLL_AES_Activation();
}
#region Aes_Fuction
public static void AesEncryption(string inFileName, string outFileName, bool encrypt, bool compress)
{
IntPtr pInFileName = Marshal.StringToBSTR(inFileName);
IntPtr pOutFileName = Marshal.StringToBSTR(outFileName);
DLL_AES_Encryption(pInFileName, pOutFileName, encrypt, compress);
}
public static void AesEncryption_GetVersion()
{
DLL_SAES_Getversion();
}
#endregion
#region Aes_Callback
public static void cbAesEncryption(ref auth_encryption_status_t encryption_status)
{
if (DllAesEncryption_Event != null)
DllAesEncryption_Event(encryption_status);
}
private static void AesEncryption_VersionCallback(StringBuilder version)
{
try
{
if (DllAesEncryption_GetVersionDataEvent != null)
DllAesEncryption_GetVersionDataEvent(version);
}
catch
{
}
}
#endregion
}
}

View File

@ -0,0 +1,439 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_UserManager
{
#region UserItem
public class UserItem
{
#region Field
private string m_ID;
private string m_Password;
private string m_ResetPW;
private int m_ExpireId;
private int m_ExpirePassword;
private bool m_IsLockAccount;
private bool m_IsLockPassword;
private DateTime m_DatePasswordRegister;
private DateTime m_DateIdLogin;
private DateTime m_DateIdExpire;
private DateTime m_DatePasswordExpire;
private DataStore.UserGroup m_Group;
private bool m_IsAdmin;
private int m_ActiveLevel;
private int m_IsFirstPassword;
#endregion
#region Constructor
public UserItem()
{
this.Initialize();
}
#endregion
#region Property
public string ID
{
get { return this.m_ID; }
set { this.m_ID = value; }
}
public string Password
{
get { return this.m_Password; }
set { this.m_Password = value; }
}
public string ResetPW
{
get { return this.m_ResetPW; }
private set { this.m_ResetPW = value; }
}
public int ExpireId
{
get { return this.m_ExpireId; }
set { this.m_ExpireId = value; }
}
public int ExpirePassword
{
get { return this.m_ExpirePassword; }
set { this.m_ExpirePassword = value; }
}
public bool IsLockAccount
{
get { return this.m_IsLockAccount; }
set { this.m_IsLockAccount = value; }
}
public bool IsLockPassword
{
get { return this.m_IsLockPassword; }
set { this.m_IsLockPassword = value; }
}
public DateTime DatePasswordRegister
{
get { return this.m_DatePasswordRegister; }
set { this.m_DatePasswordRegister = value; }
}
public DateTime DateIdLogin
{
get { return this.m_DateIdLogin; }
set { this.m_DateIdLogin = value; }
}
public DateTime DateIdExpire
{
get { return this.m_DateIdExpire; }
set { this.m_DateIdExpire = value; }
}
public DateTime DatePasswordExpire
{
get { return this.m_DatePasswordExpire; }
set { this.m_DatePasswordExpire = value; }
}
public DataStore.UserGroup Group
{
get { return this.m_Group; }
set { this.m_Group = value; }
}
public bool IsAdmin
{
get { return this.m_IsAdmin; }
set { this.m_IsAdmin = value; }
}
public int ActiveLevel
{
get { return this.m_ActiveLevel; }
set { this.m_ActiveLevel = value; }
}
public int IsFirstPassword
{
get { return this.m_IsFirstPassword; }
set { this.m_IsFirstPassword = value; }
}
#endregion
#region Method
private void Initialize()
{
this.ID = "-";
this.Password = "-";
this.ResetPW = "Password12!";
this.ExpireId = 0;
this.ExpirePassword = 0;
this.DatePasswordRegister = DateTime.Now;
this.DateIdLogin = DateTime.Now;
this.DateIdExpire = DateTime.Now;
this.DatePasswordExpire = DateTime.Now;
this.Group = DataStore.UserGroup.None;
this.IsAdmin = false;
this.ActiveLevel = 1;
this.IsFirstPassword = 1; //[1] 최초 비밀번호(비밀번호 변경창 띄우기), [0] 비밀번호 변경완료됨
}
public int GetPasswordExpiryDday()
{
int ret = 0;
DateTime timeNow = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
TimeSpan dayDiff;
if (this.Group == DataStore.UserGroup.Admin || this.Group == DataStore.UserGroup.Developer)
ret = 9999;
else
{
dayDiff = timeNow.Date - this.DatePasswordExpire.Date;
ret = dayDiff.Days;
}
return ret;
}
#endregion
}
#endregion
#region UserGroup
public class UserGroup
{
#region Field
private UserGroupItem m_Level1;
private UserGroupItem m_Level2;
private UserGroupItem m_Level3;
private UserGroupItem m_NotLogin;
#endregion
#region Constructor
public UserGroup()
{
this.Initialize();
}
#endregion
#region Property
public UserGroupItem Level1
{
get { return this.m_Level1; }
set { this.m_Level1 = value; }
}
public UserGroupItem Level2
{
get { return this.m_Level2; }
set { this.m_Level2 = value; }
}
public UserGroupItem Level3
{
get { return this.m_Level3; }
set { this.m_Level3 = value; }
}
public UserGroupItem NotLogin
{
get { return this.m_NotLogin; }
set { this.m_NotLogin = value; }
}
#endregion
#region Method
private void Initialize()
{
this.Level1 = new UserGroupItem();
this.Level2 = new UserGroupItem();
this.Level3 = new UserGroupItem();
this.NotLogin = new UserGroupItem();
}
#endregion
}
#endregion
#region UserGroupItem
public class UserGroupItem
{
#region Field
private bool m_IsMainDisplayProductNo;
private bool m_IsMainDisplayWeightSetting;
private bool m_IsMainDisplayClear;
private bool m_IsMainDisplaySubMenu;
private bool m_IsMenuInformation;
private bool m_IsMenuConfiguration;
private bool m_IsMenuCommunication;
private bool m_IsMenuCalibration;
private bool m_IsMenuSystem;
private bool m_IsMenuMotor;
private bool m_IsMenuIOTest;
private bool m_IsMenuEquipment;
private bool m_IsMenuUpdate;
private bool m_IsMenuInitialization;
private bool m_IsMenuTime;
private bool m_IsMenuDataBackup;
private bool m_IsMenuStatistics;
private bool m_IsMenuViewer;
private bool m_IsMenuUser;
private bool m_IsMenuUserGroupEditor;
#endregion
#region Constructor
public UserGroupItem()
{
this.Initialize();
}
#endregion
#region Property
public bool IsMainDisplayProductNo
{
get { return this.m_IsMainDisplayProductNo; }
set { this.m_IsMainDisplayProductNo = value; }
}
public bool IsMainDisplayWeightSetting
{
get { return this.m_IsMainDisplayWeightSetting; }
set { this.m_IsMainDisplayWeightSetting = value; }
}
public bool IsMainDisplayClear
{
get { return this.m_IsMainDisplayClear; }
set { this.m_IsMainDisplayClear = value; }
}
public bool IsMainDisplaySubMenu
{
get { return this.m_IsMainDisplaySubMenu; }
set { this.m_IsMainDisplaySubMenu = value; }
}
public bool IsMenuTime
{
get { return this.m_IsMenuTime; }
set { this.m_IsMenuTime = value; }
}
public bool IsMenuInformation
{
get { return this.m_IsMenuInformation; }
set { this.m_IsMenuInformation = value; }
}
public bool IsMenuDataBackup
{
get { return this.m_IsMenuDataBackup; }
set { this.m_IsMenuDataBackup = value; }
}
public bool IsMenuCalibration
{
get { return this.m_IsMenuCalibration; }
set { this.m_IsMenuCalibration = value; }
}
public bool IsMenuCommunication
{
get { return this.m_IsMenuCommunication; }
set { this.m_IsMenuCommunication = value; }
}
public bool IsMenuConfiguration
{
get { return this.m_IsMenuConfiguration; }
set { this.m_IsMenuConfiguration = value; }
}
public bool IsMenuSystem
{
get { return this.m_IsMenuSystem; }
set { this.m_IsMenuSystem = value; }
}
public bool IsMenuMotor
{
get { return this.m_IsMenuMotor; }
set { this.m_IsMenuMotor = value; }
}
public bool IsMenuUpdate
{
get { return this.m_IsMenuUpdate; }
set { this.m_IsMenuUpdate = value; }
}
public bool IsMenuInitialization
{
get { return this.m_IsMenuInitialization; }
set { this.m_IsMenuInitialization = value; }
}
public bool IsMenuEquipment
{
get { return this.m_IsMenuEquipment; }
set { this.m_IsMenuEquipment = value; }
}
public bool IsMenuIOTest
{
get { return this.m_IsMenuIOTest; }
set { this.m_IsMenuIOTest = value; }
}
public bool IsMenuStatistics
{
get { return this.m_IsMenuStatistics; }
set { this.m_IsMenuStatistics = value; }
}
public bool IsMenuUser
{
get { return this.m_IsMenuUser; }
set { this.m_IsMenuUser = value; }
}
public bool IsMenuViewer
{
get { return this.m_IsMenuViewer; }
set { this.m_IsMenuViewer = value; }
}
public bool IsMenuUserGroupEditor
{
get { return this.m_IsMenuUserGroupEditor; }
set { this.m_IsMenuUserGroupEditor = value; }
}
#endregion
#region Method
private void Initialize()
{
this.IsMainDisplayProductNo = false;
this.IsMainDisplayWeightSetting = false;
this.IsMainDisplayClear = false;
this.IsMainDisplaySubMenu = false;
this.IsMenuTime = false;
this.IsMenuInformation = true;
this.IsMenuDataBackup = false;
this.IsMenuCalibration = false;
this.IsMenuCommunication = false;
this.IsMenuConfiguration = false;
this.IsMenuSystem = false;
this.IsMenuMotor = false;
this.IsMenuUpdate = false;
this.IsMenuInitialization = false;
this.IsMenuEquipment = false;
this.IsMenuIOTest = false;
this.IsMenuStatistics = false;
this.IsMenuUser = true;
this.IsMenuUserGroupEditor = false;
this.IsMenuViewer = false;
}
#endregion
}
#endregion
#region StructUserGroupItem
[StructLayout(LayoutKind.Sequential)]
public struct StructUserGroupItem
{
public bool IsMainDisplayProductNo;
public bool IsMainDisplayWeightSetting;
public bool IsMainDisplayClear;
public bool IsMainDispalySubMenu;
public bool IsMenuTimeSetting;
public bool IsMenuInformation;
public bool IsMenuDataBackup;
public bool IsMenuCalibration;
public bool IsMenuCommunication;
public bool IsMenuConfiguration;
public bool IsMenuSystemSetting;
public bool IsMenuMotorSetting;
public bool IsMenuUpdate;
public bool IsMenuFactoryReset;
public bool IsMenuEquipmentSetting;
public bool IsMenuIOTest;
public bool IsMenuDataStatistics;
public bool IsMenuUserSetting;
public bool IsMenuUserGroupSetting;
public bool IsMenuDataViewer;
public bool Dummy1;
public bool Dummy2;
public bool Dummy3;
public bool Dummy4;
public bool Dummy5;
public bool Dummy6;
public bool Dummy7;
public bool Dummy8;
public bool Dummy9;
public bool Dummy10;
public bool Dummy11;
public bool Dummy12;
public bool Dummy13;
public bool Dummy14;
public bool Dummy15;
public bool Dummy16;
public bool Dummy17;
public bool Dummy18;
public bool Dummy19;
public bool Dummy20;
}
#endregion
}

View File

@ -0,0 +1,182 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_UserManager
{
public partial class UserManager
{
private const string PathDll = "SD Card\\Run\\DllUserMgr.dll";
private delegate void fnUserMgrVersionCB(StringBuilder version);
private static fnUserMgrVersionCB fnUserMgrVersionCallBack;
private delegate void fnUserMgrDebugCB(int level, StringBuilder pMessage);
private static fnUserMgrDebugCB fnUserMgrDebugCallBack;
private delegate void fnUserMgrNewUserCB(IntPtr pBuffer);
private static fnUserMgrNewUserCB fnUserMgrNewUserCallBack;
private delegate void fnUserMgrAddUserCB(ref UserMgr_user_add_t user_add);
private static fnUserMgrAddUserCB fnUserMgrAddUserCallBack;
private delegate void fnUserMgrModifyUserCB(ref UserMgr_user_modify_t user_mod);
private static fnUserMgrModifyUserCB fnUserMgrModifyUserCallBack;
private delegate void fnUserMgrModifyInfoCB(ref UserMgr_user_info_t user_info);
private static fnUserMgrModifyInfoCB fnUserMgrModifyInfoCallBack;
private delegate void fnUserMgrDelUserCB(ref UserMgr_user_del_t user_del);
private static fnUserMgrDelUserCB fnUserMgrDelUserCallBack;
private delegate void fnUserMgrUserLockCB(ref UserMgr_user_lock_t user_lock);
private static fnUserMgrUserLockCB fnUserMgrUserLockCallBack;
private delegate void fnUserMgrDefaultSettingCB(int status);
private static fnUserMgrDefaultSettingCB fnUserMgrDefaultSettingCallBack;
private delegate void fnUserMgrLoginCB(int status, IntPtr pBuffer);
private static fnUserMgrLoginCB fnUserMgrLoginCallBack;
private delegate void fnUserMgrLogoutCB(int status);
private static fnUserMgrLogoutCB fnUserMgrLogoutCallBack;
private delegate void fnUserMgrLoginTimeoutCB(ref UserMgr_login_timeout_t timeout);
private static fnUserMgrLoginTimeoutCB fnUserMgrLoginTimeoutCallBack;
private delegate void fnUserMgrGetListCB(ref UserMgr_user_list_t user_list);
private static fnUserMgrGetListCB fnUserMgrGetListCallBack;
private delegate void fnUserMgrGetListNameCB(ref UserMgr_user_list_name_t user_name);
private static fnUserMgrGetListNameCB fnUsermgrGetListNameCallBack;
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_VersionCB(fnUserMgrVersionCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_DebugCB(fnUserMgrDebugCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_NewStatusCB(fnUserMgrNewUserCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_AddStatusCB(fnUserMgrAddUserCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_ModifyUserCB(fnUserMgrModifyUserCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_ModifyStatusCB(fnUserMgrModifyInfoCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_DelStatusCB(fnUserMgrDelUserCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_UserLockCB(fnUserMgrUserLockCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_DefaultSettingCB(fnUserMgrDefaultSettingCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_LoginStausCB(fnUserMgrLoginCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_LogoutStausCB(fnUserMgrLogoutCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_LoginTimeoutCB(fnUserMgrLoginTimeoutCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_GetListCB(fnUserMgrGetListCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Register_GetListNameCB(fnUserMgrGetListNameCB func);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_HelloWorld();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Getversion();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Activation();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern void DLL_UserMgr_Deactivation();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserNew(IntPtr user_id, IntPtr user_pw, int fadmin, int expire_pw, int expire_account, int active_level, IntPtr menuId);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserAdd(IntPtr user_id, IntPtr user_pw, int fadmin, int expire_pw, int expire_account, int active_level, DateTime_t dateRegister, DateTime_t dateLogin);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserAddHistoryPW(IntPtr user_id, IntPtr user_pw);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserResetHistoryPW(IntPtr user_id);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserModify(IntPtr user_id, IntPtr user_pw, int fadmin, int expire_pw, int expire_account, int active_level, IntPtr menuId);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserModifyPW(IntPtr user_id, IntPtr user_pw);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserModifyPWDirect(IntPtr user_id, IntPtr user_pw);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserModifyID(IntPtr user_org_id, IntPtr user_new_id);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserResetPWDirect(IntPtr user_id, IntPtr user_pw);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserModifyOthers(IntPtr user_id, int fadmin, int expire_pw, int expire_account, int active_level);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserDel(IntPtr user_id);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserAllDel_Default();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserLockRelease(IntPtr user_id, bool lock_account, bool lock_password);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserLockGet(IntPtr user_id);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserLoginCB(IntPtr user_id, IntPtr user_pw);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserLoginDirect(IntPtr user_id, IntPtr user_pw, ref UserMgr_user_info_t user_info);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_UserLogout();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_AutoLogoutTimeoutReset();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_AutoLogoutTimeoutPause();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_AutoLogoutSetTimeout(int timeout_min, int warning_timeout_sec);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_GetUserList(int index);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_GetUserListID(IntPtr user_id);
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_GetUserListName();
[DllImport(PathDll, CallingConvention = CallingConvention.Winapi)]
private static extern int DLL_UserMgr_SetFolder(IntPtr folder);
}
}

View File

@ -0,0 +1,376 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_UserManager
{
public partial class UserManager
{
#region Field
// fnUserMgrDebugCB
public const int USERMGR_DBG_NORMAL = 0x0001;
public const int USERMGR_DBG_THREAD = 0x0002;
public const int USERMGR_DBG_LIST = 0x0004;
// fnUserMgrLoginCB
public const int USERMGR_LOGIN_STATUS_OK = 0x00;
public const int USERMGR_LOGIN_STATUS_ID_FAIL = 0x01;
public const int USERMGR_LOGIN_STATUS_PW_FAIL = 0x02;
// fnUserMgrLogoutCB
public const int USERMGR_LOGOUT_STATUS_OK = 0x00;
public const int USERMGR_LOGOUT_STATUS_FAIL = 0x01;
// fnUserMgrDelUserCB
//public const int USERMGR_DEL_STATUS_OK = 0x00;
//public const int USERMGR_DEL_STATUS_NOK = 0x01;
// lock_status
public const int USERMGR_LOCK_STATUS_NONE = 0x00;
public const int USERMGR_LOCK_STATUS_EXPIRE = 0x01;
public const int USERMGR_ID_MIN_LENGTH = 6;
public const int UERRMGR_ID_MAX_LENGTH = 20;
public const int USERMGR_PW_MIN_LENGTH = 6;
public const int USERMGR_PW_MAX_LENGTH = 20;
public const int MAX_USER_ID_LENGTH = 32;
public const int MAX_USER_PW_LEGNTH = 32;
public const int MAX_USER_HISTORY_PW_COUNT = 3;
public const int INVALID_VALUE = -1;
public const int USERMGR_USER_ADMINISTRATOR = 1;
public const int USERMGR_USER_NORMAL = 0;
public const int EXPIRE_PERIOD_PASSWORD_NOT_SUPPORT = 0;
public const int MAX_EXPIRE_PERIOD_PASSWORD = 90;
public const int DEFAULT_PASSWORD_EXPIRE_PERIOD = 90; // Days password change
public const int EXPIRE_PERIOD_ACCOUNT_NOT_SUPPORT = 0;
public const int MAX_EXPIRE_PERIOD_ACCOUNT = 180;
public const int DEFAULT_ACCOUNT_LOCK_PERIOD = 180; // Days login
public const int MAX_LOGIN_AUTO_TIMEOUT = 90;
public const int DEFAULT_LOGIN_WARNING_TIMEOUT_SEC = 60; // 60 sec during login, auto logout warning time
public const int DEFAULT_LOGIN_AUTO_TIMEOUT_MIN = 30; // 30 min during login, auto logout timeout
public const int USER_MENU_ID_MAX = 30; // MenuID_t buffer Size
public const int MAX_ACTIVE_LEVEL = 10; // menu active level
public const int INVALID_ACTIVE_LEVEL = 0;
#endregion
#region Enum E_user_mgr_status
public enum E_user_mgr_status
{
USER_MGR_STATUS_OK = 0x00,
// error status
USER_MGR_STATUS_ID_NOT_FOUND, // 1 - not found the user id
USER_MGR_STATUS_ID_DUPLICATE, // 2 - duplicate on id
USER_MGR_STATUS_ID_LENGTH_UNDER, // 3 - under the minimum length of id
USER_MGR_STATUS_ID_LENGTH_OVER, // 4 - over the maximum length of id
USER_MGR_STATUS_ID_CONT_LETTER, // 5 - continue characters or duplicate characters of id
USER_MGR_STATUS_ID_INVALID_CHAR, // 6 - include the invalid character on id
USER_MGR_STATUS_ID_ACCOUNT_LOCK, // 7 - Account Lock
USER_MGR_STATUS_PW_DUPLICATE_HISTORY, // 8 - duplicate on password history
USER_MGR_STATUS_PW_LENGTH_UNDER, // 9 - under the minimum length of password
USER_MGR_STATUS_PW_LENGTH_OVER, // 10 - over the maximum length of password
USER_MGR_STATUS_PW_CONT_LETTER, // 11 - continue characters or duplicate characters of password
USER_MGR_STATUS_PW_INVALID_CHAR, // 12 - include the invalid character on password
USER_MGR_STATUS_PW_EACH_MIN_CHAR, // 13 - not include minimum characters on password
USER_MGR_STATUS_PW_NOT_SAME, // 14 - password error
USER_MGR_STATUS_PW_PASSWORD_LOCK, // 15 - Password Lock
USER_MGR_STATUS_OTHER_OVER_PASSWORD_PERIOD, // 16 - over maximum password expire period (days)
USER_MGR_STATUS_OTHER_OVER_ACCOUNT_PERIOD, // 17 - over maximum account expire period (days)
USER_MGR_STATUS_OTHER_OVER_LOGIN_TIMEOUT, // 18 - over maximum auto logout time (minute)
USER_MGR_STATUS_MAX,
};
#endregion
#region Enum E_user_mgr_menu_id
public enum E_user_mgr_menu_id
{
USER_MENU_ID_RESERVE_0 = 0x00,
USER_MENU_ID_RESERVE_1,
USER_MENU_ID_RESERVE_2,
USER_MENU_ID_RESERVE_3,
USER_MENU_ID_RESERVE_4,
USER_MENU_ID_RESERVE_5,
USER_MENU_ID_RESERVE_6,
USER_MENU_ID_RESERVE_7,
USER_MENU_ID_RESERVE_8,
USER_MENU_ID_RESERVE_9,
USER_MENU_ID_RESERVE_10,
USER_MENU_ID_RESERVE_11,
USER_MENU_ID_RESERVE_12,
USER_MENU_ID_RESERVE_13,
USER_MENU_ID_RESERVE_14,
USER_MENU_ID_RESERVE_15,
USER_MENU_ID_RESERVE_16,
USER_MENU_ID_RESERVE_17,
USER_MENU_ID_RESERVE_18,
USER_MENU_ID_RESERVE_19,
USER_MENU_ID_RESERVE_20,
USER_MENU_ID_RESERVE_21,
USER_MENU_ID_RESERVE_22,
USER_MENU_ID_RESERVE_23,
USER_MENU_ID_RESERVE_24,
USER_MENU_ID_RESERVE_25,
USER_MENU_ID_RESERVE_26,
USER_MENU_ID_RESERVE_27,
USER_MENU_ID_RESERVE_28,
USER_MENU_ID_RESERVE_29,
USER_MENU_ID_MAX,
};
#endregion
#region Struct MenuID_t
[StructLayout(LayoutKind.Sequential)]
public struct MenuID_t
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)E_user_mgr_menu_id.USER_MENU_ID_MAX)]
public bool[] fMenu;
}
#endregion
#region Struct DateTime_t
[StructLayout(LayoutKind.Sequential)]
public struct DateTime_t
{
[MarshalAs(UnmanagedType.U2)]
public UInt16 year;
[MarshalAs(UnmanagedType.U1)]
public byte month;
[MarshalAs(UnmanagedType.U1)]
public byte day;
[MarshalAs(UnmanagedType.U1)]
public byte hour;
[MarshalAs(UnmanagedType.U1)]
public byte minute;
[MarshalAs(UnmanagedType.U1)]
public byte second;
[MarshalAs(UnmanagedType.U1)]
public byte reserved;
public static int Size
{
get { return (int)(sizeof(UInt16) + 6); }
}
public void SetDate(UInt16 year, byte month, byte day)
{
this.year = year;
this.month = month;
this.day = day;
}
public void SetTime(byte hour, byte minute, byte second)
{
this.hour = hour;
this.minute = minute;
this.second = second;
}
public string GetDateTime()
{
string dateTime;
dateTime = string.Format("{0:D4}{1:D2}{2:D2}{3:D2}{4:D2}{5:D2}", year, month, day, hour, minute, second);
return dateTime;
}
}
#endregion
#region Struct UserMgr_user_info_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_info_t
{
[MarshalAs(UnmanagedType.I4)]
public Int32 status; // user_new_add_status_e
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_PW_LEGNTH)]
public string user_pw;
[MarshalAs(UnmanagedType.I4)]
public Int32 fadmin;
[MarshalAs(UnmanagedType.I4)]
public Int32 password_expire_period; // password lock date
[MarshalAs(UnmanagedType.I4)]
public Int32 id_expire_period; // id lock date
[MarshalAs(UnmanagedType.I4)]
public Int32 id_flock_status; // user ID (account) lock status
[MarshalAs(UnmanagedType.I4)]
public Int32 password_flock_status; // password lock status (need to change password)
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t password_register_date; // date/time when the user password was registered or changed
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t id_login_date; // date/time when the user was login
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t password_expire_date; // Password Expiration Date
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t id_expire_date; // Account Expiration Date
[MarshalAs(UnmanagedType.Struct)]
public MenuID_t menuID; // flag of Menu IDs
[MarshalAs(UnmanagedType.I4)]
public Int32 active_level; // menu active level : max : MAX_ACTIVE_LEVEL
[MarshalAs(UnmanagedType.I4)]
public Int32 fFirstPW; // [1] First (request to modify), [0] Next (not request)
}
#endregion
#region Struct UserMgr_user_modify_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_modify_t
{
public int status;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
}
#endregion
#region Struct UserMgr_user_del_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_del_t
{
public int status;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
}
#endregion
#region Struct UserMgr_login_timeout_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_login_timeout_t
{
public int remainder_time;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
}
#endregion
#region Struct UserMgr_user_add_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_add_t
{
public int status;
public int flock_status_account;
public int flock_status_password;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
}
#endregion
#region Struct UserMgr_user_lock_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_lock_t
{
public int flock_status_account;
public int flock_status_password;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
}
#endregion
#region Struct UserMgr_user_list_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_list_t
{
[MarshalAs(UnmanagedType.I4)]
public int status; // user_new_add_status_e
[MarshalAs(UnmanagedType.I4)]
public int total_count;
[MarshalAs(UnmanagedType.I4)]
public int index;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_PW_LEGNTH)]
public string user_pw;
[MarshalAs(UnmanagedType.I4)]
public Int32 fadmin;
[MarshalAs(UnmanagedType.I4)]
public Int32 password_expire_period; // password lock
[MarshalAs(UnmanagedType.I4)]
public Int32 id_expire_period; // account lock
[MarshalAs(UnmanagedType.I4)]
public Int32 id_flock_status; // user ID (account) lock
[MarshalAs(UnmanagedType.I4)]
public Int32 flock_status_password; // password lock (need to change password)
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t password_register_date; // date/time when the user password was registered or changed
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t id_login_date; // date/time when the user was login
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t password_expire_date; // Password Expiration Date
[MarshalAs(UnmanagedType.Struct)]
public DateTime_t id_expire_date; // Account Expiration Date
[MarshalAs(UnmanagedType.I4)]
public Int32 active_level; // menu active level : max : MAX_ACTIVE_LEVEL
[MarshalAs(UnmanagedType.Struct)]
public MenuID_t menuID; // flag of Menu IDs
[MarshalAs(UnmanagedType.I4)]
public Int32 fFirstPW; // flag first password
}
#endregion
#region Struct UserMgr_user_list_name_t
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct UserMgr_user_list_name_t
{
public int total_count;
public int index;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_USER_ID_LENGTH)]
public string user_id;
}
#endregion
}
}

View File

@ -0,0 +1,409 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace INT63DC_2C.Part11_UserManager
{
public partial class UserManager
{
public delegate void ObjectEventHandler(object data);
public static event ObjectEventHandler UserListNewDataEvent;
public static event ObjectEventHandler UserListAddDataEvent;
public static event ObjectEventHandler UserListModifyUserDataEvent;
public static event ObjectEventHandler UserListModifyInfoDataEvent;
public static event ObjectEventHandler UserListDeleteDataEvent;
public static event ObjectEventHandler UserListLockDataEvent;
public static event ObjectEventHandler UserListDefautSettingDataEvent;
public static event ObjectEventHandler UserListLoginTimeoutDataEvent;
public static event ObjectEventHandler UserListGetListDataEvent;
public static event ObjectEventHandler UserListGetListNameDataEvent;
public static event ObjectEventHandler UserListGetVersionDataEvent;
public delegate void IntObjectEventHandler(int status, object data);
public static event IntObjectEventHandler UserListLoginDataEvent;
public delegate void IntEventHandler(int status);
public static event IntEventHandler UserListLogoutDataEvent;
public static void IntializeUserManager(string folder)
{
// regisetr callback
fnUserMgrVersionCallBack = UserManager_VersionCallback;
DLL_UserMgr_Register_VersionCB(fnUserMgrVersionCallBack);
fnUserMgrDebugCallBack = UserManager_DebugCallback;
DLL_UserMgr_Register_DebugCB(fnUserMgrDebugCallBack);
fnUserMgrNewUserCallBack = UserManager_NewUserCallBack;
DLL_UserMgr_Register_NewStatusCB(fnUserMgrNewUserCallBack);
fnUserMgrAddUserCallBack = UserManager_AddUserCallBack;
DLL_UserMgr_Register_AddStatusCB(fnUserMgrAddUserCallBack);
fnUserMgrModifyUserCallBack = UserManager_ModifyUserCallBack;
DLL_UserMgr_Register_ModifyUserCB(fnUserMgrModifyUserCallBack);
fnUserMgrModifyInfoCallBack = UserManager_ModifyInfoCallBack;
DLL_UserMgr_Register_ModifyStatusCB(fnUserMgrModifyInfoCallBack);
fnUserMgrDelUserCallBack = UserManager_DelUserCallBack;
DLL_UserMgr_Register_DelStatusCB(fnUserMgrDelUserCallBack);
fnUserMgrUserLockCallBack = UserManager_LockCallBack;
DLL_UserMgr_Register_UserLockCB(fnUserMgrUserLockCallBack);
fnUserMgrDefaultSettingCallBack = UserManager_DefaultSettingCallBack;
DLL_UserMgr_Register_DefaultSettingCB(fnUserMgrDefaultSettingCallBack);
fnUserMgrLoginCallBack = UserManager_LoginCallBack;
DLL_UserMgr_Register_LoginStausCB(fnUserMgrLoginCallBack);
fnUserMgrLogoutCallBack = UserManager_LogoutCallBack;
DLL_UserMgr_Register_LogoutStausCB(fnUserMgrLogoutCallBack);
fnUserMgrLoginTimeoutCallBack = UserManager_LoginTimeoutCallBack;
DLL_UserMgr_Register_LoginTimeoutCB(fnUserMgrLoginTimeoutCallBack);
fnUserMgrGetListCallBack = UserManager_GetListCallBack;
DLL_UserMgr_Register_GetListCB(fnUserMgrGetListCallBack);
fnUsermgrGetListNameCallBack = UserManager_GetListNameCallBack;
DLL_UserMgr_Register_GetListNameCB(fnUsermgrGetListNameCallBack);
DLL_UserMgr_Activation();
IntPtr pFolder = Marshal.StringToBSTR(folder);
DLL_UserMgr_SetFolder(pFolder);
}
#region UM_FUNCTION
public static void UserManager_GetUserList(String data)
{
if (String.IsNullOrEmpty(data) == true)
DLL_UserMgr_GetUserListID(IntPtr.Zero);
else
{
IntPtr pID = Marshal.StringToBSTR(data);
DLL_UserMgr_GetUserListID(pID);
}
}
public static void UserManager_UserAdd(String sID, String sPW, int fAdmin, int expire_period_pw, int expire_period_account, int active_level, DateTime_t password_date, DateTime_t account_date)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sPW.ToString());
DLL_UserMgr_UserAdd(pID, pPW, fAdmin, expire_period_pw, expire_period_account, active_level, password_date, account_date);
}
public static void UserManager_UserNew(String sID, String sPW, int fAdmin, int expire_period_pw, int expire_period_account, int active_level, MenuID_t menuId)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sPW.ToString());
IntPtr pMenuId = Marshal.AllocHGlobal(Marshal.SizeOf(menuId));
Marshal.StructureToPtr(menuId, pMenuId, false);
DLL_UserMgr_UserNew(pID, pPW, fAdmin, expire_period_pw, expire_period_account, active_level, pMenuId);
}
public static void UserManager_UserAddHistoryPW(String sID, String sHistoryPW)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sHistoryPW.ToString());
DLL_UserMgr_UserAddHistoryPW(pID, pPW);
}
public static void UserManager_UserResetHistoryPW(String sID)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
DLL_UserMgr_UserResetHistoryPW(pID);
}
public static void UserManager_UserModify(String sID, String sPW, int fAdmin, int expire_period_pw, int expire_period_account, int active_level, MenuID_t menuId)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sPW.ToString());
IntPtr pMenuId = Marshal.AllocHGlobal(Marshal.SizeOf(menuId));
Marshal.StructureToPtr(menuId, pMenuId, false);
DLL_UserMgr_UserModify(pID, pPW, fAdmin, expire_period_pw, expire_period_account, active_level, pMenuId);
}
public static void UserManager_UserModifyPW(String sID, String sNewPW)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sNewPW.ToString());
DLL_UserMgr_UserModifyPW(pID, pPW);
}
public static int UserManager_UserModifyPWDirect(String sID, String sNewPW)
{
int ret = 0;
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sNewPW.ToString());
ret = DLL_UserMgr_UserModifyPWDirect(pID, pPW);
return ret;
}
public static int UserManager_UserResetPWDirect(String sID, String sNewPW)
{
int ret = 0;
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sNewPW.ToString());
ret = DLL_UserMgr_UserResetPWDirect(pID, pPW);
return ret;
}
public static void UserManager_UserModifyID(String sID, String sNewID)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pNewID = Marshal.StringToBSTR(sNewID.ToString());
DLL_UserMgr_UserModifyID(pID, pNewID);
}
public static void UserManager_UserModifyOthers(String sID, int fadmin, int period_expire_pw, int period_expire_account, int active_level)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
DLL_UserMgr_UserModifyOthers(pID, fadmin, period_expire_pw, period_expire_account, active_level);
}
public static void UserManager_UserDel(String sID)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
DLL_UserMgr_UserDel(pID);
}
public static void UserManager_UserAllDel()
{
DLL_UserMgr_UserAllDel_Default();
}
public static void UserManager_UserLockRelease(String sID, bool lock_account, bool lock_password)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
DLL_UserMgr_UserLockRelease(pID, lock_account, lock_password);
}
public static void UserManager_UserLockGet(String sID)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
DLL_UserMgr_UserLockGet(pID);
}
public static void UserManager_UserLoginCB(String sID, String sPW)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sPW.ToString());
DLL_UserMgr_UserLoginCB(pID, pPW);
}
public static void UserManager_UserLoginDirect(string sID, string sPW, ref UserMgr_user_info_t user_info)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
IntPtr pPW = Marshal.StringToBSTR(sPW.ToString());
DLL_UserMgr_UserLoginDirect(pID, pPW, ref user_info);
}
public static void UserManager_UserLogout()
{
DLL_UserMgr_UserLogout();
}
public static void UserManager_AutoLogoutTimeoutReset()
{
DLL_UserMgr_AutoLogoutTimeoutReset();
}
public static void UserManager_AutoLogoutTimeoutPause()
{
DLL_UserMgr_AutoLogoutTimeoutPause();
}
public static void UserManager_AutoLogoutSetTimeout(int timeout_min, int warning_timeout_sec)
{
DLL_UserMgr_AutoLogoutSetTimeout(timeout_min, warning_timeout_sec);
}
public static void UserManager_GetUserList(int index)
{
DLL_UserMgr_GetUserList(index);
}
public static void UserManager_GetUserListID(String sID)
{
IntPtr pID = Marshal.StringToBSTR(sID.ToString());
DLL_UserMgr_GetUserListID(pID);
}
public static void UserManager_GetUserListName()
{
DLL_UserMgr_GetUserListName();
}
public static void UserManager_GetVersion()
{
DLL_UserMgr_Getversion();
}
#endregion
#region UM_CALLBACK
private static void UserManager_GetListNameCallBack(ref UserMgr_user_list_name_t user_name)
{
try
{
if (UserListGetListNameDataEvent != null)
UserListGetListNameDataEvent(user_name);
}
catch
{
}
}
private static void UserManager_GetListCallBack(ref UserMgr_user_list_t user_list)
{
try
{
if (UserListGetListDataEvent != null)
UserListGetListDataEvent(user_list);
}
catch
{
}
}
private static void UserManager_LoginTimeoutCallBack(ref UserMgr_login_timeout_t timeout)
{
try
{
if (UserListLoginTimeoutDataEvent != null)
UserListLoginTimeoutDataEvent(timeout);
}
catch
{
}
}
private static void UserManager_LogoutCallBack(int status)
{
try
{
if (UserListLogoutDataEvent != null)
UserListLogoutDataEvent(status);
}
catch
{
}
}
private static void UserManager_LoginCallBack(int status, IntPtr pBuffer)
{
try
{
if (UserListLoginDataEvent != null)
UserListLoginDataEvent(status, pBuffer);
}
catch
{
}
}
private static void UserManager_LockCallBack(ref UserMgr_user_lock_t user_lock)
{
try
{
if (UserListLockDataEvent != null)
UserListLockDataEvent(user_lock);
}
catch
{
}
}
private static void UserManager_DefaultSettingCallBack(int status)
{
try
{
if (UserListDefautSettingDataEvent != null)
UserListDefautSettingDataEvent(status);
}
catch
{
}
}
private static void UserManager_DelUserCallBack(ref UserMgr_user_del_t user_del)
{
try
{
if (UserListDeleteDataEvent != null)
UserListDeleteDataEvent(user_del);
}
catch
{
}
}
private static void UserManager_ModifyUserCallBack(ref UserMgr_user_modify_t user_mod)
{
try
{
if (UserListModifyUserDataEvent != null)
UserListModifyUserDataEvent(user_mod);
}
catch
{
}
}
private static void UserManager_ModifyInfoCallBack(ref UserMgr_user_info_t user_info)
{
try
{
if (UserListModifyInfoDataEvent != null)
UserListModifyInfoDataEvent(user_info);
}
catch
{
}
}
private static void UserManager_AddUserCallBack(ref UserMgr_user_add_t user_add)
{
try
{
if (UserListAddDataEvent != null)
UserListAddDataEvent(user_add);
}
catch
{
}
}
private static void UserManager_NewUserCallBack(IntPtr pBuffer)
{
try
{
if (pBuffer != IntPtr.Zero)
{
UserMgr_user_info_t user_info = (UserMgr_user_info_t)Marshal.PtrToStructure(pBuffer, typeof(UserMgr_user_info_t));
if (UserListNewDataEvent != null)
UserListNewDataEvent(user_info);
}
}
catch
{
}
}
private static void UserManager_DebugCallback(int type, StringBuilder pMessage)
{
try
{
}
catch
{
}
}
private static void UserManager_VersionCallback(StringBuilder version)
{
try
{
if (UserListGetVersionDataEvent != null)
UserListGetVersionDataEvent(version);
}
catch
{
}
}
#endregion
}
}

View File

@ -642,8 +642,6 @@
<None Include="Resources\jpnFormMainOverDown.png" />
<None Include="Resources\jpnFormMainOverUp.png" />
<None Include="Resources\jpnFormMainPassDisable.png" />
<None Include="Resources\jpnGroupEditorDown.png" />
<None Include="Resources\jpnGroupEditorUp.png" />
<None Include="Resources\jpnSaveDisable.png" />
<None Include="Resources\jpnSaveDown.png" />
<None Include="Resources\jpnSaveUp.png" />
@ -659,10 +657,6 @@
<None Include="Resources\jpnClearAlarmDisable.png" />
<None Include="Resources\jpnClearAlarmDown.png" />
<None Include="Resources\jpnClearAlarmUp.png" />
<None Include="Resources\jpnFilterDisable.png" />
<None Include="Resources\jpnFilterDown.png" />
<None Include="Resources\jpnFilterUp.png" />
<None Include="Resources\jpnGroupEditorDisable.png" />
<None Include="Resources\jpnMenuCommunicaionDisable.png" />
<None Include="Resources\jpnMenuCommunicaionDown.png" />
<None Include="Resources\jpnMenuCommunicaionUp.png" />
@ -744,6 +738,33 @@
<None Include="Resources\jpnMenuDataBackupDisable.png" />
<None Include="Resources\jpnMenuDataBackupDown.png" />
<None Include="Resources\jpnMenuDataBackupUp.png" />
<None Include="Resources\engFilterDisable.png" />
<None Include="Resources\engFilterDown.png" />
<None Include="Resources\engFilterUp.png" />
<None Include="Resources\chnFilterDisable.png" />
<None Include="Resources\chnFilterDown.png" />
<None Include="Resources\chnFilterUp.png" />
<None Include="Resources\czeFilterDisable.png" />
<None Include="Resources\czeFilterDown.png" />
<None Include="Resources\czeFilterUp.png" />
<None Include="Resources\engGroupEditorDisable.png" />
<None Include="Resources\engGroupEditorDown.png" />
<None Include="Resources\engGroupEditorUp.png" />
<None Include="Resources\chnGroupEditorDisable.png" />
<None Include="Resources\chnGroupEditorDown.png" />
<None Include="Resources\chnGroupEditorUp.png" />
<None Include="Resources\gerGroupEditorDisable.png" />
<None Include="Resources\gerGroupEditorDown.png" />
<None Include="Resources\gerGroupEditorUp.png" />
<None Include="Resources\czeGroupEditorDisable.png" />
<None Include="Resources\czeGroupEditorDown.png" />
<None Include="Resources\czeGroupEditorUp.png" />
<None Include="Resources\jpnFilterDisable.png" />
<None Include="Resources\jpnFilterDown.png" />
<None Include="Resources\jpnFilterUp.png" />
<None Include="Resources\jpnGroupEditorDisable.png" />
<None Include="Resources\jpnGroupEditorDown.png" />
<None Include="Resources\jpnGroupEditorUp.png" />
<Content Include="version.txt" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />

View File

@ -24,6 +24,9 @@ namespace INT63DC_ImageDll
chnFileSelectDisable,
chnFileSelectDown,
chnFileSelectUp,
chnFilterDisable,
chnFilterDown,
chnFilterUp,
chnFormCalibrationBalanceDisable,
chnFormCalibrationBalanceDown,
chnFormCalibrationBalanceUp,
@ -71,6 +74,9 @@ namespace INT63DC_ImageDll
chnFormSystemTareUp,
chnFormSystemUnderDown,
chnFormSystemUnderUp,
chnGroupEditorDisable,
chnGroupEditorDown,
chnGroupEditorUp,
chnMenuCalibrationDisable,
chnMenuCalibrationDown,
chnMenuCalibrationUp,
@ -156,6 +162,9 @@ namespace INT63DC_ImageDll
czeFileSelectDisable,
czeFileSelectDown,
czeFileSelectUp,
czeFilterDisable,
czeFilterDown,
czeFilterUp,
czeFormCalibrationBalanceDisable,
czeFormCalibrationBalanceDown,
czeFormCalibrationBalanceUp,
@ -199,6 +208,9 @@ namespace INT63DC_ImageDll
czeFormSystemTareUp,
czeFormSystemUnderDown,
czeFormSystemUnderUp,
czeGroupEditorDisable,
czeGroupEditorDown,
czeGroupEditorUp,
czeMenuCalibrationDisable,
czeMenuCalibrationDown,
czeMenuCalibrationUp,
@ -282,6 +294,9 @@ namespace INT63DC_ImageDll
engFileSelectDisable,
engFileSelectDown,
engFileSelectUp,
engFilterDisable,
engFilterDown,
engFilterUp,
engFormCalibrationBalanceDisable,
engFormCalibrationBalanceDown,
engFormCalibrationBalanceUp,
@ -324,6 +339,9 @@ namespace INT63DC_ImageDll
engFormSystemTareUp,
engFormSystemUnderDown,
engFormSystemUnderUp,
engGroupEditorDisable,
engGroupEditorDown,
engGroupEditorUp,
engMenuCalibrationDisable,
engMenuCalibrationDown,
engMenuCalibrationUp,
@ -444,6 +462,9 @@ namespace INT63DC_ImageDll
gerFormSystemTareUp,
gerFormSystemUnderDown,
gerFormSystemUnderUp,
gerGroupEditorDisable,
gerGroupEditorDown,
gerGroupEditorUp,
gerMenuCalibrationDisable,
gerMenuCalibrationDown,
gerMenuCalibrationUp,
@ -695,6 +716,15 @@ namespace INT63DC_ImageDll
case ButtonImages.chnFileSelectUp:
bt = new Bitmap(Resource.chnFileSelectUp);
break;
case ButtonImages.chnFilterDisable:
bt = new Bitmap(Resource.chnFilterDisable);
break;
case ButtonImages.chnFilterDown:
bt = new Bitmap(Resource.chnFilterDown);
break;
case ButtonImages.chnFilterUp:
bt = new Bitmap(Resource.chnFilterUp);
break;
case ButtonImages.chnFormCalibrationBalanceDisable:
bt = new Bitmap(Resource.chnFormCalibrationBalanceDisable);
break;
@ -836,6 +866,15 @@ namespace INT63DC_ImageDll
case ButtonImages.chnFormSystemUnderUp:
bt = new Bitmap(Resource.chnFormSystemUnderUp);
break;
case ButtonImages.chnGroupEditorDisable:
bt = new Bitmap(Resource.chnGroupEditorDisable);
break;
case ButtonImages.chnGroupEditorDown:
bt = new Bitmap(Resource.chnGroupEditorDown);
break;
case ButtonImages.chnGroupEditorUp:
bt = new Bitmap(Resource.chnGroupEditorUp);
break;
case ButtonImages.chnMenuCalibrationDisable:
bt = new Bitmap(Resource.chnMenuCalibrationDisable);
break;
@ -1085,6 +1124,15 @@ namespace INT63DC_ImageDll
case ButtonImages.czeFileSelectUp:
bt = new Bitmap(Resource.czeFileSelectUp);
break;
case ButtonImages.czeFilterDisable:
bt = new Bitmap(Resource.czeFilterDisable);
break;
case ButtonImages.czeFilterDown:
bt = new Bitmap(Resource.czeFilterDown);
break;
case ButtonImages.czeFilterUp:
bt = new Bitmap(Resource.czeFilterUp);
break;
case ButtonImages.czeFormCalibrationBalanceDisable:
bt = new Bitmap(Resource.czeFormCalibrationBalanceDisable);
break;
@ -1214,6 +1262,15 @@ namespace INT63DC_ImageDll
case ButtonImages.czeFormSystemUnderUp:
bt = new Bitmap(Resource.czeFormSystemUnderUp);
break;
case ButtonImages.czeGroupEditorDisable:
bt = new Bitmap(Resource.czeGroupEditorDisable);
break;
case ButtonImages.czeGroupEditorDown:
bt = new Bitmap(Resource.czeGroupEditorDown);
break;
case ButtonImages.czeGroupEditorUp:
bt = new Bitmap(Resource.czeGroupEditorUp);
break;
case ButtonImages.czeMenuCalibrationDisable:
bt = new Bitmap(Resource.czeMenuCalibrationDisable);
break;
@ -1457,6 +1514,15 @@ namespace INT63DC_ImageDll
case ButtonImages.engFileSelectUp:
bt = new Bitmap(Resource.engFileSelectUp);
break;
case ButtonImages.engFilterDisable:
bt = new Bitmap(Resource.engFilterDisable);
break;
case ButtonImages.engFilterDown:
bt = new Bitmap(Resource.engFilterDown);
break;
case ButtonImages.engFilterUp:
bt = new Bitmap(Resource.engFilterUp);
break;
case ButtonImages.engFormCalibrationBalanceDisable:
bt = new Bitmap(Resource.engFormCalibrationBalanceDisable);
break;
@ -1583,6 +1649,15 @@ namespace INT63DC_ImageDll
case ButtonImages.engFormSystemUnderUp:
bt = new Bitmap(Resource.engFormSystemUnderUp);
break;
case ButtonImages.engGroupEditorDisable:
bt = new Bitmap(Resource.engGroupEditorDisable);
break;
case ButtonImages.engGroupEditorDown:
bt = new Bitmap(Resource.engGroupEditorDown);
break;
case ButtonImages.engGroupEditorUp:
bt = new Bitmap(Resource.engGroupEditorUp);
break;
case ButtonImages.engMenuCalibrationDisable:
bt = new Bitmap(Resource.engMenuCalibrationDisable);
break;
@ -1937,6 +2012,15 @@ namespace INT63DC_ImageDll
case ButtonImages.gerFormSystemUnderUp:
bt = new Bitmap(Resource.gerFormSystemUnderUp);
break;
case ButtonImages.gerGroupEditorDisable:
bt = new Bitmap(Resource.gerGroupEditorDisable);
break;
case ButtonImages.gerGroupEditorDown:
bt = new Bitmap(Resource.gerGroupEditorDown);
break;
case ButtonImages.gerGroupEditorUp:
bt = new Bitmap(Resource.gerGroupEditorUp);
break;
case ButtonImages.gerMenuCalibrationDisable:
bt = new Bitmap(Resource.gerMenuCalibrationDisable);
break;
@ -2549,7 +2633,5 @@ namespace INT63DC_ImageDll
return bt;
}
}
}

View File

@ -141,6 +141,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap chnFilterDisable {
get {
object obj = ResourceManager.GetObject("chnFilterDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap chnFilterDown {
get {
object obj = ResourceManager.GetObject("chnFilterDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap chnFilterUp {
get {
object obj = ResourceManager.GetObject("chnFilterUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap chnFormCalibrationBalanceDisable {
get {
object obj = ResourceManager.GetObject("chnFormCalibrationBalanceDisable", resourceCulture);
@ -526,6 +547,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap chnGroupEditorDisable {
get {
object obj = ResourceManager.GetObject("chnGroupEditorDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap chnGroupEditorDown {
get {
object obj = ResourceManager.GetObject("chnGroupEditorDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap chnGroupEditorUp {
get {
object obj = ResourceManager.GetObject("chnGroupEditorUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap chnMainCancelDisable {
get {
object obj = ResourceManager.GetObject("chnMainCancelDisable", resourceCulture);
@ -1079,6 +1121,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap czeFilterDisable {
get {
object obj = ResourceManager.GetObject("czeFilterDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap czeFilterDown {
get {
object obj = ResourceManager.GetObject("czeFilterDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap czeFilterUp {
get {
object obj = ResourceManager.GetObject("czeFilterUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap czeFormCalibrationBalanceDisable {
get {
object obj = ResourceManager.GetObject("czeFormCalibrationBalanceDisable", resourceCulture);
@ -1415,6 +1478,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap czeGroupEditorDisable {
get {
object obj = ResourceManager.GetObject("czeGroupEditorDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap czeGroupEditorDown {
get {
object obj = ResourceManager.GetObject("czeGroupEditorDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap czeGroupEditorUp {
get {
object obj = ResourceManager.GetObject("czeGroupEditorUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap czeMainCancelDisable {
get {
object obj = ResourceManager.GetObject("czeMainCancelDisable", resourceCulture);
@ -1954,6 +2038,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap engFilterDisable {
get {
object obj = ResourceManager.GetObject("engFilterDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap engFilterDown {
get {
object obj = ResourceManager.GetObject("engFilterDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap engFilterUp {
get {
object obj = ResourceManager.GetObject("engFilterUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap engFormCalibrationBalanceDisable {
get {
object obj = ResourceManager.GetObject("engFormCalibrationBalanceDisable", resourceCulture);
@ -2276,6 +2381,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap engGroupEditorDisable {
get {
object obj = ResourceManager.GetObject("engGroupEditorDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap engGroupEditorDown {
get {
object obj = ResourceManager.GetObject("engGroupEditorDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap engGroupEditorUp {
get {
object obj = ResourceManager.GetObject("engGroupEditorUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap engMainCancelDisable {
get {
object obj = ResourceManager.GetObject("engMainCancelDisable", resourceCulture);
@ -3130,6 +3256,27 @@ namespace INT63DC_ImageDll {
}
}
internal static System.Drawing.Bitmap gerGroupEditorDisable {
get {
object obj = ResourceManager.GetObject("gerGroupEditorDisable", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap gerGroupEditorDown {
get {
object obj = ResourceManager.GetObject("gerGroupEditorDown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap gerGroupEditorUp {
get {
object obj = ResourceManager.GetObject("gerGroupEditorUp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap gerMainCancelDisable {
get {
object obj = ResourceManager.GetObject("gerMainCancelDisable", resourceCulture);

View File

@ -2026,4 +2026,67 @@
<data name="jpnFileSelectUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\jpnFileSelectUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chnFilterDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\chnFilterDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chnFilterDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\chnFilterDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chnFilterUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\chnFilterUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="czeFilterDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\czeFilterDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="czeFilterDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\czeFilterDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="czeFilterUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\czeFilterUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="engFilterDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\engFilterDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="engFilterDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\engFilterDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="engFilterUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\engFilterUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chnGroupEditorDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\chnGroupEditorDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chnGroupEditorDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\chnGroupEditorDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chnGroupEditorUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\chnGroupEditorUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="czeGroupEditorDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\czeGroupEditorDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="czeGroupEditorDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\czeGroupEditorDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="czeGroupEditorUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\czeGroupEditorUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="engGroupEditorDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\engGroupEditorDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="engGroupEditorDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\engGroupEditorDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="engGroupEditorUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\engGroupEditorUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="gerGroupEditorDisable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\gerGroupEditorDisable.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="gerGroupEditorDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\gerGroupEditorDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="gerGroupEditorUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\gerGroupEditorUp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB