초기 커밋.
This commit is contained in:
148
DDUtilityApp/LOGPARSER/DATA/CompressInformation.cs
Normal file
148
DDUtilityApp/LOGPARSER/DATA/CompressInformation.cs
Normal file
@@ -0,0 +1,148 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Text;
|
||||
using JWH;
|
||||
using JWH.DATA;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER.DATA
|
||||
{
|
||||
|
||||
public class CompressInformation : DataTableBase
|
||||
{
|
||||
|
||||
public string ExtractPath { get; protected set; }
|
||||
|
||||
public string FileName { get; protected set; }
|
||||
|
||||
public List<FileInfo> Files { get; set; } = new List<FileInfo>();
|
||||
|
||||
public CompressInformation()
|
||||
{
|
||||
}
|
||||
|
||||
public CompressInformation(string filename)
|
||||
{
|
||||
this.FileName = filename;
|
||||
this.Files.AddRange(this.Decompress(filename).ToArray());
|
||||
}
|
||||
|
||||
private List<FileInfo> Decompress(string srcFile)
|
||||
{
|
||||
List<FileInfo> lstFile = new List<FileInfo>();
|
||||
try
|
||||
{
|
||||
|
||||
string extension = System.IO.Path.GetExtension(srcFile);
|
||||
if (!Directory.Exists(GlobalVariable.Instance.WorkflowPath)) Directory.CreateDirectory(GlobalVariable.Instance.WorkflowPath);
|
||||
|
||||
string destFile = $@"{GlobalVariable.Instance.WorkflowPath}{System.IO.Path.GetFileNameWithoutExtension(srcFile)}";
|
||||
if (this.Decompress(srcFile, destFile) == false) return lstFile;
|
||||
|
||||
string directoryName = $@"{GlobalVariable.Instance.WorkflowPath}{System.IO.Path.GetFileNameWithoutExtension(srcFile)}_{DateTime.Now.ToString("MMddHHmmss")}";
|
||||
if (!Directory.Exists(directoryName)) Directory.CreateDirectory(directoryName);
|
||||
this.ExtractPath = directoryName;
|
||||
|
||||
FileInfo destFileInfo = new FileInfo(destFile);
|
||||
using (FileStream readStream = destFileInfo.OpenRead())
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
// Get Length of FileName
|
||||
byte[] byteLength = new byte[4];
|
||||
int nRead = readStream.Read(byteLength, 0, 4);
|
||||
if (nRead <= 0) break;
|
||||
int lenFilename = BitConverter.ToInt32(byteLength, 0);
|
||||
lenFilename *= 2;
|
||||
|
||||
// Get FileName
|
||||
byte[] byteFilename = new byte[lenFilename];
|
||||
nRead = readStream.Read(byteFilename, 0, lenFilename);
|
||||
if (nRead <= 0) break;
|
||||
string filename = Encoding.Unicode.GetString(byteFilename);
|
||||
|
||||
// Get Length of File Body
|
||||
nRead = readStream.Read(byteLength, 0, 4);
|
||||
if (nRead <= 0) break;
|
||||
int lenFile = BitConverter.ToInt32(byteLength, 0);
|
||||
|
||||
if (lenFile == -1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Get File Body
|
||||
byte[] byteFileBody = new byte[lenFile];
|
||||
nRead = readStream.Read(byteFileBody, 0, lenFile);
|
||||
if (nRead <= 0) break;
|
||||
|
||||
// Write File
|
||||
using (FileStream writeStream = File.Create($"{directoryName}\\{filename}"))
|
||||
writeStream.Write(byteFileBody, 0, lenFile);
|
||||
|
||||
lstFile.Add(new FileInfo($"{directoryName}\\{filename}"));
|
||||
}
|
||||
}
|
||||
destFileInfo.Delete();
|
||||
|
||||
return lstFile;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
return lstFile;
|
||||
}
|
||||
}
|
||||
|
||||
private void Compress(DirectoryInfo directorySelected)
|
||||
{
|
||||
foreach (FileInfo fileToCompress in directorySelected.GetFiles())
|
||||
{
|
||||
using (FileStream originalFileStream = fileToCompress.OpenRead())
|
||||
{
|
||||
if ((File.GetAttributes(fileToCompress.FullName) &
|
||||
FileAttributes.Hidden) != FileAttributes.Hidden & fileToCompress.Extension != ".gz")
|
||||
{
|
||||
using (FileStream compressedFileStream = File.Create(fileToCompress.FullName + ".gz"))
|
||||
{
|
||||
using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress))
|
||||
{
|
||||
originalFileStream.CopyTo(compressionStream);
|
||||
}
|
||||
}
|
||||
FileInfo info = new FileInfo(GlobalVariable.Instance.WorkflowPath + Path.DirectorySeparatorChar + fileToCompress.Name + ".gz");
|
||||
Console.WriteLine($"Compressed {fileToCompress.Name} from {fileToCompress.Length.ToString()} to {info.Length.ToString()} bytes.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool Decompress(string srcFile, string destFile)
|
||||
{
|
||||
try
|
||||
{
|
||||
FileInfo srcFileInfo = new FileInfo(srcFile);
|
||||
using (FileStream srcStream = srcFileInfo.OpenRead())
|
||||
{
|
||||
using (FileStream destStream = File.Create(destFile))
|
||||
{
|
||||
using (GZipStream zipStream = new GZipStream(srcStream, CompressionMode.Decompress))
|
||||
{
|
||||
zipStream.CopyTo(destStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
182
DDUtilityApp/LOGPARSER/DATA/EisEquipment.cs
Normal file
182
DDUtilityApp/LOGPARSER/DATA/EisEquipment.cs
Normal file
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using DDUtilityApp.DATA;
|
||||
using JWH;
|
||||
using JWH.DATA;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER.DATA
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// EIS 설비 정보
|
||||
/// </summary>
|
||||
public class EisEquipment : DataTableBase
|
||||
{
|
||||
|
||||
/// <summary>LogServer Information</summary>
|
||||
public LogServer Server { get; set; }
|
||||
|
||||
/// <summary>MES.FacilityName</summary>
|
||||
public string Facility { get; set; }
|
||||
|
||||
/// <summary>EIS.Line</summary>
|
||||
public string Line { get; set; }
|
||||
|
||||
/// <summary>MES.ProcessSegmentID</summary>
|
||||
public string ProcessSegmentID { get; set; }
|
||||
|
||||
/// <summary>MES.ProcessSegmentName</summary>
|
||||
public string ProcessSegmentName { get; set; }
|
||||
|
||||
/// <summary>EIS.ModelID</summary>
|
||||
public string ModelID { get; set; }
|
||||
|
||||
/// <summary>MES.Maker</summary>
|
||||
public string Maker { get; set; }
|
||||
|
||||
/// <summary>EIS.ModelVersion (From EIS.EquipmentModelDetails)</summary>
|
||||
public string ModelVersion { get; set; }
|
||||
|
||||
/// <summary>EIS.Version</summary>
|
||||
public string Version { get; set; }
|
||||
|
||||
/// <summary>EIS.RunningVersion</summary>
|
||||
public string RunningVersion { get; set; }
|
||||
|
||||
/// <summary>Empty</summary>
|
||||
public string CusLibVersion { get; set; }
|
||||
|
||||
/// <summary>EIS.EquipmentID</summary>
|
||||
public string EquipmentID { get; set; }
|
||||
|
||||
/// <summary>Name is Select(MES, EIS)</summary>
|
||||
[ReadOnly(true)]
|
||||
public string DisplayName
|
||||
{
|
||||
get
|
||||
{
|
||||
string value = string.Empty;
|
||||
foreach(string name in this.DisplayNameOrder.Split(';'))
|
||||
{
|
||||
value = this.PropertyGet(name);
|
||||
if (!string.IsNullOrEmpty(value)) break;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>EIS.Description</summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>EIS.GemSettingID (From DriverParameter)</summary>
|
||||
public string GemSettingID { get; set; }
|
||||
|
||||
/// <summary>EIS.DriverFileName (From DriverParameter)</summary>
|
||||
public string DriverFileName { get; set; }
|
||||
|
||||
/// <summary>EIS.EquipmentIP (From DriverParameter)</summary>
|
||||
public string EquipmentIP { get; set; }
|
||||
|
||||
/// <summary>EIS.Port (From DriverParameter)</summary>
|
||||
public int Port { get; set; }
|
||||
|
||||
/// <summary>Empty</summary>
|
||||
public string ServerName { get; set; }
|
||||
|
||||
/// <summary>EIS.ServerIP</summary>
|
||||
public string ServerIP { get; set; }
|
||||
|
||||
/// <summary>EIS.OriginServerIP</summary>
|
||||
public string OriginServerIP { get; set; }
|
||||
|
||||
/// <summary>LogServerIP</summary>
|
||||
public string LogServerIP { get; set; }
|
||||
|
||||
private string m_LogPath = string.Empty;
|
||||
|
||||
/// <summary>EIS.LogPath</summary>
|
||||
public string LogPath
|
||||
{
|
||||
get { return this.m_LogPath; }
|
||||
set { this.m_LogPath = this.SetLogPath(value); }
|
||||
}
|
||||
|
||||
/// <summary>MES.Description</summary>
|
||||
public string MesName { get; set; }
|
||||
|
||||
/// <summary>MES.OperationMode</summary>
|
||||
public string OperationMode { get; set; }
|
||||
|
||||
private string m_ControlMode = string.Empty;
|
||||
|
||||
/// <summary>MES.ControlMode</summary>
|
||||
public string ControlMode
|
||||
{
|
||||
get { return this.m_ControlMode; }
|
||||
set { this.m_ControlMode = value.ToTitleCase(); }
|
||||
}
|
||||
|
||||
private string m_EquipmentState = string.Empty;
|
||||
|
||||
/// <summary>MES.EqpState</summary>
|
||||
public string State
|
||||
{
|
||||
get { return this.m_EquipmentState; }
|
||||
set { this.m_EquipmentState = value.ToTitleCase(); }
|
||||
}
|
||||
|
||||
/// <summary>MES.LastTrackInLotID</summary>
|
||||
public string LastTrackInLotID { get; set; }
|
||||
|
||||
/// <summary>MES.LastTrackOutLotID</summary>
|
||||
public string LastTrackOutLotID { get; set; }
|
||||
|
||||
/// <summary>DisplayName OrderBy</summary>
|
||||
public string DisplayNameOrder { get; set; } = "MesName;Description;";
|
||||
|
||||
/// <summary>MES 기준등록 존재여부</summary>
|
||||
public bool MesRegistration { get; set; } = true;
|
||||
|
||||
/// <summary>MES Daemon</summary>
|
||||
public string MesDaemon { get; set; }
|
||||
|
||||
/// <summary>MES Service</summary>
|
||||
public string MesService { get; set; }
|
||||
|
||||
/// <summary>MES Subject</summary>
|
||||
public string MesSubject { get; set; }
|
||||
|
||||
/// <summary>PLC_TYPE</summary>
|
||||
public string PlcType { get; set; }
|
||||
|
||||
/// <summary>PM Date</summary>
|
||||
public DateTime PMDate { get; set; }
|
||||
|
||||
private string SetLogPath(string value)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (value.StartsWith(@"\"))
|
||||
{
|
||||
string[] values = value.Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
this.LogServerIP = values[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (value.StartsWith("X:"))
|
||||
this.LogServerIP = "192.168.7.150";
|
||||
else
|
||||
this.LogServerIP = this.ServerIP;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
41
DDUtilityApp/LOGPARSER/DATA/EisEquipmentModelDetails.cs
Normal file
41
DDUtilityApp/LOGPARSER/DATA/EisEquipmentModelDetails.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using JWH.DATA;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER.DATA
|
||||
{
|
||||
|
||||
public class EisModelDetails : DataTableBase
|
||||
{
|
||||
|
||||
public string ModelID { get; set; }
|
||||
|
||||
public string Version { get; set; }
|
||||
|
||||
public string Description { get; set; }
|
||||
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
public string Modifier { get; set; }
|
||||
|
||||
public string LockState { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class EisModelInfo : DataTableBase
|
||||
{
|
||||
|
||||
public string ModelID { get; set; }
|
||||
|
||||
public string Maker { get; set; }
|
||||
|
||||
public string Model { get; set; }
|
||||
|
||||
public string Description { get; set; }
|
||||
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
public string Modifier { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
40
DDUtilityApp/LOGPARSER/DATA/LogFile.cs
Normal file
40
DDUtilityApp/LOGPARSER/DATA/LogFile.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using JWH.DATA;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER.DATA
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 로그 파일 정보
|
||||
/// </summary>
|
||||
public class LogFile : DataTableBase
|
||||
{
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public long Length { get; set; }
|
||||
|
||||
public string Extension { get; set; }
|
||||
|
||||
public string FullName { get; set; }
|
||||
|
||||
public DateTime CreationTime { get; set; }
|
||||
|
||||
public DateTime LastAccessTime { get; set; }
|
||||
|
||||
public DateTime LastWriteTime { get; set; }
|
||||
|
||||
public LogFile()
|
||||
{
|
||||
}
|
||||
|
||||
public LogFile(string fullName)
|
||||
{
|
||||
this.Name = System.IO.Path.GetFileNameWithoutExtension(fullName);
|
||||
this.FullName = fullName;
|
||||
this.Extension = System.IO.Path.GetExtension(fullName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
98
DDUtilityApp/LOGPARSER/DATA/StandardData.cs
Normal file
98
DDUtilityApp/LOGPARSER/DATA/StandardData.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Text;
|
||||
using DDUtilityApp.SECS;
|
||||
using JWH.DATA;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER.DATA
|
||||
{
|
||||
|
||||
public class StandardCollection : List<StandardData>
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class StandardData : DataTableBase
|
||||
{
|
||||
|
||||
public delegate void onBodyParser(StandardData sender);
|
||||
|
||||
[Browsable(false)]
|
||||
public int LineNumber { get; set; }
|
||||
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
public string Level { get; set; }
|
||||
|
||||
public string Server { get; set; }
|
||||
|
||||
public string Service { get; set; }
|
||||
|
||||
public string Type { get; set; }
|
||||
|
||||
public string MessageName { get; set; }
|
||||
|
||||
public string Return { get; set; }
|
||||
|
||||
public string Value { get; set; }
|
||||
|
||||
public string EquipmentID { get; set; }
|
||||
|
||||
public string PortID { get; set; }
|
||||
|
||||
public string CarrierID { get; set; }
|
||||
|
||||
public string LotID { get; set; }
|
||||
|
||||
public string ModuleID { get; set; }
|
||||
|
||||
public string HostPanelID { get; set; }
|
||||
|
||||
public string PanelID { get; set; }
|
||||
|
||||
public string PanelQty { get; set; }
|
||||
|
||||
public string TID { get; set; }
|
||||
|
||||
public string SystemByte { get; set; }
|
||||
|
||||
public string Column1 { get; set; }
|
||||
|
||||
public string Column2 { get; set; }
|
||||
|
||||
public string Column3 { get; set; }
|
||||
|
||||
public string Column4 { get; set; }
|
||||
|
||||
public string Column5 { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public StringBuilder Body { get; set; } = new StringBuilder();
|
||||
|
||||
[Browsable(false)]
|
||||
public SECSItem SECSItem { get; set; } = null;
|
||||
|
||||
[Browsable(false)]
|
||||
public onBodyParser BodyParser { get; set; }
|
||||
|
||||
public void BodyParsing()
|
||||
{
|
||||
if (this.BodyParser == null) return;
|
||||
|
||||
this.BodyParser.DynamicInvoke(this);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append($"{this.Server} {this.MessageName}");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
582
DDUtilityApp/LOGPARSER/FrmEqSelector.Designer.cs
generated
Normal file
582
DDUtilityApp/LOGPARSER/FrmEqSelector.Designer.cs
generated
Normal file
@@ -0,0 +1,582 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmEqSelector
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition2 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition3 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmEqSelector));
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.panel8 = new System.Windows.Forms.Panel();
|
||||
this.tboxName = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.panel9 = new System.Windows.Forms.Panel();
|
||||
this.tboxEquipmentID = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.chkAllEquipment = new System.Windows.Forms.CheckBox();
|
||||
this.chkUseMesDB = new System.Windows.Forms.CheckBox();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.cboxServer = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.panel6 = new System.Windows.Forms.Panel();
|
||||
this.gridEquipments = new JWH.CONTROL.GridViewEx();
|
||||
this.panel5 = new System.Windows.Forms.Panel();
|
||||
this.panel7 = new System.Windows.Forms.Panel();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.gridLogFiles = new JWH.CONTROL.GridViewEx();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.gridModelDetail = new JWH.CONTROL.GridViewEx();
|
||||
this.panel10 = new System.Windows.Forms.Panel();
|
||||
this.tboxModelDescription = new System.Windows.Forms.TextBox();
|
||||
this.radStatusStrip1 = new Telerik.WinControls.UI.RadStatusStrip();
|
||||
this.rstatus1 = new Telerik.WinControls.UI.RadLabelElement();
|
||||
this.chkUseSMB = new System.Windows.Forms.CheckBox();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
this.flowLayoutPanel2.SuspendLayout();
|
||||
this.panel8.SuspendLayout();
|
||||
this.panel9.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.panel4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.panel3.SuspendLayout();
|
||||
this.panel6.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridEquipments)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridEquipments.MasterTemplate)).BeginInit();
|
||||
this.panel5.SuspendLayout();
|
||||
this.panel7.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridLogFiles)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridLogFiles.MasterTemplate)).BeginInit();
|
||||
this.tabPage2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridModelDetail)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridModelDetail.MasterTemplate)).BeginInit();
|
||||
this.panel10.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.splitContainer1);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(3, 2);
|
||||
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel1.Size = new System.Drawing.Size(1014, 572);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(3, 2);
|
||||
this.splitContainer1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.panel2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1008, 568);
|
||||
this.splitContainer1.SplitterDistance = 72;
|
||||
this.splitContainer1.SplitterWidth = 3;
|
||||
this.splitContainer1.TabIndex = 1;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.Controls.Add(this.flowLayoutPanel2);
|
||||
this.panel2.Controls.Add(this.flowLayoutPanel1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(1008, 72);
|
||||
this.panel2.TabIndex = 2;
|
||||
//
|
||||
// flowLayoutPanel2
|
||||
//
|
||||
this.flowLayoutPanel2.AutoSize = true;
|
||||
this.flowLayoutPanel2.Controls.Add(this.panel8);
|
||||
this.flowLayoutPanel2.Controls.Add(this.panel9);
|
||||
this.flowLayoutPanel2.Controls.Add(this.chkAllEquipment);
|
||||
this.flowLayoutPanel2.Controls.Add(this.chkUseMesDB);
|
||||
this.flowLayoutPanel2.Controls.Add(this.chkUseSMB);
|
||||
this.flowLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.flowLayoutPanel2.Location = new System.Drawing.Point(0, 34);
|
||||
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||
this.flowLayoutPanel2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.flowLayoutPanel2.Size = new System.Drawing.Size(1006, 34);
|
||||
this.flowLayoutPanel2.TabIndex = 1;
|
||||
//
|
||||
// panel8
|
||||
//
|
||||
this.panel8.Controls.Add(this.tboxName);
|
||||
this.panel8.Controls.Add(this.label2);
|
||||
this.panel8.Location = new System.Drawing.Point(6, 5);
|
||||
this.panel8.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel8.MinimumSize = new System.Drawing.Size(0, 24);
|
||||
this.panel8.Name = "panel8";
|
||||
this.panel8.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel8.Size = new System.Drawing.Size(353, 24);
|
||||
this.panel8.TabIndex = 0;
|
||||
//
|
||||
// tboxName
|
||||
//
|
||||
this.tboxName.Location = new System.Drawing.Point(104, 1);
|
||||
this.tboxName.Name = "tboxName";
|
||||
this.tboxName.Size = new System.Drawing.Size(246, 21);
|
||||
this.tboxName.TabIndex = 1;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label2.Location = new System.Drawing.Point(3, 2);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(101, 20);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Name : ";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// panel9
|
||||
//
|
||||
this.panel9.Controls.Add(this.tboxEquipmentID);
|
||||
this.panel9.Controls.Add(this.label4);
|
||||
this.panel9.Location = new System.Drawing.Point(365, 5);
|
||||
this.panel9.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel9.MinimumSize = new System.Drawing.Size(0, 24);
|
||||
this.panel9.Name = "panel9";
|
||||
this.panel9.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel9.Size = new System.Drawing.Size(353, 24);
|
||||
this.panel9.TabIndex = 1;
|
||||
//
|
||||
// tboxEquipmentID
|
||||
//
|
||||
this.tboxEquipmentID.Location = new System.Drawing.Point(104, 1);
|
||||
this.tboxEquipmentID.Name = "tboxEquipmentID";
|
||||
this.tboxEquipmentID.Size = new System.Drawing.Size(246, 21);
|
||||
this.tboxEquipmentID.TabIndex = 1;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label4.Location = new System.Drawing.Point(3, 2);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(101, 20);
|
||||
this.label4.TabIndex = 0;
|
||||
this.label4.Text = "Equipment ID : ";
|
||||
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// chkAllEquipment
|
||||
//
|
||||
this.chkAllEquipment.AutoSize = true;
|
||||
this.chkAllEquipment.Location = new System.Drawing.Point(724, 6);
|
||||
this.chkAllEquipment.Name = "chkAllEquipment";
|
||||
this.chkAllEquipment.Size = new System.Drawing.Size(72, 16);
|
||||
this.chkAllEquipment.TabIndex = 3;
|
||||
this.chkAllEquipment.Text = "모든설비";
|
||||
this.chkAllEquipment.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkUseMesDB
|
||||
//
|
||||
this.chkUseMesDB.AutoSize = true;
|
||||
this.chkUseMesDB.Location = new System.Drawing.Point(802, 6);
|
||||
this.chkUseMesDB.Name = "chkUseMesDB";
|
||||
this.chkUseMesDB.Size = new System.Drawing.Size(71, 16);
|
||||
this.chkUseMesDB.TabIndex = 4;
|
||||
this.chkUseMesDB.Text = "MES DB";
|
||||
this.chkUseMesDB.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.Controls.Add(this.panel4);
|
||||
this.flowLayoutPanel1.Controls.Add(this.btnOK);
|
||||
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(1006, 34);
|
||||
this.flowLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.Controls.Add(this.cboxServer);
|
||||
this.panel4.Controls.Add(this.label1);
|
||||
this.panel4.Location = new System.Drawing.Point(6, 5);
|
||||
this.panel4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel4.MinimumSize = new System.Drawing.Size(0, 24);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel4.Size = new System.Drawing.Size(353, 24);
|
||||
this.panel4.TabIndex = 0;
|
||||
//
|
||||
// cboxServer
|
||||
//
|
||||
this.cboxServer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.cboxServer.FormattingEnabled = true;
|
||||
this.cboxServer.Location = new System.Drawing.Point(104, 2);
|
||||
this.cboxServer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.cboxServer.Name = "cboxServer";
|
||||
this.cboxServer.Size = new System.Drawing.Size(246, 20);
|
||||
this.cboxServer.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label1.Location = new System.Drawing.Point(3, 2);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(101, 20);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Server : ";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.Location = new System.Drawing.Point(365, 5);
|
||||
this.btnOK.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(99, 24);
|
||||
this.btnOK.TabIndex = 1;
|
||||
this.btnOK.Text = "OK";
|
||||
this.btnOK.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.panel3);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.panel5);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1008, 493);
|
||||
this.splitContainer2.SplitterDistance = 453;
|
||||
this.splitContainer2.TabIndex = 1;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.Controls.Add(this.panel6);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel3.Size = new System.Drawing.Size(453, 493);
|
||||
this.panel3.TabIndex = 1;
|
||||
//
|
||||
// panel6
|
||||
//
|
||||
this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel6.Controls.Add(this.gridEquipments);
|
||||
this.panel6.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel6.Location = new System.Drawing.Point(3, 2);
|
||||
this.panel6.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel6.Name = "panel6";
|
||||
this.panel6.Size = new System.Drawing.Size(447, 489);
|
||||
this.panel6.TabIndex = 3;
|
||||
//
|
||||
// gridEquipments
|
||||
//
|
||||
this.gridEquipments.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.gridEquipments.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.gridEquipments.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gridEquipments.Location = new System.Drawing.Point(0, 0);
|
||||
this.gridEquipments.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridEquipments.MasterTemplate.ViewDefinition = tableViewDefinition1;
|
||||
this.gridEquipments.Name = "gridEquipments";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridEquipments.RootElement.ControlBounds = new System.Drawing.Rectangle(0, 0, 240, 150);
|
||||
this.gridEquipments.Size = new System.Drawing.Size(445, 487);
|
||||
this.gridEquipments.TabIndex = 2;
|
||||
//
|
||||
// panel5
|
||||
//
|
||||
this.panel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel5.Controls.Add(this.panel7);
|
||||
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel5.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel5.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel5.Name = "panel5";
|
||||
this.panel5.Size = new System.Drawing.Size(551, 493);
|
||||
this.panel5.TabIndex = 3;
|
||||
//
|
||||
// panel7
|
||||
//
|
||||
this.panel7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel7.Controls.Add(this.tabControl1);
|
||||
this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel7.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel7.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel7.Name = "panel7";
|
||||
this.panel7.Size = new System.Drawing.Size(549, 491);
|
||||
this.panel7.TabIndex = 4;
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(547, 489);
|
||||
this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.tabControl1.TabIndex = 6;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.gridLogFiles);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(539, 463);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Log Files";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// gridLogFiles
|
||||
//
|
||||
this.gridLogFiles.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.gridLogFiles.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.gridLogFiles.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gridLogFiles.Location = new System.Drawing.Point(3, 3);
|
||||
this.gridLogFiles.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridLogFiles.MasterTemplate.ViewDefinition = tableViewDefinition2;
|
||||
this.gridLogFiles.Name = "gridLogFiles";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridLogFiles.RootElement.ControlBounds = new System.Drawing.Rectangle(3, 3, 240, 150);
|
||||
this.gridLogFiles.Size = new System.Drawing.Size(533, 457);
|
||||
this.gridLogFiles.TabIndex = 3;
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.Controls.Add(this.gridModelDetail);
|
||||
this.tabPage2.Controls.Add(this.panel10);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(539, 463);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Model History";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// gridModelDetail
|
||||
//
|
||||
this.gridModelDetail.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.gridModelDetail.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.gridModelDetail.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gridModelDetail.Location = new System.Drawing.Point(3, 3);
|
||||
this.gridModelDetail.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridModelDetail.MasterTemplate.ViewDefinition = tableViewDefinition3;
|
||||
this.gridModelDetail.Name = "gridModelDetail";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridModelDetail.RootElement.ControlBounds = new System.Drawing.Rectangle(3, 3, 240, 150);
|
||||
this.gridModelDetail.Size = new System.Drawing.Size(533, 357);
|
||||
this.gridModelDetail.TabIndex = 6;
|
||||
//
|
||||
// panel10
|
||||
//
|
||||
this.panel10.Controls.Add(this.tboxModelDescription);
|
||||
this.panel10.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel10.Location = new System.Drawing.Point(3, 360);
|
||||
this.panel10.Name = "panel10";
|
||||
this.panel10.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.panel10.Size = new System.Drawing.Size(533, 100);
|
||||
this.panel10.TabIndex = 5;
|
||||
//
|
||||
// tboxModelDescription
|
||||
//
|
||||
this.tboxModelDescription.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxModelDescription.Location = new System.Drawing.Point(0, 2);
|
||||
this.tboxModelDescription.Multiline = true;
|
||||
this.tboxModelDescription.Name = "tboxModelDescription";
|
||||
this.tboxModelDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxModelDescription.Size = new System.Drawing.Size(533, 96);
|
||||
this.tboxModelDescription.TabIndex = 0;
|
||||
//
|
||||
// radStatusStrip1
|
||||
//
|
||||
this.radStatusStrip1.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
||||
this.rstatus1});
|
||||
this.radStatusStrip1.Location = new System.Drawing.Point(3, 574);
|
||||
this.radStatusStrip1.Name = "radStatusStrip1";
|
||||
this.radStatusStrip1.Size = new System.Drawing.Size(1014, 26);
|
||||
this.radStatusStrip1.TabIndex = 1;
|
||||
//
|
||||
// rstatus1
|
||||
//
|
||||
this.rstatus1.Name = "rstatus1";
|
||||
this.radStatusStrip1.SetSpring(this.rstatus1, false);
|
||||
this.rstatus1.Text = "";
|
||||
this.rstatus1.TextWrap = true;
|
||||
//
|
||||
// chkSMB
|
||||
//
|
||||
this.chkUseSMB.AutoSize = true;
|
||||
this.chkUseSMB.Location = new System.Drawing.Point(879, 6);
|
||||
this.chkUseSMB.Name = "chkSMB";
|
||||
this.chkUseSMB.Size = new System.Drawing.Size(77, 16);
|
||||
this.chkUseSMB.TabIndex = 5;
|
||||
this.chkUseSMB.Text = "Use SMB";
|
||||
this.chkUseSMB.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FrmEqSelector
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1020, 602);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.radStatusStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.Name = "FrmEqSelector";
|
||||
this.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.Text = "Equipment Selector";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.flowLayoutPanel2.ResumeLayout(false);
|
||||
this.flowLayoutPanel2.PerformLayout();
|
||||
this.panel8.ResumeLayout(false);
|
||||
this.panel8.PerformLayout();
|
||||
this.panel9.ResumeLayout(false);
|
||||
this.panel9.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel6.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridEquipments.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridEquipments)).EndInit();
|
||||
this.panel5.ResumeLayout(false);
|
||||
this.panel7.ResumeLayout(false);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridLogFiles.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridLogFiles)).EndInit();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridModelDetail.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridModelDetail)).EndInit();
|
||||
this.panel10.ResumeLayout(false);
|
||||
this.panel10.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.Panel panel6;
|
||||
private JWH.CONTROL.GridViewEx gridEquipments;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private System.Windows.Forms.ComboBox cboxServer;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
private System.Windows.Forms.Panel panel7;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||
private System.Windows.Forms.Panel panel8;
|
||||
private System.Windows.Forms.TextBox tboxName;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Panel panel9;
|
||||
private System.Windows.Forms.TextBox tboxEquipmentID;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.CheckBox chkAllEquipment;
|
||||
private System.Windows.Forms.CheckBox chkUseMesDB;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private JWH.CONTROL.GridViewEx gridLogFiles;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private JWH.CONTROL.GridViewEx gridModelDetail;
|
||||
private System.Windows.Forms.Panel panel10;
|
||||
private System.Windows.Forms.TextBox tboxModelDescription;
|
||||
private Telerik.WinControls.UI.RadStatusStrip radStatusStrip1;
|
||||
private Telerik.WinControls.UI.RadLabelElement rstatus1;
|
||||
private System.Windows.Forms.CheckBox chkUseSMB;
|
||||
}
|
||||
}
|
||||
1055
DDUtilityApp/LOGPARSER/FrmEqSelector.cs
Normal file
1055
DDUtilityApp/LOGPARSER/FrmEqSelector.cs
Normal file
File diff suppressed because it is too large
Load Diff
1504
DDUtilityApp/LOGPARSER/FrmEqSelector.resx
Normal file
1504
DDUtilityApp/LOGPARSER/FrmEqSelector.resx
Normal file
File diff suppressed because it is too large
Load Diff
154
DDUtilityApp/LOGPARSER/FrmFindDialog.Designer.cs
generated
Normal file
154
DDUtilityApp/LOGPARSER/FrmFindDialog.Designer.cs
generated
Normal file
@@ -0,0 +1,154 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmFindDialog
|
||||
{
|
||||
/// <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.panel1 = new System.Windows.Forms.Panel();
|
||||
this.btnNext = new System.Windows.Forms.Button();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.btnClose = new System.Windows.Forms.Button();
|
||||
this.btnPrevious = new System.Windows.Forms.Button();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.cboxFind = new System.Windows.Forms.ComboBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Controls.Add(this.flowLayoutPanel1);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.panel1.Size = new System.Drawing.Size(496, 110);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// btnNext
|
||||
//
|
||||
this.btnNext.Location = new System.Drawing.Point(241, 3);
|
||||
this.btnNext.Name = "btnNext";
|
||||
this.btnNext.Size = new System.Drawing.Size(120, 27);
|
||||
this.btnNext.TabIndex = 0;
|
||||
this.btnNext.Text = "Next";
|
||||
this.btnNext.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.Controls.Add(this.btnClose);
|
||||
this.flowLayoutPanel1.Controls.Add(this.btnNext);
|
||||
this.flowLayoutPanel1.Controls.Add(this.btnPrevious);
|
||||
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 74);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(490, 33);
|
||||
this.flowLayoutPanel1.TabIndex = 1;
|
||||
//
|
||||
// btnClose
|
||||
//
|
||||
this.btnClose.Location = new System.Drawing.Point(367, 3);
|
||||
this.btnClose.Name = "btnClose";
|
||||
this.btnClose.Size = new System.Drawing.Size(120, 27);
|
||||
this.btnClose.TabIndex = 2;
|
||||
this.btnClose.Text = "Close";
|
||||
this.btnClose.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnPrevious
|
||||
//
|
||||
this.btnPrevious.Location = new System.Drawing.Point(115, 3);
|
||||
this.btnPrevious.Name = "btnPrevious";
|
||||
this.btnPrevious.Size = new System.Drawing.Size(120, 27);
|
||||
this.btnPrevious.TabIndex = 1;
|
||||
this.btnPrevious.Text = "Previous";
|
||||
this.btnPrevious.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.SystemColors.ControlLight;
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.Controls.Add(this.cboxFind);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(3, 3);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(490, 71);
|
||||
this.panel2.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(30, 25);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(82, 15);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "찾을 내용: ";
|
||||
//
|
||||
// cboxFind
|
||||
//
|
||||
this.cboxFind.FormattingEnabled = true;
|
||||
this.cboxFind.Location = new System.Drawing.Point(118, 22);
|
||||
this.cboxFind.Name = "cboxFind";
|
||||
this.cboxFind.Size = new System.Drawing.Size(357, 23);
|
||||
this.cboxFind.TabIndex = 1;
|
||||
//
|
||||
// FrmFindDialog
|
||||
//
|
||||
this.AcceptButton = this.btnNext;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(496, 110);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Name = "FrmFindDialog";
|
||||
this.Text = "FrmFindDialog";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.ComboBox cboxFind;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.Button btnClose;
|
||||
private System.Windows.Forms.Button btnNext;
|
||||
private System.Windows.Forms.Button btnPrevious;
|
||||
}
|
||||
}
|
||||
136
DDUtilityApp/LOGPARSER/FrmFindDialog.cs
Normal file
136
DDUtilityApp/LOGPARSER/FrmFindDialog.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
using JWH;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmFindDialog : Form
|
||||
{
|
||||
|
||||
public event EventHandler FInd;
|
||||
|
||||
public Control Control { get; set; } = null;
|
||||
|
||||
public string SelectedText
|
||||
{
|
||||
get { return this.cboxFind.Text; }
|
||||
set { this.cboxFind.Text = value; }
|
||||
}
|
||||
|
||||
public FrmFindDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
public FrmFindDialog(TextBox textBox) : this()
|
||||
{
|
||||
this.Control = textBox;
|
||||
}
|
||||
|
||||
private void SetLayout()
|
||||
{
|
||||
this.Text = "Find Dialog";
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
}
|
||||
|
||||
private void SetEventHandler()
|
||||
{
|
||||
this.btnNext.Click += BtnNext_Click;
|
||||
this.btnPrevious.Click += BtnPrevious_Click;
|
||||
this.btnClose.Click += BtnClose_Click;
|
||||
}
|
||||
|
||||
private void BtnNext_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
TextBox control = this.Control as TextBox;
|
||||
|
||||
int start = control.SelectionStart + control.SelectionLength;
|
||||
int index = control.Text.IndexOf(this.cboxFind.Text, start);
|
||||
if (index < 0) return;
|
||||
|
||||
control.SelectionStart = index;
|
||||
control.SelectionLength = this.cboxFind.Text.Length;
|
||||
control.ScrollToCaret();
|
||||
|
||||
if (this.FInd != null) this.FInd(this, new EventArgs());
|
||||
this.ComboBox_ItemAppend();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnPrevious_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
TextBox control = this.Control as TextBox;
|
||||
|
||||
int end = control.SelectionStart;
|
||||
int index = control.Text.LastIndexOf(this.cboxFind.Text, end);
|
||||
if (index < 0) return;
|
||||
|
||||
control.SelectionStart = index;
|
||||
control.SelectionLength = this.cboxFind.Text.Length;
|
||||
control.ScrollToCaret();
|
||||
|
||||
if (this.FInd != null) this.FInd(this, new EventArgs());
|
||||
this.ComboBox_ItemAppend();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void ComboBox_ItemAppend()
|
||||
{
|
||||
try
|
||||
{
|
||||
string value = this.cboxFind.Text;
|
||||
if (string.IsNullOrWhiteSpace(value)) return;
|
||||
|
||||
this.cboxFind.Items.Remove(value);
|
||||
this.cboxFind.Items.Insert(0, value);
|
||||
this.cboxFind.Text = value;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void Next(string selectedText = "")
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(selectedText)) this.cboxFind.Text = selectedText;
|
||||
this.BtnNext_Click(this.btnNext, new EventArgs());
|
||||
}
|
||||
|
||||
public void Pervious(string selectedText = "")
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(selectedText)) this.cboxFind.Text = selectedText;
|
||||
this.BtnPrevious_Click(this.btnNext, new EventArgs());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmFindDialog.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmFindDialog.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
391
DDUtilityApp/LOGPARSER/FrmHsmsViewer.Designer.cs
generated
Normal file
391
DDUtilityApp/LOGPARSER/FrmHsmsViewer.Designer.cs
generated
Normal file
@@ -0,0 +1,391 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmHsmsViewer
|
||||
{
|
||||
/// <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.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tboxHsms = new System.Windows.Forms.TextBox();
|
||||
this.panel5 = new System.Windows.Forms.Panel();
|
||||
this.btnHtoS = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tboxSecs = new System.Windows.Forms.TextBox();
|
||||
this.panel6 = new System.Windows.Forms.Panel();
|
||||
this.btnStoH = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.panel8 = new System.Windows.Forms.Panel();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
|
||||
this.tboxHexHangul = new System.Windows.Forms.TextBox();
|
||||
this.panel7 = new System.Windows.Forms.Panel();
|
||||
this.cboxEncoding = new System.Windows.Forms.ComboBox();
|
||||
this.tboxHangul = new System.Windows.Forms.TextBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.panel5.SuspendLayout();
|
||||
this.panel6.SuspendLayout();
|
||||
this.panel4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
this.panel8.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
|
||||
this.splitContainer3.Panel1.SuspendLayout();
|
||||
this.splitContainer3.Panel2.SuspendLayout();
|
||||
this.splitContainer3.SuspendLayout();
|
||||
this.panel7.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.panel3);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.panel1.Size = new System.Drawing.Size(800, 450);
|
||||
this.panel1.TabIndex = 1;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.Controls.Add(this.splitContainer1);
|
||||
this.panel3.Controls.Add(this.panel4);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(3, 49);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(794, 398);
|
||||
this.panel3.TabIndex = 2;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.tboxHsms);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.panel5);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tboxSecs);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.panel6);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(492, 398);
|
||||
this.splitContainer1.SplitterDistance = 250;
|
||||
this.splitContainer1.TabIndex = 3;
|
||||
//
|
||||
// tboxHsms
|
||||
//
|
||||
this.tboxHsms.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxHsms.Location = new System.Drawing.Point(0, 51);
|
||||
this.tboxHsms.Multiline = true;
|
||||
this.tboxHsms.Name = "tboxHsms";
|
||||
this.tboxHsms.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxHsms.Size = new System.Drawing.Size(250, 347);
|
||||
this.tboxHsms.TabIndex = 2;
|
||||
//
|
||||
// panel5
|
||||
//
|
||||
this.panel5.Controls.Add(this.btnHtoS);
|
||||
this.panel5.Controls.Add(this.label1);
|
||||
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel5.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel5.Name = "panel5";
|
||||
this.panel5.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.panel5.Size = new System.Drawing.Size(250, 51);
|
||||
this.panel5.TabIndex = 1;
|
||||
//
|
||||
// btnHtoS
|
||||
//
|
||||
this.btnHtoS.Location = new System.Drawing.Point(3, 3);
|
||||
this.btnHtoS.Name = "btnHtoS";
|
||||
this.btnHtoS.Size = new System.Drawing.Size(169, 23);
|
||||
this.btnHtoS.TabIndex = 0;
|
||||
this.btnHtoS.Text = "HSMS to SECS -->";
|
||||
this.btnHtoS.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.label1.Location = new System.Drawing.Point(2, 26);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Padding = new System.Windows.Forms.Padding(10, 3, 10, 3);
|
||||
this.label1.Size = new System.Drawing.Size(246, 23);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "# HSMS";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||
//
|
||||
// tboxSecs
|
||||
//
|
||||
this.tboxSecs.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxSecs.Location = new System.Drawing.Point(0, 51);
|
||||
this.tboxSecs.Multiline = true;
|
||||
this.tboxSecs.Name = "tboxSecs";
|
||||
this.tboxSecs.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxSecs.Size = new System.Drawing.Size(238, 347);
|
||||
this.tboxSecs.TabIndex = 3;
|
||||
//
|
||||
// panel6
|
||||
//
|
||||
this.panel6.Controls.Add(this.btnStoH);
|
||||
this.panel6.Controls.Add(this.label2);
|
||||
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel6.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel6.Name = "panel6";
|
||||
this.panel6.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.panel6.Size = new System.Drawing.Size(238, 51);
|
||||
this.panel6.TabIndex = 2;
|
||||
//
|
||||
// btnStoH
|
||||
//
|
||||
this.btnStoH.Location = new System.Drawing.Point(3, 3);
|
||||
this.btnStoH.Name = "btnStoH";
|
||||
this.btnStoH.Size = new System.Drawing.Size(169, 23);
|
||||
this.btnStoH.TabIndex = 1;
|
||||
this.btnStoH.Text = "<-- SECS to HSMS";
|
||||
this.btnStoH.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.label2.Location = new System.Drawing.Point(2, 26);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Padding = new System.Windows.Forms.Padding(10, 3, 10, 3);
|
||||
this.label2.Size = new System.Drawing.Size(234, 23);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "# SECS";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.Controls.Add(this.splitContainer2);
|
||||
this.panel4.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.panel4.Location = new System.Drawing.Point(492, 0);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Padding = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.panel4.Size = new System.Drawing.Size(302, 398);
|
||||
this.panel4.TabIndex = 2;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(3, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.propertyGrid1);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.panel8);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(299, 398);
|
||||
this.splitContainer2.SplitterDistance = 137;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// propertyGrid1
|
||||
//
|
||||
this.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.propertyGrid1.Location = new System.Drawing.Point(0, 0);
|
||||
this.propertyGrid1.Name = "propertyGrid1";
|
||||
this.propertyGrid1.Size = new System.Drawing.Size(299, 137);
|
||||
this.propertyGrid1.TabIndex = 3;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Controls.Add(this.flowLayoutPanel1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(3, 3);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(794, 46);
|
||||
this.panel2.TabIndex = 0;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(794, 46);
|
||||
this.flowLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
// panel8
|
||||
//
|
||||
this.panel8.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.panel8.Controls.Add(this.splitContainer3);
|
||||
this.panel8.Controls.Add(this.label3);
|
||||
this.panel8.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel8.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel8.Name = "panel8";
|
||||
this.panel8.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.panel8.Size = new System.Drawing.Size(299, 257);
|
||||
this.panel8.TabIndex = 3;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.label3.Location = new System.Drawing.Point(2, 2);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(291, 23);
|
||||
this.label3.TabIndex = 3;
|
||||
this.label3.Text = "Byte to Hangul";
|
||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// splitContainer3
|
||||
//
|
||||
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer3.Location = new System.Drawing.Point(2, 25);
|
||||
this.splitContainer3.Name = "splitContainer3";
|
||||
this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer3.Panel1
|
||||
//
|
||||
this.splitContainer3.Panel1.Controls.Add(this.tboxHexHangul);
|
||||
//
|
||||
// splitContainer3.Panel2
|
||||
//
|
||||
this.splitContainer3.Panel2.Controls.Add(this.panel7);
|
||||
this.splitContainer3.Size = new System.Drawing.Size(291, 226);
|
||||
this.splitContainer3.SplitterDistance = 110;
|
||||
this.splitContainer3.TabIndex = 4;
|
||||
//
|
||||
// tboxHexHangul
|
||||
//
|
||||
this.tboxHexHangul.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxHexHangul.Location = new System.Drawing.Point(0, 0);
|
||||
this.tboxHexHangul.Multiline = true;
|
||||
this.tboxHexHangul.Name = "tboxHexHangul";
|
||||
this.tboxHexHangul.Size = new System.Drawing.Size(291, 110);
|
||||
this.tboxHexHangul.TabIndex = 0;
|
||||
//
|
||||
// panel7
|
||||
//
|
||||
this.panel7.Controls.Add(this.tboxHangul);
|
||||
this.panel7.Controls.Add(this.cboxEncoding);
|
||||
this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel7.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel7.Name = "panel7";
|
||||
this.panel7.Size = new System.Drawing.Size(291, 112);
|
||||
this.panel7.TabIndex = 0;
|
||||
//
|
||||
// cboxEncoding
|
||||
//
|
||||
this.cboxEncoding.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.cboxEncoding.FormattingEnabled = true;
|
||||
this.cboxEncoding.Location = new System.Drawing.Point(0, 0);
|
||||
this.cboxEncoding.Name = "cboxEncoding";
|
||||
this.cboxEncoding.Size = new System.Drawing.Size(291, 20);
|
||||
this.cboxEncoding.TabIndex = 3;
|
||||
//
|
||||
// tboxHangul
|
||||
//
|
||||
this.tboxHangul.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxHangul.Location = new System.Drawing.Point(0, 20);
|
||||
this.tboxHangul.Multiline = true;
|
||||
this.tboxHangul.Name = "tboxHangul";
|
||||
this.tboxHangul.Size = new System.Drawing.Size(291, 92);
|
||||
this.tboxHangul.TabIndex = 4;
|
||||
//
|
||||
// FrmHsmsViewer
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Name = "FrmHsmsViewer";
|
||||
this.Text = "Form1";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.panel5.ResumeLayout(false);
|
||||
this.panel6.ResumeLayout(false);
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel8.ResumeLayout(false);
|
||||
this.splitContainer3.Panel1.ResumeLayout(false);
|
||||
this.splitContainer3.Panel1.PerformLayout();
|
||||
this.splitContainer3.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
|
||||
this.splitContainer3.ResumeLayout(false);
|
||||
this.panel7.ResumeLayout(false);
|
||||
this.panel7.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.Button btnHtoS;
|
||||
private System.Windows.Forms.Button btnStoH;
|
||||
private System.Windows.Forms.TextBox tboxHsms;
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox tboxSecs;
|
||||
private System.Windows.Forms.Panel panel6;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.PropertyGrid propertyGrid1;
|
||||
private System.Windows.Forms.Panel panel8;
|
||||
private System.Windows.Forms.SplitContainer splitContainer3;
|
||||
private System.Windows.Forms.TextBox tboxHexHangul;
|
||||
private System.Windows.Forms.Panel panel7;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox tboxHangul;
|
||||
private System.Windows.Forms.ComboBox cboxEncoding;
|
||||
}
|
||||
}
|
||||
163
DDUtilityApp/LOGPARSER/FrmHsmsViewer.cs
Normal file
163
DDUtilityApp/LOGPARSER/FrmHsmsViewer.cs
Normal file
@@ -0,0 +1,163 @@
|
||||
#define xSECS2HSMS
|
||||
|
||||
using JWH;
|
||||
using JWH.SECS;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
public partial class FrmHsmsViewer : Form
|
||||
{
|
||||
|
||||
#region [ Properties ] ------------------------------------------------
|
||||
|
||||
public SECSMessage SECSMessage { get; set; } = null;
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ FrmTest01 ] -------------------------------------------------
|
||||
|
||||
public FrmHsmsViewer()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
public void SetLayout()
|
||||
{
|
||||
|
||||
Font font = new Font("돋움체", 9.0F);
|
||||
|
||||
this.panel1.Height = 16;
|
||||
|
||||
this.tboxHsms.Font = font;
|
||||
this.tboxHsms.ScrollBars = ScrollBars.Both;
|
||||
this.tboxHsms.WordWrap = false;
|
||||
this.tboxHsms.MaxLength = 3276700;
|
||||
this.tboxHsms.AllowDrop = true;
|
||||
|
||||
this.tboxSecs.Font = font;
|
||||
this.tboxSecs.ScrollBars = ScrollBars.Both;
|
||||
this.tboxSecs.WordWrap = false;
|
||||
this.tboxSecs.MaxLength = 3276700;
|
||||
this.tboxSecs.ReadOnly = true;
|
||||
|
||||
this.tboxHexHangul.Font = font;
|
||||
this.tboxHexHangul.WordWrap = true;
|
||||
|
||||
this.tboxHangul.Font = font;
|
||||
this.tboxHangul.WordWrap = true;
|
||||
|
||||
this.cboxEncoding.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
this.cboxEncoding.Items.Clear();
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("Default", Encoding.Default));
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("UTF7", Encoding.UTF7));
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("UTF8", Encoding.UTF8));
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("UTF32", Encoding.UTF32));
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("ASCII", Encoding.ASCII));
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("Unicode", Encoding.Unicode));
|
||||
this.cboxEncoding.Items.Add(new KeyValuePair<string, Encoding>("BigEndianUnicode", Encoding.BigEndianUnicode));
|
||||
this.cboxEncoding.DisplayMember = "Key";
|
||||
this.cboxEncoding.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
public void SetEventHandler()
|
||||
{
|
||||
this.tboxHsms.DragDrop += Control_DragDrop;
|
||||
this.tboxHsms.DragEnter += Control_DragEnter;
|
||||
|
||||
this.btnHtoS.Click += BtnHsmsToSecs_Click;
|
||||
this.btnStoH.Click += BtnSecstoHsms_Click;
|
||||
|
||||
this.cboxEncoding.SelectedIndexChanged += HexHangul2Hangul;
|
||||
this.tboxHexHangul.TextChanged += HexHangul2Hangul;
|
||||
}
|
||||
|
||||
private void HexHangul2Hangul(object sender, EventArgs e)
|
||||
{
|
||||
string value = this.tboxHexHangul.Text.Replace(" ", "");
|
||||
byte[] bytes = value.ConvertBytes(16);
|
||||
|
||||
Encoding encoding = ((KeyValuePair<string, Encoding>)this.cboxEncoding.SelectedItem).Value;
|
||||
string result = encoding.GetString(bytes, 0, bytes.Length);
|
||||
|
||||
this.tboxHangul.Text = result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Control Event ] ---------------------------------------------
|
||||
|
||||
private void Control_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
if (sender == this.tboxHsms)
|
||||
{
|
||||
string strHsms = (string)e.Data.GetData(DataFormats.Text);
|
||||
this.tboxHsms.Text = strHsms;
|
||||
this.BtnHsmsToSecs_Click(this.btnHtoS, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void Control_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (sender == this.tboxHsms)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.Text)) e.Effect = DragDropEffects.Copy;
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnHsmsToSecs_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.tboxHsms.Text)) return;
|
||||
|
||||
byte[] arrayByte = this.tboxHsms.Text.ConvertBytes(16);
|
||||
this.SECSMessage = new SECSMessage(arrayByte);
|
||||
|
||||
//this.tboxSecs.Text = $"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}] RCVD {item.ToString(0)}";
|
||||
this.tboxSecs.Text = $"{this.SECSMessage.ToFullString()}";
|
||||
this.propertyGrid1.SelectedObject = this.SECSMessage;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnSecstoHsms_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
#if SECS2HSMS
|
||||
if (string.IsNullOrEmpty(this.tboxSecs.Text)) return;
|
||||
this.SECSMessage = new SECSMessage(this.tboxSecs.Text);
|
||||
#else
|
||||
if (this.SECSMessage == null) return;
|
||||
#endif
|
||||
|
||||
//this.tboxSecs.Text = $"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}] RCVD {item.ToString(0)}";
|
||||
this.tboxHsms.Text = this.SECSMessage.ToHexString();
|
||||
this.propertyGrid1.SelectedObject = this.SECSMessage;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Methods ] ---------------------------------------------------
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmHsmsViewer.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmHsmsViewer.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
1105
DDUtilityApp/LOGPARSER/FrmLogParser.Designer.cs
generated
Normal file
1105
DDUtilityApp/LOGPARSER/FrmLogParser.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
1334
DDUtilityApp/LOGPARSER/FrmLogParser.cs
Normal file
1334
DDUtilityApp/LOGPARSER/FrmLogParser.cs
Normal file
File diff suppressed because it is too large
Load Diff
345
DDUtilityApp/LOGPARSER/FrmLogParser.resx
Normal file
345
DDUtilityApp/LOGPARSER/FrmLogParser.resx
Normal file
@@ -0,0 +1,345 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
587
DDUtilityApp/LOGPARSER/FrmLogParser01.Designer.cs
generated
Normal file
587
DDUtilityApp/LOGPARSER/FrmLogParser01.Designer.cs
generated
Normal file
@@ -0,0 +1,587 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmLogParser01
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition2 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
this.pnlRoot = new System.Windows.Forms.Panel();
|
||||
this.spnlRoot = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlControls = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlFiles = new System.Windows.Forms.Panel();
|
||||
this.lviewFiles = new System.Windows.Forms.ListView();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tboxFilename = new System.Windows.Forms.TextBox();
|
||||
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.btnFileAdd = new System.Windows.Forms.Button();
|
||||
this.btnFileRemove = new System.Windows.Forms.Button();
|
||||
this.btnClear = new System.Windows.Forms.Button();
|
||||
this.btnParsing = new System.Windows.Forms.Button();
|
||||
this.pnlButtons = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.chkAutoClear = new System.Windows.Forms.CheckBox();
|
||||
this.chkDownload = new System.Windows.Forms.CheckBox();
|
||||
this.chkFilterLinktest = new System.Windows.Forms.CheckBox();
|
||||
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.btnClearFilter = new System.Windows.Forms.Button();
|
||||
this.btnColumnResize = new System.Windows.Forms.Button();
|
||||
this.spnl00 = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlDisplayL = new System.Windows.Forms.Panel();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.tboxLog = new System.Windows.Forms.TextBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.tboxException = new System.Windows.Forms.TextBox();
|
||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||
this.pnlDisplayR = new System.Windows.Forms.Panel();
|
||||
this.grid = new Telerik.WinControls.UI.RadGridView();
|
||||
this.winGrid = new System.Windows.Forms.DataGridView();
|
||||
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.pnlRoot.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnlRoot)).BeginInit();
|
||||
this.spnlRoot.Panel1.SuspendLayout();
|
||||
this.spnlRoot.Panel2.SuspendLayout();
|
||||
this.spnlRoot.SuspendLayout();
|
||||
this.pnlControls.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.pnlFiles.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
this.flowLayoutPanel2.SuspendLayout();
|
||||
this.pnlButtons.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.flowLayoutPanel3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnl00)).BeginInit();
|
||||
this.spnl00.Panel1.SuspendLayout();
|
||||
this.spnl00.Panel2.SuspendLayout();
|
||||
this.spnl00.SuspendLayout();
|
||||
this.pnlDisplayL.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.pnlDisplayR.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.winGrid)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pnlRoot
|
||||
//
|
||||
this.pnlRoot.Controls.Add(this.spnlRoot);
|
||||
this.pnlRoot.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlRoot.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlRoot.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlRoot.Name = "pnlRoot";
|
||||
this.pnlRoot.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlRoot.Size = new System.Drawing.Size(948, 518);
|
||||
this.pnlRoot.TabIndex = 0;
|
||||
//
|
||||
// spnlRoot
|
||||
//
|
||||
this.spnlRoot.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.spnlRoot.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.spnlRoot.Location = new System.Drawing.Point(3, 2);
|
||||
this.spnlRoot.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.spnlRoot.Name = "spnlRoot";
|
||||
this.spnlRoot.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// spnlRoot.Panel1
|
||||
//
|
||||
this.spnlRoot.Panel1.Controls.Add(this.pnlControls);
|
||||
this.spnlRoot.Panel1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
// spnlRoot.Panel2
|
||||
//
|
||||
this.spnlRoot.Panel2.Controls.Add(this.spnl00);
|
||||
this.spnlRoot.Size = new System.Drawing.Size(942, 514);
|
||||
this.spnlRoot.SplitterDistance = 128;
|
||||
this.spnlRoot.SplitterWidth = 3;
|
||||
this.spnlRoot.TabIndex = 1;
|
||||
//
|
||||
// pnlControls
|
||||
//
|
||||
this.pnlControls.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlControls.Controls.Add(this.splitContainer1);
|
||||
this.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlControls.Location = new System.Drawing.Point(3, 2);
|
||||
this.pnlControls.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlControls.Name = "pnlControls";
|
||||
this.pnlControls.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlControls.Size = new System.Drawing.Size(936, 124);
|
||||
this.pnlControls.TabIndex = 7;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(3, 2);
|
||||
this.splitContainer1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.pnlFiles);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.pnlButtons);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(928, 118);
|
||||
this.splitContainer1.SplitterDistance = 512;
|
||||
this.splitContainer1.TabIndex = 8;
|
||||
//
|
||||
// pnlFiles
|
||||
//
|
||||
this.pnlFiles.Controls.Add(this.lviewFiles);
|
||||
this.pnlFiles.Controls.Add(this.panel1);
|
||||
this.pnlFiles.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlFiles.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlFiles.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlFiles.Name = "pnlFiles";
|
||||
this.pnlFiles.Size = new System.Drawing.Size(512, 118);
|
||||
this.pnlFiles.TabIndex = 1;
|
||||
//
|
||||
// lviewFiles
|
||||
//
|
||||
this.lviewFiles.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lviewFiles.HideSelection = false;
|
||||
this.lviewFiles.Location = new System.Drawing.Point(0, 0);
|
||||
this.lviewFiles.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.lviewFiles.Name = "lviewFiles";
|
||||
this.lviewFiles.Size = new System.Drawing.Size(512, 91);
|
||||
this.lviewFiles.TabIndex = 3;
|
||||
this.lviewFiles.UseCompatibleStateImageBehavior = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.tboxFilename);
|
||||
this.panel1.Controls.Add(this.flowLayoutPanel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 91);
|
||||
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(0, 2, 0, 0);
|
||||
this.panel1.Size = new System.Drawing.Size(512, 27);
|
||||
this.panel1.TabIndex = 2;
|
||||
//
|
||||
// tboxFilename
|
||||
//
|
||||
this.tboxFilename.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxFilename.Location = new System.Drawing.Point(0, 2);
|
||||
this.tboxFilename.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxFilename.Name = "tboxFilename";
|
||||
this.tboxFilename.Size = new System.Drawing.Size(136, 21);
|
||||
this.tboxFilename.TabIndex = 17;
|
||||
//
|
||||
// flowLayoutPanel2
|
||||
//
|
||||
this.flowLayoutPanel2.AutoSize = true;
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnFileAdd);
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnFileRemove);
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnClear);
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnParsing);
|
||||
this.flowLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.flowLayoutPanel2.Location = new System.Drawing.Point(136, 2);
|
||||
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||
this.flowLayoutPanel2.Size = new System.Drawing.Size(376, 25);
|
||||
this.flowLayoutPanel2.TabIndex = 16;
|
||||
this.flowLayoutPanel2.WrapContents = false;
|
||||
//
|
||||
// btnFileAdd
|
||||
//
|
||||
this.btnFileAdd.Location = new System.Drawing.Point(3, 0);
|
||||
this.btnFileAdd.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnFileAdd.Name = "btnFileAdd";
|
||||
this.btnFileAdd.Size = new System.Drawing.Size(88, 20);
|
||||
this.btnFileAdd.TabIndex = 16;
|
||||
this.btnFileAdd.Text = "Add";
|
||||
this.btnFileAdd.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnFileRemove
|
||||
//
|
||||
this.btnFileRemove.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnFileRemove.Location = new System.Drawing.Point(97, 0);
|
||||
this.btnFileRemove.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnFileRemove.Name = "btnFileRemove";
|
||||
this.btnFileRemove.Size = new System.Drawing.Size(88, 20);
|
||||
this.btnFileRemove.TabIndex = 17;
|
||||
this.btnFileRemove.Text = "Remove";
|
||||
this.btnFileRemove.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnClear
|
||||
//
|
||||
this.btnClear.Location = new System.Drawing.Point(191, 0);
|
||||
this.btnClear.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnClear.Name = "btnClear";
|
||||
this.btnClear.Size = new System.Drawing.Size(88, 20);
|
||||
this.btnClear.TabIndex = 11;
|
||||
this.btnClear.Text = "Clear";
|
||||
this.btnClear.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnParsing
|
||||
//
|
||||
this.btnParsing.Location = new System.Drawing.Point(285, 0);
|
||||
this.btnParsing.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnParsing.Name = "btnParsing";
|
||||
this.btnParsing.Size = new System.Drawing.Size(88, 20);
|
||||
this.btnParsing.TabIndex = 18;
|
||||
this.btnParsing.Text = "Parsing(F5)";
|
||||
this.btnParsing.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// pnlButtons
|
||||
//
|
||||
this.pnlButtons.AutoSize = true;
|
||||
this.pnlButtons.Controls.Add(this.flowLayoutPanel1);
|
||||
this.pnlButtons.Controls.Add(this.flowLayoutPanel3);
|
||||
this.pnlButtons.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlButtons.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlButtons.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlButtons.Name = "pnlButtons";
|
||||
this.pnlButtons.Size = new System.Drawing.Size(412, 118);
|
||||
this.pnlButtons.TabIndex = 5;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.Controls.Add(this.chkAutoClear);
|
||||
this.flowLayoutPanel1.Controls.Add(this.chkDownload);
|
||||
this.flowLayoutPanel1.Controls.Add(this.chkFilterLinktest);
|
||||
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 2);
|
||||
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(279, 20);
|
||||
this.flowLayoutPanel1.TabIndex = 11;
|
||||
//
|
||||
// chkAutoClear
|
||||
//
|
||||
this.chkAutoClear.AutoSize = true;
|
||||
this.chkAutoClear.Checked = true;
|
||||
this.chkAutoClear.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkAutoClear.Location = new System.Drawing.Point(3, 2);
|
||||
this.chkAutoClear.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.chkAutoClear.Name = "chkAutoClear";
|
||||
this.chkAutoClear.Size = new System.Drawing.Size(83, 16);
|
||||
this.chkAutoClear.TabIndex = 4;
|
||||
this.chkAutoClear.Text = "Auto Clear";
|
||||
this.chkAutoClear.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkDownload
|
||||
//
|
||||
this.chkDownload.AutoSize = true;
|
||||
this.chkDownload.Checked = true;
|
||||
this.chkDownload.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkDownload.Location = new System.Drawing.Point(92, 2);
|
||||
this.chkDownload.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.chkDownload.Name = "chkDownload";
|
||||
this.chkDownload.Size = new System.Drawing.Size(80, 16);
|
||||
this.chkDownload.TabIndex = 6;
|
||||
this.chkDownload.Text = "Download";
|
||||
this.chkDownload.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkFilterLinktest
|
||||
//
|
||||
this.chkFilterLinktest.AutoSize = true;
|
||||
this.chkFilterLinktest.Checked = true;
|
||||
this.chkFilterLinktest.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkFilterLinktest.Location = new System.Drawing.Point(178, 2);
|
||||
this.chkFilterLinktest.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.chkFilterLinktest.Name = "chkFilterLinktest";
|
||||
this.chkFilterLinktest.Size = new System.Drawing.Size(98, 16);
|
||||
this.chkFilterLinktest.TabIndex = 13;
|
||||
this.chkFilterLinktest.Text = "Filter Linktest";
|
||||
this.chkFilterLinktest.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flowLayoutPanel3
|
||||
//
|
||||
this.flowLayoutPanel3.AutoSize = true;
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnClearFilter);
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnColumnResize);
|
||||
this.flowLayoutPanel3.Location = new System.Drawing.Point(3, 26);
|
||||
this.flowLayoutPanel3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
|
||||
this.flowLayoutPanel3.Size = new System.Drawing.Size(251, 24);
|
||||
this.flowLayoutPanel3.TabIndex = 12;
|
||||
//
|
||||
// btnClearFilter
|
||||
//
|
||||
this.btnClearFilter.Location = new System.Drawing.Point(3, 2);
|
||||
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnClearFilter.Name = "btnClearFilter";
|
||||
this.btnClearFilter.Size = new System.Drawing.Size(88, 20);
|
||||
this.btnClearFilter.TabIndex = 13;
|
||||
this.btnClearFilter.Text = "Clear Filter";
|
||||
this.btnClearFilter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnColumnResize
|
||||
//
|
||||
this.btnColumnResize.Location = new System.Drawing.Point(97, 2);
|
||||
this.btnColumnResize.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnColumnResize.Name = "btnColumnResize";
|
||||
this.btnColumnResize.Size = new System.Drawing.Size(151, 20);
|
||||
this.btnColumnResize.TabIndex = 14;
|
||||
this.btnColumnResize.Text = "Column Resize(F6)";
|
||||
this.btnColumnResize.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// spnl00
|
||||
//
|
||||
this.spnl00.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.spnl00.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.spnl00.Location = new System.Drawing.Point(0, 0);
|
||||
this.spnl00.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.spnl00.Name = "spnl00";
|
||||
//
|
||||
// spnl00.Panel1
|
||||
//
|
||||
this.spnl00.Panel1.Controls.Add(this.pnlDisplayL);
|
||||
//
|
||||
// spnl00.Panel2
|
||||
//
|
||||
this.spnl00.Panel2.Controls.Add(this.pnlDisplayR);
|
||||
this.spnl00.Size = new System.Drawing.Size(942, 383);
|
||||
this.spnl00.SplitterDistance = 438;
|
||||
this.spnl00.TabIndex = 0;
|
||||
//
|
||||
// pnlDisplayL
|
||||
//
|
||||
this.pnlDisplayL.Controls.Add(this.tabControl1);
|
||||
this.pnlDisplayL.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlDisplayL.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlDisplayL.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlDisplayL.Name = "pnlDisplayL";
|
||||
this.pnlDisplayL.Size = new System.Drawing.Size(438, 383);
|
||||
this.pnlDisplayL.TabIndex = 0;
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Controls.Add(this.tabPage3);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(438, 383);
|
||||
this.tabControl1.TabIndex = 1;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.tboxLog);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage1.Size = new System.Drawing.Size(430, 357);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Log Files";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tboxLog
|
||||
//
|
||||
this.tboxLog.AllowDrop = true;
|
||||
this.tboxLog.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxLog.Location = new System.Drawing.Point(3, 2);
|
||||
this.tboxLog.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxLog.Multiline = true;
|
||||
this.tboxLog.Name = "tboxLog";
|
||||
this.tboxLog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxLog.Size = new System.Drawing.Size(424, 353);
|
||||
this.tboxLog.TabIndex = 1;
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.Controls.Add(this.tboxException);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage2.Size = new System.Drawing.Size(375, 381);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Execption";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tboxException
|
||||
//
|
||||
this.tboxException.AllowDrop = true;
|
||||
this.tboxException.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxException.Location = new System.Drawing.Point(3, 2);
|
||||
this.tboxException.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxException.Multiline = true;
|
||||
this.tboxException.Name = "tboxException";
|
||||
this.tboxException.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxException.Size = new System.Drawing.Size(369, 377);
|
||||
this.tboxException.TabIndex = 2;
|
||||
//
|
||||
// tabPage3
|
||||
//
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage3.Name = "tabPage3";
|
||||
this.tabPage3.Size = new System.Drawing.Size(375, 381);
|
||||
this.tabPage3.TabIndex = 2;
|
||||
this.tabPage3.Text = "Equipment";
|
||||
this.tabPage3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// pnlDisplayR
|
||||
//
|
||||
this.pnlDisplayR.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlDisplayR.Controls.Add(this.grid);
|
||||
this.pnlDisplayR.Controls.Add(this.winGrid);
|
||||
this.pnlDisplayR.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlDisplayR.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlDisplayR.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlDisplayR.Name = "pnlDisplayR";
|
||||
this.pnlDisplayR.Size = new System.Drawing.Size(500, 383);
|
||||
this.pnlDisplayR.TabIndex = 1;
|
||||
//
|
||||
// grid
|
||||
//
|
||||
this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grid.Location = new System.Drawing.Point(0, 0);
|
||||
this.grid.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.grid.MasterTemplate.ViewDefinition = tableViewDefinition2;
|
||||
this.grid.Name = "grid";
|
||||
this.grid.Size = new System.Drawing.Size(498, 381);
|
||||
this.grid.TabIndex = 1;
|
||||
//
|
||||
// winGrid
|
||||
//
|
||||
this.winGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.winGrid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.Column1,
|
||||
this.Column2});
|
||||
this.winGrid.Location = new System.Drawing.Point(0, 0);
|
||||
this.winGrid.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.winGrid.Name = "winGrid";
|
||||
this.winGrid.RowTemplate.Height = 27;
|
||||
this.winGrid.Size = new System.Drawing.Size(238, 183);
|
||||
this.winGrid.TabIndex = 0;
|
||||
//
|
||||
// Column1
|
||||
//
|
||||
this.Column1.HeaderText = "Column1";
|
||||
this.Column1.Name = "Column1";
|
||||
//
|
||||
// Column2
|
||||
//
|
||||
this.Column2.HeaderText = "Column2";
|
||||
this.Column2.Name = "Column2";
|
||||
//
|
||||
// FrmLogParser01
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(948, 518);
|
||||
this.Controls.Add(this.pnlRoot);
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.Name = "FrmLogParser01";
|
||||
this.Text = "Form1";
|
||||
this.pnlRoot.ResumeLayout(false);
|
||||
this.spnlRoot.Panel1.ResumeLayout(false);
|
||||
this.spnlRoot.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnlRoot)).EndInit();
|
||||
this.spnlRoot.ResumeLayout(false);
|
||||
this.pnlControls.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.pnlFiles.ResumeLayout(false);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.flowLayoutPanel2.ResumeLayout(false);
|
||||
this.pnlButtons.ResumeLayout(false);
|
||||
this.pnlButtons.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.flowLayoutPanel3.ResumeLayout(false);
|
||||
this.spnl00.Panel1.ResumeLayout(false);
|
||||
this.spnl00.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnl00)).EndInit();
|
||||
this.spnl00.ResumeLayout(false);
|
||||
this.pnlDisplayL.ResumeLayout(false);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage1.PerformLayout();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.tabPage2.PerformLayout();
|
||||
this.pnlDisplayR.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.winGrid)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel pnlRoot;
|
||||
private System.Windows.Forms.SplitContainer spnlRoot;
|
||||
private System.Windows.Forms.Panel pnlDisplayL;
|
||||
private System.Windows.Forms.SplitContainer spnl00;
|
||||
private System.Windows.Forms.Panel pnlDisplayR;
|
||||
private System.Windows.Forms.DataGridView winGrid;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
|
||||
private Telerik.WinControls.UI.RadGridView grid;
|
||||
private System.Windows.Forms.Panel pnlControls;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TextBox tboxLog;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.TextBox tboxException;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Panel pnlFiles;
|
||||
private System.Windows.Forms.Button btnClear;
|
||||
private System.Windows.Forms.FlowLayoutPanel pnlButtons;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.CheckBox chkAutoClear;
|
||||
private System.Windows.Forms.CheckBox chkDownload;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3;
|
||||
private System.Windows.Forms.Button btnClearFilter;
|
||||
private System.Windows.Forms.Button btnColumnResize;
|
||||
private System.Windows.Forms.ListView lviewFiles;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.CheckBox chkFilterLinktest;
|
||||
private System.Windows.Forms.TextBox tboxFilename;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||
private System.Windows.Forms.Button btnFileAdd;
|
||||
private System.Windows.Forms.Button btnFileRemove;
|
||||
private System.Windows.Forms.Button btnParsing;
|
||||
private System.Windows.Forms.TabPage tabPage3;
|
||||
}
|
||||
}
|
||||
|
||||
567
DDUtilityApp/LOGPARSER/FrmLogParser01.cs
Normal file
567
DDUtilityApp/LOGPARSER/FrmLogParser01.cs
Normal file
@@ -0,0 +1,567 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using DDUtilityApp.LOGPARSER.DATA;
|
||||
using DDUtilityApp.LOGPARSER.PARSER;
|
||||
using JWH;
|
||||
using JWH.CONTROL;
|
||||
using Telerik.WinControls.UI;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmLogParser01 : Form
|
||||
{
|
||||
|
||||
private Font RadGridFont = new Font(new FontFamily("돋움체"), 11.0f);
|
||||
|
||||
private bool RadGridControlKey { get; set; } = false;
|
||||
|
||||
private StandardCollection Collection { get; set; } = new StandardCollection();
|
||||
|
||||
private FrmFindDialog FindDialog { get; set; } = null;
|
||||
|
||||
private string WindowText { get; set; } = $"[EverOne MCS] LOG File Viewer";
|
||||
|
||||
public FrmLogParser01()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
|
||||
XLogger.Instance.Control = this.tboxException;
|
||||
}
|
||||
|
||||
private void SetLayout()
|
||||
{
|
||||
this.AllowDrop = true;
|
||||
this.Text = $"{this.WindowText} - Ver. {Application.ProductVersion}";
|
||||
|
||||
this.tboxLog.AllowDrop = true;
|
||||
this.tboxLog.WordWrap = false;
|
||||
this.tboxLog.Multiline = true;
|
||||
this.tboxLog.HideSelection = false;
|
||||
this.tboxLog.ScrollBars = ScrollBars.Both;
|
||||
this.tboxLog.Font = new Font("돋움체", 9);
|
||||
|
||||
this.tboxException.WordWrap = false;
|
||||
this.tboxException.Font = new Font("돋움체", 9);
|
||||
|
||||
this.lviewFiles.View = View.Details;
|
||||
ColumnHeader header = this.lviewFiles.Columns.Add("File Name");
|
||||
this.lviewFiles.CheckBoxes = true;
|
||||
this.lviewFiles.MultiSelect = false;
|
||||
this.lviewFiles.Sorting = SortOrder.Ascending;
|
||||
this.lviewFiles.ListViewItemSorter = new ListViewItemComparer(0, this.lviewFiles.Sorting);
|
||||
|
||||
this.RadGrid_Setting();
|
||||
}
|
||||
|
||||
private void SetEventHandler()
|
||||
{
|
||||
// DragDrop
|
||||
this.DragDrop += Control_DragDrop;
|
||||
this.DragEnter += Control_DragEnter;
|
||||
|
||||
this.tboxLog.DragDrop += Control_DragDrop;
|
||||
this.tboxLog.DragEnter += Control_DragEnter;
|
||||
this.tboxLog.KeyDown += TboxLog_KeyDown;
|
||||
|
||||
// File List
|
||||
this.lviewFiles.Click += LviewFiles_Click;
|
||||
this.lviewFiles.ColumnClick += LviewFiles_ColumnClick;
|
||||
this.lviewFiles.Resize += LviewFiles_Resize;
|
||||
this.tboxFilename.KeyDown += TboxFilename_KeyDown;
|
||||
this.btnFileAdd.Click += BtnFileAdd_Click;
|
||||
this.btnFileRemove.Click += BtnFileRemove_Click;
|
||||
this.btnClear.Click += BtnFileClear_Click;
|
||||
this.btnParsing.Click += BtnParsing_Click;
|
||||
|
||||
// Option
|
||||
this.btnClearFilter.Click += BtnClearFilter_Click;
|
||||
this.btnColumnResize.Click += BtnColumnResize_Click;
|
||||
}
|
||||
|
||||
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||
{
|
||||
switch (keyData)
|
||||
{
|
||||
case Keys.F3:
|
||||
if (this.FindDialog != null) this.FindDialog.Next();
|
||||
break;
|
||||
case Keys.F5:
|
||||
this.BtnParsing_Click(this.btnParsing, new EventArgs());
|
||||
break;
|
||||
case Keys.F6:
|
||||
this.BtnColumnResize_Click(this.btnColumnResize, new EventArgs());
|
||||
break;
|
||||
}
|
||||
|
||||
return base.ProcessCmdKey(ref msg, keyData);
|
||||
}
|
||||
|
||||
#region [ DragDrop ] --------------------------------------------------
|
||||
|
||||
private void Control_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
XLogger.Instance.Info(e);
|
||||
if (this.chkAutoClear.Checked) this.lviewFiles.Items.Clear();
|
||||
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
foreach (string filePath in files)
|
||||
{
|
||||
ListViewItem lviewItem = this.lviewFiles.Items.Add(Path.GetFileName(filePath));
|
||||
lviewItem.Checked = true;
|
||||
lviewItem.Tag = filePath;
|
||||
}
|
||||
|
||||
this.BtnParsing_Click(this.btnParsing, new EventArgs());
|
||||
}
|
||||
|
||||
private void Control_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Control Event ] ---------------------------------------------
|
||||
|
||||
private void LviewFiles_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.lviewFiles.Items.Count < 1) return;
|
||||
if (this.lviewFiles.SelectedItems.Count < 1) return;
|
||||
|
||||
int index = -1;
|
||||
index = this.lviewFiles.SelectedItems[0].Index;
|
||||
|
||||
this.tboxFilename.Text = this.lviewFiles.Items[index].Tag as string;
|
||||
if (string.IsNullOrEmpty(this.tboxFilename.Text) == false && this.tboxFilename.Text.Length > 6)
|
||||
{
|
||||
this.tboxFilename.SelectionStart = this.tboxFilename.Text.Length - 6;
|
||||
this.tboxFilename.SelectionLength = 2;
|
||||
this.tboxFilename.Focus();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void LviewFiles_ColumnClick(object sender, ColumnClickEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
SortOrder sorting = SortOrder.None;
|
||||
switch (this.lviewFiles.Sorting)
|
||||
{
|
||||
case SortOrder.None:
|
||||
sorting = SortOrder.Ascending;
|
||||
break;
|
||||
case SortOrder.Ascending:
|
||||
sorting = SortOrder.Descending;
|
||||
break;
|
||||
case SortOrder.Descending:
|
||||
sorting = SortOrder.None;
|
||||
break;
|
||||
}
|
||||
|
||||
this.lviewFiles.Sorting = sorting;
|
||||
this.lviewFiles.ListViewItemSorter = new ListViewItemComparer(e.Column, this.lviewFiles.Sorting);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void LviewFiles_Resize(object sender, EventArgs e)
|
||||
{
|
||||
int width = this.lviewFiles.Width - 32;
|
||||
int headerWidth = width / this.lviewFiles.Columns.Count;
|
||||
foreach (ColumnHeader header in this.lviewFiles.Columns)
|
||||
header.Width = headerWidth;
|
||||
}
|
||||
|
||||
private void TboxFilename_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyData == Keys.Enter)
|
||||
this.BtnFileAdd_Click(this.btnFileAdd, new EventArgs());
|
||||
}
|
||||
|
||||
private void BtnFileAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
ListViewItem lviewItem = this.lviewFiles.Items.Add(Path.GetFileName(this.tboxFilename.Text));
|
||||
lviewItem.Checked = true;
|
||||
lviewItem.Tag = this.tboxFilename.Text;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnFileRemove_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.lviewFiles.SelectedItems.Count <= 0) return;
|
||||
|
||||
this.lviewFiles.SelectedItems[0].Remove();
|
||||
this.tboxFilename.Text = string.Empty;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnFileClear_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = $"{this.WindowText} - Ver. {Application.ProductVersion}";
|
||||
|
||||
this.lviewFiles.Items.Clear();
|
||||
this.tboxLog.Clear();
|
||||
this.tboxException.Clear();
|
||||
|
||||
this.grid.DataSource = null;
|
||||
}
|
||||
|
||||
private void BtnParsing_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
|
||||
this.Parsing();
|
||||
|
||||
if (this.chkFilterLinktest.Checked)
|
||||
this.grid.DataSource = this.Collection.Where(item => item.Column1 != "LINKTEST");
|
||||
else
|
||||
this.grid.DataSource = this.Collection;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnClearFilter_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.grid.MasterTemplate.FilterDescriptors.Clear();
|
||||
}
|
||||
|
||||
private void BtnColumnResize_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.grid.BestFitColumns(BestFitColumnMode.DisplayedCells);
|
||||
//foreach (GridViewColumn column in this.grid.Columns)
|
||||
//{
|
||||
// if (column.Name.ToUpper().StartsWith("COLUMN")) column.Width = 100;
|
||||
// if (new string[] { "TID" }.Contains(column.Name.ToUpper())) column.Width = 100;
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
private void TboxLog_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if ((e.KeyData & Keys.Control) == Keys.Control && (e.KeyData & Keys.F) == Keys.F)
|
||||
{
|
||||
if (this.FindDialog == null)
|
||||
{
|
||||
this.FindDialog = new FrmFindDialog(this.tboxLog);
|
||||
this.FindDialog.StartPosition = FormStartPosition.Manual;
|
||||
this.FindDialog.Location = this.grid.PointToScreen(new Point(10, 10));
|
||||
this.FindDialog.FormClosed += (object sender1, FormClosedEventArgs e1) => { this.FindDialog = null; };
|
||||
this.FindDialog.FInd += (object sender1, EventArgs e1) => { };
|
||||
this.FindDialog.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.FindDialog.Activate();
|
||||
}
|
||||
|
||||
this.FindDialog.SelectedText = this.tboxLog.SelectedText;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Grid ] ------------------------------------------------------
|
||||
|
||||
private void RadGrid_Setting()
|
||||
{
|
||||
this.grid.Columns.Clear();
|
||||
if (this.grid.GetType() == typeof(RadGridView))
|
||||
{
|
||||
RadGridView rgrid = this.grid as RadGridView;
|
||||
rgrid.Font = this.RadGridFont;
|
||||
rgrid.AllowAddNewRow = false;
|
||||
rgrid.AddNewRowPosition = SystemRowPosition.Top;
|
||||
rgrid.NewRowEnterKeyMode = RadGridViewNewRowEnterKeyMode.EnterMovesToLastAddedRow;
|
||||
rgrid.SelectionMode = GridViewSelectionMode.FullRowSelect;
|
||||
rgrid.AllowAutoSizeColumns = false;
|
||||
rgrid.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
|
||||
rgrid.EnableFiltering = true;
|
||||
rgrid.ShowFilteringRow = false;
|
||||
rgrid.ShowHeaderCellButtons = true;
|
||||
rgrid.ShowNoDataText = true;
|
||||
rgrid.ShowRowErrors = true;
|
||||
rgrid.ShowGroupedColumns = true;
|
||||
rgrid.ShowGroupPanelScrollbars = true;
|
||||
rgrid.AllowEditRow = false;
|
||||
rgrid.TableElement.RowHeaderColumnWidth = 80;
|
||||
|
||||
rgrid.DataBindingComplete += RadGrid_DataBindingComplete;
|
||||
rgrid.SelectionChanged += RadGrid_SelectionChanged;
|
||||
rgrid.ViewCellFormatting += RadGrid_ViewCellFormatting;
|
||||
rgrid.CellDoubleClick += RadGrid_CellDoubleClick;
|
||||
rgrid.KeyDown += RadGrid_KeyDown;
|
||||
rgrid.KeyUp += RadGrid_KeyUp;
|
||||
rgrid.CellClick += RadGrid_CellClick;
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
this.RadGridControlKey = e.Control;
|
||||
}
|
||||
|
||||
private void RadGrid_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
this.RadGridControlKey = e.Control;
|
||||
}
|
||||
|
||||
private void RadGrid_CellClick(object sender, GridViewCellEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) rgrid = this.grid;
|
||||
if (this.RadGridControlKey == false) return;
|
||||
|
||||
foreach (GridViewDataColumn column in rgrid.Columns)
|
||||
{
|
||||
foreach (BaseFormattingObject obj in column.ConditionalFormattingObjectList)
|
||||
{
|
||||
if (new string[] { "Marking" }.Contains(obj.Name))
|
||||
{
|
||||
ExpressionFormattingObject formatting = obj as ExpressionFormattingObject;
|
||||
formatting.Expression += $" AND {e.Column.Name} = '{e.Value}'";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_CellDoubleClick(object sender, GridViewCellEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) rgrid = this.grid;
|
||||
|
||||
List<BaseFormattingObject> lstFormat = new List<BaseFormattingObject>();
|
||||
foreach (GridViewDataColumn column in rgrid.Columns)
|
||||
{
|
||||
lstFormat.Clear();
|
||||
foreach (BaseFormattingObject obj in column.ConditionalFormattingObjectList)
|
||||
{
|
||||
if (new string[] { "Level_Error", "Type_Error", "Server_Error", "Return_1" }.Contains(obj.Name)) continue;
|
||||
lstFormat.Add(obj);
|
||||
}
|
||||
|
||||
foreach (BaseFormattingObject obj in lstFormat)
|
||||
column.ConditionalFormattingObjectList.Remove(obj);
|
||||
}
|
||||
|
||||
var value = e.Value;
|
||||
//DateTime column Convert
|
||||
if (e.Value.GetType() == typeof(DateTime))
|
||||
{
|
||||
var tempData = (DateTime)e.Value;
|
||||
value = tempData.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
}
|
||||
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Marking", $"{e.Column.Name} = '{value}'", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 0, 255, 0);
|
||||
rgrid.Columns[e.Column.Name].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_ViewCellFormatting(object sender, CellFormattingEventArgs e)
|
||||
{
|
||||
if (e.CellElement is GridRowHeaderCellElement && e.Row is GridViewDataRowInfo)
|
||||
{
|
||||
#if ROW_INDEX
|
||||
GridDataView dataView = this.grid.MasterTemplate.DataView as GridDataView;
|
||||
e.CellElement.Text = (dataView.Indexer.Items.IndexOf(e.Row) + 1).ToString();
|
||||
#else
|
||||
StandardData standardData = e.Row.DataBoundItem as StandardData;
|
||||
e.CellElement.Text = (standardData != null ? standardData.LineNumber.ToString() : "");
|
||||
#endif
|
||||
|
||||
|
||||
e.CellElement.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.CellElement.ResetValue(LightVisualElement.TextImageRelationProperty, Telerik.WinControls.ValueResetFlags.Local);
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_DataBindingComplete(object sender, GridViewBindingCompleteEventArgs e)
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) return;
|
||||
|
||||
if (rgrid.Columns.Contains("LineNumber")) rgrid.Columns["LineNumber"].IsVisible = false;
|
||||
if (rgrid.Columns.Contains("DateTime")) rgrid.Columns["DateTime"].FormatString = "{0:yyyy-MM-dd HH:mm:ss.fff}";
|
||||
if (rgrid.Columns.Contains("Service")) rgrid.Columns["Service"].IsVisible = false;
|
||||
if (rgrid.Columns.Contains("Body")) rgrid.Columns["Body"].IsVisible = false;
|
||||
|
||||
if (rgrid.Columns.Contains("Level"))
|
||||
{
|
||||
rgrid.Columns["Level"].TextAlignment = ContentAlignment.MiddleCenter;
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Level_Error", "Level='ERROR'", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 255, 0, 0);
|
||||
rgrid.Columns["Level"].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
|
||||
if (rgrid.Columns.Contains("Type"))
|
||||
{
|
||||
//rgrid.Columns["Type"].TextAlignment = ContentAlignment.MiddleCenter;
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Type_Error", "Server<>'TID' and Type='ERROR'", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 255, 0, 0);
|
||||
rgrid.Columns["Type"].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
|
||||
if (rgrid.Columns.Contains("Return"))
|
||||
{
|
||||
rgrid.Columns["Return"].TextAlignment = ContentAlignment.MiddleCenter;
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Return_1", "Return<>0", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 255, 0, 0);
|
||||
rgrid.Columns["Return"].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
|
||||
//if (this.chkFilterLinktest.Checked)
|
||||
//{
|
||||
// FilterDescriptor filter = new FilterDescriptor("Column1", FilterOperator.IsNotEqualTo, "LINKTEST");
|
||||
// filter.IsFilterEditor = true;
|
||||
// this.grid.FilterDescriptors.Add(filter);
|
||||
//}
|
||||
|
||||
rgrid.BestFitColumns(BestFitColumnMode.DisplayedCells);
|
||||
}
|
||||
|
||||
private void RadGrid_SelectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) return;
|
||||
|
||||
StandardData data = rgrid.SelectedRows.FirstOrDefault().DataBoundItem as StandardData;
|
||||
if (data == null) return;
|
||||
|
||||
int dataLineNumber = data.LineNumber - 1;
|
||||
int startLineNumber = dataLineNumber - 10;
|
||||
int bottomLineNumber = dataLineNumber + 100;
|
||||
int dataIndex = this.tboxLog.Text.IndexOf($"{data.LineNumber.ToString("000000")}:");
|
||||
int difference = dataIndex - this.tboxLog.GetFirstCharIndexFromLine(dataLineNumber);
|
||||
|
||||
this.tboxLog.SuspendLayout();
|
||||
if (bottomLineNumber >= this.tboxLog.Lines.Length) bottomLineNumber = this.tboxLog.Lines.Length - 1;
|
||||
this.tboxLog.SelectionStart = this.tboxLog.GetFirstCharIndexFromLine(bottomLineNumber) + difference;
|
||||
this.tboxLog.ScrollToCaret();
|
||||
|
||||
if (startLineNumber < 0) startLineNumber = 0;
|
||||
this.tboxLog.SelectionStart = this.tboxLog.GetFirstCharIndexFromLine(startLineNumber) + difference;
|
||||
this.tboxLog.ScrollToCaret();
|
||||
|
||||
this.tboxLog.SelectionStart = this.tboxLog.GetFirstCharIndexFromLine(dataLineNumber) + difference;
|
||||
this.tboxLog.SelectionLength = 6;
|
||||
this.tboxLog.ScrollToCaret();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.tboxLog.ResumeLayout();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private StandardCollection Parsing()
|
||||
{
|
||||
try
|
||||
{
|
||||
this.tboxLog.Clear();
|
||||
this.Collection.Clear();
|
||||
|
||||
List<string> lstFileName = new List<string>();
|
||||
string strTitle = string.Empty;
|
||||
|
||||
// Process Unit: File
|
||||
foreach (ListViewItem lviewItem in this.lviewFiles.Items)
|
||||
{
|
||||
if (lviewItem.Checked == false) continue;
|
||||
XLogger.Instance.Info(lviewItem.Text);
|
||||
|
||||
string sourceFileName = lviewItem.Tag as string;
|
||||
if (this.chkDownload.Checked)
|
||||
{
|
||||
string destPath = $@"{Application.StartupPath}\Download";
|
||||
if (System.IO.Directory.Exists(destPath) == false) System.IO.Directory.CreateDirectory(destPath);
|
||||
|
||||
if (string.IsNullOrEmpty(strTitle)) strTitle = System.IO.Path.GetFileNameWithoutExtension(sourceFileName);
|
||||
string destFileName = $@"{destPath}\{System.IO.Path.GetFileName(sourceFileName)}";
|
||||
System.IO.File.Copy(sourceFileName, destFileName, true);
|
||||
sourceFileName = destFileName;
|
||||
}
|
||||
|
||||
lstFileName.Add(sourceFileName);
|
||||
} // Process Unit: File
|
||||
|
||||
EisParser logParser = new EisParser(lstFileName.ToArray());
|
||||
logParser.Parsing();
|
||||
|
||||
this.Text = $"{strTitle} - Ver. {Application.ProductVersion}";
|
||||
this.tboxLog.Text = logParser.LogString.ToString();
|
||||
this.Collection.AddRange(logParser.StandardCollection);
|
||||
|
||||
return this.Collection;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
return this.Collection;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
132
DDUtilityApp/LOGPARSER/FrmLogParser01.resx
Normal file
132
DDUtilityApp/LOGPARSER/FrmLogParser01.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
800
DDUtilityApp/LOGPARSER/FrmLogParser02.Designer.cs
generated
Normal file
800
DDUtilityApp/LOGPARSER/FrmLogParser02.Designer.cs
generated
Normal file
@@ -0,0 +1,800 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmLogParser02
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmLogParser02));
|
||||
this.pnlRoot = new System.Windows.Forms.Panel();
|
||||
this.spnlRoot = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlControls = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlEquipment = new System.Windows.Forms.Panel();
|
||||
this.pnlFiles = new System.Windows.Forms.Panel();
|
||||
this.lviewFiles = new System.Windows.Forms.ListView();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tboxFilename = new System.Windows.Forms.TextBox();
|
||||
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.btnFileAdd = new System.Windows.Forms.Button();
|
||||
this.btnFileRemove = new System.Windows.Forms.Button();
|
||||
this.btnFileClear = new System.Windows.Forms.Button();
|
||||
this.btnParsing = new System.Windows.Forms.Button();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.btnEqpSelector = new System.Windows.Forms.Button();
|
||||
this.tboxEqModelID = new System.Windows.Forms.TextBox();
|
||||
this.tboxEqDescription = new System.Windows.Forms.TextBox();
|
||||
this.tboxEquipmentID = new System.Windows.Forms.TextBox();
|
||||
this.pnlButtons = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.chkAutoClear = new System.Windows.Forms.CheckBox();
|
||||
this.chkDownload = new System.Windows.Forms.CheckBox();
|
||||
this.chkFilterLinktest = new System.Windows.Forms.CheckBox();
|
||||
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.btnClearFilter = new System.Windows.Forms.Button();
|
||||
this.btnColumnResize = new System.Windows.Forms.Button();
|
||||
this.btnOpenOriginal = new System.Windows.Forms.Button();
|
||||
this.btnSecsDefine = new System.Windows.Forms.Button();
|
||||
this.btnOpenWorkFlow = new System.Windows.Forms.Button();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.tabControl2 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage4 = new System.Windows.Forms.TabPage();
|
||||
this.spnl00 = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlDisplayL = new System.Windows.Forms.Panel();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.tboxLog = new System.Windows.Forms.TextBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.tboxException = new System.Windows.Forms.TextBox();
|
||||
this.pnlDisplayR = new System.Windows.Forms.Panel();
|
||||
this.grid = new JWH.CONTROL.GridViewEx();
|
||||
this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tboxLineNumber = new System.Windows.Forms.TextBox();
|
||||
this.btnGoLineNumber = new System.Windows.Forms.Button();
|
||||
this.pnlRoot.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnlRoot)).BeginInit();
|
||||
this.spnlRoot.Panel1.SuspendLayout();
|
||||
this.spnlRoot.Panel2.SuspendLayout();
|
||||
this.spnlRoot.SuspendLayout();
|
||||
this.pnlControls.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.pnlEquipment.SuspendLayout();
|
||||
this.pnlFiles.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
this.flowLayoutPanel2.SuspendLayout();
|
||||
this.panel3.SuspendLayout();
|
||||
this.pnlButtons.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.flowLayoutPanel3.SuspendLayout();
|
||||
this.panel4.SuspendLayout();
|
||||
this.tabControl2.SuspendLayout();
|
||||
this.tabPage4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnl00)).BeginInit();
|
||||
this.spnl00.Panel1.SuspendLayout();
|
||||
this.spnl00.Panel2.SuspendLayout();
|
||||
this.spnl00.SuspendLayout();
|
||||
this.pnlDisplayL.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.pnlDisplayR.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).BeginInit();
|
||||
this.flowLayoutPanel4.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pnlRoot
|
||||
//
|
||||
this.pnlRoot.Controls.Add(this.spnlRoot);
|
||||
this.pnlRoot.Controls.Add(this.flowLayoutPanel4);
|
||||
this.pnlRoot.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlRoot.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlRoot.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlRoot.Name = "pnlRoot";
|
||||
this.pnlRoot.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlRoot.Size = new System.Drawing.Size(1145, 602);
|
||||
this.pnlRoot.TabIndex = 0;
|
||||
//
|
||||
// spnlRoot
|
||||
//
|
||||
this.spnlRoot.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.spnlRoot.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.spnlRoot.Location = new System.Drawing.Point(3, 2);
|
||||
this.spnlRoot.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.spnlRoot.Name = "spnlRoot";
|
||||
this.spnlRoot.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// spnlRoot.Panel1
|
||||
//
|
||||
this.spnlRoot.Panel1.Controls.Add(this.pnlControls);
|
||||
this.spnlRoot.Panel1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
// spnlRoot.Panel2
|
||||
//
|
||||
this.spnlRoot.Panel2.Controls.Add(this.panel4);
|
||||
this.spnlRoot.Size = new System.Drawing.Size(1139, 571);
|
||||
this.spnlRoot.SplitterDistance = 161;
|
||||
this.spnlRoot.SplitterWidth = 3;
|
||||
this.spnlRoot.TabIndex = 1;
|
||||
//
|
||||
// pnlControls
|
||||
//
|
||||
this.pnlControls.Controls.Add(this.splitContainer1);
|
||||
this.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlControls.Location = new System.Drawing.Point(3, 2);
|
||||
this.pnlControls.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlControls.Name = "pnlControls";
|
||||
this.pnlControls.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlControls.Size = new System.Drawing.Size(1133, 157);
|
||||
this.pnlControls.TabIndex = 7;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(3, 2);
|
||||
this.splitContainer1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.pnlButtons);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1127, 153);
|
||||
this.splitContainer1.SplitterDistance = 719;
|
||||
this.splitContainer1.TabIndex = 8;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pnlEquipment);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.panel3);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(719, 153);
|
||||
this.splitContainer2.SplitterDistance = 380;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pnlEquipment
|
||||
//
|
||||
this.pnlEquipment.Controls.Add(this.pnlFiles);
|
||||
this.pnlEquipment.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlEquipment.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlEquipment.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlEquipment.Name = "pnlEquipment";
|
||||
this.pnlEquipment.Size = new System.Drawing.Size(380, 153);
|
||||
this.pnlEquipment.TabIndex = 1;
|
||||
//
|
||||
// pnlFiles
|
||||
//
|
||||
this.pnlFiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlFiles.Controls.Add(this.lviewFiles);
|
||||
this.pnlFiles.Controls.Add(this.panel1);
|
||||
this.pnlFiles.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlFiles.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlFiles.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlFiles.Name = "pnlFiles";
|
||||
this.pnlFiles.Padding = new System.Windows.Forms.Padding(3, 2, 5, 2);
|
||||
this.pnlFiles.Size = new System.Drawing.Size(380, 153);
|
||||
this.pnlFiles.TabIndex = 2;
|
||||
//
|
||||
// lviewFiles
|
||||
//
|
||||
this.lviewFiles.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lviewFiles.HideSelection = false;
|
||||
this.lviewFiles.Location = new System.Drawing.Point(3, 2);
|
||||
this.lviewFiles.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.lviewFiles.Name = "lviewFiles";
|
||||
this.lviewFiles.Size = new System.Drawing.Size(370, 88);
|
||||
this.lviewFiles.TabIndex = 0;
|
||||
this.lviewFiles.UseCompatibleStateImageBehavior = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.tboxFilename);
|
||||
this.panel1.Controls.Add(this.flowLayoutPanel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel1.Location = new System.Drawing.Point(3, 90);
|
||||
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(0, 2, 0, 0);
|
||||
this.panel1.Size = new System.Drawing.Size(370, 59);
|
||||
this.panel1.TabIndex = 3;
|
||||
//
|
||||
// tboxFilename
|
||||
//
|
||||
this.tboxFilename.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxFilename.Location = new System.Drawing.Point(0, 2);
|
||||
this.tboxFilename.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxFilename.Multiline = true;
|
||||
this.tboxFilename.Name = "tboxFilename";
|
||||
this.tboxFilename.Size = new System.Drawing.Size(370, 33);
|
||||
this.tboxFilename.TabIndex = 0;
|
||||
//
|
||||
// flowLayoutPanel2
|
||||
//
|
||||
this.flowLayoutPanel2.AutoSize = true;
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnFileAdd);
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnFileRemove);
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnFileClear);
|
||||
this.flowLayoutPanel2.Controls.Add(this.btnParsing);
|
||||
this.flowLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.flowLayoutPanel2.Location = new System.Drawing.Point(0, 35);
|
||||
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||
this.flowLayoutPanel2.Padding = new System.Windows.Forms.Padding(0, 2, 0, 0);
|
||||
this.flowLayoutPanel2.Size = new System.Drawing.Size(370, 24);
|
||||
this.flowLayoutPanel2.TabIndex = 18;
|
||||
this.flowLayoutPanel2.WrapContents = false;
|
||||
//
|
||||
// btnFileAdd
|
||||
//
|
||||
this.btnFileAdd.Location = new System.Drawing.Point(3, 2);
|
||||
this.btnFileAdd.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnFileAdd.Name = "btnFileAdd";
|
||||
this.btnFileAdd.Size = new System.Drawing.Size(70, 20);
|
||||
this.btnFileAdd.TabIndex = 1;
|
||||
this.btnFileAdd.Text = "Add";
|
||||
this.btnFileAdd.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnFileRemove
|
||||
//
|
||||
this.btnFileRemove.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnFileRemove.Location = new System.Drawing.Point(79, 2);
|
||||
this.btnFileRemove.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnFileRemove.Name = "btnFileRemove";
|
||||
this.btnFileRemove.Size = new System.Drawing.Size(70, 20);
|
||||
this.btnFileRemove.TabIndex = 2;
|
||||
this.btnFileRemove.Text = "Remove";
|
||||
this.btnFileRemove.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnFileClear
|
||||
//
|
||||
this.btnFileClear.Location = new System.Drawing.Point(155, 2);
|
||||
this.btnFileClear.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnFileClear.Name = "btnFileClear";
|
||||
this.btnFileClear.Size = new System.Drawing.Size(70, 20);
|
||||
this.btnFileClear.TabIndex = 3;
|
||||
this.btnFileClear.Text = "Clear";
|
||||
this.btnFileClear.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnParsing
|
||||
//
|
||||
this.btnParsing.Location = new System.Drawing.Point(231, 2);
|
||||
this.btnParsing.Margin = new System.Windows.Forms.Padding(3, 0, 3, 2);
|
||||
this.btnParsing.Name = "btnParsing";
|
||||
this.btnParsing.Size = new System.Drawing.Size(88, 20);
|
||||
this.btnParsing.TabIndex = 0;
|
||||
this.btnParsing.Text = "Parsing(F5)";
|
||||
this.btnParsing.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel3.Controls.Add(this.btnEqpSelector);
|
||||
this.panel3.Controls.Add(this.tboxEqModelID);
|
||||
this.panel3.Controls.Add(this.tboxEqDescription);
|
||||
this.panel3.Controls.Add(this.tboxEquipmentID);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(335, 153);
|
||||
this.panel3.TabIndex = 0;
|
||||
//
|
||||
// btnEqpSelector
|
||||
//
|
||||
this.btnEqpSelector.Location = new System.Drawing.Point(4, 75);
|
||||
this.btnEqpSelector.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnEqpSelector.Name = "btnEqpSelector";
|
||||
this.btnEqpSelector.Size = new System.Drawing.Size(170, 20);
|
||||
this.btnEqpSelector.TabIndex = 0;
|
||||
this.btnEqpSelector.Text = "Equipment Select ...";
|
||||
this.btnEqpSelector.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tboxEqModelID
|
||||
//
|
||||
this.tboxEqModelID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tboxEqModelID.Location = new System.Drawing.Point(4, 52);
|
||||
this.tboxEqModelID.Margin = new System.Windows.Forms.Padding(3, 2, 3, 1);
|
||||
this.tboxEqModelID.Name = "tboxEqModelID";
|
||||
this.tboxEqModelID.Size = new System.Drawing.Size(327, 21);
|
||||
this.tboxEqModelID.TabIndex = 3;
|
||||
//
|
||||
// tboxEqDescription
|
||||
//
|
||||
this.tboxEqDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tboxEqDescription.Location = new System.Drawing.Point(4, 29);
|
||||
this.tboxEqDescription.Margin = new System.Windows.Forms.Padding(3, 2, 3, 1);
|
||||
this.tboxEqDescription.Name = "tboxEqDescription";
|
||||
this.tboxEqDescription.Size = new System.Drawing.Size(327, 21);
|
||||
this.tboxEqDescription.TabIndex = 2;
|
||||
//
|
||||
// tboxEquipmentID
|
||||
//
|
||||
this.tboxEquipmentID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tboxEquipmentID.Location = new System.Drawing.Point(4, 5);
|
||||
this.tboxEquipmentID.Margin = new System.Windows.Forms.Padding(3, 2, 3, 1);
|
||||
this.tboxEquipmentID.Name = "tboxEquipmentID";
|
||||
this.tboxEquipmentID.Size = new System.Drawing.Size(327, 21);
|
||||
this.tboxEquipmentID.TabIndex = 0;
|
||||
//
|
||||
// pnlButtons
|
||||
//
|
||||
this.pnlButtons.AutoSize = true;
|
||||
this.pnlButtons.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlButtons.Controls.Add(this.flowLayoutPanel1);
|
||||
this.pnlButtons.Controls.Add(this.flowLayoutPanel3);
|
||||
this.pnlButtons.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlButtons.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlButtons.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlButtons.Name = "pnlButtons";
|
||||
this.pnlButtons.Size = new System.Drawing.Size(404, 153);
|
||||
this.pnlButtons.TabIndex = 5;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.Controls.Add(this.chkAutoClear);
|
||||
this.flowLayoutPanel1.Controls.Add(this.chkDownload);
|
||||
this.flowLayoutPanel1.Controls.Add(this.chkFilterLinktest);
|
||||
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 2);
|
||||
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(279, 20);
|
||||
this.flowLayoutPanel1.TabIndex = 11;
|
||||
//
|
||||
// chkAutoClear
|
||||
//
|
||||
this.chkAutoClear.AutoSize = true;
|
||||
this.chkAutoClear.Checked = true;
|
||||
this.chkAutoClear.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkAutoClear.Location = new System.Drawing.Point(3, 2);
|
||||
this.chkAutoClear.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.chkAutoClear.Name = "chkAutoClear";
|
||||
this.chkAutoClear.Size = new System.Drawing.Size(83, 16);
|
||||
this.chkAutoClear.TabIndex = 4;
|
||||
this.chkAutoClear.Text = "Auto Clear";
|
||||
this.chkAutoClear.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkDownload
|
||||
//
|
||||
this.chkDownload.AutoSize = true;
|
||||
this.chkDownload.Checked = true;
|
||||
this.chkDownload.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkDownload.Location = new System.Drawing.Point(92, 2);
|
||||
this.chkDownload.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.chkDownload.Name = "chkDownload";
|
||||
this.chkDownload.Size = new System.Drawing.Size(80, 16);
|
||||
this.chkDownload.TabIndex = 6;
|
||||
this.chkDownload.Text = "Download";
|
||||
this.chkDownload.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkFilterLinktest
|
||||
//
|
||||
this.chkFilterLinktest.AutoSize = true;
|
||||
this.chkFilterLinktest.Checked = true;
|
||||
this.chkFilterLinktest.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkFilterLinktest.Location = new System.Drawing.Point(178, 2);
|
||||
this.chkFilterLinktest.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.chkFilterLinktest.Name = "chkFilterLinktest";
|
||||
this.chkFilterLinktest.Size = new System.Drawing.Size(98, 16);
|
||||
this.chkFilterLinktest.TabIndex = 13;
|
||||
this.chkFilterLinktest.Text = "Filter Linktest";
|
||||
this.chkFilterLinktest.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flowLayoutPanel3
|
||||
//
|
||||
this.flowLayoutPanel3.AutoSize = true;
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnClearFilter);
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnColumnResize);
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnOpenOriginal);
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnSecsDefine);
|
||||
this.flowLayoutPanel3.Controls.Add(this.btnOpenWorkFlow);
|
||||
this.flowLayoutPanel3.Location = new System.Drawing.Point(3, 26);
|
||||
this.flowLayoutPanel3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
|
||||
this.flowLayoutPanel3.Size = new System.Drawing.Size(360, 48);
|
||||
this.flowLayoutPanel3.TabIndex = 14;
|
||||
//
|
||||
// btnClearFilter
|
||||
//
|
||||
this.btnClearFilter.Location = new System.Drawing.Point(3, 2);
|
||||
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnClearFilter.Name = "btnClearFilter";
|
||||
this.btnClearFilter.Size = new System.Drawing.Size(114, 20);
|
||||
this.btnClearFilter.TabIndex = 13;
|
||||
this.btnClearFilter.Text = "Clear Filter";
|
||||
this.btnClearFilter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnColumnResize
|
||||
//
|
||||
this.btnColumnResize.Location = new System.Drawing.Point(123, 2);
|
||||
this.btnColumnResize.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnColumnResize.Name = "btnColumnResize";
|
||||
this.btnColumnResize.Size = new System.Drawing.Size(151, 20);
|
||||
this.btnColumnResize.TabIndex = 14;
|
||||
this.btnColumnResize.Text = "Column Resize(F6)";
|
||||
this.btnColumnResize.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnOpenOriginal
|
||||
//
|
||||
this.btnOpenOriginal.Location = new System.Drawing.Point(3, 26);
|
||||
this.btnOpenOriginal.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnOpenOriginal.Name = "btnOpenOriginal";
|
||||
this.btnOpenOriginal.Size = new System.Drawing.Size(114, 20);
|
||||
this.btnOpenOriginal.TabIndex = 16;
|
||||
this.btnOpenOriginal.Text = "Original ...";
|
||||
this.btnOpenOriginal.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnSecsDefine
|
||||
//
|
||||
this.btnSecsDefine.Location = new System.Drawing.Point(123, 26);
|
||||
this.btnSecsDefine.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnSecsDefine.Name = "btnSecsDefine";
|
||||
this.btnSecsDefine.Size = new System.Drawing.Size(114, 20);
|
||||
this.btnSecsDefine.TabIndex = 18;
|
||||
this.btnSecsDefine.Text = "SECS Define ...";
|
||||
this.btnSecsDefine.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnOpenWorkFlow
|
||||
//
|
||||
this.btnOpenWorkFlow.Location = new System.Drawing.Point(243, 26);
|
||||
this.btnOpenWorkFlow.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnOpenWorkFlow.Name = "btnOpenWorkFlow";
|
||||
this.btnOpenWorkFlow.Size = new System.Drawing.Size(114, 20);
|
||||
this.btnOpenWorkFlow.TabIndex = 19;
|
||||
this.btnOpenWorkFlow.Text = "WorkFlow ...";
|
||||
this.btnOpenWorkFlow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.panel4.Controls.Add(this.tabControl2);
|
||||
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel4.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel4.Size = new System.Drawing.Size(1139, 407);
|
||||
this.panel4.TabIndex = 2;
|
||||
//
|
||||
// tabControl2
|
||||
//
|
||||
this.tabControl2.Controls.Add(this.tabPage4);
|
||||
this.tabControl2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl2.Location = new System.Drawing.Point(3, 2);
|
||||
this.tabControl2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabControl2.Name = "tabControl2";
|
||||
this.tabControl2.SelectedIndex = 0;
|
||||
this.tabControl2.Size = new System.Drawing.Size(1129, 399);
|
||||
this.tabControl2.TabIndex = 1;
|
||||
//
|
||||
// tabPage4
|
||||
//
|
||||
this.tabPage4.Controls.Add(this.spnl00);
|
||||
this.tabPage4.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage4.Name = "tabPage4";
|
||||
this.tabPage4.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage4.Size = new System.Drawing.Size(1121, 373);
|
||||
this.tabPage4.TabIndex = 0;
|
||||
this.tabPage4.Text = "Log Viewer";
|
||||
this.tabPage4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// spnl00
|
||||
//
|
||||
this.spnl00.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.spnl00.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.spnl00.Location = new System.Drawing.Point(3, 2);
|
||||
this.spnl00.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.spnl00.Name = "spnl00";
|
||||
//
|
||||
// spnl00.Panel1
|
||||
//
|
||||
this.spnl00.Panel1.Controls.Add(this.pnlDisplayL);
|
||||
//
|
||||
// spnl00.Panel2
|
||||
//
|
||||
this.spnl00.Panel2.Controls.Add(this.pnlDisplayR);
|
||||
this.spnl00.Size = new System.Drawing.Size(1115, 369);
|
||||
this.spnl00.SplitterDistance = 438;
|
||||
this.spnl00.TabIndex = 0;
|
||||
//
|
||||
// pnlDisplayL
|
||||
//
|
||||
this.pnlDisplayL.Controls.Add(this.tabControl1);
|
||||
this.pnlDisplayL.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlDisplayL.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlDisplayL.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlDisplayL.Name = "pnlDisplayL";
|
||||
this.pnlDisplayL.Size = new System.Drawing.Size(438, 369);
|
||||
this.pnlDisplayL.TabIndex = 0;
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(438, 369);
|
||||
this.tabControl1.TabIndex = 1;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.tboxLog);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage1.Size = new System.Drawing.Size(430, 343);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Log Files";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tboxLog
|
||||
//
|
||||
this.tboxLog.AllowDrop = true;
|
||||
this.tboxLog.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxLog.Location = new System.Drawing.Point(3, 2);
|
||||
this.tboxLog.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxLog.Multiline = true;
|
||||
this.tboxLog.Name = "tboxLog";
|
||||
this.tboxLog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxLog.Size = new System.Drawing.Size(424, 339);
|
||||
this.tboxLog.TabIndex = 1;
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.Controls.Add(this.tboxException);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tabPage2.Size = new System.Drawing.Size(375, 377);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Execption";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tboxException
|
||||
//
|
||||
this.tboxException.AllowDrop = true;
|
||||
this.tboxException.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxException.Location = new System.Drawing.Point(3, 2);
|
||||
this.tboxException.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxException.Multiline = true;
|
||||
this.tboxException.Name = "tboxException";
|
||||
this.tboxException.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxException.Size = new System.Drawing.Size(369, 373);
|
||||
this.tboxException.TabIndex = 2;
|
||||
//
|
||||
// pnlDisplayR
|
||||
//
|
||||
this.pnlDisplayR.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlDisplayR.Controls.Add(this.grid);
|
||||
this.pnlDisplayR.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlDisplayR.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlDisplayR.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pnlDisplayR.Name = "pnlDisplayR";
|
||||
this.pnlDisplayR.Size = new System.Drawing.Size(673, 369);
|
||||
this.pnlDisplayR.TabIndex = 1;
|
||||
//
|
||||
// grid
|
||||
//
|
||||
this.grid.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grid.Location = new System.Drawing.Point(0, 0);
|
||||
this.grid.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.grid.MasterTemplate.ViewDefinition = tableViewDefinition1;
|
||||
this.grid.Name = "grid";
|
||||
this.grid.Size = new System.Drawing.Size(671, 367);
|
||||
this.grid.TabIndex = 0;
|
||||
//
|
||||
// flowLayoutPanel4
|
||||
//
|
||||
this.flowLayoutPanel4.AutoSize = true;
|
||||
this.flowLayoutPanel4.Controls.Add(this.label1);
|
||||
this.flowLayoutPanel4.Controls.Add(this.tboxLineNumber);
|
||||
this.flowLayoutPanel4.Controls.Add(this.btnGoLineNumber);
|
||||
this.flowLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.flowLayoutPanel4.Location = new System.Drawing.Point(3, 573);
|
||||
this.flowLayoutPanel4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.flowLayoutPanel4.Name = "flowLayoutPanel4";
|
||||
this.flowLayoutPanel4.Padding = new System.Windows.Forms.Padding(1);
|
||||
this.flowLayoutPanel4.Size = new System.Drawing.Size(1139, 27);
|
||||
this.flowLayoutPanel4.TabIndex = 18;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(4, 1);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(90, 22);
|
||||
this.label1.TabIndex = 5;
|
||||
this.label1.Text = "Line Number: ";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// tboxLineNumber
|
||||
//
|
||||
this.tboxLineNumber.Location = new System.Drawing.Point(100, 3);
|
||||
this.tboxLineNumber.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxLineNumber.Name = "tboxLineNumber";
|
||||
this.tboxLineNumber.Size = new System.Drawing.Size(99, 21);
|
||||
this.tboxLineNumber.TabIndex = 6;
|
||||
this.tboxLineNumber.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// btnGoLineNumber
|
||||
//
|
||||
this.btnGoLineNumber.Location = new System.Drawing.Point(205, 3);
|
||||
this.btnGoLineNumber.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnGoLineNumber.Name = "btnGoLineNumber";
|
||||
this.btnGoLineNumber.Size = new System.Drawing.Size(52, 20);
|
||||
this.btnGoLineNumber.TabIndex = 8;
|
||||
this.btnGoLineNumber.Text = "Go";
|
||||
this.btnGoLineNumber.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FrmLogParser02
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1145, 602);
|
||||
this.Controls.Add(this.pnlRoot);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.Name = "FrmLogParser02";
|
||||
this.Text = "Form1";
|
||||
this.pnlRoot.ResumeLayout(false);
|
||||
this.pnlRoot.PerformLayout();
|
||||
this.spnlRoot.Panel1.ResumeLayout(false);
|
||||
this.spnlRoot.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnlRoot)).EndInit();
|
||||
this.spnlRoot.ResumeLayout(false);
|
||||
this.pnlControls.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.pnlEquipment.ResumeLayout(false);
|
||||
this.pnlFiles.ResumeLayout(false);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.flowLayoutPanel2.ResumeLayout(false);
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel3.PerformLayout();
|
||||
this.pnlButtons.ResumeLayout(false);
|
||||
this.pnlButtons.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.flowLayoutPanel3.ResumeLayout(false);
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.tabControl2.ResumeLayout(false);
|
||||
this.tabPage4.ResumeLayout(false);
|
||||
this.spnl00.Panel1.ResumeLayout(false);
|
||||
this.spnl00.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.spnl00)).EndInit();
|
||||
this.spnl00.ResumeLayout(false);
|
||||
this.pnlDisplayL.ResumeLayout(false);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage1.PerformLayout();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.tabPage2.PerformLayout();
|
||||
this.pnlDisplayR.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).EndInit();
|
||||
this.flowLayoutPanel4.ResumeLayout(false);
|
||||
this.flowLayoutPanel4.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel pnlRoot;
|
||||
private System.Windows.Forms.SplitContainer spnlRoot;
|
||||
private System.Windows.Forms.Panel pnlDisplayL;
|
||||
private System.Windows.Forms.SplitContainer spnl00;
|
||||
private System.Windows.Forms.Panel pnlDisplayR;
|
||||
private System.Windows.Forms.Panel pnlControls;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TextBox tboxLog;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.TextBox tboxException;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Panel pnlEquipment;
|
||||
private System.Windows.Forms.FlowLayoutPanel pnlButtons;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.CheckBox chkAutoClear;
|
||||
private System.Windows.Forms.CheckBox chkDownload;
|
||||
private System.Windows.Forms.CheckBox chkFilterLinktest;
|
||||
private System.Windows.Forms.TabControl tabControl2;
|
||||
private System.Windows.Forms.TabPage tabPage4;
|
||||
private System.Windows.Forms.Button btnEqpSelector;
|
||||
private System.Windows.Forms.TextBox tboxEquipmentID;
|
||||
private System.Windows.Forms.TextBox tboxEqDescription;
|
||||
private System.Windows.Forms.TextBox tboxEqModelID;
|
||||
private System.Windows.Forms.Panel pnlFiles;
|
||||
private System.Windows.Forms.ListView lviewFiles;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private JWH.CONTROL.GridViewEx grid;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox tboxLineNumber;
|
||||
private System.Windows.Forms.Button btnGoLineNumber;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3;
|
||||
private System.Windows.Forms.Button btnClearFilter;
|
||||
private System.Windows.Forms.Button btnColumnResize;
|
||||
private System.Windows.Forms.Button btnOpenOriginal;
|
||||
private System.Windows.Forms.Button btnSecsDefine;
|
||||
private System.Windows.Forms.Button btnOpenWorkFlow;
|
||||
private System.Windows.Forms.TextBox tboxFilename;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||
private System.Windows.Forms.Button btnFileAdd;
|
||||
private System.Windows.Forms.Button btnFileRemove;
|
||||
private System.Windows.Forms.Button btnFileClear;
|
||||
private System.Windows.Forms.Button btnParsing;
|
||||
}
|
||||
}
|
||||
|
||||
726
DDUtilityApp/LOGPARSER/FrmLogParser02.cs
Normal file
726
DDUtilityApp/LOGPARSER/FrmLogParser02.cs
Normal file
@@ -0,0 +1,726 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using DDUtilityApp.LOGPARSER.DATA;
|
||||
using DDUtilityApp.LOGPARSER.PARSER;
|
||||
using DDUtilityApp.SECS;
|
||||
using JWH;
|
||||
using JWH.CONTROL;
|
||||
using Telerik.WinControls.UI;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmLogParser02 : Form
|
||||
{
|
||||
|
||||
#region [ Properties ] ------------------------------------------------
|
||||
|
||||
private bool RadGridControlKey { get; set; } = false;
|
||||
|
||||
private StandardCollection Collection { get; set; } = new StandardCollection();
|
||||
|
||||
private LogParser Parser { get; set; } = new AgvParser();
|
||||
|
||||
private EisEquipment Equipment { get; set; } = null;
|
||||
|
||||
private SECSDefine SECSDefine { get; set; } = null;
|
||||
|
||||
private FrmFindDialog FindDialog { get; set; } = null;
|
||||
|
||||
private string WindowText { get; set; } = $"[EverOne] MIS Log Viewer";
|
||||
|
||||
public static string BasePath { get; set; }
|
||||
|
||||
public static string DownloadPath { get; set; }
|
||||
|
||||
public static string WorkflowPath { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ FrmLogParser02 ] --------------------------------------------
|
||||
|
||||
public FrmLogParser02()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
|
||||
XLogger.Instance.Control = this.tboxException;
|
||||
}
|
||||
|
||||
private void SetLayout()
|
||||
{
|
||||
this.AllowDrop = true;
|
||||
this.Text = $"{this.WindowText} - Ver. {Application.ProductVersion}";
|
||||
BasePath = $"{Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)}\\DDUtility\\";
|
||||
DownloadPath = $"{BasePath}Download";
|
||||
WorkflowPath = $"{BasePath}WorkFlow";
|
||||
|
||||
this.tboxLog.AllowDrop = true;
|
||||
this.tboxLog.WordWrap = false;
|
||||
this.tboxLog.Multiline = true;
|
||||
this.tboxLog.HideSelection = false;
|
||||
this.tboxLog.ScrollBars = ScrollBars.Both;
|
||||
this.tboxLog.Font = new Font("돋움체", 9);
|
||||
|
||||
this.tboxException.WordWrap = false;
|
||||
this.tboxException.Font = new Font("돋움체", 9);
|
||||
|
||||
this.lviewFiles.View = View.Details;
|
||||
ColumnHeader header = this.lviewFiles.Columns.Add("File Name");
|
||||
this.lviewFiles.CheckBoxes = true;
|
||||
this.lviewFiles.MultiSelect = false;
|
||||
this.lviewFiles.Sorting = System.Windows.Forms.SortOrder.Ascending;
|
||||
this.lviewFiles.ListViewItemSorter = new ListViewItemComparer(0, this.lviewFiles.Sorting);
|
||||
|
||||
this.RadGrid_Setting();
|
||||
|
||||
this.btnEqpSelector.Enabled = false;
|
||||
this.btnSecsDefine.Enabled = false;
|
||||
this.btnOpenWorkFlow.Enabled = false;
|
||||
|
||||
this.ActiveControl = this.btnParsing;
|
||||
}
|
||||
|
||||
private void SetEventHandler()
|
||||
{
|
||||
// DragDrop
|
||||
this.DragDrop += Control_DragDrop;
|
||||
this.DragEnter += Control_DragEnter;
|
||||
|
||||
this.tboxLog.DragDrop += Control_DragDrop;
|
||||
this.tboxLog.DragEnter += Control_DragEnter;
|
||||
this.tboxLog.KeyDown += TboxLog_KeyDown;
|
||||
|
||||
// File List
|
||||
this.lviewFiles.Click += LviewFiles_Click;
|
||||
this.lviewFiles.ColumnClick += LviewFiles_ColumnClick;
|
||||
this.lviewFiles.Resize += LviewFiles_Resize;
|
||||
this.tboxFilename.KeyDown += TboxFilename_KeyDown;
|
||||
this.btnFileAdd.Click += BtnFileAdd_Click;
|
||||
this.btnFileRemove.Click += BtnFileRemove_Click;
|
||||
this.btnFileClear.Click += BtnFileClear_Click;
|
||||
this.btnParsing.Click += BtnParsing_Click;
|
||||
this.btnEqpSelector.Click += BtnEqpSelector_Click;
|
||||
|
||||
// Option
|
||||
this.btnClearFilter.Click += BtnClearFilter_Click;
|
||||
this.btnColumnResize.Click += BtnColumnResize_Click;
|
||||
this.btnOpenOriginal.Click += BtnOpenOriginal_Click;
|
||||
this.btnSecsDefine.Click += BtnSecsDefine_Click;
|
||||
this.btnOpenWorkFlow.Click += BtnOpenWorkFlow_Click;
|
||||
|
||||
// StatusBar
|
||||
this.btnGoLineNumber.Click += BtnGoLineNumber_Click;
|
||||
this.tboxLineNumber.KeyDown += TboxLineNumber_KeyDown;
|
||||
|
||||
// Grid
|
||||
this.grid.DataBindingComplete += RadGrid_DataBindingComplete;
|
||||
this.grid.SelectionChanged += RadGrid_SelectionChanged;
|
||||
this.grid.ViewCellFormatting += RadGrid_ViewCellFormatting;
|
||||
this.grid.CellDoubleClick += RadGrid_CellDoubleClick;
|
||||
this.grid.KeyDown += RadGrid_KeyDown;
|
||||
this.grid.KeyUp += RadGrid_KeyUp;
|
||||
this.grid.CellClick += RadGrid_CellClick;
|
||||
}
|
||||
|
||||
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||
{
|
||||
switch (keyData)
|
||||
{
|
||||
case Keys.F3:
|
||||
if (this.FindDialog != null) this.FindDialog.Next();
|
||||
break;
|
||||
case Keys.F5:
|
||||
this.BtnParsing_Click(this.btnParsing, new EventArgs());
|
||||
break;
|
||||
case Keys.F6:
|
||||
this.BtnColumnResize_Click(this.btnColumnResize, new EventArgs());
|
||||
break;
|
||||
}
|
||||
|
||||
return base.ProcessCmdKey(ref msg, keyData);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region [ Control Event ] ---------------------------------------------
|
||||
|
||||
private void Control_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
XLogger.Instance.Info(e);
|
||||
if (this.chkAutoClear.Checked) this.lviewFiles.Items.Clear();
|
||||
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
foreach (string filePath in files)
|
||||
{
|
||||
ListViewItem lviewItem = this.lviewFiles.Items.Add(Path.GetFileName(filePath));
|
||||
lviewItem.Checked = true;
|
||||
lviewItem.Tag = filePath;
|
||||
}
|
||||
|
||||
this.BtnParsing_Click(this.btnParsing, new EventArgs());
|
||||
}
|
||||
|
||||
private void Control_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
|
||||
}
|
||||
|
||||
|
||||
private void TboxLog_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if ((e.KeyData & Keys.Control) == Keys.Control && (e.KeyData & Keys.F) == Keys.F)
|
||||
{
|
||||
if (this.FindDialog == null)
|
||||
{
|
||||
this.FindDialog = new FrmFindDialog(this.tboxLog);
|
||||
this.FindDialog.StartPosition = FormStartPosition.Manual;
|
||||
this.FindDialog.Location = this.grid.PointToScreen(new Point(10, 10));
|
||||
this.FindDialog.FormClosed += (object sender1, FormClosedEventArgs e1) => { this.FindDialog = null; };
|
||||
this.FindDialog.FInd += (object sender1, EventArgs e1) => { };
|
||||
this.FindDialog.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.FindDialog.Activate();
|
||||
}
|
||||
|
||||
this.FindDialog.SelectedText = this.tboxLog.SelectedText;
|
||||
}
|
||||
}
|
||||
|
||||
private void LviewFiles_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.lviewFiles.Items.Count < 1) return;
|
||||
if (this.lviewFiles.SelectedItems.Count < 1) return;
|
||||
|
||||
int index = -1;
|
||||
index = this.lviewFiles.SelectedItems[0].Index;
|
||||
|
||||
this.tboxFilename.Text = this.lviewFiles.Items[index].Tag as string;
|
||||
if (string.IsNullOrEmpty(this.tboxFilename.Text) == false && this.tboxFilename.Text.Length > 6)
|
||||
{
|
||||
this.tboxFilename.SelectionStart = this.tboxFilename.Text.Length - 6;
|
||||
this.tboxFilename.SelectionLength = 2;
|
||||
this.tboxFilename.Focus();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void LviewFiles_ColumnClick(object sender, ColumnClickEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.Windows.Forms.SortOrder sorting = System.Windows.Forms.SortOrder.None;
|
||||
switch (this.lviewFiles.Sorting)
|
||||
{
|
||||
case System.Windows.Forms.SortOrder.None:
|
||||
sorting = System.Windows.Forms.SortOrder.Ascending;
|
||||
break;
|
||||
case System.Windows.Forms.SortOrder.Ascending:
|
||||
sorting = System.Windows.Forms.SortOrder.Descending;
|
||||
break;
|
||||
case System.Windows.Forms.SortOrder.Descending:
|
||||
sorting = System.Windows.Forms.SortOrder.None;
|
||||
break;
|
||||
}
|
||||
|
||||
this.lviewFiles.Sorting = sorting;
|
||||
this.lviewFiles.ListViewItemSorter = new ListViewItemComparer(e.Column, this.lviewFiles.Sorting);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void LviewFiles_Resize(object sender, EventArgs e)
|
||||
{
|
||||
int width = this.lviewFiles.Width - 32;
|
||||
int headerWidth = width / this.lviewFiles.Columns.Count;
|
||||
foreach (ColumnHeader header in this.lviewFiles.Columns)
|
||||
header.Width = headerWidth;
|
||||
}
|
||||
|
||||
private void TboxFilename_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyData == Keys.Enter)
|
||||
this.BtnFileAdd_Click(this.btnFileAdd, new EventArgs());
|
||||
}
|
||||
|
||||
private void BtnFileAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
ListViewItem lviewItem = this.lviewFiles.Items.Add(Path.GetFileName(this.tboxFilename.Text));
|
||||
lviewItem.Checked = true;
|
||||
lviewItem.Tag = this.tboxFilename.Text;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnFileRemove_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.lviewFiles.SelectedItems.Count <= 0) return;
|
||||
|
||||
this.lviewFiles.SelectedItems[0].Remove();
|
||||
this.tboxFilename.Text = string.Empty;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnFileClear_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = $"{this.WindowText} - Ver. {Application.ProductVersion}";
|
||||
|
||||
this.lviewFiles.Items.Clear();
|
||||
this.tboxLog.Clear();
|
||||
this.tboxException.Clear();
|
||||
|
||||
this.grid.DataSource = null;
|
||||
}
|
||||
|
||||
private void BtnParsing_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
|
||||
this.Parsing();
|
||||
|
||||
if (this.chkFilterLinktest.Checked)
|
||||
this.grid.AutoBinding(this.Collection.Where(item => item.Column1 != "LINKTEST").ToArray());
|
||||
else
|
||||
this.grid.AutoBinding(this.Collection.ToArray());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnEqpSelector_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void BtnClearFilter_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.grid.MasterTemplate.FilterDescriptors.Clear();
|
||||
}
|
||||
|
||||
private void BtnColumnResize_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.grid.BestFitColumns(BestFitColumnMode.DisplayedCells);
|
||||
}
|
||||
|
||||
private void BtnOpenOriginal_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<string> lstFileName = new List<string>();
|
||||
|
||||
// Process Unit: File
|
||||
foreach (ListViewItem lviewItem in this.lviewFiles.Items)
|
||||
{
|
||||
if (lviewItem.Checked == false) continue;
|
||||
XLogger.Instance.Info(lviewItem.Text);
|
||||
|
||||
string sourceFileName = lviewItem.Tag as string;
|
||||
string destPath = DownloadPath;
|
||||
if (System.IO.Directory.Exists(destPath) == false) System.IO.Directory.CreateDirectory(destPath);
|
||||
|
||||
string destFileName = $@"{destPath}\{System.IO.Path.GetFileName(sourceFileName)}";
|
||||
if (this.chkDownload.Checked == false) System.IO.File.Copy(sourceFileName, destFileName, true);
|
||||
sourceFileName = destFileName;
|
||||
|
||||
lstFileName.Add(sourceFileName);
|
||||
} // Process Unit: File
|
||||
|
||||
foreach (string filename in lstFileName)
|
||||
Process.Start(filename);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnSecsDefine_Click(object sender, EventArgs e)
|
||||
{
|
||||
FrmSecsDefine frm = new FrmSecsDefine(this.Parser.SECSDefine);
|
||||
frm.StartPosition = FormStartPosition.Manual;
|
||||
int x = this.Location.X + this.Width - frm.Width - 32;
|
||||
int y = this.Location.Y + 32;
|
||||
frm.Location = new Point(x, y);
|
||||
frm.Text = this.tboxEqModelID.Text;
|
||||
frm.Show(this);
|
||||
}
|
||||
|
||||
private void BtnOpenWorkFlow_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
FrmWorkFlow dlg = new FrmWorkFlow();
|
||||
//dlg.Owner = this;
|
||||
dlg.Size = this.Size;
|
||||
dlg.Location = this.Location;
|
||||
dlg.StartPosition = FormStartPosition.Manual;
|
||||
//dlg.StartPosition = FormStartPosition.CenterParent;
|
||||
dlg.Text = this.tboxEqModelID.Text;
|
||||
dlg.Show();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void TboxLineNumber_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyData == Keys.Enter)
|
||||
this.BtnGoLineNumber_Click(this.btnGoLineNumber, new EventArgs());
|
||||
}
|
||||
|
||||
private void BtnGoLineNumber_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
|
||||
try
|
||||
{
|
||||
int lineNumber = -1;
|
||||
int.TryParse(this.tboxLineNumber.Text, out lineNumber);
|
||||
foreach (GridViewRowInfo row in this.grid.Rows)
|
||||
{
|
||||
try
|
||||
{
|
||||
StandardData standardData = row.DataBoundItem as StandardData;
|
||||
if (standardData == null) continue;
|
||||
if (lineNumber <= standardData.LineNumber)
|
||||
{
|
||||
row.IsSelected = true;
|
||||
row.IsCurrent = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Debug(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Grid ] ------------------------------------------------------
|
||||
|
||||
private void RadGrid_Setting()
|
||||
{
|
||||
this.grid.MultiSelect = true;
|
||||
this.grid.Columns.Clear();
|
||||
//this.grid.AddColumn("LineNumber");
|
||||
this.grid.AddColumn("DateTime");
|
||||
this.grid.AddColumn("Level");
|
||||
this.grid.AddColumn("Server");
|
||||
this.grid.AddColumn("Service");
|
||||
this.grid.AddColumn("Type");
|
||||
this.grid.AddColumn("MessageName");
|
||||
this.grid.AddColumn("Return");
|
||||
this.grid.AddColumn("Value");
|
||||
this.grid.AddColumn("EquipmentID");
|
||||
this.grid.AddColumn("PortID", "VEHICLEID");
|
||||
this.grid.AddColumn("CarrierID");
|
||||
this.grid.AddColumn("LotID");
|
||||
this.grid.AddColumn("HostPanelID", "SourcePort");
|
||||
this.grid.AddColumn("PanelID", "DestPort");
|
||||
this.grid.AddColumn("PanelQty");
|
||||
this.grid.AddColumn("TID");
|
||||
this.grid.AddColumn("SystemByte");
|
||||
this.grid.AddColumn("Column1", "CommandID");
|
||||
this.grid.AddColumn("Column2", "WayPoint");
|
||||
this.grid.AddColumn("Column3");
|
||||
this.grid.AddColumn("Column4");
|
||||
this.grid.AddColumn("Column5");
|
||||
}
|
||||
|
||||
private void RadGrid_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
this.RadGridControlKey = e.Control;
|
||||
}
|
||||
|
||||
private void RadGrid_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
this.RadGridControlKey = e.Control;
|
||||
}
|
||||
|
||||
private void RadGrid_CellClick(object sender, GridViewCellEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) rgrid = this.grid;
|
||||
if (this.RadGridControlKey == false) return;
|
||||
|
||||
foreach (GridViewDataColumn column in rgrid.Columns)
|
||||
{
|
||||
foreach (BaseFormattingObject obj in column.ConditionalFormattingObjectList)
|
||||
{
|
||||
if (new string[] { "Marking" }.Contains(obj.Name))
|
||||
{
|
||||
ExpressionFormattingObject formatting = obj as ExpressionFormattingObject;
|
||||
formatting.Expression += $" AND {e.Column.Name} = '{e.Value}'";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_CellDoubleClick(object sender, GridViewCellEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) rgrid = this.grid;
|
||||
|
||||
// RowHeader.DoubleClick
|
||||
if (e.ColumnIndex == -1)
|
||||
{
|
||||
StandardData standardData = e.Row.DataBoundItem as StandardData;
|
||||
if (standardData != null)
|
||||
{
|
||||
this.tboxLineNumber.Text = standardData.LineNumber.ToString();
|
||||
this.tboxLineNumber.Tag = e.Row;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
List<BaseFormattingObject> lstFormat = new List<BaseFormattingObject>();
|
||||
foreach (GridViewDataColumn column in rgrid.Columns)
|
||||
{
|
||||
lstFormat.Clear();
|
||||
foreach (BaseFormattingObject obj in column.ConditionalFormattingObjectList)
|
||||
{
|
||||
if (new string[] { "Level_Error", "Type_Error", "Server_Error", "Return_1" }.Contains(obj.Name)) continue;
|
||||
lstFormat.Add(obj);
|
||||
}
|
||||
|
||||
foreach (BaseFormattingObject obj in lstFormat)
|
||||
column.ConditionalFormattingObjectList.Remove(obj);
|
||||
}
|
||||
|
||||
var value = e.Value;
|
||||
//DateTime column Convert
|
||||
if (e.Value.GetType() == typeof(DateTime))
|
||||
{
|
||||
var tempData = (DateTime)e.Value;
|
||||
value = tempData.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
}
|
||||
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Marking", $"{e.Column.Name} = '{value}'", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 0, 255, 0);
|
||||
rgrid.Columns[e.Column.Name].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_ViewCellFormatting(object sender, CellFormattingEventArgs e)
|
||||
{
|
||||
if (e.CellElement is GridRowHeaderCellElement && e.Row is GridViewDataRowInfo)
|
||||
{
|
||||
#if ROW_INDEX
|
||||
GridDataView dataView = this.grid.MasterTemplate.DataView as GridDataView;
|
||||
e.CellElement.Text = (dataView.Indexer.Items.IndexOf(e.Row) + 1).ToString();
|
||||
#else
|
||||
StandardData standardData = e.Row.DataBoundItem as StandardData;
|
||||
e.CellElement.Text = (standardData != null ? standardData.LineNumber.ToString() : "");
|
||||
#endif
|
||||
//e.CellElement.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.CellElement.ResetValue(LightVisualElement.TextImageRelationProperty, Telerik.WinControls.ValueResetFlags.Local);
|
||||
}
|
||||
}
|
||||
|
||||
private void RadGrid_DataBindingComplete(object sender, GridViewBindingCompleteEventArgs e)
|
||||
{
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) return;
|
||||
|
||||
if (rgrid.Columns.Contains("LineNumber")) rgrid.Columns["LineNumber"].IsVisible = false;
|
||||
if (rgrid.Columns.Contains("DateTime")) rgrid.Columns["DateTime"].FormatString = "{0:yyyy-MM-dd HH:mm:ss.fff}";
|
||||
if (rgrid.Columns.Contains("Body")) rgrid.Columns["Body"].IsVisible = false;
|
||||
|
||||
if (rgrid.Columns.Contains("Level"))
|
||||
{
|
||||
rgrid.Columns["Level"].TextAlignment = ContentAlignment.MiddleCenter;
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Level_Error", "Level='ERROR'", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 255, 0, 0);
|
||||
rgrid.Columns["Level"].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
|
||||
if (rgrid.Columns.Contains("Type"))
|
||||
{
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Type_Error", "Server<>'TID' and Type='ERROR'", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 255, 0, 0);
|
||||
rgrid.Columns["Type"].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
|
||||
if (rgrid.Columns.Contains("Return"))
|
||||
{
|
||||
rgrid.Columns["Return"].TextAlignment = ContentAlignment.MiddleCenter;
|
||||
ExpressionFormattingObject formatting = new ExpressionFormattingObject($"Return_1", "Return<>0", true);
|
||||
formatting.RowBackColor = Color.FromArgb(128, 255, 0, 0);
|
||||
rgrid.Columns["Return"].ConditionalFormattingObjectList.Add(formatting);
|
||||
}
|
||||
|
||||
rgrid.BestFitColumns(BestFitColumnMode.DisplayedCells);
|
||||
}
|
||||
|
||||
private void RadGrid_SelectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
RadGridView rgrid = sender as RadGridView;
|
||||
if (rgrid == null) return;
|
||||
if (rgrid.SelectedRows.Count < 1) return;
|
||||
|
||||
StandardData data = rgrid.SelectedRows.FirstOrDefault().DataBoundItem as StandardData;
|
||||
if (data == null) return;
|
||||
|
||||
int dataLineNumber = data.LineNumber - 1;
|
||||
int startLineNumber = dataLineNumber - 10;
|
||||
int bottomLineNumber = dataLineNumber + 100;
|
||||
int dataIndex = this.tboxLog.Text.IndexOf($"{data.LineNumber.ToString("000000")}:");
|
||||
int difference = dataIndex - this.tboxLog.GetFirstCharIndexFromLine(dataLineNumber);
|
||||
|
||||
this.tboxLog.SuspendLayout();
|
||||
if (bottomLineNumber >= this.tboxLog.Lines.Length) bottomLineNumber = this.tboxLog.Lines.Length - 1;
|
||||
this.tboxLog.SelectionStart = this.tboxLog.GetFirstCharIndexFromLine(bottomLineNumber) + difference;
|
||||
this.tboxLog.ScrollToCaret();
|
||||
|
||||
if (startLineNumber < 0) startLineNumber = 0;
|
||||
this.tboxLog.SelectionStart = this.tboxLog.GetFirstCharIndexFromLine(startLineNumber) + difference;
|
||||
this.tboxLog.ScrollToCaret();
|
||||
|
||||
this.tboxLog.SelectionStart = this.tboxLog.GetFirstCharIndexFromLine(dataLineNumber) + difference;
|
||||
this.tboxLog.SelectionLength = 6;
|
||||
this.tboxLog.ScrollToCaret();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.tboxLog.ResumeLayout();
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Method ] ----------------------------------------------------
|
||||
|
||||
private StandardCollection Parsing()
|
||||
{
|
||||
try
|
||||
{
|
||||
this.tboxLog.Clear();
|
||||
this.Collection.Clear();
|
||||
|
||||
List<string> lstFileName = new List<string>();
|
||||
string strTitle = string.Empty;
|
||||
|
||||
// Process Unit: File
|
||||
foreach (ListViewItem lviewItem in this.lviewFiles.Items)
|
||||
{
|
||||
if (lviewItem.Checked == false) continue;
|
||||
XLogger.Instance.Info(lviewItem.Text);
|
||||
|
||||
string sourceFileName = lviewItem.Tag as string;
|
||||
if (this.chkDownload.Checked)
|
||||
{
|
||||
string destPath = DownloadPath;
|
||||
if (System.IO.Directory.Exists(destPath) == false) System.IO.Directory.CreateDirectory(destPath);
|
||||
|
||||
if (string.IsNullOrEmpty(strTitle)) strTitle = System.IO.Path.GetFileNameWithoutExtension(sourceFileName);
|
||||
string destFileName = $@"{destPath}\{System.IO.Path.GetFileName(sourceFileName)}";
|
||||
System.IO.File.Copy(sourceFileName, destFileName, true);
|
||||
sourceFileName = destFileName;
|
||||
}
|
||||
|
||||
lstFileName.Add(sourceFileName);
|
||||
} // Process Unit: File
|
||||
|
||||
this.Parser.ModelID = this.tboxEqModelID.Text;
|
||||
this.Parser.SECSDefine = this.SECSDefine;
|
||||
this.Parser.Parsing(lstFileName.ToArray());
|
||||
this.Text = $"{strTitle} - Ver. {Application.ProductVersion}";
|
||||
this.tboxLog.Text = this.Parser.LogString.ToString();
|
||||
this.Collection.AddRange(this.Parser.StandardCollection);
|
||||
|
||||
return this.Collection;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
return this.Collection;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
6293
DDUtilityApp/LOGPARSER/FrmLogParser02.resx
Normal file
6293
DDUtilityApp/LOGPARSER/FrmLogParser02.resx
Normal file
File diff suppressed because it is too large
Load Diff
1012
DDUtilityApp/LOGPARSER/FrmLogParser03.Designer.cs
generated
Normal file
1012
DDUtilityApp/LOGPARSER/FrmLogParser03.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
1112
DDUtilityApp/LOGPARSER/FrmLogParser03.cs
Normal file
1112
DDUtilityApp/LOGPARSER/FrmLogParser03.cs
Normal file
File diff suppressed because it is too large
Load Diff
6296
DDUtilityApp/LOGPARSER/FrmLogParser03.resx
Normal file
6296
DDUtilityApp/LOGPARSER/FrmLogParser03.resx
Normal file
File diff suppressed because it is too large
Load Diff
247
DDUtilityApp/LOGPARSER/FrmLogParser04.Designer.cs
generated
Normal file
247
DDUtilityApp/LOGPARSER/FrmLogParser04.Designer.cs
generated
Normal file
@@ -0,0 +1,247 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmLogParser04
|
||||
{
|
||||
/// <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.radDock1 = new Telerik.WinControls.UI.Docking.RadDock();
|
||||
this.documentContainer1 = new Telerik.WinControls.UI.Docking.DocumentContainer();
|
||||
this.toolWindow1 = new Telerik.WinControls.UI.Docking.ToolWindow();
|
||||
this.toolTabStrip1 = new Telerik.WinControls.UI.Docking.ToolTabStrip();
|
||||
this.toolTop = new Telerik.WinControls.UI.Docking.ToolWindow();
|
||||
this.toolWindow3 = new Telerik.WinControls.UI.Docking.ToolWindow();
|
||||
this.documentWindow1 = new Telerik.WinControls.UI.Docking.DocumentWindow();
|
||||
this.documentTabStrip1 = new Telerik.WinControls.UI.Docking.DocumentTabStrip();
|
||||
this.toolTabStrip4 = new Telerik.WinControls.UI.Docking.ToolTabStrip();
|
||||
this.toolTabStrip3 = new Telerik.WinControls.UI.Docking.ToolTabStrip();
|
||||
this.radSplitContainer3 = new Telerik.WinControls.UI.RadSplitContainer();
|
||||
((System.ComponentModel.ISupportInitialize)(this.radDock1)).BeginInit();
|
||||
this.radDock1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.documentContainer1)).BeginInit();
|
||||
this.documentContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.toolTabStrip1)).BeginInit();
|
||||
this.toolTabStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.documentTabStrip1)).BeginInit();
|
||||
this.documentTabStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.toolTabStrip4)).BeginInit();
|
||||
this.toolTabStrip4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.toolTabStrip3)).BeginInit();
|
||||
this.toolTabStrip3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.radSplitContainer3)).BeginInit();
|
||||
this.radSplitContainer3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// radDock1
|
||||
//
|
||||
this.radDock1.ActiveWindow = this.toolTop;
|
||||
this.radDock1.Controls.Add(this.toolTabStrip3);
|
||||
this.radDock1.Controls.Add(this.radSplitContainer3);
|
||||
this.radDock1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.radDock1.Location = new System.Drawing.Point(3, 3);
|
||||
this.radDock1.MainDocumentContainer = this.documentContainer1;
|
||||
this.radDock1.Name = "radDock1";
|
||||
this.radDock1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
//
|
||||
//
|
||||
this.radDock1.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.radDock1.Size = new System.Drawing.Size(1000, 715);
|
||||
this.radDock1.TabIndex = 0;
|
||||
this.radDock1.TabStop = false;
|
||||
//
|
||||
// documentContainer1
|
||||
//
|
||||
this.documentContainer1.Controls.Add(this.documentTabStrip1);
|
||||
this.documentContainer1.Name = "documentContainer1";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.documentContainer1.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.documentContainer1.SizeInfo.AbsoluteSize = new System.Drawing.Size(439, 200);
|
||||
this.documentContainer1.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Fill;
|
||||
this.documentContainer1.SizeInfo.SplitterCorrection = new System.Drawing.Size(-143, 0);
|
||||
//
|
||||
// toolWindow1
|
||||
//
|
||||
this.toolWindow1.Caption = null;
|
||||
this.toolWindow1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.toolWindow1.Location = new System.Drawing.Point(1, 24);
|
||||
this.toolWindow1.Name = "toolWindow1";
|
||||
this.toolWindow1.PreviousDockState = Telerik.WinControls.UI.Docking.DockState.Docked;
|
||||
this.toolWindow1.Size = new System.Drawing.Size(341, 475);
|
||||
this.toolWindow1.Text = "toolWindow1";
|
||||
//
|
||||
// toolTabStrip1
|
||||
//
|
||||
this.toolTabStrip1.CanUpdateChildIndex = true;
|
||||
this.toolTabStrip1.Controls.Add(this.toolWindow1);
|
||||
this.toolTabStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolTabStrip1.Name = "toolTabStrip1";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.toolTabStrip1.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.toolTabStrip1.SelectedIndex = 0;
|
||||
this.toolTabStrip1.Size = new System.Drawing.Size(343, 501);
|
||||
this.toolTabStrip1.SizeInfo.AbsoluteSize = new System.Drawing.Size(343, 200);
|
||||
this.toolTabStrip1.SizeInfo.SplitterCorrection = new System.Drawing.Size(143, 0);
|
||||
this.toolTabStrip1.TabIndex = 1;
|
||||
this.toolTabStrip1.TabStop = false;
|
||||
//
|
||||
// toolTop
|
||||
//
|
||||
this.toolTop.Caption = null;
|
||||
this.toolTop.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.toolTop.Location = new System.Drawing.Point(1, 24);
|
||||
this.toolTop.Name = "toolTop";
|
||||
this.toolTop.PreviousDockState = Telerik.WinControls.UI.Docking.DockState.Docked;
|
||||
this.toolTop.Size = new System.Drawing.Size(988, 174);
|
||||
this.toolTop.Text = "toolWindow2";
|
||||
//
|
||||
// toolWindow3
|
||||
//
|
||||
this.toolWindow3.Caption = null;
|
||||
this.toolWindow3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.toolWindow3.Location = new System.Drawing.Point(1, 24);
|
||||
this.toolWindow3.Name = "toolWindow3";
|
||||
this.toolWindow3.PreviousDockState = Telerik.WinControls.UI.Docking.DockState.Docked;
|
||||
this.toolWindow3.Size = new System.Drawing.Size(198, 475);
|
||||
this.toolWindow3.Text = "toolWindow3";
|
||||
//
|
||||
// documentWindow1
|
||||
//
|
||||
this.documentWindow1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.documentWindow1.Location = new System.Drawing.Point(6, 29);
|
||||
this.documentWindow1.Name = "documentWindow1";
|
||||
this.documentWindow1.PreviousDockState = Telerik.WinControls.UI.Docking.DockState.TabbedDocument;
|
||||
this.documentWindow1.Size = new System.Drawing.Size(427, 466);
|
||||
this.documentWindow1.Text = "documentWindow1";
|
||||
//
|
||||
// documentTabStrip1
|
||||
//
|
||||
this.documentTabStrip1.CanUpdateChildIndex = true;
|
||||
this.documentTabStrip1.Controls.Add(this.documentWindow1);
|
||||
this.documentTabStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.documentTabStrip1.Name = "documentTabStrip1";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.documentTabStrip1.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.documentTabStrip1.SelectedIndex = 0;
|
||||
this.documentTabStrip1.Size = new System.Drawing.Size(439, 501);
|
||||
this.documentTabStrip1.TabIndex = 0;
|
||||
this.documentTabStrip1.TabStop = false;
|
||||
//
|
||||
// toolTabStrip4
|
||||
//
|
||||
this.toolTabStrip4.CanUpdateChildIndex = true;
|
||||
this.toolTabStrip4.Controls.Add(this.toolWindow3);
|
||||
this.toolTabStrip4.Location = new System.Drawing.Point(790, 0);
|
||||
this.toolTabStrip4.Name = "toolTabStrip4";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.toolTabStrip4.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.toolTabStrip4.SelectedIndex = 0;
|
||||
this.toolTabStrip4.Size = new System.Drawing.Size(200, 501);
|
||||
this.toolTabStrip4.TabIndex = 2;
|
||||
this.toolTabStrip4.TabStop = false;
|
||||
//
|
||||
// toolTabStrip3
|
||||
//
|
||||
this.toolTabStrip3.CanUpdateChildIndex = true;
|
||||
this.toolTabStrip3.Controls.Add(this.toolTop);
|
||||
this.toolTabStrip3.Location = new System.Drawing.Point(5, 5);
|
||||
this.toolTabStrip3.Name = "toolTabStrip3";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.toolTabStrip3.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.toolTabStrip3.SelectedIndex = 0;
|
||||
this.toolTabStrip3.Size = new System.Drawing.Size(990, 200);
|
||||
this.toolTabStrip3.TabIndex = 1;
|
||||
this.toolTabStrip3.TabStop = false;
|
||||
//
|
||||
// radSplitContainer3
|
||||
//
|
||||
this.radSplitContainer3.Controls.Add(this.toolTabStrip1);
|
||||
this.radSplitContainer3.Controls.Add(this.documentContainer1);
|
||||
this.radSplitContainer3.Controls.Add(this.toolTabStrip4);
|
||||
this.radSplitContainer3.IsCleanUpTarget = true;
|
||||
this.radSplitContainer3.Location = new System.Drawing.Point(5, 209);
|
||||
this.radSplitContainer3.Name = "radSplitContainer3";
|
||||
this.radSplitContainer3.Padding = new System.Windows.Forms.Padding(5);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.radSplitContainer3.RootElement.MinSize = new System.Drawing.Size(25, 25);
|
||||
this.radSplitContainer3.Size = new System.Drawing.Size(990, 501);
|
||||
this.radSplitContainer3.TabIndex = 0;
|
||||
this.radSplitContainer3.TabStop = false;
|
||||
//
|
||||
// FrmLogParser04
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1006, 721);
|
||||
this.Controls.Add(this.radDock1);
|
||||
this.Name = "FrmLogParser04";
|
||||
this.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.Text = "FrmLogParser04";
|
||||
((System.ComponentModel.ISupportInitialize)(this.radDock1)).EndInit();
|
||||
this.radDock1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.documentContainer1)).EndInit();
|
||||
this.documentContainer1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.toolTabStrip1)).EndInit();
|
||||
this.toolTabStrip1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.documentTabStrip1)).EndInit();
|
||||
this.documentTabStrip1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.toolTabStrip4)).EndInit();
|
||||
this.toolTabStrip4.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.toolTabStrip3)).EndInit();
|
||||
this.toolTabStrip3.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.radSplitContainer3)).EndInit();
|
||||
this.radSplitContainer3.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private Telerik.WinControls.UI.Docking.RadDock radDock1;
|
||||
private Telerik.WinControls.UI.Docking.DocumentContainer documentContainer1;
|
||||
private Telerik.WinControls.UI.Docking.ToolWindow toolTop;
|
||||
private Telerik.WinControls.UI.Docking.ToolTabStrip toolTabStrip3;
|
||||
private Telerik.WinControls.UI.RadSplitContainer radSplitContainer3;
|
||||
private Telerik.WinControls.UI.Docking.ToolTabStrip toolTabStrip1;
|
||||
private Telerik.WinControls.UI.Docking.ToolWindow toolWindow1;
|
||||
private Telerik.WinControls.UI.Docking.DocumentTabStrip documentTabStrip1;
|
||||
private Telerik.WinControls.UI.Docking.DocumentWindow documentWindow1;
|
||||
private Telerik.WinControls.UI.Docking.ToolTabStrip toolTabStrip4;
|
||||
private Telerik.WinControls.UI.Docking.ToolWindow toolWindow3;
|
||||
}
|
||||
}
|
||||
20
DDUtilityApp/LOGPARSER/FrmLogParser04.cs
Normal file
20
DDUtilityApp/LOGPARSER/FrmLogParser04.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
public partial class FrmLogParser04 : Form
|
||||
{
|
||||
public FrmLogParser04()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmLogParser04.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmLogParser04.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
198
DDUtilityApp/LOGPARSER/FrmMessageReplyTime.Designer.cs
generated
Normal file
198
DDUtilityApp/LOGPARSER/FrmMessageReplyTime.Designer.cs
generated
Normal file
@@ -0,0 +1,198 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmMessageReplyTime
|
||||
{
|
||||
/// <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.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
this.btnGenerate = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.cboxMessageName = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.chart = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||
this.grid = new JWH.CONTROL.GridViewEx();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.chart)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnGenerate
|
||||
//
|
||||
this.btnGenerate.Location = new System.Drawing.Point(12, 12);
|
||||
this.btnGenerate.Name = "btnGenerate";
|
||||
this.btnGenerate.Size = new System.Drawing.Size(113, 23);
|
||||
this.btnGenerate.TabIndex = 0;
|
||||
this.btnGenerate.Text = "DataGenerate";
|
||||
this.btnGenerate.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.splitContainer1);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(800, 450);
|
||||
this.panel1.TabIndex = 1;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 47);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.splitContainer1.Panel1.Controls.Add(this.chart);
|
||||
this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.grid);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(800, 403);
|
||||
this.splitContainer1.SplitterDistance = 190;
|
||||
this.splitContainer1.TabIndex = 2;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Controls.Add(this.button1);
|
||||
this.panel2.Controls.Add(this.cboxMessageName);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.btnGenerate);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(800, 47);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(605, 12);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 4;
|
||||
this.button1.Text = "button1";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cboxMessageName
|
||||
//
|
||||
this.cboxMessageName.FormattingEnabled = true;
|
||||
this.cboxMessageName.Location = new System.Drawing.Point(299, 14);
|
||||
this.cboxMessageName.Name = "cboxMessageName";
|
||||
this.cboxMessageName.Size = new System.Drawing.Size(300, 20);
|
||||
this.cboxMessageName.TabIndex = 3;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(166, 12);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(126, 23);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Message Name :";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// chart
|
||||
//
|
||||
chartArea1.Name = "ChartArea1";
|
||||
this.chart.ChartAreas.Add(chartArea1);
|
||||
this.chart.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
legend1.Name = "Legend1";
|
||||
this.chart.Legends.Add(legend1);
|
||||
this.chart.Location = new System.Drawing.Point(2, 2);
|
||||
this.chart.Name = "chart";
|
||||
series1.ChartArea = "ChartArea1";
|
||||
series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series1.Legend = "Legend1";
|
||||
series1.Name = "Series1";
|
||||
series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
|
||||
this.chart.Series.Add(series1);
|
||||
this.chart.Size = new System.Drawing.Size(796, 186);
|
||||
this.chart.TabIndex = 0;
|
||||
this.chart.Text = "chart1";
|
||||
//
|
||||
// grid
|
||||
//
|
||||
this.grid.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grid.Location = new System.Drawing.Point(0, 0);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.grid.MasterTemplate.ViewDefinition = tableViewDefinition1;
|
||||
this.grid.Name = "grid";
|
||||
this.grid.Size = new System.Drawing.Size(800, 209);
|
||||
this.grid.TabIndex = 0;
|
||||
//
|
||||
// FrmMessageReplyTime
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Name = "FrmMessageReplyTime";
|
||||
this.Text = "FrmMessageReplyTime";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.chart)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btnGenerate;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private JWH.CONTROL.GridViewEx grid;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ComboBox cboxMessageName;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.DataVisualization.Charting.Chart chart;
|
||||
}
|
||||
}
|
||||
275
DDUtilityApp/LOGPARSER/FrmMessageReplyTime.cs
Normal file
275
DDUtilityApp/LOGPARSER/FrmMessageReplyTime.cs
Normal file
@@ -0,0 +1,275 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using DDUtilityApp.LOGPARSER.DATA;
|
||||
using JWH;
|
||||
using JWH.DATA;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmMessageReplyTime : Form
|
||||
{
|
||||
|
||||
|
||||
#region [ Deleage ] ===================================================
|
||||
#endregion
|
||||
|
||||
#region [ Events ] ====================================================
|
||||
#endregion
|
||||
|
||||
#region [ Variables ] =================================================
|
||||
#endregion
|
||||
|
||||
#region [ Properties ] ================================================
|
||||
|
||||
public StandardCollection StandardCollection { get; set; } = null;
|
||||
|
||||
public Dictionary<string, List<StandardDataPair>> MessageCollection { get; set; } = new Dictionary<string, List<StandardDataPair>>();
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Constructor ] ===============================================
|
||||
|
||||
public FrmMessageReplyTime()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
public FrmMessageReplyTime(StandardCollection standardCollection) : this()
|
||||
{
|
||||
this.StandardCollection = standardCollection;
|
||||
}
|
||||
|
||||
private void SetLayout()
|
||||
{
|
||||
Font font = new Font("돋움체", 9);
|
||||
this.cboxMessageName.Font = font;
|
||||
|
||||
this.RadGrid_Setting();
|
||||
this.Chart_Setting();
|
||||
}
|
||||
|
||||
private void SetEventHandler()
|
||||
{
|
||||
this.btnGenerate.Click += this.BtnGenerate_Click;
|
||||
this.cboxMessageName.SelectedIndexChanged += this.CboxMessageName_SelectedIndexChanged;
|
||||
this.button1.Click += this.Button1_Click;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Control Events ] ============================================
|
||||
|
||||
private void BtnGenerate_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Generate();
|
||||
|
||||
List<string> lstMessage = new List<string>();
|
||||
lstMessage.Add("");
|
||||
lstMessage.AddRange(this.MessageCollection.Keys.ToArray());
|
||||
lstMessage.Sort();
|
||||
this.cboxMessageName.DataSource = lstMessage.ToArray();
|
||||
this.cboxMessageName.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private void Generate()
|
||||
{
|
||||
Dictionary<string, List<StandardDataPair>> dicSrc = new Dictionary<string, List<StandardDataPair>>();
|
||||
|
||||
try
|
||||
{
|
||||
this.MessageCollection.Clear();
|
||||
|
||||
string[] arrServer = new string[] { "MES", "FDC", "RMS", "RTD" };
|
||||
foreach (StandardData data in this.StandardCollection)
|
||||
{
|
||||
if (arrServer.Contains(data.Server) == false) continue;
|
||||
if (string.IsNullOrWhiteSpace(data.TID)) continue;
|
||||
|
||||
string key = data.MessageName.Replace("Reply", "");
|
||||
if (dicSrc.ContainsKey(key) == false)
|
||||
{
|
||||
dicSrc.Add(key, new List<StandardDataPair>());
|
||||
StandardDataPair pair = dicSrc[key].Where(x => x.TID == data.TID).FirstOrDefault();
|
||||
if (pair == null) dicSrc[key].Add(new StandardDataPair(data));
|
||||
else pair.Add(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
StandardDataPair pair = dicSrc[key].Where(x => x.TID == data.TID).FirstOrDefault();
|
||||
if (pair == null) dicSrc[key].Add(new StandardDataPair(data));
|
||||
else pair.Add(data);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (KeyValuePair<string, List<StandardDataPair>> srcPair in dicSrc)
|
||||
{
|
||||
string key = srcPair.Key;
|
||||
foreach (StandardDataPair pair in srcPair.Value)
|
||||
{
|
||||
if (pair.Request == null || pair.Response == null) continue;
|
||||
|
||||
if (this.MessageCollection.ContainsKey(key) == false) MessageCollection.Add(key, new List<StandardDataPair>());
|
||||
this.MessageCollection[key].Add(pair);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void CboxMessageName_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.chart.Series.Clear();
|
||||
|
||||
List<StandardDataPair> lst = new List<StandardDataPair>();
|
||||
if (string.IsNullOrEmpty(this.cboxMessageName.Text))
|
||||
{
|
||||
foreach (KeyValuePair<string, List<StandardDataPair>> pair in this.MessageCollection)
|
||||
{
|
||||
lst.AddRange(pair.Value.ToArray());
|
||||
this.Chart_AddSeries(pair.Key).Points.DataBind(pair.Value.ToArray(), "RequestTime", "Interval", "Label=Interval");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string key = this.cboxMessageName.Text;
|
||||
if (this.MessageCollection.ContainsKey(key) == false) return;
|
||||
|
||||
lst.AddRange(this.MessageCollection[key].ToArray());
|
||||
//this.Chart_AddSeries(this.cboxMessageName.Text);
|
||||
this.Chart_AddSeries(key).Points.DataBind(this.MessageCollection[key].ToArray(), "RequestTime", "Interval", "Label=Interval");
|
||||
}
|
||||
|
||||
this.grid.AutoBinding(lst.ToArray());
|
||||
//this.chart.DataSource = lst.ToArray();
|
||||
//this.chart.DataBindCrossTable(lst.ToArray(), "MessageName", "RequestTime", "Interval", "Label=MessageName");
|
||||
}
|
||||
|
||||
private void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Chart_Setting();
|
||||
//this.chart.Series.Clear();
|
||||
//CartesianSeries series = this.chart.Series[0] as CartesianSeries;
|
||||
//series.CombineMode = ChartSeriesCombineMode.None;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Public Method ] =============================================
|
||||
#endregion
|
||||
|
||||
#region [ Method ] ====================================================
|
||||
|
||||
private void RadGrid_Setting()
|
||||
{
|
||||
this.grid.MultiSelect = true;
|
||||
this.grid.Columns.Clear();
|
||||
this.grid.TableElement.RowHeight = 20;
|
||||
|
||||
this.grid.AddColumn("MessageName");
|
||||
this.grid.AddColumn("RequestTime");
|
||||
this.grid.AddColumn("ResponseTime");
|
||||
this.grid.AddColumn("Interval", "", true, "{0:#,##0.000}");
|
||||
}
|
||||
|
||||
private void Chart_Setting()
|
||||
{
|
||||
//this.chart.ChartAreas[0].AxisX.ScaleView.Zoom()
|
||||
//ChartArea chartArea = new ChartArea();
|
||||
//this.chart.ChartAreas.Add(chartArea);
|
||||
|
||||
//Legend legend = new Legend();
|
||||
//this.chart.Legends.Add(legend);
|
||||
}
|
||||
|
||||
private Series Chart_AddSeries(string name)
|
||||
{
|
||||
Series series = new Series();
|
||||
series.Name = name;
|
||||
series.LegendText = name;
|
||||
series.ChartType = SeriesChartType.Line;
|
||||
series.XValueType = ChartValueType.Time;
|
||||
series.XValueMember = "RequestTime";
|
||||
series.YValueType = ChartValueType.Double;
|
||||
series.YValueMembers = "Interval";
|
||||
this.chart.Series.Add(series);
|
||||
|
||||
return series;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
public class StandardDataPair : DataTableBase
|
||||
{
|
||||
|
||||
public StandardData Request { get; set; } = null;
|
||||
|
||||
public StandardData Response { get; set;} = null;
|
||||
|
||||
public string MessageName { get; set; } = string.Empty;
|
||||
|
||||
public string TID { get; set; } = string.Empty;
|
||||
|
||||
public DateTime RequestTime { get { return (this.Request == null ? DateTime.MinValue : this.Request.DateTime); } }
|
||||
|
||||
public DateTime ResponseTime { get { return (this.Response == null ? DateTime.MinValue : this.Response.DateTime); } }
|
||||
|
||||
public double Interval { get { return this.GetInterval(); } }
|
||||
|
||||
public StandardDataPair() { }
|
||||
|
||||
public StandardDataPair(params StandardData[] datas)
|
||||
{
|
||||
foreach(StandardData data in datas)
|
||||
this.Add(data);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return this.GetInterval().ToString();
|
||||
}
|
||||
|
||||
public void Add(StandardData data)
|
||||
{
|
||||
if (data == null) return;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(this.TID)) this.TID = data.TID;
|
||||
else if (this.TID != data.TID) return;
|
||||
|
||||
if (data.MessageName.ToUpper().EndsWith("Reply".ToUpper())) this.Response = data;
|
||||
else { this.Request = data; this.MessageName = data.MessageName; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 응답시간(초)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public double GetInterval()
|
||||
{
|
||||
double interval = 0;
|
||||
if (this.Request == null || this.Response == null) return interval;
|
||||
|
||||
TimeSpan timeSpan = this.Response.DateTime.Subtract(this.Request.DateTime);
|
||||
interval = timeSpan.TotalSeconds;
|
||||
|
||||
return interval;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmMessageReplyTime.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmMessageReplyTime.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
309
DDUtilityApp/LOGPARSER/FrmMessageReplyTime1.Designer.cs
generated
Normal file
309
DDUtilityApp/LOGPARSER/FrmMessageReplyTime1.Designer.cs
generated
Normal file
@@ -0,0 +1,309 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmMessageReplyTime1
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
Telerik.WinControls.UI.CartesianArea cartesianArea1 = new Telerik.WinControls.UI.CartesianArea();
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition2 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
this.btnGenerate = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.chart = new Telerik.WinControls.UI.RadChartView();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.grid = new JWH.CONTROL.GridViewEx();
|
||||
this.gridAnalysis = new JWH.CONTROL.GridViewEx();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.numTrimmedBegin = new System.Windows.Forms.NumericUpDown();
|
||||
this.numTrimmedEnd = new System.Windows.Forms.NumericUpDown();
|
||||
this.chkShowLabel = new System.Windows.Forms.CheckBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.cboxMessageName = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.chkTrimmed = new System.Windows.Forms.CheckBox();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.chart)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridAnalysis)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridAnalysis.MasterTemplate)).BeginInit();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numTrimmedBegin)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numTrimmedEnd)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnGenerate
|
||||
//
|
||||
this.btnGenerate.Location = new System.Drawing.Point(12, 12);
|
||||
this.btnGenerate.Name = "btnGenerate";
|
||||
this.btnGenerate.Size = new System.Drawing.Size(113, 23);
|
||||
this.btnGenerate.TabIndex = 0;
|
||||
this.btnGenerate.Text = "Generate";
|
||||
this.btnGenerate.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.splitContainer1);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(800, 450);
|
||||
this.panel1.TabIndex = 1;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 76);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.splitContainer1.Panel1.Controls.Add(this.chart);
|
||||
this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(800, 374);
|
||||
this.splitContainer1.SplitterDistance = 190;
|
||||
this.splitContainer1.TabIndex = 2;
|
||||
//
|
||||
// chart
|
||||
//
|
||||
cartesianArea1.ShowGrid = true;
|
||||
this.chart.AreaDesign = cartesianArea1;
|
||||
this.chart.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.chart.Location = new System.Drawing.Point(2, 2);
|
||||
this.chart.Name = "chart";
|
||||
this.chart.SelectionMode = Telerik.WinControls.UI.ChartSelectionMode.SingleDataPoint;
|
||||
this.chart.ShowLegend = true;
|
||||
this.chart.ShowPanZoom = true;
|
||||
this.chart.ShowToolTip = true;
|
||||
this.chart.ShowTrackBall = true;
|
||||
this.chart.Size = new System.Drawing.Size(796, 186);
|
||||
this.chart.TabIndex = 0;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.grid);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.gridAnalysis);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(800, 180);
|
||||
this.splitContainer2.SplitterDistance = 411;
|
||||
this.splitContainer2.TabIndex = 1;
|
||||
//
|
||||
// grid
|
||||
//
|
||||
this.grid.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grid.Location = new System.Drawing.Point(0, 0);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.grid.MasterTemplate.ViewDefinition = tableViewDefinition1;
|
||||
this.grid.Name = "grid";
|
||||
this.grid.Size = new System.Drawing.Size(411, 180);
|
||||
this.grid.TabIndex = 0;
|
||||
//
|
||||
// gridAnalysis
|
||||
//
|
||||
this.gridAnalysis.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.gridAnalysis.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gridAnalysis.Location = new System.Drawing.Point(0, 0);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridAnalysis.MasterTemplate.ViewDefinition = tableViewDefinition2;
|
||||
this.gridAnalysis.Name = "gridAnalysis";
|
||||
this.gridAnalysis.Size = new System.Drawing.Size(385, 180);
|
||||
this.gridAnalysis.TabIndex = 1;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Controls.Add(this.chkTrimmed);
|
||||
this.panel2.Controls.Add(this.label3);
|
||||
this.panel2.Controls.Add(this.numTrimmedBegin);
|
||||
this.panel2.Controls.Add(this.numTrimmedEnd);
|
||||
this.panel2.Controls.Add(this.chkShowLabel);
|
||||
this.panel2.Controls.Add(this.button1);
|
||||
this.panel2.Controls.Add(this.cboxMessageName);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.btnGenerate);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(800, 76);
|
||||
this.panel2.TabIndex = 0;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(316, 18);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(14, 12);
|
||||
this.label3.TabIndex = 8;
|
||||
this.label3.Text = "~";
|
||||
//
|
||||
// numTrimmedBegin
|
||||
//
|
||||
this.numTrimmedBegin.Location = new System.Drawing.Point(255, 14);
|
||||
this.numTrimmedBegin.Name = "numTrimmedBegin";
|
||||
this.numTrimmedBegin.Size = new System.Drawing.Size(55, 21);
|
||||
this.numTrimmedBegin.TabIndex = 7;
|
||||
this.numTrimmedBegin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// numTrimmedEnd
|
||||
//
|
||||
this.numTrimmedEnd.Location = new System.Drawing.Point(336, 14);
|
||||
this.numTrimmedEnd.Name = "numTrimmedEnd";
|
||||
this.numTrimmedEnd.Size = new System.Drawing.Size(55, 21);
|
||||
this.numTrimmedEnd.TabIndex = 5;
|
||||
this.numTrimmedEnd.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.numTrimmedEnd.Value = new decimal(new int[] {
|
||||
80,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// chkShowLabel
|
||||
//
|
||||
this.chkShowLabel.AutoSize = true;
|
||||
this.chkShowLabel.Location = new System.Drawing.Point(451, 42);
|
||||
this.chkShowLabel.Name = "chkShowLabel";
|
||||
this.chkShowLabel.Size = new System.Drawing.Size(91, 16);
|
||||
this.chkShowLabel.TabIndex = 1;
|
||||
this.chkShowLabel.Text = "Show Label";
|
||||
this.chkShowLabel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(397, 13);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 4;
|
||||
this.button1.Text = "button1";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cboxMessageName
|
||||
//
|
||||
this.cboxMessageName.FormattingEnabled = true;
|
||||
this.cboxMessageName.Location = new System.Drawing.Point(145, 40);
|
||||
this.cboxMessageName.Name = "cboxMessageName";
|
||||
this.cboxMessageName.Size = new System.Drawing.Size(300, 20);
|
||||
this.cboxMessageName.TabIndex = 3;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(12, 39);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(127, 23);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Message Name :";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// chkTrimmed
|
||||
//
|
||||
this.chkTrimmed.AutoSize = true;
|
||||
this.chkTrimmed.Location = new System.Drawing.Point(145, 16);
|
||||
this.chkTrimmed.Name = "chkTrimmed";
|
||||
this.chkTrimmed.Size = new System.Drawing.Size(104, 16);
|
||||
this.chkTrimmed.TabIndex = 9;
|
||||
this.chkTrimmed.Text = "절사평균(%) : ";
|
||||
this.chkTrimmed.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FrmMessageReplyTime1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Name = "FrmMessageReplyTime1";
|
||||
this.Text = "FrmMessageReplyTime";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.chart)).EndInit();
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.grid)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridAnalysis.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridAnalysis)).EndInit();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numTrimmedBegin)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numTrimmedEnd)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btnGenerate;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private JWH.CONTROL.GridViewEx grid;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ComboBox cboxMessageName;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private Telerik.WinControls.UI.RadChartView chart;
|
||||
private System.Windows.Forms.CheckBox chkShowLabel;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private JWH.CONTROL.GridViewEx gridAnalysis;
|
||||
private System.Windows.Forms.NumericUpDown numTrimmedEnd;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.NumericUpDown numTrimmedBegin;
|
||||
private System.Windows.Forms.CheckBox chkTrimmed;
|
||||
}
|
||||
}
|
||||
579
DDUtilityApp/LOGPARSER/FrmMessageReplyTime1.cs
Normal file
579
DDUtilityApp/LOGPARSER/FrmMessageReplyTime1.cs
Normal file
@@ -0,0 +1,579 @@
|
||||
#define XDateTimeAxis
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using DDUtilityApp.LOGPARSER.DATA;
|
||||
using JWH;
|
||||
using JWH.DATA;
|
||||
using Telerik.Charting;
|
||||
using Telerik.WinControls.UI;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmMessageReplyTime1 : Form
|
||||
{
|
||||
|
||||
#region [ Deleage ] ===================================================
|
||||
#endregion
|
||||
|
||||
#region [ Events ] ====================================================
|
||||
#endregion
|
||||
|
||||
#region [ Variables ] =================================================
|
||||
|
||||
private Dictionary<string, StandardDataAnalysis> AnalysisCollection = new Dictionary<string, StandardDataAnalysis>();
|
||||
|
||||
private CartesianAxis HorizontalAxis { get; set; } = null;
|
||||
|
||||
private LinearAxis VerticalAxis { get; set; } = null;
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Properties ] ================================================
|
||||
|
||||
public StandardCollection StandardCollection { get; set; } = null;
|
||||
|
||||
public Dictionary<string, List<StandardDataPair>> MessageCollection { get; set; } = new Dictionary<string, List<StandardDataPair>>();
|
||||
|
||||
public RadGridView GridView { get; set; } = null;
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Constructor ] ===============================================
|
||||
|
||||
public FrmMessageReplyTime1()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
public FrmMessageReplyTime1(StandardCollection standardCollection) : this()
|
||||
{
|
||||
this.StandardCollection = standardCollection;
|
||||
}
|
||||
|
||||
private void SetLayout()
|
||||
{
|
||||
Font font = new Font("돋움체", 9);
|
||||
this.cboxMessageName.Font = font;
|
||||
|
||||
this.Grid_Setting();
|
||||
this.GridAnalysis_Setting();
|
||||
this.Chart_Setting();
|
||||
}
|
||||
|
||||
private void SetEventHandler()
|
||||
{
|
||||
this.btnGenerate.Click += this.BtnGenerate_Click;
|
||||
this.chkTrimmed.CheckedChanged += this.ChkTrimmed_CheckedChanged;
|
||||
this.button1.Click += this.Button1_Click;
|
||||
this.cboxMessageName.SelectedIndexChanged += this.CboxMessageName_SelectedIndexChanged;
|
||||
this.chkShowLabel.CheckedChanged += this.ChkShowLabel_CheckedChanged;
|
||||
|
||||
ChartTrackballController controller = new ChartTrackballController();
|
||||
controller.TextNeeded += this.ChartTrackball_TextNeeded;
|
||||
this.chart.Controllers.Add(controller);
|
||||
|
||||
this.grid.RowFormatting += this.Grid_RowFormatting;
|
||||
this.grid.CellDoubleClick += this.Grid_CellDoubleClick;
|
||||
|
||||
this.gridAnalysis.RowFormatting += this.GridAnalysis_RowFormatting;
|
||||
this.gridAnalysis.CellFormatting += this.GridAnalysis_CellFormatting;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Control Events ] ============================================
|
||||
|
||||
private void BtnGenerate_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Generate();
|
||||
}
|
||||
|
||||
private void ChkTrimmed_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void CboxMessageName_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.chart.Series.Clear();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
#region Grid Display
|
||||
|
||||
List<StandardDataPair> lst = new List<StandardDataPair>();
|
||||
if (string.IsNullOrEmpty(this.cboxMessageName.Text))
|
||||
{
|
||||
foreach (KeyValuePair<string, List<StandardDataPair>> pair in this.MessageCollection)
|
||||
{
|
||||
lst.AddRange(pair.Value.ToArray());
|
||||
this.Chart_AddSeries(pair.Key, pair.Value.ToArray());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string key = this.cboxMessageName.Text;
|
||||
if (this.MessageCollection.ContainsKey(key) == false) return;
|
||||
|
||||
lst.AddRange(this.MessageCollection[key].ToArray());
|
||||
this.Chart_AddSeries(key, this.MessageCollection[key].ToArray());
|
||||
}
|
||||
|
||||
this.grid.AutoBinding(lst.ToArray());
|
||||
|
||||
#endregion
|
||||
|
||||
#region Chart Display
|
||||
|
||||
if (lst.Count < 1) return;
|
||||
if (this.chart.Series.Count < 1) return;
|
||||
|
||||
StandardDataPair min = lst[0];
|
||||
StandardDataPair max = lst[0];
|
||||
foreach (StandardDataPair pair in lst)
|
||||
{
|
||||
if (pair.RequestTime < min.RequestTime) min = pair;
|
||||
if (pair.RequestTime > max.RequestTime) max = pair;
|
||||
}
|
||||
|
||||
foreach (CartesianAxis item in this.chart.Axes)
|
||||
{
|
||||
if (item.GetType() == typeof(DateTimeContinuousAxis))
|
||||
{
|
||||
DateTimeContinuousAxis axis = item as DateTimeContinuousAxis;
|
||||
//datetimeAxis.PlotMode = AxisPlotMode.BetweenTicks;
|
||||
//datetimeAxis.LabelFormat = "{0:d}";
|
||||
axis.MajorStepUnit = TimeInterval.Hour;
|
||||
axis.LabelFormatProvider = new DateTimeFormatProvider();
|
||||
|
||||
}
|
||||
else if (item.GetType() == typeof(CategoricalAxis))
|
||||
{
|
||||
CategoricalAxis axis = item as CategoricalAxis;
|
||||
if (lst.Count < 10) axis.MajorTickInterval = 1;
|
||||
else axis.MajorTickInterval = (int)Math.Round(lst.Count / 10.0);
|
||||
}
|
||||
else if (item.GetType() == typeof(LinearAxis))
|
||||
{
|
||||
LinearAxis axis = item as LinearAxis;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void ChkShowLabel_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (ChartSeries series in this.chart.Series)
|
||||
series.ShowLabels = this.chkShowLabel.Checked;
|
||||
}
|
||||
|
||||
private void ChartTrackball_TextNeeded(object sender, TextNeededEventArgs e)
|
||||
{
|
||||
StandardDataPair data = e.Points[0].DataPoint.DataItem as StandardDataPair;
|
||||
if (data != null)
|
||||
{
|
||||
e.Text = $"{data.RequestTime}{Environment.NewLine}{data.MessageName} : {data.Interval}";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void Grid_RowFormatting(object sender, RowFormattingEventArgs e)
|
||||
{
|
||||
StandardDataPair stdPair = e.RowElement.RowInfo.DataBoundItem as StandardDataPair;
|
||||
if (stdPair == null) return;
|
||||
if (this.AnalysisCollection.ContainsKey(stdPair.MessageName) == false) return;
|
||||
|
||||
StandardDataAnalysis stdAnalysis = this.AnalysisCollection[stdPair.MessageName];
|
||||
if (stdAnalysis.CheckOver(stdPair)) e.RowElement.ForeColor = Color.Red;
|
||||
else e.RowElement.ForeColor = SystemColors.ControlText;
|
||||
}
|
||||
|
||||
private void Grid_CellDoubleClick(object sender, GridViewCellEventArgs e)
|
||||
{
|
||||
StandardDataPair pair = e.Row.DataBoundItem as StandardDataPair;
|
||||
if (pair == null) return;
|
||||
|
||||
if (this.GridView == null) return;
|
||||
RadGridView grid = this.GridView;
|
||||
try
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
StandardData data = pair.Request;
|
||||
if (e.Column.FieldName.ToUpper() == "RESPONSETIME") data = pair.Response;
|
||||
|
||||
int lineNumber = data.LineNumber;
|
||||
foreach (GridViewRowInfo row in grid.Rows)
|
||||
{
|
||||
try
|
||||
{
|
||||
StandardData standardData = row.DataBoundItem as StandardData;
|
||||
if (standardData == null) continue;
|
||||
if (lineNumber <= standardData.LineNumber)
|
||||
{
|
||||
this.grid.Focus();
|
||||
row.IsSelected = false;
|
||||
row.IsCurrent = false;
|
||||
row.IsSelected = true;
|
||||
row.IsCurrent = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Debug(ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
private void GridAnalysis_RowFormatting(object sender, RowFormattingEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void GridAnalysis_CellFormatting(object sender, CellFormattingEventArgs e)
|
||||
{
|
||||
string[] arrTrimmed = new string[] { "TrimmedMean", "TrimmedStdDeviation" };
|
||||
string[] arrArithmetic = new string[] { "ArithmeticMean", "ArithmeticStdDeviation" };
|
||||
if (this.chkTrimmed.Checked)
|
||||
{
|
||||
if (arrArithmetic.Contains(e.Column.FieldName)) e.CellElement.ForeColor = Color.LightGray;
|
||||
else e.CellElement.ForeColor = SystemColors.ControlText;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (arrTrimmed.Contains(e.Column.FieldName)) e.CellElement.ForeColor = Color.LightGray;
|
||||
else e.CellElement.ForeColor = SystemColors.ControlText;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Public Method ] =============================================
|
||||
|
||||
public void Generate()
|
||||
{
|
||||
this.DataGenerate();
|
||||
this.DataAnalysis();
|
||||
|
||||
List<string> lstMessage = new List<string>();
|
||||
lstMessage.Add("");
|
||||
lstMessage.AddRange(this.MessageCollection.Keys.ToArray());
|
||||
lstMessage.Sort();
|
||||
this.cboxMessageName.DataSource = lstMessage.ToArray();
|
||||
this.cboxMessageName.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Method ] ====================================================
|
||||
|
||||
private void DataGenerate()
|
||||
{
|
||||
Dictionary<string, List<StandardDataPair>> dicSrc = new Dictionary<string, List<StandardDataPair>>();
|
||||
|
||||
try
|
||||
{
|
||||
this.MessageCollection.Clear();
|
||||
|
||||
string[] arrServer = new string[] { "MES", "FDC", "RMS", "RTD" };
|
||||
foreach (StandardData data in this.StandardCollection)
|
||||
{
|
||||
if (arrServer.Contains(data.Server) == false) continue;
|
||||
if (string.IsNullOrWhiteSpace(data.TID)) continue;
|
||||
|
||||
string key = data.MessageName.Replace("Reply", "");
|
||||
if (dicSrc.ContainsKey(key) == false)
|
||||
{
|
||||
dicSrc.Add(key, new List<StandardDataPair>());
|
||||
StandardDataPair pair = dicSrc[key].Where(x => x.TID == data.TID).FirstOrDefault();
|
||||
if (pair == null) dicSrc[key].Add(new StandardDataPair(data));
|
||||
else pair.Add(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
StandardDataPair pair = dicSrc[key].Where(x => x.TID == data.TID).FirstOrDefault();
|
||||
if (pair == null) dicSrc[key].Add(new StandardDataPair(data));
|
||||
else pair.Add(data);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (KeyValuePair<string, List<StandardDataPair>> srcPair in dicSrc)
|
||||
{
|
||||
string key = srcPair.Key;
|
||||
foreach (StandardDataPair pair in srcPair.Value)
|
||||
{
|
||||
if (pair.Request == null || pair.Response == null) continue;
|
||||
|
||||
if (this.MessageCollection.ContainsKey(key) == false) MessageCollection.Add(key, new List<StandardDataPair>());
|
||||
this.MessageCollection[key].Add(pair);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void DataAnalysis()
|
||||
{
|
||||
this.AnalysisCollection.Clear();
|
||||
|
||||
foreach (KeyValuePair<string, List<StandardDataPair>> item in this.MessageCollection)
|
||||
{
|
||||
if (this.AnalysisCollection.ContainsKey(item.Key) == false)
|
||||
{
|
||||
StandardDataAnalysis analysis = new StandardDataAnalysis(item.Key);
|
||||
analysis.UseTrimmed = this.chkTrimmed.Checked;
|
||||
analysis.TrimmedBegin = (double)this.numTrimmedBegin.Value;
|
||||
analysis.TrimmedEnd = (double)this.numTrimmedEnd.Value;
|
||||
this.AnalysisCollection.Add(item.Key, analysis);
|
||||
}
|
||||
|
||||
this.AnalysisCollection[item.Key].AddRange(item.Value.ToArray());
|
||||
}
|
||||
|
||||
this.gridAnalysis.AutoBinding(this.AnalysisCollection.Values.ToArray());
|
||||
}
|
||||
|
||||
private void Grid_Setting()
|
||||
{
|
||||
this.grid.MultiSelect = true;
|
||||
this.grid.Columns.Clear();
|
||||
this.grid.TableElement.RowHeight = 20;
|
||||
|
||||
this.grid.AddColumn("MessageName");
|
||||
this.grid.AddColumn("RequestTime");
|
||||
this.grid.AddColumn("ResponseTime");
|
||||
this.grid.AddColumn("Interval", "", true, "{0:#,##0.000}");
|
||||
}
|
||||
|
||||
private void GridAnalysis_Setting()
|
||||
{
|
||||
this.gridAnalysis.MultiSelect = true;
|
||||
this.gridAnalysis.Columns.Clear();
|
||||
this.gridAnalysis.TableElement.RowHeight = 20;
|
||||
|
||||
this.gridAnalysis.AddColumn("MessageName");
|
||||
this.gridAnalysis.AddColumn("Count");
|
||||
this.gridAnalysis.AddColumn("Min", "", true, "{0:#,##0.000}");
|
||||
this.gridAnalysis.AddColumn("Max", "", true, "{0:#,##0.000}");
|
||||
this.gridAnalysis.AddColumn("TrimmedMean", "절사평균", true, "{0:#,##0.000}");
|
||||
this.gridAnalysis.AddColumn("TrimmedStdDeviation", "절사편차", true, "{0:#,##0.000}");
|
||||
this.gridAnalysis.AddColumn("ArithmeticMean", "산술평균", true, "{0:#,##0.000}");
|
||||
this.gridAnalysis.AddColumn("ArithmeticStdDeviation", "산술편차", true, "{0:#,##0.000}");
|
||||
}
|
||||
|
||||
private void Chart_Setting()
|
||||
{
|
||||
this.chart.ShowGrid = true;
|
||||
this.chart.ShowLegend = true;
|
||||
|
||||
#if DateTimeAxis
|
||||
this.HorizontalAxis = new DateTimeContinuousAxis()
|
||||
{
|
||||
MajorStepUnit = TimeInterval.Hour,
|
||||
LabelFormatProvider = new DateTimeFormatProvider()
|
||||
};
|
||||
this.VerticalAxis = new LinearAxis()
|
||||
{
|
||||
};
|
||||
#else
|
||||
this.HorizontalAxis = new CategoricalAxis()
|
||||
{
|
||||
};
|
||||
this.VerticalAxis = new LinearAxis()
|
||||
{
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
private ChartSeries Chart_AddSeries(string name, StandardDataPair[] values)
|
||||
{
|
||||
LineSeries series = new LineSeries();
|
||||
series.Name = name;
|
||||
//series.HorizontalAxis = this.HorizontalAxis;
|
||||
//series.VerticalAxis = this.VerticalAxis;
|
||||
series.PointSize = new SizeF(3, 3);
|
||||
series.BorderWidth = 2;
|
||||
series.CategoryMember = "RequestTime";
|
||||
series.ValueMember = "Interval";
|
||||
series.ShowLabels = this.chkShowLabel.Checked;
|
||||
series.Spline = true;
|
||||
series.CombineMode = ChartSeriesCombineMode.Stack;
|
||||
series.DataSource = values;
|
||||
this.chart.Series.Add(series);
|
||||
|
||||
return series;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
public class DateTimeFormatProvider : IFormatProvider, ICustomFormatter
|
||||
{
|
||||
public object GetFormat(Type formatType)
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
public string Format(string format, object arg, IFormatProvider formatProvider)
|
||||
{
|
||||
DateTime val = (DateTime)arg;
|
||||
return val.ToString("HH:mm:ss");
|
||||
}
|
||||
}
|
||||
|
||||
public class StandardDataAnalysis : DataTableBase
|
||||
{
|
||||
|
||||
/// <summary>MessageName</summary>
|
||||
public string MessageName { get; set; } = string.Empty;
|
||||
|
||||
public int Count { get { return this.Collection.Count; } }
|
||||
|
||||
public bool UseTrimmed { get; set; } = false;
|
||||
|
||||
public double Min { get; set; } = -1;
|
||||
|
||||
public double Max { get; set; } = -1;
|
||||
|
||||
/// <summary>산술평균</summary>
|
||||
public double ArithmeticMean { get; set; } = 0;
|
||||
|
||||
/// <summary>산술평균>표준편차</summary>
|
||||
public double ArithmeticStdDeviation { get; set; } = 0;
|
||||
|
||||
/// <summary>절사평균</summary>
|
||||
public double TrimmedMean { get; set; } = 0;
|
||||
|
||||
/// <summary>절사평균>표준편차</summary>
|
||||
public double TrimmedStdDeviation { get; set; } = 0;
|
||||
|
||||
/// <summary>절사평균 범위</summary>
|
||||
public double TrimmedBegin { get; set; } = 0;
|
||||
|
||||
/// <summary>절사평균 범위</summary>
|
||||
public double TrimmedEnd { get; set; } = 80;
|
||||
|
||||
private List<StandardDataPair> Collection { get; set; } = new List<StandardDataPair>();
|
||||
|
||||
public StandardDataAnalysis() { }
|
||||
|
||||
public StandardDataAnalysis(string name, params StandardDataPair[] value)
|
||||
{
|
||||
this.MessageName = name;
|
||||
this.Collection.AddRange(value);
|
||||
if (value.Length > 0) this.Calculation();
|
||||
}
|
||||
|
||||
public void AddRange(params StandardDataPair[] values)
|
||||
{
|
||||
this.Collection.AddRange(values);
|
||||
this.Calculation();
|
||||
}
|
||||
|
||||
private void Calculation()
|
||||
{
|
||||
|
||||
double sum = 0;
|
||||
double average = 0;
|
||||
|
||||
#region 절사평균
|
||||
sum = 0;
|
||||
int trimStartIndex = (int)(this.Collection.Count * (this.TrimmedBegin / 100));
|
||||
int trimEndIndex = (int)(this.Collection.Count * (this.TrimmedEnd / 100));
|
||||
int trimCount = 0;
|
||||
int trimIndex = -1;
|
||||
foreach (StandardDataPair item in this.Collection.OrderBy(item => item.Interval))
|
||||
{
|
||||
trimIndex++;
|
||||
if (trimIndex < trimStartIndex) continue;
|
||||
if (trimIndex > trimEndIndex) break;
|
||||
sum += item.Interval;
|
||||
trimCount++;
|
||||
}
|
||||
average = sum / trimCount;
|
||||
this.TrimmedMean = average;
|
||||
#endregion
|
||||
|
||||
#region 산술평균
|
||||
sum = 0;
|
||||
double min = -1;
|
||||
double max = -1;
|
||||
foreach (StandardDataPair item in this.Collection)
|
||||
{
|
||||
sum += item.Interval;
|
||||
if (item.Interval < min || min == -1) min = item.Interval;
|
||||
if (item.Interval > max || max == -1) max = item.Interval;
|
||||
}
|
||||
average = sum / this.Collection.Count;
|
||||
this.Min = min; this.Max = max;
|
||||
this.ArithmeticMean = average;
|
||||
#endregion
|
||||
|
||||
double deviation = 0;
|
||||
double sumTrimVariance = 0;
|
||||
double sumArithmeticVariance = 0;
|
||||
double variance = 0;
|
||||
foreach (StandardDataPair item in this.Collection)
|
||||
{
|
||||
deviation = item.Interval - this.TrimmedMean; // 절사평균 편차
|
||||
sumTrimVariance += Math.Pow(deviation, 2);
|
||||
|
||||
deviation = item.Interval - this.ArithmeticMean; // 산술평균 편차
|
||||
sumArithmeticVariance += Math.Pow(deviation, 2);
|
||||
}
|
||||
variance = sumTrimVariance / this.Collection.Count; // 절사평균 분산
|
||||
this.TrimmedStdDeviation = Math.Sqrt(variance); // 절사평균 표준편차
|
||||
|
||||
variance = sumArithmeticVariance / this.Collection.Count; // 산술평균 분산
|
||||
this.ArithmeticStdDeviation = Math.Sqrt(variance); // 산술평균 표준편차
|
||||
}
|
||||
|
||||
public bool CheckOver(StandardDataPair pair)
|
||||
{
|
||||
double average = 0;
|
||||
if (this.UseTrimmed) average = this.ArithmeticMean; else average = this.TrimmedMean;
|
||||
|
||||
double min = average - (this.ArithmeticStdDeviation / 2);
|
||||
double max = average + (this.ArithmeticStdDeviation / 2);
|
||||
|
||||
if (pair.Interval > max) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmMessageReplyTime1.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmMessageReplyTime1.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
75
DDUtilityApp/LOGPARSER/FrmSecsDefine.Designer.cs
generated
Normal file
75
DDUtilityApp/LOGPARSER/FrmSecsDefine.Designer.cs
generated
Normal file
@@ -0,0 +1,75 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmSecsDefine
|
||||
{
|
||||
/// <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.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tboxMessage = new System.Windows.Forms.TextBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.tboxMessage);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.panel1.Size = new System.Drawing.Size(617, 683);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// tboxMessage
|
||||
//
|
||||
this.tboxMessage.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxMessage.Location = new System.Drawing.Point(3, 3);
|
||||
this.tboxMessage.Multiline = true;
|
||||
this.tboxMessage.Name = "tboxMessage";
|
||||
this.tboxMessage.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tboxMessage.Size = new System.Drawing.Size(611, 677);
|
||||
this.tboxMessage.TabIndex = 0;
|
||||
//
|
||||
// FrmSecsDefine
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(617, 683);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Name = "FrmSecsDefine";
|
||||
this.Text = "FrmSecsDefine";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.TextBox tboxMessage;
|
||||
}
|
||||
}
|
||||
61
DDUtilityApp/LOGPARSER/FrmSecsDefine.cs
Normal file
61
DDUtilityApp/LOGPARSER/FrmSecsDefine.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using DDUtilityApp.SECS;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
public partial class FrmSecsDefine : Form
|
||||
{
|
||||
|
||||
|
||||
public SECSDefine SECSDefine { get; set; }
|
||||
|
||||
public FrmSecsDefine()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
public FrmSecsDefine(SECSDefine secsDefine) : this()
|
||||
{
|
||||
this.SECSDefine = secsDefine;
|
||||
this.SetMessage();
|
||||
}
|
||||
|
||||
protected void SetLayout()
|
||||
{
|
||||
this.tboxMessage.Font = new Font("돋움체", 9.0F);
|
||||
this.tboxMessage.WordWrap = false;
|
||||
}
|
||||
|
||||
protected void SetEventHandler()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void SetMessage()
|
||||
{
|
||||
if (this.SECSDefine == null) return;
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (CEID ceid in this.SECSDefine.CeidCollection.OrderBy(item => int.Parse(item.ID)))
|
||||
{
|
||||
sb.AppendLine(ceid.ToXml());
|
||||
sb.AppendLine();
|
||||
}
|
||||
this.tboxMessage.Text = sb.ToString();
|
||||
this.tboxMessage.SelectionStart = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmSecsDefine.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmSecsDefine.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
267
DDUtilityApp/LOGPARSER/FrmWorkFlow.Designer.cs
generated
Normal file
267
DDUtilityApp/LOGPARSER/FrmWorkFlow.Designer.cs
generated
Normal file
@@ -0,0 +1,267 @@
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
partial class FrmWorkFlow
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.btnSelectFolder = new System.Windows.Forms.Button();
|
||||
this.tboxLocalPath = new System.Windows.Forms.TextBox();
|
||||
this.rbtnLocal = new System.Windows.Forms.RadioButton();
|
||||
this.rbtnRemote = new System.Windows.Forms.RadioButton();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.gridFile = new JWH.CONTROL.GridViewEx();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.tboxWorkflow = new System.Windows.Forms.TextBox();
|
||||
this.btnOpenFolder = new System.Windows.Forms.Button();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.panel4.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridFile)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridFile.MasterTemplate)).BeginInit();
|
||||
this.panel3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.splitContainer1);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel1.Size = new System.Drawing.Size(920, 470);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(3, 2);
|
||||
this.splitContainer1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.panel3);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(914, 466);
|
||||
this.splitContainer1.SplitterDistance = 600;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer2.IsSplitterFixed = true;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.panel4);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.panel2);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(600, 466);
|
||||
this.splitContainer2.SplitterDistance = 63;
|
||||
this.splitContainer2.TabIndex = 3;
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel4.Controls.Add(this.btnOpenFolder);
|
||||
this.panel4.Controls.Add(this.btnSelectFolder);
|
||||
this.panel4.Controls.Add(this.tboxLocalPath);
|
||||
this.panel4.Controls.Add(this.rbtnLocal);
|
||||
this.panel4.Controls.Add(this.rbtnRemote);
|
||||
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel4.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Size = new System.Drawing.Size(600, 63);
|
||||
this.panel4.TabIndex = 2;
|
||||
//
|
||||
// btnOpen
|
||||
//
|
||||
this.btnSelectFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnSelectFolder.Location = new System.Drawing.Point(560, 27);
|
||||
this.btnSelectFolder.Name = "btnOpen";
|
||||
this.btnSelectFolder.Size = new System.Drawing.Size(33, 23);
|
||||
this.btnSelectFolder.TabIndex = 3;
|
||||
this.btnSelectFolder.Text = "...";
|
||||
this.btnSelectFolder.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tboxLocalPath
|
||||
//
|
||||
this.tboxLocalPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tboxLocalPath.Location = new System.Drawing.Point(89, 28);
|
||||
this.tboxLocalPath.Name = "tboxLocalPath";
|
||||
this.tboxLocalPath.Size = new System.Drawing.Size(467, 21);
|
||||
this.tboxLocalPath.TabIndex = 2;
|
||||
//
|
||||
// rbtnLocal
|
||||
//
|
||||
this.rbtnLocal.AutoSize = true;
|
||||
this.rbtnLocal.Location = new System.Drawing.Point(8, 31);
|
||||
this.rbtnLocal.Name = "rbtnLocal";
|
||||
this.rbtnLocal.Size = new System.Drawing.Size(54, 16);
|
||||
this.rbtnLocal.TabIndex = 1;
|
||||
this.rbtnLocal.Text = "Local";
|
||||
this.rbtnLocal.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbtnRemote
|
||||
//
|
||||
this.rbtnRemote.AutoSize = true;
|
||||
this.rbtnRemote.Checked = true;
|
||||
this.rbtnRemote.Location = new System.Drawing.Point(8, 9);
|
||||
this.rbtnRemote.Name = "rbtnRemote";
|
||||
this.rbtnRemote.Size = new System.Drawing.Size(66, 16);
|
||||
this.rbtnRemote.TabIndex = 0;
|
||||
this.rbtnRemote.TabStop = true;
|
||||
this.rbtnRemote.Text = "Remote";
|
||||
this.rbtnRemote.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.Controls.Add(this.gridFile);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(600, 399);
|
||||
this.panel2.TabIndex = 3;
|
||||
//
|
||||
// gridFile
|
||||
//
|
||||
this.gridFile.ColumnResizeKey = System.Windows.Forms.Keys.F6;
|
||||
this.gridFile.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gridFile.Location = new System.Drawing.Point(0, 0);
|
||||
this.gridFile.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
//
|
||||
//
|
||||
this.gridFile.MasterTemplate.ViewDefinition = tableViewDefinition1;
|
||||
this.gridFile.Name = "gridFile";
|
||||
this.gridFile.Size = new System.Drawing.Size(598, 397);
|
||||
this.gridFile.TabIndex = 0;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel3.Controls.Add(this.tboxWorkflow);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(310, 466);
|
||||
this.panel3.TabIndex = 0;
|
||||
//
|
||||
// tboxWorkflow
|
||||
//
|
||||
this.tboxWorkflow.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tboxWorkflow.Location = new System.Drawing.Point(0, 0);
|
||||
this.tboxWorkflow.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.tboxWorkflow.Multiline = true;
|
||||
this.tboxWorkflow.Name = "tboxWorkflow";
|
||||
this.tboxWorkflow.Size = new System.Drawing.Size(308, 464);
|
||||
this.tboxWorkflow.TabIndex = 0;
|
||||
//
|
||||
// btnOpenFolder
|
||||
//
|
||||
this.btnOpenFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnOpenFolder.Location = new System.Drawing.Point(486, 2);
|
||||
this.btnOpenFolder.Name = "btnOpenFolder";
|
||||
this.btnOpenFolder.Size = new System.Drawing.Size(107, 23);
|
||||
this.btnOpenFolder.TabIndex = 4;
|
||||
this.btnOpenFolder.Text = "Open Folder";
|
||||
this.btnOpenFolder.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FrmWorkFlow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(920, 470);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.Name = "FrmWorkFlow";
|
||||
this.Text = "FrmWorkFlow";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.panel4.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridFile.MasterTemplate)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridFile)).EndInit();
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.TextBox tboxWorkflow;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private System.Windows.Forms.Button btnSelectFolder;
|
||||
private System.Windows.Forms.TextBox tboxLocalPath;
|
||||
private System.Windows.Forms.RadioButton rbtnLocal;
|
||||
private System.Windows.Forms.RadioButton rbtnRemote;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private JWH.CONTROL.GridViewEx gridFile;
|
||||
private System.Windows.Forms.Button btnOpenFolder;
|
||||
}
|
||||
}
|
||||
256
DDUtilityApp/LOGPARSER/FrmWorkFlow.cs
Normal file
256
DDUtilityApp/LOGPARSER/FrmWorkFlow.cs
Normal file
@@ -0,0 +1,256 @@
|
||||
using DDUtilityApp.DATA;
|
||||
using DDUtilityApp.LOGPARSER.DATA;
|
||||
using JWH;
|
||||
using JWH.NETWORK;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Telerik.WinControls.UI;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmWorkFlow : Form
|
||||
{
|
||||
|
||||
#region [ Properties ] ------------------------------------------------
|
||||
|
||||
public CompressInformation CompressInformation { get; set; } = null;
|
||||
|
||||
public EisEquipment Equipment { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ FrmWorkFlow ] ------------------------------------------------
|
||||
|
||||
public FrmWorkFlow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
protected void SetLayout()
|
||||
{
|
||||
this.AllowDrop = true;
|
||||
|
||||
if (GlobalVariable.Instance.WorkflowLocation == "Local") this.rbtnLocal.Checked = true;
|
||||
else this.rbtnRemote.Checked = true;
|
||||
this.tboxLocalPath.Text = GlobalVariable.Instance.WorkflowCompressPath;
|
||||
|
||||
this.tboxWorkflow.Font = new Font("돋움체", 9.0f);
|
||||
this.tboxWorkflow.ScrollBars = ScrollBars.Both;
|
||||
this.tboxWorkflow.WordWrap = false;
|
||||
|
||||
this.gridFile.TableElement.RowHeight = 20;
|
||||
//this.gridFile.AddColumn("ModelID");
|
||||
//this.gridFile.AddColumn("Version");
|
||||
this.gridFile.AddColumn("ModuleName");
|
||||
this.gridFile.AddColumn("Trigger");
|
||||
this.gridFile.AddColumn("Workflow");
|
||||
this.gridFile.AddColumn("Description");
|
||||
//this.gridFile.AddColumn("GemSettingID");
|
||||
}
|
||||
|
||||
protected void SetEventHandler()
|
||||
{
|
||||
this.DragDrop += Control_DragDrop;
|
||||
this.DragEnter += Control_DragEnter;
|
||||
this.Load += FrmWorkFlow_Load;
|
||||
|
||||
this.btnSelectFolder.Click += BtnSelectFolder_Click;
|
||||
this.btnOpenFolder.Click += BtnOpenFolder_Click;
|
||||
|
||||
this.gridFile.CellDoubleClick += GridFile_CellDoubleClick;
|
||||
this.gridFile.DataBindingComplete += GridFile_DataBindingComplete;
|
||||
}
|
||||
|
||||
private void FrmWorkFlow_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.SetWorkflowFiles();
|
||||
}
|
||||
|
||||
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||
{
|
||||
switch (keyData)
|
||||
{
|
||||
case Keys.F6:
|
||||
this.gridFile.BestFitColumns(Telerik.WinControls.UI.BestFitColumnMode.DisplayedCells);
|
||||
break;
|
||||
}
|
||||
|
||||
return base.ProcessCmdKey(ref msg, keyData);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Control Events ] --------------------------------------------
|
||||
|
||||
private void Control_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
|
||||
}
|
||||
|
||||
private void Control_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
XLogger.Instance.Info(e);
|
||||
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
this.Download(files[0]);
|
||||
}
|
||||
|
||||
private void BtnSelectFolder_Click(object sender, EventArgs e)
|
||||
{
|
||||
FolderBrowserDialog dlg = new FolderBrowserDialog();
|
||||
dlg.SelectedPath = this.tboxLocalPath.Text;
|
||||
if (dlg.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
this.tboxLocalPath.Text =$@"{dlg.SelectedPath}\";
|
||||
}
|
||||
|
||||
private void BtnOpenFolder_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.CompressInformation == null) return;
|
||||
Process.Start(this.CompressInformation.ExtractPath);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void GridFile_CellDoubleClick(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.tboxWorkflow.Clear();
|
||||
if (this.CompressInformation == null) this.Download();
|
||||
if (this.CompressInformation == null) return;
|
||||
|
||||
string fileName = e.Row.Cells[2].Value as string;
|
||||
foreach (FileInfo fileInfo in this.CompressInformation.Files)
|
||||
{
|
||||
if (string.Compare(fileInfo.Name, fileName, true) == 0)
|
||||
{
|
||||
FileStream fileStream = fileInfo.OpenRead();
|
||||
StreamReader reader = new StreamReader(fileStream);
|
||||
this.tboxWorkflow.Text = reader.ReadToEnd();
|
||||
|
||||
reader.Close();
|
||||
fileStream.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void GridFile_DataBindingComplete(object sender, GridViewBindingCompleteEventArgs e)
|
||||
{
|
||||
this.gridFile.BestFitColumns(BestFitColumnMode.DisplayedCells);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Method ] ----------------------------------------------------
|
||||
|
||||
private void SetWorkflowFiles()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine($"SELECT * ");
|
||||
sb.AppendLine($"FROM WorkflowMapping ");
|
||||
sb.AppendLine($"WHERE ModelID = '{this.Equipment.ModelID}' ");
|
||||
sb.AppendLine($" AND Version = '{this.Equipment.RunningVersion}' ");
|
||||
sb.AppendLine($" AND Workflow IS NOT NULL ");
|
||||
sb.AppendLine($"ORDER BY ModuleName, 'Trigger', Workflow ");
|
||||
DataSet ds = this.Equipment.Server.ExecuteQuery(sb.ToString());
|
||||
|
||||
this.gridFile.DataSource = ds.Tables[0];
|
||||
this.gridFile.GroupDescriptors.Add(new GridGroupByExpression(this.gridFile.Columns[0]));
|
||||
}
|
||||
|
||||
private void Download(string path = "")
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
string downFullName = $@"{GlobalVariable.Instance.WorkflowPath}{this.Equipment.ModelID}_{this.Equipment.RunningVersion}.Compress";
|
||||
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
if (this.rbtnLocal.Checked)
|
||||
{
|
||||
path = $"{this.tboxLocalPath.Text}/{this.Equipment.ModelID}/{this.Equipment.RunningVersion}/ALL.COMPRESS";
|
||||
System.IO.File.Copy(path, downFullName, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
string uri = $"ftp://{this.Equipment.Server.FTPAddress}:{this.Equipment.Server.FTPPort}/";
|
||||
string uid = this.Equipment.Server.FTPUserID;
|
||||
string pwd = this.Equipment.Server.FTPPassword;
|
||||
path = $"{this.Equipment.ModelID}/{this.Equipment.RunningVersion}";
|
||||
|
||||
FtpClient client = new FtpClient(uri, uid, pwd);
|
||||
string[] lstName = client.GetList(path);
|
||||
string fullName = string.Empty;
|
||||
foreach (string name in lstName)
|
||||
{
|
||||
if (string.Compare(name, $"ALL.COMPRESS", true) == 0)
|
||||
{
|
||||
fullName = name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(fullName)) return;
|
||||
|
||||
bool result = client.Download($"{path}/ALL.COMPRESS", downFullName);
|
||||
if (result == false) return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
downFullName = $@"{GlobalVariable.Instance.WorkflowPath}{System.IO.Path.GetFileName(path)}";
|
||||
System.IO.File.Copy(path, downFullName, true);
|
||||
}
|
||||
|
||||
this.CompressInformation = new CompressInformation(downFullName);
|
||||
if (this.rbtnLocal.Checked)
|
||||
{
|
||||
GlobalVariable.Instance.WorkflowLocation = "Local";
|
||||
if (!string.IsNullOrEmpty(this.tboxLocalPath.Text)) GlobalVariable.Instance.WorkflowCompressPath = this.tboxLocalPath.Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalVariable.Instance.WorkflowLocation = "Remote";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex, true);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
120
DDUtilityApp/LOGPARSER/FrmWorkFlow.resx
Normal file
120
DDUtilityApp/LOGPARSER/FrmWorkFlow.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
140
DDUtilityApp/LOGPARSER/GemSetting.cs
Normal file
140
DDUtilityApp/LOGPARSER/GemSetting.cs
Normal file
@@ -0,0 +1,140 @@
|
||||
using DDUtilityApp.SECS;
|
||||
using JWH;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public class GemSetting
|
||||
{
|
||||
|
||||
public string ModelName { get; protected set; } = "COMMON";
|
||||
|
||||
public Dictionary<string, CEID> CeidDictionary = new Dictionary<string, CEID>();
|
||||
|
||||
public Dictionary<string, RPT> RptDictionary = new Dictionary<string, RPT>();
|
||||
|
||||
public Dictionary<string, SECSDefine> EquipmentModelDictionary = new Dictionary<string, SECSDefine>();
|
||||
|
||||
public GemSetting(string filename, string modelName = "COMMON")
|
||||
{
|
||||
this.Load(filename);
|
||||
this.SetModelName(modelName);
|
||||
}
|
||||
|
||||
public void Load(string filename)
|
||||
{
|
||||
XmlDocument document = null;
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(filename)) return;
|
||||
|
||||
document = new XmlDocument();
|
||||
document.Load(filename);
|
||||
foreach (XmlNode child in document.ChildNodes[0])
|
||||
{
|
||||
if (string.Compare(child.Name, "MODEL", true) == 0)
|
||||
{
|
||||
string modelName = child.Attributes["NAME"].Value;
|
||||
if (string.IsNullOrEmpty(modelName)) continue;
|
||||
|
||||
SECSDefine eqModel = new SECSDefine(child);
|
||||
this.EquipmentModelDictionary.Add(modelName, eqModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public void SetModelName(string modelName)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.ModelName = modelName;
|
||||
|
||||
if (this.EquipmentModelDictionary.ContainsKey("COMMON"))
|
||||
{
|
||||
SECSDefine model = this.EquipmentModelDictionary["COMMON"];
|
||||
this.CeidDictionary = new Dictionary<string, CEID>(model.CeidDictionary);
|
||||
this.RptDictionary = new Dictionary<string, RPT>(model.RptDictionary);
|
||||
}
|
||||
|
||||
if (this.ModelName != "COMMON" && this.EquipmentModelDictionary.ContainsKey(this.ModelName))
|
||||
{
|
||||
SECSDefine model = this.EquipmentModelDictionary[this.ModelName];
|
||||
|
||||
foreach (KeyValuePair<string, CEID> pair in model.CeidDictionary)
|
||||
if (this.CeidDictionary.ContainsKey(pair.Key)) this.CeidDictionary[pair.Key] = pair.Value;
|
||||
else this.CeidDictionary.Add(pair.Key, pair.Value);
|
||||
|
||||
foreach (KeyValuePair<string, RPT> pair in model.RptDictionary)
|
||||
if (this.RptDictionary.ContainsKey(pair.Key)) this.RptDictionary[pair.Key] = pair.Value;
|
||||
else this.RptDictionary.Add(pair.Key, pair.Value);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Change ID, Name, Format
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
public void Setting(SECSItem item)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (item.Stream != "6" || item.Function != "11") return;
|
||||
if (item.ChildItems.Count != 3) return;
|
||||
|
||||
item.ChildItems[0].Name = "DATAID";
|
||||
item.ChildItems[1].Name = "CEID";
|
||||
|
||||
if (this.CeidDictionary.ContainsKey(item.ChildItems[1].Value) == false) return;
|
||||
CEID ceid = this.CeidDictionary[item.ChildItems[1].Value];
|
||||
if (ceid != null) item.ChildItems[1].Description = ceid.Name;
|
||||
|
||||
foreach (SECSItem report in item.ChildItems[2])
|
||||
{
|
||||
if (report.ChildItems.Count != 2) continue;
|
||||
|
||||
report.ChildItems[0].Name = "RPTID";
|
||||
|
||||
if (this.RptDictionary.ContainsKey(report.ChildItems[0].Value) == false) continue;
|
||||
RPT rpt = this.RptDictionary[report.ChildItems[0].Value];
|
||||
|
||||
if (rpt == null) continue;
|
||||
int i = 0;
|
||||
foreach (VID vid in rpt.VidCollection)
|
||||
{
|
||||
SECSItem secsVid = report.ChildItems[1].ChildItems[i];
|
||||
secsVid.ID = vid.ID;
|
||||
if (string.IsNullOrEmpty(secsVid.Name))
|
||||
{
|
||||
secsVid.Name = vid.Name;
|
||||
//secsVid.Format = vid.Format;
|
||||
//secsVid.Length = vid.Length;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
278
DDUtilityApp/LOGPARSER/LogServer.cs
Normal file
278
DDUtilityApp/LOGPARSER/LogServer.cs
Normal file
@@ -0,0 +1,278 @@
|
||||
using JWH;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DDUtilityApp.DATA
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Log Server 접속정보
|
||||
/// </summary>
|
||||
public class LogServer
|
||||
{
|
||||
|
||||
#region [ Properties ] ------------------------------------------------
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public string DBConnectionString { get; set; }
|
||||
|
||||
public Dictionary<string, Account> NetworkAccount { get; set; } = new Dictionary<string, Account>();
|
||||
|
||||
public string FTPAddress { get; set; }
|
||||
|
||||
public int FTPPort { get; set; } = 21;
|
||||
|
||||
public string FTPUserID { get; set; }
|
||||
|
||||
public string FTPPassword { get; set; }
|
||||
|
||||
public string DBGetEquipments { get; set; }
|
||||
|
||||
public string DBGetModelDetails { get; set; }
|
||||
|
||||
public string DBGetModelInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// GetLogPath()에서 사용 할 Format 문자열을 설정하거나 가져옵니다.
|
||||
/// <para>{0}\eisap01_eislog\Log\\{1}</para>
|
||||
/// </summary>
|
||||
//public Dictionary<string, string> QueryGetLogPath { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ LogServer ] -------------------------------------------------
|
||||
|
||||
public LogServer(string name, string dbConnectionString = "")
|
||||
{
|
||||
this.Name = name;
|
||||
this.DBConnectionString = dbConnectionString;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Method ] ----------------------------------------------------
|
||||
|
||||
public DataTable GetEquipments()
|
||||
{
|
||||
SqlConnection sqlConnection = null;
|
||||
DataTable dt = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.DBConnectionString)) throw new Exception($"ConnectionString 속성에 값이 존재하지 않습니다.");
|
||||
if (string.IsNullOrEmpty(this.DBGetEquipments)) throw new Exception($"QueryGetEquipment 속성에 값이 존재하지 않습니다.");
|
||||
|
||||
sqlConnection = new SqlConnection();
|
||||
sqlConnection.ConnectionString = this.DBConnectionString;
|
||||
sqlConnection.Open();
|
||||
|
||||
SqlCommand sqlCommand = new SqlCommand();
|
||||
sqlCommand.Connection = sqlConnection;
|
||||
sqlCommand.CommandType = CommandType.Text;
|
||||
sqlCommand.CommandText = this.DBGetEquipments;
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand);
|
||||
sqlAdapter.Fill(ds);
|
||||
sqlConnection.Close();
|
||||
|
||||
if (ds != null && ds.Tables.Count > 0) dt = ds.Tables[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
throw ex;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (sqlConnection != null && sqlConnection.State != ConnectionState.Closed)
|
||||
{
|
||||
sqlConnection.Close();
|
||||
sqlConnection.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
return dt;
|
||||
}
|
||||
|
||||
public DataTable GetModelDetails(string modelID)
|
||||
{
|
||||
SqlConnection sqlConnection = null;
|
||||
DataTable dt = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.DBConnectionString)) throw new Exception($"ConnectionString 속성에 값이 존재하지 않습니다.");
|
||||
if (string.IsNullOrEmpty(this.DBGetEquipments)) throw new Exception($"QueryGetEquipment 속성에 값이 존재하지 않습니다.");
|
||||
|
||||
sqlConnection = new SqlConnection();
|
||||
sqlConnection.ConnectionString = this.DBConnectionString;
|
||||
sqlConnection.Open();
|
||||
|
||||
SqlCommand sqlCommand = new SqlCommand();
|
||||
sqlCommand.Connection = sqlConnection;
|
||||
sqlCommand.CommandType = CommandType.Text;
|
||||
sqlCommand.CommandText = this.DBGetModelDetails;
|
||||
sqlCommand.Parameters.Add(new SqlParameter("@MODEL_ID", modelID));
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand);
|
||||
sqlAdapter.Fill(ds);
|
||||
sqlConnection.Close();
|
||||
|
||||
if (ds != null && ds.Tables.Count > 0) dt = ds.Tables[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
throw ex;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (sqlConnection != null && sqlConnection.State != ConnectionState.Closed)
|
||||
{
|
||||
sqlConnection.Close();
|
||||
sqlConnection.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
return dt;
|
||||
}
|
||||
|
||||
public DataTable GetModelInfo(string modelID)
|
||||
{
|
||||
SqlConnection sqlConnection = null;
|
||||
DataTable dt = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.DBConnectionString)) throw new Exception($"ConnectionString 속성에 값이 존재하지 않습니다.");
|
||||
if (string.IsNullOrEmpty(this.DBGetEquipments)) throw new Exception($"QueryGetEquipment 속성에 값이 존재하지 않습니다.");
|
||||
|
||||
sqlConnection = new SqlConnection();
|
||||
sqlConnection.ConnectionString = this.DBConnectionString;
|
||||
sqlConnection.Open();
|
||||
|
||||
SqlCommand sqlCommand = new SqlCommand();
|
||||
sqlCommand.Connection = sqlConnection;
|
||||
sqlCommand.CommandType = CommandType.Text;
|
||||
sqlCommand.CommandText = this.DBGetModelInfo;
|
||||
sqlCommand.Parameters.Add(new SqlParameter("@MODEL_ID", modelID));
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand);
|
||||
sqlAdapter.Fill(ds);
|
||||
sqlConnection.Close();
|
||||
|
||||
if (ds != null && ds.Tables.Count > 0) dt = ds.Tables[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
throw ex;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (sqlConnection != null && sqlConnection.State != ConnectionState.Closed)
|
||||
{
|
||||
sqlConnection.Close();
|
||||
sqlConnection.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
return dt;
|
||||
}
|
||||
|
||||
public string GetLogPath(string serverIP, string equipmentID)
|
||||
{
|
||||
try
|
||||
{
|
||||
Account account = this.NetworkAccount[serverIP];
|
||||
return $@"\\{account.IPAddress}\{account.DefaultPath}{equipmentID}\";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public DataSet ExecuteQuery(string query)
|
||||
{
|
||||
SqlConnection sqlConnection = null;
|
||||
DataSet ds = new DataSet();
|
||||
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(this.DBConnectionString)) throw new Exception($"ConnectionString 속성에 값이 존재하지 않습니다.");
|
||||
|
||||
sqlConnection = new SqlConnection();
|
||||
sqlConnection.ConnectionString = this.DBConnectionString;
|
||||
sqlConnection.Open();
|
||||
|
||||
SqlCommand sqlCommand = new SqlCommand();
|
||||
sqlCommand.CommandTimeout = 5000;
|
||||
sqlCommand.Connection = sqlConnection;
|
||||
sqlCommand.CommandType = CommandType.Text;
|
||||
sqlCommand.CommandText = query;
|
||||
|
||||
SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand);
|
||||
sqlAdapter.Fill(ds);
|
||||
sqlConnection.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
throw ex;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (sqlConnection != null && sqlConnection.State != ConnectionState.Closed)
|
||||
{
|
||||
sqlConnection.Close();
|
||||
sqlConnection.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
return ds;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return this.Name;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
public class Account
|
||||
{
|
||||
|
||||
public string IPAddress { get; set; }
|
||||
|
||||
public string UserID { get; set; }
|
||||
|
||||
public string Password { get; set; }
|
||||
|
||||
public string DefaultPath { get; set; }
|
||||
|
||||
public Account()
|
||||
{
|
||||
}
|
||||
|
||||
public Account(string ipAddress, string uid, string pwd, string defaultPath = "")
|
||||
{
|
||||
this.IPAddress = ipAddress;
|
||||
this.UserID = uid;
|
||||
this.Password = pwd;
|
||||
this.DefaultPath = defaultPath;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
1110
DDUtilityApp/LOGPARSER/PARSER/AgvParser.cs
Normal file
1110
DDUtilityApp/LOGPARSER/PARSER/AgvParser.cs
Normal file
File diff suppressed because it is too large
Load Diff
1299
DDUtilityApp/LOGPARSER/PARSER/EisParser.cs
Normal file
1299
DDUtilityApp/LOGPARSER/PARSER/EisParser.cs
Normal file
File diff suppressed because it is too large
Load Diff
1691
DDUtilityApp/LOGPARSER/PARSER/EisParser0.cs
Normal file
1691
DDUtilityApp/LOGPARSER/PARSER/EisParser0.cs
Normal file
File diff suppressed because it is too large
Load Diff
171
DDUtilityApp/LOGPARSER/PARSER/LogParser.cs
Normal file
171
DDUtilityApp/LOGPARSER/PARSER/LogParser.cs
Normal file
@@ -0,0 +1,171 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using DDUtilityApp.LOGPARSER.DATA;
|
||||
using DDUtilityApp.SECS;
|
||||
using JWH;
|
||||
using JWH.CONTROL;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER.PARSER
|
||||
{
|
||||
|
||||
public abstract class LogParser
|
||||
{
|
||||
|
||||
public delegate object Parser(StreamReader reader, ref string startLine);
|
||||
|
||||
#region [ Properties ] ------------------------------------------------
|
||||
|
||||
public string Text { get; set; } = "[EverOne] Log Viewer";
|
||||
|
||||
public string ServerName { get; set; } = string.Empty;
|
||||
|
||||
public string EquipmentID { get; set; } = string.Empty;
|
||||
|
||||
public string ModelID { get; set; }
|
||||
|
||||
public SECSDefine SECSDefine { get; set; } = null;
|
||||
|
||||
public List<string> Files { get; set; } = new List<string>();
|
||||
|
||||
public StandardCollection StandardCollection { get; set; } = new StandardCollection();
|
||||
|
||||
public StringBuilder LogString { get; set; } = new StringBuilder();
|
||||
|
||||
protected int LogDTimeStart { get; set; } = 0;
|
||||
|
||||
protected string LogDTime { get; set; } = "yyyy-MM-dd HH:mm:ss.fff";
|
||||
|
||||
protected int LineNumber { get; set; } = 0;
|
||||
|
||||
protected string LastReadLine { get; set; } = string.Empty;
|
||||
|
||||
protected long StreamPosition { get; set; } = 0;
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ LogParser ] -------------------------------------------------
|
||||
|
||||
public LogParser()
|
||||
{
|
||||
}
|
||||
|
||||
public LogParser(params string[] files) : this()
|
||||
{
|
||||
//this.Childs.AddRange(from file in files orderby file select file);
|
||||
this.Files.AddRange(files);
|
||||
}
|
||||
|
||||
protected void Initilize()
|
||||
{
|
||||
this.StandardCollection.Clear();
|
||||
this.LogString.Clear();
|
||||
this.LineNumber = 0;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Method ] ----------------------------------------------------
|
||||
|
||||
public virtual void SetGridHeader(GridViewEx grid)
|
||||
{
|
||||
grid.AddColumn("DateTime");
|
||||
grid.AddColumn("Level");
|
||||
grid.AddColumn("Server");
|
||||
grid.AddColumn("Service");
|
||||
grid.AddColumn("Type");
|
||||
grid.AddColumn("MessageName");
|
||||
grid.AddColumn("Return");
|
||||
grid.AddColumn("Value");
|
||||
grid.AddColumn("LotID");
|
||||
grid.AddColumn("CarrierID");
|
||||
grid.AddColumn("EquipmentID");
|
||||
grid.AddColumn("PortID");
|
||||
grid.AddColumn("SystemByte");
|
||||
grid.AddColumn("ModuleID");
|
||||
grid.AddColumn("HostPanelID");
|
||||
grid.AddColumn("PanelID");
|
||||
grid.AddColumn("PanelQty");
|
||||
grid.AddColumn("TID");
|
||||
grid.AddColumn("Column1");
|
||||
grid.AddColumn("Column2");
|
||||
grid.AddColumn("Column3");
|
||||
grid.AddColumn("Column4");
|
||||
grid.AddColumn("Column5");
|
||||
}
|
||||
|
||||
public virtual void SaveGridHeader(GridViewEx grid)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual string[] FileSelector(FrmLogParser sender, params string[] args)
|
||||
{
|
||||
string directoryName = string.Empty;
|
||||
string fileName = string.Empty;
|
||||
if (args != null && args.Length > 0)
|
||||
{
|
||||
directoryName = Path.GetDirectoryName(args[0]);
|
||||
fileName = Path.GetFileName(args[0]);
|
||||
}
|
||||
|
||||
OpenFileDialog dlg = new OpenFileDialog();
|
||||
dlg.Multiselect = true;
|
||||
dlg.InitialDirectory = directoryName;
|
||||
dlg.FileName = fileName;
|
||||
|
||||
if (dlg.ShowDialog() == DialogResult.OK)
|
||||
return dlg.FileNames;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract bool Parsing();
|
||||
|
||||
public bool Parsing(params string[] files)
|
||||
{
|
||||
this.Files.Clear();
|
||||
this.Files.AddRange(files);
|
||||
|
||||
return this.Parsing();
|
||||
}
|
||||
|
||||
protected string GetReadLine(StreamReader reader, bool isWrite = true)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.StreamPosition = reader.BaseStream.Position;
|
||||
string strLine = reader.ReadLine();
|
||||
|
||||
if (isWrite)
|
||||
{
|
||||
this.LineNumber++;
|
||||
this.LogString.AppendLine($"{this.LineNumber.ToString("000000")}: {strLine}");
|
||||
//XLogger.Instance.Debug($"{this.LineNumber.ToString("000000")}: {strLine}");
|
||||
}
|
||||
|
||||
return strLine;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
protected void LogString_Append(string strLine)
|
||||
{
|
||||
foreach (string value in strLine.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
|
||||
{
|
||||
this.LineNumber++;
|
||||
this.LogString.AppendLine($"{this.LineNumber.ToString("000000")}: {value}");
|
||||
//XLogger.Instance.Debug($"{this.LineNumber.ToString("000000")}: {value}");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user