initial commit
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Alert.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										346
									
								
								Viewer/TrendViewer/Class/CFDB.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,346 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using System.IO; | ||||
| using System.Text; | ||||
| using AR; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public class CFDB | ||||
|     { | ||||
|         string _BaseDir; | ||||
|  | ||||
|         System.Text.StringBuilder[] StrBuf; ////데이터버퍼 | ||||
|         DateTime[] LastTime; ////데이터시간 | ||||
|         System.IO.FileInfo[] File; ////데이터파일정보 | ||||
|         int MaxCount = 10; | ||||
|         public bool IsReady { get; private set; } | ||||
|  | ||||
|         public CFDB(params string[] dirarrays) | ||||
|         { | ||||
|             var dir = System.IO.Path.Combine(dirarrays); | ||||
|             _BaseDir = dir; | ||||
|  | ||||
|             StrBuf = new System.Text.StringBuilder[MaxCount]; | ||||
|             LastTime = new DateTime[MaxCount]; | ||||
|             File = new System.IO.FileInfo[MaxCount]; | ||||
|  | ||||
|             if (System.IO.Directory.Exists(_BaseDir) == false) | ||||
|             { | ||||
|  | ||||
|                 try | ||||
|                 { | ||||
|  | ||||
|                     System.IO.Directory.CreateDirectory(_BaseDir); | ||||
|                     IsReady = true; | ||||
|                 } | ||||
|                 catch | ||||
|                 { | ||||
|                     IsReady = false; | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|             else IsReady = true; | ||||
|  | ||||
|  | ||||
|             ////Data Initialize | ||||
|             for (int i = 0; i < MaxCount; i++) | ||||
|             { | ||||
|                 StrBuf[i] = new System.Text.StringBuilder(); | ||||
|                 LastTime[i] = DateTime.Now; | ||||
|                 File[i] = null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         ////지정한 기간내 파일의 존재여부를 확인합니다. | ||||
|         //public int GetfileCount(string table, DateTime sd, DateTime ed) | ||||
|         //{ | ||||
|         //	return GetfileS(table, sd, ed).Count; | ||||
|         //} | ||||
|  | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 데이터를 기록합니다. | ||||
|         /// </summary> | ||||
|         /// <param name="time">기록시간(파일명이 결정됨)</param> | ||||
|         /// <param name="table">기록할테이블명(파일명)</param> | ||||
|         /// <param name="buffer">기록할데이터(열데이터가 틀려서 고정할 수 없다)</param> | ||||
|         /// <returns></returns> | ||||
|         /// <remarks></remarks> | ||||
|         public bool InsertData(DateTime time, string table, StringBuilder buffers) | ||||
|         { | ||||
|             string DayStr = time.ToString("yyyyMMdd"); | ||||
|             byte TableIndex = byte.Parse(table.Substring(5)); | ||||
|  | ||||
|             ////해당데이터의 시간과 파일정보를 기록 | ||||
|             LastTime[TableIndex - 1] = time; | ||||
|             File[TableIndex - 1] = new System.IO.FileInfo(_BaseDir + "\\" + DayStr.Substring(0, 4) + "\\" + DayStr.Substring(4, 2) + "\\" + DayStr.Substring(6) + "\\" + (time.Hour ).ToString("00") + "_" + table + ".txt"); | ||||
|             if (!File[TableIndex - 1].Directory.Exists) | ||||
|                 File[TableIndex - 1].Directory.Create(); | ||||
|  | ||||
|             ////각테이블별로 시작 열번호를 넣는다. | ||||
|             int si = 1 + 160 * (TableIndex - 1); | ||||
|             int ei = si + (160 - 1); | ||||
|  | ||||
|             ////파일이 없다면 제목줄을 생성해준다. | ||||
|             if (!File[TableIndex - 1].Exists) | ||||
|             { | ||||
|                 ////헤더를 추가해야한다. | ||||
|                 var Header = new System.Text.StringBuilder(); | ||||
|                 Header.Append("\t" + "TIME"); | ||||
|                 for (int j = si; j <= ei; j++) | ||||
|                 { | ||||
|                     Header.Append("\t" + "C" + j.ToString("000")); | ||||
|                 } | ||||
|                 //Header.Append(vbTab + "KA") | ||||
|                 Header.AppendLine(); ////제목줄을 한칸띄운다 | ||||
| 				 | ||||
| 				//File[TableIndex - 1].WriteText(Header);   // 이전 단독모드 | ||||
| 				/* 작성자: 이재웅, 작성일: 2024-09-23, 작성내용: 접근모드를 공유모드로 전환 */ | ||||
| 				using (FileStream fs = new FileStream(File[TableIndex - 1].FullName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) | ||||
| 				using (StreamWriter writer = new StreamWriter(fs)) | ||||
| 				{ writer.Write(Header.ToString()); }				 | ||||
|             } | ||||
|  | ||||
|             StrBuf[TableIndex - 1].AppendLine("\t" + time.ToFileTime().ToString() + buffers.ToString()); | ||||
|  | ||||
|             ////4kb 단위로 파일을 기록한다. | ||||
|             if (StrBuf[TableIndex - 1].Length > 4096) ////실제파일 기록은 5초마다 한다. | ||||
|             { | ||||
|                 //File[TableIndex - 1].AppendText(StrBuf[TableIndex - 1]);  // 이전은 단독모드 | ||||
|                 /* 작성자: 이재웅, 작성일: 2024-09-23, 작성내용: 접근모드를 공유모드로 전환 */ | ||||
|                 using (FileStream fs = new FileStream(File[TableIndex - 1].FullName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite)) | ||||
|                 using (StreamWriter writer = new StreamWriter(fs)) | ||||
|                 { writer.Write(StrBuf[TableIndex - 1].ToString()); }				 | ||||
| 				 | ||||
|                 StrBuf[TableIndex - 1].Clear(); | ||||
|             } | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         ~CFDB() | ||||
|         { | ||||
|             ////버퍼에 남아잇는 데이터를 기록한다. | ||||
|             for (int i = 0; i < MaxCount; i++) | ||||
|             { | ||||
|                 if (StrBuf[i].Length > 0) | ||||
|                 { | ||||
|                     try | ||||
|                     { | ||||
|                         using (var writer = new StreamWriter(File[i].FullName, true, System.Text.Encoding.Default)) | ||||
|                             writer.Write(StrBuf[i].ToString());// | ||||
|                     } | ||||
|                     catch { } | ||||
|                 } | ||||
|                 StrBuf[i].Clear(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 저장폴더내에 존재하는 날짜정보를 반환합니다. | ||||
|         /// </summary> | ||||
|         /// <returns></returns> | ||||
|         /// <remarks></remarks> | ||||
|         //public List<string> GetDateList() | ||||
|         //{ | ||||
|         //	List<string> REtval = new List<string>(); | ||||
|  | ||||
|         //	System.IO.DirectoryInfo BDI = new System.IO.DirectoryInfo(_BaseDir); | ||||
|         //	foreach (System.IO.DirectoryInfo Fd_Year in BDI.GetDirectories()) | ||||
|         //	{ | ||||
|         //		foreach (System.IO.DirectoryInfo FD_Mon in Fd_Year.GetDirectories()) | ||||
|         //		{ | ||||
|         //			foreach (System.IO.DirectoryInfo Fd_Day in FD_Mon.GetDirectories()) | ||||
|         //			{ | ||||
|         //				if (Fd_Day.GetFiles().Length > 0) | ||||
|         //				{ | ||||
|         //					REtval.Add(Fd_Year.Name + FD_Mon.Name + Fd_Day.Name); | ||||
|         //				} | ||||
|         //			} | ||||
|         //		} | ||||
|         //	} | ||||
|         //	REtval.Sort(); | ||||
|         //	return REtval; | ||||
|         //} | ||||
|  | ||||
|         //public enum eTableList | ||||
|         //{ | ||||
|         //	DATAB1 = 1, | ||||
|         //	DATAB2 = 2, | ||||
|         //	DATAB3 = 3, | ||||
|         //	DATAB4 = 4, | ||||
|         //	DATAB5 = 5 | ||||
|         //} | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 저장폴더내에 존재하는 날짜정보를 반환합니다. | ||||
|         /// </summary> | ||||
|         /// <param name="tablename">찾고자하는테이블명(파일은 시_테이블명.txt로 되어있다.</param> | ||||
|         /// <returns></returns> | ||||
|         /// <remarks></remarks> | ||||
|         //public List<string> GetDateList(eTableList tablename) | ||||
|         //{ | ||||
|         //	List<string> REtval = new List<string>(); | ||||
|  | ||||
|         //	System.IO.DirectoryInfo BDI = new System.IO.DirectoryInfo(_BaseDir); | ||||
|         //	foreach (System.IO.DirectoryInfo Fd_Year in BDI.GetDirectories()) | ||||
|         //	{ | ||||
|         //		foreach (System.IO.DirectoryInfo FD_Mon in Fd_Year.GetDirectories()) | ||||
|         //		{ | ||||
|         //			foreach (System.IO.DirectoryInfo Fd_Day in FD_Mon.GetDirectories()) | ||||
|         //			{ | ||||
|         //				if (Fd_Day.GetFiles("*_" + tablename.ToString() +".txt").Length > 0) | ||||
|         //				{ | ||||
|         //					REtval.Add(Fd_Year.Name + FD_Mon.Name + Fd_Day.Name); | ||||
|         //				} | ||||
|         //			} | ||||
|         //		} | ||||
|         //	} | ||||
|         //	REtval.Sort(); | ||||
|         //	return REtval; | ||||
|         //} | ||||
|  | ||||
|         public List<(int Year, int Month)> GetAvailableDates() | ||||
|         { | ||||
|             var availableDates = new List<(int Year, int Month)>(); | ||||
|  | ||||
|             if (!Directory.Exists(_BaseDir)) | ||||
|                 return availableDates; | ||||
|  | ||||
|             // Get all year directories | ||||
|             foreach (var yearDir in Directory.GetDirectories(_BaseDir)) | ||||
|             { | ||||
|                 if (int.TryParse(Path.GetFileName(yearDir), out int year)) | ||||
|                 { | ||||
|                     // Get all month directories within the year directory | ||||
|                     foreach (var monthDir in Directory.GetDirectories(yearDir)) | ||||
|                     { | ||||
|                         if (int.TryParse(Path.GetFileName(monthDir), out int month)) | ||||
|                         { | ||||
|                             availableDates.Add((year, month)); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             return availableDates; | ||||
|         } | ||||
|  | ||||
|         ////기간내 존재하는 파일을 반환합니다(테이블단위) | ||||
|         public List<string> GetfileS(string table, DateTime sd, DateTime ed) | ||||
|         { | ||||
|             List<string> REtval = new List<string>(); | ||||
|             int SttYear = sd.Year; | ||||
|             int EndYear = ed.Year; | ||||
|             if (EndYear < SttYear) return REtval; | ||||
|  | ||||
|             int SttMonth = sd.Month; | ||||
|             int EndMonth = ed.Month; | ||||
|  | ||||
|             int SttDay = sd.Day; | ||||
|             int EndDay = ed.Day; | ||||
|  | ||||
|             int si = int.Parse(sd.ToString("yyyyMMdd")); | ||||
|             int ei = int.Parse(ed.ToString("yyyyMMdd")); | ||||
|             bool SameDay = si == ei ? true : false; | ||||
|  | ||||
|             //for (int dayinfo = si; dayinfo <= ei; dayinfo++) | ||||
|             //{ | ||||
|             //    string dayStr = dayinfo.ToString(); | ||||
|             //    string dirname = Path.Combine(_BaseDir, dayStr.Substring(0, 4), dayStr.Substring(4, 2), dayStr.Substring(6)); | ||||
|             //    var dir = new DirectoryInfo(dirname); | ||||
|             //    if (!dir.Exists) continue; | ||||
|  | ||||
|             //    int startHour = (dayinfo == si) ? int.Parse(sd.ToString("HH")) : 0; | ||||
|             //    int endHour = (dayinfo == ei) ? int.Parse(ed.ToString("HH")) : 23; | ||||
|  | ||||
|             //    // 동일 날짜인 경우 | ||||
|             //    if (SameDay) | ||||
|             //    { | ||||
|             //        startHour = int.Parse(sd.ToString("HH")); | ||||
|             //        endHour = int.Parse(ed.ToString("HH")); | ||||
|             //    } | ||||
|  | ||||
|             //    for (int hourinfo = startHour; hourinfo <= endHour; hourinfo++) | ||||
|             //    { | ||||
|             //        string filename = Path.Combine(dir.FullName, $"{hourinfo:00}_{table}.txt"); | ||||
|             //        if (System.IO.File.Exists(filename)) | ||||
|             //        { | ||||
|             //            REtval.Add(filename); | ||||
|             //        } | ||||
|             //    } | ||||
|             //} | ||||
|  | ||||
|  | ||||
|             ////20140101 | ||||
|             for (int dayinfo = si; dayinfo <= ei; dayinfo++) | ||||
|             { | ||||
|                 string DayStr = dayinfo.ToString(); | ||||
|  | ||||
|                 // Ex) dirname = ..\bin\Debug\Database\volt\2024\09\01 | ||||
|                 var dirname = Path.Combine(_BaseDir, DayStr.Substring(0, 4), DayStr.Substring(4, 2), DayStr.Substring(6)); | ||||
|                 var dir = new System.IO.DirectoryInfo(dirname); | ||||
|                 if (!dir.Exists) continue; | ||||
|  | ||||
|                 ////폴더가 존재하므로 해당 테이블파일이 존재하는지 확인한다 | ||||
|                 if (SameDay) | ||||
|                 { | ||||
|                     ////동일날짜라면 해당 시간대만 조회하면됨 | ||||
|                     for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++) | ||||
|                     { | ||||
|                         string fn = dir.FullName + "\\" + (hourinfo).ToString("00") + "_" + table + ".txt"; | ||||
|                         if (System.IO.File.Exists(fn)) | ||||
|                             REtval.Add(fn); | ||||
|                     } | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     if (dayinfo == si) ////시작일이라면 시작시간부터 24시까지 이다. | ||||
|                     { | ||||
|                         for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= 23; hourinfo++) | ||||
|                         { | ||||
|                             string fn = dir.FullName + "\\" + (hourinfo).ToString("00") + "_" + table + ".txt"; | ||||
|                             if (System.IO.File.Exists(fn)) | ||||
|                                 REtval.Add(fn); | ||||
|                         } | ||||
|                     } | ||||
|                     else if (dayinfo == ei) ////종료일이라면 1~ 종료시까지이다. | ||||
|                     { | ||||
|                         for (int hourinfo = 0; hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++) | ||||
|                         { | ||||
|                             string fn = dir.FullName + "\\" + (hourinfo).ToString("00") + "_" + table + ".txt"; | ||||
|                             if (System.IO.File.Exists(fn)) | ||||
|                                 REtval.Add(fn); | ||||
|                         } | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         ////중간에 끼어있는 날짜라면 1~24모두가 속한다. | ||||
|                         for (int hourinfo = 0; hourinfo <= 23; hourinfo++) | ||||
|                         { | ||||
|                             /* 주석일: 2024-09-20 | 주석내용: 파일명 설명 | 주석자: 이재웅 | ||||
|                              *  | ||||
|                              * 파일명이 '08_DATAB1.txt'라면 | ||||
|                              * 08 : 시간 | ||||
|                              * _DATAB : 고정값 | ||||
|                              * 1 : 채널 | ||||
|                              */ | ||||
|                             string fn = dir.FullName + "\\" + (hourinfo).ToString("00") + "_" + table + ".txt"; | ||||
|                             if (System.IO.File.Exists(fn)) | ||||
|                                 REtval.Add(fn); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             REtval.Sort(); | ||||
|             return REtval; | ||||
|         } | ||||
|  | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										195
									
								
								Viewer/TrendViewer/Class/CFDBA.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,195 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using AR; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public class CFDBA | ||||
|     { | ||||
|         string _BaseDir; | ||||
|  | ||||
|         public CFDBA(params string[] dirarrays) | ||||
|         { | ||||
|             var dir = System.IO.Path.Combine(dirarrays); | ||||
|             _BaseDir = dir; | ||||
|             if (System.IO.Directory.Exists(_BaseDir) == false) | ||||
|             { | ||||
|                 System.IO.Directory.CreateDirectory(_BaseDir); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         ////지정한 기간내 파일의 존재여부를 확인합니다. | ||||
|         public int GetfileCount(DateTime sd, DateTime ed) | ||||
|         { | ||||
|             return GetfileS(sd, ed).Count; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         ////기간내 존재하는 파일을 반환합니다(테이블단위) | ||||
|         public List<string> GetfileS(DateTime sd, DateTime ed) | ||||
|         { | ||||
|             List<string> REtval = new List<string>(); | ||||
|             int SttYear = sd.Year; | ||||
|             int EndYear = ed.Year; | ||||
|             if (EndYear < SttYear) | ||||
|             { | ||||
|                 return REtval; | ||||
|             } | ||||
|  | ||||
|             int SttMonth = sd.Month; | ||||
|             int EndMonth = ed.Month; | ||||
|  | ||||
|             int SttDay = sd.Day; | ||||
|             int EndDay = ed.Day; | ||||
|  | ||||
|             int si = System.Convert.ToInt32(sd.ToString("yyyyMMdd")); | ||||
|             int ei = System.Convert.ToInt32(ed.ToString("yyyyMMdd")); | ||||
|             bool SameDay = si == ei ? true : false; | ||||
|  | ||||
|             ////20140101 | ||||
|             for (int dayinfo = si; dayinfo <= ei; dayinfo++) | ||||
|             { | ||||
|                 string DayStr = dayinfo.ToString(); | ||||
|                 System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(_BaseDir + "\\" + DayStr.Substring(0, 4) + "\\" + DayStr.Substring(4, 2) + "\\" + DayStr.Substring(6)); | ||||
|                 if (!dir.Exists) | ||||
|                 { | ||||
|                     continue; | ||||
|                 } | ||||
|                 ////폴더가 존재하므로 해당 테이블파일이 존재하는지 확인한다 | ||||
|  | ||||
|                 if (SameDay) | ||||
|                 { | ||||
|                     ////동일날짜라면 해당 시간대만 조회하면됨 | ||||
|                     for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++) | ||||
|                     { | ||||
|                         string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt"; | ||||
|                         if (System.IO.File.Exists(fn)) | ||||
|                         { | ||||
|                             REtval.Add(fn); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     if (dayinfo == si) ////시작일이라면 시작시간부터 24시까지 이다. | ||||
|                     { | ||||
|                         for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= 23; hourinfo++) | ||||
|                         { | ||||
|                             string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt"; | ||||
|                             if (System.IO.File.Exists(fn)) | ||||
|                             { | ||||
|                                 REtval.Add(fn); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     else if (dayinfo == ei) ////종료일이라면 1~ 종료시까지이다. | ||||
|                     { | ||||
|                         for (int hourinfo = 0; hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++) | ||||
|                         { | ||||
|                             string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt"; | ||||
|                             if (System.IO.File.Exists(fn)) | ||||
|                             { | ||||
|                                 REtval.Add(fn); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         ////중간에 끼어있는 날짜라면 1~24모두가 속한다. | ||||
|                         for (int hourinfo = 0; hourinfo <= 23; hourinfo++) | ||||
|                         { | ||||
|                             string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") + ".txt"; | ||||
|                             if (System.IO.File.Exists(fn)) | ||||
|                             { | ||||
|                                 REtval.Add(fn); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             REtval.Sort(); | ||||
|             return REtval; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 이번달이후의 데이터를 조회합니다. | ||||
|         /// </summary> | ||||
|         /// <param name="ch"></param> | ||||
|         /// <returns></returns> | ||||
|         /// <remarks></remarks> | ||||
|         public DocumentElement.ALARMDataTable GetAlarmData(int ch) | ||||
|         { | ||||
|             ////이번달이후의 데이터를 가져온다. | ||||
|             DateTime sd = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01 00:00:00")); | ||||
|             DateTime ed = DateTime.Now; | ||||
|             return GetAlarmData(ch, sd, ed); | ||||
|         } | ||||
|  | ||||
|         public DocumentElement.ALARMDataTable GetAlarmData(DateTime sd, DateTime ed) | ||||
|         { | ||||
|             return GetAlarmData(-1, sd, ed); | ||||
|         } | ||||
|  | ||||
|         public DocumentElement.ALARMDataTable GetAlarmData(DateTime sd, DateTime ed, int rtypes, int rtypee) | ||||
|         { | ||||
|             return GetAlarmData(-1, sd, ed, rtypes, rtypee); | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 지정된시간사이의 데이터를 조회합니다. | ||||
|         /// </summary> | ||||
|         /// <param name="stime">시작시간(20120319161800)</param> | ||||
|         /// <param name="etime">종료시간(년월일시분초)</param> | ||||
|         /// <returns></returns> | ||||
|         /// <remarks></remarks> | ||||
|         public DocumentElement.ALARMDataTable GetAlarmData(int ch, DateTime sd, DateTime ed, int rtypes = -1, int rtypee = -1) | ||||
|         { | ||||
|             List<string> files = GetfileS(sd, ed); | ||||
|  | ||||
|             DocumentElement.ALARMDataTable alaramDT = new DocumentElement.ALARMDataTable(); | ||||
|             foreach (string fn in files) | ||||
|             { | ||||
|                 foreach (string line in System.IO.File.ReadAllLines(fn)) | ||||
|                 { | ||||
|                     if (line.Trim() == "")  continue; | ||||
|  | ||||
|                     string[] buf = line.Split(System.Convert.ToChar("\t")); | ||||
|                     if (buf.GetUpperBound(0) < 8)  continue; ////데이터수량이 안맞다. | ||||
|  | ||||
|                     string chStr = buf[1]; | ||||
|                     if (chStr.IsNumeric() == false)   continue; ////채널정보가 일치하지 않는경우 | ||||
|  | ||||
|                     if (ch > -1 && chStr != ch.ToString()) continue; | ||||
|  | ||||
|                     if (rtypes != -1 && rtypee != -1) ////rtype도 검색한다. | ||||
|                     { | ||||
|                         if (buf[2] != rtypes.ToString() && buf[2] != rtypee.ToString())  continue; | ||||
|                     } | ||||
|  | ||||
|                     var newdr = alaramDT.NewALARMRow(); | ||||
|                     newdr.ATIME = buf[1]; | ||||
|                     newdr.CH = short.Parse(buf[2]); | ||||
|                     newdr.RTYPE = short.Parse(buf[3]); | ||||
|                     newdr.VOLT = float.Parse(buf[4]); | ||||
|                     newdr.ATYPE = short.Parse(buf[5]); | ||||
|                     newdr.MAXVOLT = float.Parse(buf[6]); | ||||
|                     newdr.MINVOLT = float.Parse(buf[7]); | ||||
|                     newdr.AM = buf[8]; | ||||
|                     newdr.AM2 = buf[9]; | ||||
|                     alaramDT.AddALARMRow(newdr); | ||||
|                 } | ||||
|             } | ||||
|             alaramDT.AcceptChanges(); | ||||
|             return alaramDT; | ||||
|         } | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										215
									
								
								Viewer/TrendViewer/Class/CFDBK.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,215 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using System.Text; | ||||
| using System.IO; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	public class CFDBK | ||||
| 	{ | ||||
| 		string _BaseDir; | ||||
| 		 | ||||
| 		System.Text.StringBuilder StrBuf; ////데이터버퍼 | ||||
| 		DateTime LastTime; ////데이터시간 | ||||
| 		System.IO.FileInfo File; ////데이터파일정보 | ||||
| 		 | ||||
| 		public CFDBK(params string[] dirarrays) | ||||
|         { | ||||
|             var dir = System.IO.Path.Combine(dirarrays); | ||||
|             _BaseDir = dir; | ||||
| 			if (System.IO.Directory.Exists(_BaseDir) == false) | ||||
| 			{ | ||||
| 				System.IO.Directory.CreateDirectory(_BaseDir); | ||||
| 			} | ||||
| 			 | ||||
| 			StrBuf = new System.Text.StringBuilder(); | ||||
| 			LastTime = DateTime.Now; | ||||
| 			File = null; | ||||
| 		} | ||||
| 		 | ||||
| 		////지정한 기간내 파일의 존재여부를 확인합니다. | ||||
| 		public int GetfileCount(DateTime sd, DateTime ed) | ||||
| 		{ | ||||
| 			return GetfileS(sd, ed).Count; | ||||
| 		} | ||||
| 		 | ||||
| 		/// <summary> | ||||
| 		/// 데이터를 기록합니다. | ||||
| 		/// </summary> | ||||
| 		/// <param name="time">기록시간(파일명이 결정됨)</param> | ||||
| 		/// <param name="buffer">기록된데이터</param> | ||||
| 		/// <param name="Header">데이터의헤더(신규파일생성시)</param> | ||||
| 		/// <returns></returns> | ||||
| 		/// <remarks></remarks> | ||||
| 		public bool InsertData(DateTime time, string buffer, StringBuilder Header) | ||||
| 		{ | ||||
| 			string DayStr = time.ToString("yyyyMMdd"); | ||||
| 			//Dim TableIndex As Byte = table.Substring(5, 1) | ||||
| 			 | ||||
| 			////해당데이터의 시간과 파일정보를 기록 | ||||
| 			LastTime = time; | ||||
| 			File = new System.IO.FileInfo(_BaseDir + "\\" + DayStr.Substring(0, 4) + "\\" + DayStr.Substring(4, 2) + "\\" + DayStr.Substring(6) + "\\" +  | ||||
| 																															(time.Hour + 1).ToString("00") +".txt"); | ||||
| 			if (!File.Directory.Exists) | ||||
| 			{ | ||||
| 				File.Directory.Create(); | ||||
| 			} | ||||
| 			 | ||||
| 			////파일이 없다면 제목줄을 생성해준다. | ||||
| 			if (!File.Exists) | ||||
| 			{ | ||||
|                 //File.WriteText(Header, true);		// 이전은 단독모드 | ||||
|                 /* 작성자: 이재웅, 작성일: 2024-09-23, 작성내용: 접근모드를 공유모드로 전환 */ | ||||
|                 using (FileStream fs = new FileStream(File.FullName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) | ||||
|                 using (StreamWriter writer = new StreamWriter(fs)) | ||||
|                 { writer.WriteLine(Header); }				 | ||||
| 			} | ||||
| 			 | ||||
| 			StrBuf.AppendLine(System.Convert.ToString("\t" + time.ToFileTime().ToString() + buffer)); | ||||
| 			 | ||||
| 			////4kb 단위로 파일을 기록한다. | ||||
| 			if (StrBuf.Length > 500) ////실제파일 기록은 5초마다 한다. | ||||
| 			{ | ||||
|                 //File.WriteText(StrBuf, true);		// 이전은 단독모드 | ||||
|                 /* 작성자: 이재웅, 작성일: 2024-09-23, 작성내용: 접근모드를 공유모드로 전환 */ | ||||
|                 using (FileStream fs = new FileStream(File.FullName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite)) | ||||
|                 using (StreamWriter writer = new StreamWriter(fs)) | ||||
|                 { writer.Write(StrBuf.ToString()); } | ||||
| 				 | ||||
| 				StrBuf.Clear(); | ||||
| 			} | ||||
| 			 | ||||
| 			return true; | ||||
| 		} | ||||
| 		 | ||||
| 		~CFDBK() | ||||
| 		{ | ||||
| 			if (StrBuf.Length > 0) File.WriteText(StrBuf, true); | ||||
| 			StrBuf.Clear(); | ||||
| 			 | ||||
| 		} | ||||
| 		 | ||||
| 		/// <summary> | ||||
| 		/// 저장폴더내에 존재하는 날짜정보를 반환합니다. | ||||
| 		/// </summary> | ||||
| 		/// <returns></returns> | ||||
| 		/// <remarks></remarks> | ||||
| 		public List<string> GetDateList() | ||||
| 		{ | ||||
| 			List<string> REtval = new List<string>(); | ||||
| 			 | ||||
| 			System.IO.DirectoryInfo BDI = new System.IO.DirectoryInfo(_BaseDir); | ||||
| 			foreach (System.IO.DirectoryInfo Fd_Year in BDI.GetDirectories()) | ||||
| 			{ | ||||
| 				foreach (System.IO.DirectoryInfo FD_Mon in Fd_Year.GetDirectories()) | ||||
| 				{ | ||||
| 					foreach (System.IO.DirectoryInfo Fd_Day in FD_Mon.GetDirectories()) | ||||
| 					{ | ||||
| 						if (Fd_Day.GetFiles().Length > 0) | ||||
| 						{ | ||||
| 							REtval.Add(Fd_Year.Name + FD_Mon.Name + Fd_Day.Name); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 			 | ||||
| 			REtval.Sort(); | ||||
| 			return REtval; | ||||
| 		} | ||||
| 		 | ||||
| 		 | ||||
| 		 | ||||
| 		////기간내 존재하는 파일을 반환합니다(테이블단위) | ||||
| 		public List<string> GetfileS(DateTime sd, DateTime ed) | ||||
| 		{ | ||||
| 			List<string> REtval = new List<string>(); | ||||
| 			int SttYear = sd.Year; | ||||
| 			int EndYear = ed.Year; | ||||
| 			if (EndYear < SttYear) | ||||
| 			{ | ||||
| 				return REtval; | ||||
| 			} | ||||
| 			 | ||||
| 			int SttMonth = sd.Month; | ||||
| 			int EndMonth = ed.Month; | ||||
| 			 | ||||
| 			int SttDay = sd.Day; | ||||
| 			int EndDay = ed.Day; | ||||
| 			 | ||||
| 			int si = System.Convert.ToInt32(sd.ToString("yyyyMMdd")); | ||||
| 			int ei = System.Convert.ToInt32(ed.ToString("yyyyMMdd")); | ||||
| 			bool SameDay = si == ei ? true : false; | ||||
| 			 | ||||
| 			////20140101 | ||||
| 			for (int dayinfo = si; dayinfo <= ei; dayinfo++) | ||||
| 			{ | ||||
| 				string DayStr = dayinfo.ToString(); | ||||
| 				System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(_BaseDir + "\\" + DayStr.Substring(0, 4) + "\\" + DayStr.Substring(4, 2) + "\\" + DayStr.Substring(6)); | ||||
| 				if (!dir.Exists) | ||||
| 				{ | ||||
| 					continue; | ||||
| 				} | ||||
| 				////폴더가 존재하므로 해당 테이블파일이 존재하는지 확인한다 | ||||
| 				 | ||||
| 				if (SameDay) | ||||
| 				{ | ||||
| 					////동일날짜라면 해당 시간대만 조회하면됨 | ||||
| 					for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++) | ||||
| 					{ | ||||
| 						string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") +".txt"; | ||||
| 						if (System.IO.File.Exists(fn)) | ||||
| 						{ | ||||
| 							REtval.Add(fn); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					if (dayinfo == si) ////시작일이라면 시작시간부터 24시까지 이다. | ||||
| 					{ | ||||
| 						for (int hourinfo = int.Parse(sd.ToString("HH")); hourinfo <= 23; hourinfo++) | ||||
| 						{ | ||||
| 							string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") +".txt"; | ||||
| 							if (System.IO.File.Exists(fn)) | ||||
| 							{ | ||||
| 								REtval.Add(fn); | ||||
| 							} | ||||
| 						} | ||||
| 					} | ||||
| 					else if (dayinfo == ei) ////종료일이라면 1~ 종료시까지이다. | ||||
| 					{ | ||||
| 						for (int hourinfo = 0; hourinfo <= int.Parse(ed.ToString("HH")); hourinfo++) | ||||
| 						{ | ||||
| 							string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") +".txt"; | ||||
| 							if (System.IO.File.Exists(fn)) | ||||
| 							{ | ||||
| 								REtval.Add(fn); | ||||
| 							} | ||||
| 						} | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						////중간에 끼어있는 날짜라면 1~24모두가 속한다. | ||||
| 						for (int hourinfo = 0; hourinfo <= 23; hourinfo++) | ||||
| 						{ | ||||
| 							string fn = dir.FullName + "\\" + (hourinfo + 1).ToString("00") +".txt"; | ||||
| 							if (System.IO.File.Exists(fn)) | ||||
| 							{ | ||||
| 								REtval.Add(fn); | ||||
| 							} | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 			REtval.Sort(); | ||||
| 			return REtval; | ||||
| 		} | ||||
| 		 | ||||
| 	} | ||||
| 	 | ||||
| } | ||||
							
								
								
									
										40
									
								
								Viewer/TrendViewer/Class/ChartData.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,40 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public class ChartData | ||||
|     { | ||||
|         public double Volt { get; set; } | ||||
|         public DateTime Time { get; set; } | ||||
|     } | ||||
|     public class ChartListData | ||||
|     { | ||||
|         public List<int> ChannelList;    //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>캰 ä<><C3A4> <20><><EFBFBD><EFBFBD> | ||||
|         public List<string> FileList; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>캰 <20><><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD> | ||||
|         public ChartListData() | ||||
|         { | ||||
|             ChannelList = new List<int>();    //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>캰 ä<><C3A4> <20><><EFBFBD><EFBFBD> | ||||
|             FileList = new List<string>(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>캰 <20><><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD> | ||||
|  | ||||
|         } | ||||
|         /// <summary> | ||||
|         /// ä<><C3A4> <20><> <20><><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ | ||||
|         /// </summary> | ||||
|         public void Clear() | ||||
|         { | ||||
|             ChannelList.Clear(); | ||||
|             FileList.Clear(); | ||||
|         } | ||||
|  | ||||
|         public override string ToString() | ||||
|         { | ||||
|             return $"{this.ChannelList.Count}Ch,{this.FileList.Count}Files"; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										19
									
								
								Viewer/TrendViewer/Class/EventArgs.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     class RemoteCommand : EventArgs | ||||
|     { | ||||
|         public rCommand Command; | ||||
|         public object Data; | ||||
|         public RemoteCommand(rCommand cmd, object data) | ||||
|         { | ||||
|             Command = cmd; | ||||
|             Data = data; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										37
									
								
								Viewer/TrendViewer/Class/StructAndEnum.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,37 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|      | ||||
|     // struct SCell | ||||
|     //{ | ||||
|     //    public string name; | ||||
|     //    public Color backcolor; | ||||
|     //    public short idx; | ||||
|     //    public string group; | ||||
|     //} | ||||
|  | ||||
|     enum rCommand | ||||
|     { | ||||
|         ValueUpdate, | ||||
|         DisableUIItems, | ||||
|         EnableUIItems, | ||||
|         StateMessage, | ||||
|         UpdateAlarmSetting, | ||||
|         SaveGroupClass, | ||||
|         DAQConnected, | ||||
|         DAQDisconnected, | ||||
|         DAQTryConnect, | ||||
|         RefreshChart, | ||||
|     } | ||||
|     enum ConnState | ||||
|     { | ||||
|         Disconnected, | ||||
|         Connected, | ||||
|         TryConnect, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										1380
									
								
								Viewer/TrendViewer/DS1.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										9
									
								
								Viewer/TrendViewer/DS1.xsc
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,9 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!--<autogenerated> | ||||
|      This code was generated by a tool. | ||||
|      Changes to this file may cause incorrect behavior and will be lost if | ||||
|      the code is regenerated. | ||||
| </autogenerated>--> | ||||
| <DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|   <TableUISettings /> | ||||
| </DataSetUISetting> | ||||
							
								
								
									
										42
									
								
								Viewer/TrendViewer/DS1.xsd
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,42 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <xs:schema id="DS1" targetNamespace="http://tempuri.org/DS1.xsd" xmlns:mstns="http://tempuri.org/DS1.xsd" xmlns="http://tempuri.org/DS1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified"> | ||||
|   <xs:annotation> | ||||
|     <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|       <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|         <Connections /> | ||||
|         <Tables /> | ||||
|         <Sources /> | ||||
|       </DataSource> | ||||
|     </xs:appinfo> | ||||
|   </xs:annotation> | ||||
|   <xs:element name="DS1" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DS1" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DS1"> | ||||
|     <xs:complexType> | ||||
|       <xs:choice minOccurs="0" maxOccurs="unbounded"> | ||||
|         <xs:element name="channel" msprop:Generator_RowEvHandlerName="channelRowChangeEventHandler" msprop:Generator_RowDeletedName="channelRowDeleted" msprop:Generator_RowDeletingName="channelRowDeleting" msprop:Generator_RowEvArgName="channelRowChangeEvent" msprop:Generator_TablePropName="channel" msprop:Generator_RowChangedName="channelRowChanged" msprop:Generator_UserTableName="channel" msprop:Generator_RowChangingName="channelRowChanging" msprop:Generator_RowClassName="channelRow" msprop:Generator_TableClassName="channelDataTable" msprop:Generator_TableVarName="tablechannel"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="use" msprop:Generator_ColumnPropNameInTable="useColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="use" msprop:Generator_UserColumnName="use" msprop:Generator_ColumnVarNameInTable="columnuse" type="xs:boolean" minOccurs="0" /> | ||||
|               <xs:element name="cname" msprop:Generator_ColumnPropNameInTable="cnameColumn" msprop:nullValue="_throw" msprop:Generator_ColumnPropNameInRow="cname" msprop:Generator_UserColumnName="cname" msprop:Generator_ColumnVarNameInTable="columncname" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="c1" msprop:Generator_ColumnPropNameInTable="c1Column" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="c1" msprop:Generator_UserColumnName="c1" msprop:Generator_ColumnVarNameInTable="columnc1" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="c2" msprop:Generator_ColumnPropNameInTable="c2Column" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="c2" msprop:Generator_UserColumnName="c2" msprop:Generator_ColumnVarNameInTable="columnc2" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="cc" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="cc" msprop:Generator_UserColumnName="cc" msprop:Generator_ColumnVarNameInTable="columncc" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:nullValue="_throw" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="tidx" msprop:Generator_ColumnPropNameInTable="tidxColumn" msprop:nullValue="_throw" msprop:Generator_ColumnPropNameInRow="tidx" msprop:Generator_UserColumnName="tidx" msprop:Generator_ColumnVarNameInTable="columntidx" type="xs:int" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="group" msprop:Generator_RowEvHandlerName="groupRowChangeEventHandler" msprop:Generator_RowDeletedName="groupRowDeleted" msprop:Generator_RowDeletingName="groupRowDeleting" msprop:Generator_RowEvArgName="groupRowChangeEvent" msprop:Generator_TablePropName="group" msprop:Generator_RowChangedName="groupRowChanged" msprop:Generator_UserTableName="group" msprop:Generator_RowChangingName="groupRowChanging" msprop:Generator_RowClassName="groupRow" msprop:Generator_TableClassName="groupDataTable" msprop:Generator_TableVarName="tablegroup"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="cname" msprop:Generator_ColumnPropNameInTable="cnameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cname" msprop:Generator_UserColumnName="cname" msprop:Generator_ColumnVarNameInTable="columncname" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:nullValue="_throw" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="gname" msprop:Generator_ColumnPropNameInTable="gnameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gname" msprop:Generator_UserColumnName="gname" msprop:Generator_ColumnVarNameInTable="columngname" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="rname" msprop:Generator_ColumnPropNameInTable="rnameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="rname" msprop:Generator_UserColumnName="rname" msprop:Generator_ColumnVarNameInTable="columnrname" type="xs:string" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|       </xs:choice> | ||||
|     </xs:complexType> | ||||
|   </xs:element> | ||||
| </xs:schema> | ||||
							
								
								
									
										13
									
								
								Viewer/TrendViewer/DS1.xss
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,13 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!--<autogenerated> | ||||
|      This code was generated by a tool to store the dataset designer's layout information. | ||||
|      Changes to this file may cause incorrect behavior and will be lost if | ||||
|      the code is regenerated. | ||||
| </autogenerated>--> | ||||
| <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> | ||||
|   <Shapes> | ||||
|     <Shape ID="DesignTable:channel" ZOrder="2" X="180" Y="301" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" /> | ||||
|     <Shape ID="DesignTable:group" ZOrder="1" X="91" Y="571" Height="124" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" /> | ||||
|   </Shapes> | ||||
|   <Connectors /> | ||||
| </DiagramLayout> | ||||
							
								
								
									
										68
									
								
								Viewer/TrendViewer/Dialog/Frm_SMsg.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,68 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	partial class Frm_SMsg : System.Windows.Forms.Form | ||||
| 	{ | ||||
| 		 | ||||
| 		//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다. | ||||
| 		[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing) | ||||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| 				if (disposing && components != null) | ||||
| 				{ | ||||
| 					components.Dispose(); | ||||
| 				} | ||||
| 			} | ||||
| 			finally | ||||
| 			{ | ||||
| 				base.Dispose(disposing); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		//Windows Form 디자이너에 필요합니다. | ||||
| 		private System.ComponentModel.Container components = null; | ||||
| 		 | ||||
| 		//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다. | ||||
| 		//수정하려면 Windows Form 디자이너를 사용하십시오. | ||||
| 		//코드 편집기를 사용하여 수정하지 마십시오. | ||||
| 		[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent() | ||||
| 		{ | ||||
| 			this.Label1 = new System.Windows.Forms.Label(); | ||||
| 			this.SuspendLayout(); | ||||
| 			// | ||||
| 			//Label1 | ||||
| 			// | ||||
| 			this.Label1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
| 			this.Label1.Location = new System.Drawing.Point(0, 0); | ||||
| 			this.Label1.Name = "Label1"; | ||||
| 			this.Label1.Size = new System.Drawing.Size(516, 56); | ||||
| 			this.Label1.TabIndex = 0; | ||||
| 			this.Label1.Text = "..."; | ||||
| 			this.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; | ||||
| 			// | ||||
| 			//Frm_SMsg | ||||
| 			// | ||||
| 			this.AutoScaleDimensions = new System.Drawing.SizeF((float) (7.0F), (float) (12.0F)); | ||||
| 			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
| 			this.ClientSize = new System.Drawing.Size(516, 56); | ||||
| 			this.Controls.Add(this.Label1); | ||||
| 			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; | ||||
| 			this.Name = "Frm_SMsg"; | ||||
| 			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
| 			this.Text = "잠시만 기다려주세요"; | ||||
| 			this.ResumeLayout(false); | ||||
| 			 | ||||
| 		} | ||||
| 		internal System.Windows.Forms.Label Label1; | ||||
| 	} | ||||
| 	 | ||||
| } | ||||
							
								
								
									
										18
									
								
								Viewer/TrendViewer/Dialog/Frm_SMsg.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,18 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	public partial class Frm_SMsg | ||||
| 	{ | ||||
| 		public Frm_SMsg() | ||||
| 		{ | ||||
| 			InitializeComponent(); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										120
									
								
								Viewer/TrendViewer/Dialog/Frm_SMsg.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> | ||||
							
								
								
									
										168
									
								
								Viewer/TrendViewer/Dialog/Frm_SelectCH.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,168 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	partial class Frm_SelectCH : System.Windows.Forms.Form | ||||
| 	{ | ||||
| 		 | ||||
| 		//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다. | ||||
| 		[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing) | ||||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| 				if (disposing && components != null) | ||||
| 				{ | ||||
| 					components.Dispose(); | ||||
| 				} | ||||
| 			} | ||||
| 			finally | ||||
| 			{ | ||||
| 				base.Dispose(disposing); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		//Windows Form 디자이너에 필요합니다. | ||||
| 		private System.ComponentModel.Container components = null; | ||||
| 		 | ||||
| 		//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다. | ||||
| 		//수정하려면 Windows Form 디자이너를 사용하십시오. | ||||
| 		//코드 편집기에서는 수정하지 마세요. | ||||
| 		[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent() | ||||
| 		{ | ||||
|             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_SelectCH)); | ||||
|             this.Button1 = new System.Windows.Forms.Button(); | ||||
|             this.Panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.Button4 = new System.Windows.Forms.Button(); | ||||
|             this.Button3 = new System.Windows.Forms.Button(); | ||||
|             this.Button2 = new System.Windows.Forms.Button(); | ||||
|             this.CheckedListBox1 = new System.Windows.Forms.ListView(); | ||||
|             this.ColumnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); | ||||
|             this.Panel1.SuspendLayout(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // Button1 | ||||
|             //  | ||||
|             this.Button1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.Button1.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Button1.Location = new System.Drawing.Point(0, 624); | ||||
|             this.Button1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); | ||||
|             this.Button1.Name = "Button1"; | ||||
|             this.Button1.Size = new System.Drawing.Size(388, 101); | ||||
|             this.Button1.TabIndex = 1; | ||||
|             this.Button1.Text = "확인"; | ||||
|             this.Button1.UseVisualStyleBackColor = true; | ||||
|             this.Button1.Click += new System.EventHandler(this.Button1_Click); | ||||
|             //  | ||||
|             // Panel1 | ||||
|             //  | ||||
|             this.Panel1.Controls.Add(this.Button4); | ||||
|             this.Panel1.Controls.Add(this.Button3); | ||||
|             this.Panel1.Controls.Add(this.Button2); | ||||
|             this.Panel1.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.Panel1.Location = new System.Drawing.Point(219, 0); | ||||
|             this.Panel1.Name = "Panel1"; | ||||
|             this.Panel1.Size = new System.Drawing.Size(169, 624); | ||||
|             this.Panel1.TabIndex = 2; | ||||
|             //  | ||||
|             // Button4 | ||||
|             //  | ||||
|             this.Button4.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.Button4.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Button4.Location = new System.Drawing.Point(0, 166); | ||||
|             this.Button4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); | ||||
|             this.Button4.Name = "Button4"; | ||||
|             this.Button4.Size = new System.Drawing.Size(169, 83); | ||||
|             this.Button4.TabIndex = 4; | ||||
|             this.Button4.Text = "선택 반전"; | ||||
|             this.Button4.UseVisualStyleBackColor = true; | ||||
|             this.Button4.Visible = false; | ||||
|             this.Button4.Click += new System.EventHandler(this.Button4_Click); | ||||
|             //  | ||||
|             // Button3 | ||||
|             //  | ||||
|             this.Button3.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.Button3.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Button3.Location = new System.Drawing.Point(0, 83); | ||||
|             this.Button3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); | ||||
|             this.Button3.Name = "Button3"; | ||||
|             this.Button3.Size = new System.Drawing.Size(169, 83); | ||||
|             this.Button3.TabIndex = 3; | ||||
|             this.Button3.Text = "전체 해제"; | ||||
|             this.Button3.UseVisualStyleBackColor = true; | ||||
|             this.Button3.Click += new System.EventHandler(this.Button3_Click); | ||||
|             //  | ||||
|             // Button2 | ||||
|             //  | ||||
|             this.Button2.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.Button2.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Button2.Location = new System.Drawing.Point(0, 0); | ||||
|             this.Button2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); | ||||
|             this.Button2.Name = "Button2"; | ||||
|             this.Button2.Size = new System.Drawing.Size(169, 83); | ||||
|             this.Button2.TabIndex = 2; | ||||
|             this.Button2.Text = "전체 선택"; | ||||
|             this.Button2.UseVisualStyleBackColor = true; | ||||
|             this.Button2.Visible = false; | ||||
|             this.Button2.Click += new System.EventHandler(this.Button2_Click); | ||||
|             //  | ||||
|             // CheckedListBox1 | ||||
|             //  | ||||
|             this.CheckedListBox1.CheckBoxes = true; | ||||
|             this.CheckedListBox1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { | ||||
|             this.ColumnHeader2}); | ||||
|             this.CheckedListBox1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.CheckedListBox1.FullRowSelect = true; | ||||
|             this.CheckedListBox1.GridLines = true; | ||||
|             this.CheckedListBox1.HideSelection = false; | ||||
|             this.CheckedListBox1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.CheckedListBox1.MultiSelect = false; | ||||
|             this.CheckedListBox1.Name = "CheckedListBox1"; | ||||
|             this.CheckedListBox1.Size = new System.Drawing.Size(219, 624); | ||||
|             this.CheckedListBox1.TabIndex = 3; | ||||
|             this.CheckedListBox1.UseCompatibleStateImageBehavior = false; | ||||
|             this.CheckedListBox1.View = System.Windows.Forms.View.Details; | ||||
|             //  | ||||
|             // ColumnHeader2 | ||||
|             //  | ||||
|             this.ColumnHeader2.Text = "Title"; | ||||
|             this.ColumnHeader2.Width = 214; | ||||
|             //  | ||||
|             // Frm_SelectCH | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(388, 725); | ||||
|             this.Controls.Add(this.CheckedListBox1); | ||||
|             this.Controls.Add(this.Panel1); | ||||
|             this.Controls.Add(this.Button1); | ||||
|             this.Font = new System.Drawing.Font("맑은 고딕", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); | ||||
|             this.KeyPreview = true; | ||||
|             this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); | ||||
|             this.MaximizeBox = false; | ||||
|             this.MinimizeBox = false; | ||||
|             this.Name = "Frm_SelectCH"; | ||||
|             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
|             this.Text = "채널 선택"; | ||||
|             this.Load += new System.EventHandler(this.Frm_SelectCH_Load); | ||||
|             this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Frm_SelectCH_KeyDown); | ||||
|             this.Panel1.ResumeLayout(false); | ||||
|             this.ResumeLayout(false); | ||||
|  | ||||
| 		} | ||||
| 		internal Button Button1; | ||||
| 		internal Panel Panel1; | ||||
| 		internal Button Button2; | ||||
| 		internal Button Button4; | ||||
| 		internal Button Button3; | ||||
| 		internal ColumnHeader ColumnHeader2; | ||||
| 		public ListView CheckedListBox1; | ||||
| 	} | ||||
| 	 | ||||
| } | ||||
							
								
								
									
										92
									
								
								Viewer/TrendViewer/Dialog/Frm_SelectCH.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,92 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using AR; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	public partial class Frm_SelectCH | ||||
| 	{ | ||||
| 		 | ||||
| 		public Frm_SelectCH(TrendCtrlII.CChinfo[] lst) | ||||
| 		{ | ||||
| 			 | ||||
| 			// 디자이너에서 이 호출이 필요합니다. | ||||
| 			InitializeComponent(); | ||||
| 			 | ||||
| 			// InitializeComponent() 호출 뒤에 초기화 코드를 추가하세요. | ||||
| 			this.CheckedListBox1.Items.Clear(); | ||||
| 			 | ||||
| 			foreach (var item in lst) | ||||
| 			{ | ||||
| 				ListViewItem lv = this.CheckedListBox1.Items.Add(System.Convert.ToString(item.TITLE)); | ||||
| 				lv.SubItems.Add(item.TITLE.ToString()); | ||||
| 				//lv.SubItems.Add(item.CH) | ||||
| 				lv.Checked = item.Show; | ||||
| 				lv.Tag = item.Idx; | ||||
| 				lv.BackColor = item.Show ? Color.Lime : Color.White; | ||||
| 			} | ||||
|  | ||||
|             CheckedListBox1.ItemChecked += CheckedListBox1_ItemChecked; | ||||
| 		} | ||||
|  | ||||
|         private void CheckedListBox1_ItemChecked(object sender, ItemCheckedEventArgs e) | ||||
|         { | ||||
|             e.Item.BackColor = e.Item.Checked ? Color.Lime : Color.White; | ||||
|         } | ||||
|  | ||||
|         public void Frm_SelectCH_Load(object sender, EventArgs e) | ||||
| 		{ | ||||
| 			 | ||||
| 		} | ||||
| 		 | ||||
| 		public void Frm_SelectCH_KeyDown(object sender, KeyEventArgs e) | ||||
| 		{ | ||||
| 			if (e.KeyCode == Keys.Escape) | ||||
| 			{ | ||||
| 				this.Close(); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		public void Button2_Click(object sender, EventArgs e) | ||||
| 		{ | ||||
| 			foreach (ListViewItem item in CheckedListBox1.Items) | ||||
| 			{ | ||||
| 				item.Checked = true; | ||||
|                 item.BackColor = item.Checked ? Color.Lime : Color.White; | ||||
|             } | ||||
| 		} | ||||
| 		 | ||||
| 		public void Button3_Click(object sender, EventArgs e) | ||||
| 		{ | ||||
| 			foreach (ListViewItem item in CheckedListBox1.Items) | ||||
| 			{ | ||||
| 				item.Checked = false; | ||||
|                 item.BackColor = item.Checked ? Color.Lime : Color.White; | ||||
|             } | ||||
| 		} | ||||
| 		 | ||||
| 		public void Button4_Click(object sender, EventArgs e) | ||||
| 		{ | ||||
| 			foreach (ListViewItem item in CheckedListBox1.Items) | ||||
| 			{ | ||||
| 				item.Checked = !item.Checked; | ||||
|                 item.BackColor = item.Checked ? Color.Lime : Color.White; | ||||
|             } | ||||
| 		} | ||||
| 		 | ||||
| 		public void Button1_Click(object sender, EventArgs e) | ||||
| 		{ | ||||
| 			if (CheckedListBox1.CheckedItems.Count > 10) | ||||
| 			{ | ||||
| 				UTIL.MsgE("최대 10개까지 선택 가능 합니다"); | ||||
| 				return ; | ||||
| 			} | ||||
| 			DialogResult = DialogResult.OK; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										377
									
								
								Viewer/TrendViewer/Dialog/Frm_SelectCH.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,377 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         AAABAAMAMDAAAAEAIACoJQAANgAAACAgAAABACAAqBAAAN4lAAAQEAAAAQAgAGgEAACGNgAAKAAAADAA | ||||
|         AABgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcrvQCHK70BByu | ||||
|         9AYcrvQKHK70DByu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu | ||||
|         9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu | ||||
|         9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9AwcrvQKHK70Bxyu9AQcrvQCAAAAAByu | ||||
|         9AIcrvQGHK70DByu9BUcrvQdHK70Ixyu9CYcrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu | ||||
|         9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu | ||||
|         9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jhyu9CMcrvQdHK70FRyu | ||||
|         9AwcrvQGHK70Ahyu9AMcrvQMHK70GRyu9CocrvQ7HK70Rhyu9EwcrvROHK70Thyu9E4crvROHK70Thyu | ||||
|         9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu | ||||
|         9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70TRyu | ||||
|         9EYcrvQ7HK70Kxyu9BkcrvQMHK70BByu9AUcrvQSHK70Jwuh7VYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ | ||||
|         6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ | ||||
|         6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ | ||||
|         6WYAmelmAJnpZgCZ6WYAmelmCqDtWByu9CgcrvQTHK70Bhyu9AYcrvQWHK70Lgmi7nEYsvzXHLb//xy2 | ||||
|         //8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2 | ||||
|         //8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2 | ||||
|         //8ctv//HLb//xy2//8ctv//HLb//xy2//8Zs/3fC6PweRyu9C4crvQWHK70Bxyu9AYcrvQUHK70Kxex | ||||
|         +8Actv//HLb//x23//8et///ILj//yK6//8lu///Kb3//yzA//8wwv//NcT//znH//89yv//Qcv//0bN | ||||
|         //9Kz///TdH//1HS//9T1P//V9X//1nW//9X1f//U9T//1HS//9N0f//Ss///0bN//9By///Pcr//znH | ||||
|         //81xP//MML//yzA//8pvf//Jbv//yK6//8guP//Hrf//xy2//8ctv//GbP81Ryu9CwcrvQVHK70Bhyu | ||||
|         9AQcrvQPHK70IBu1/tUctv//HLb//x63//8nuv//JLv//ym9//8uwP//M8P//zrH//9By///R87//0/R | ||||
|         //9X1f//Xdj//2Tb//9r3f//cd///3bi//974///f+X//4Dm//9/5f//e+P//3bi//9x3///a93//2Tb | ||||
|         //9d2P//V9X//0/R//9Hzv//Qcv//zrH//8zw///LsD//ym9//8mu///JLr//x63//8ctv//HLb/8hyu | ||||
|         9CAcrvQQHK70BRyu9AIcrvQIHK70Ehy1/qIctv//HLb//za+//8juf//Irn//yW8//8rv///MML//zbF | ||||
|         //89yf//RM3//0rQ//9S0///Wdb//1/Z//9m3P//a97//3Hg//904v//d+L//3jk//934v//dOL//3Hg | ||||
|         //9r3v//Ztz//1/Z//9Z1v//UtP//0rQ//9Ezf//Pcn//zbF//8wwv//K7///yW8//8iuf//Mr7//x23 | ||||
|         //8ctv//HLb/xRyu9BIcrvQIHK70Ahyu9AEcrvQEHK70CBy0/C8ctv/8HLb//1PJ//8kuv//Ibn//yW7 | ||||
|         //8qv///MMH//zXE//87yP//Qsv//0nP//9Q0///Vtb//13Y//9j2v//ad3//23e//9x4P//c+H//3Ti | ||||
|         //9z4f//ceD//23e//9p3f//Y9r//13Y//9W1v//UNP//0nP//9Cy///O8j//zXE//8wwf//Kr///yW7 | ||||
|         //8iuf//Q8P//yO5//8ctv//HLX+TByu9AgcrvQEHK70AQAAAAAcrvQBHK70Ahyu9AMctv+bHLb//0/H | ||||
|         //83wP//Irn//yS7//8ovf//LsD//zTE//86yP//QMv//0bO//9N0f//VNT//1nW//9f2f//ZNv//2nd | ||||
|         //9r3v//bd7//27g//9t3v//a97//2nd//9k2///X9n//1nW//9U1P//TdH//0bO//9Ay///Osj//zTE | ||||
|         //8uwP//KL3//yS7//8lu///ac///x+4//8ctv++HK70Axyu9AIcrvQBAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAActv8bHLb/9iS4//9mz///I7r//yK6//8nvf//LL///zLC//83xf//Pcn//0PN//9K0P//UNP//1XV | ||||
|         //9a1///X9n//2Pa//9r3f//zvT//+37//+w7f//Ztz//2Pa//9f2f//Wtf//1XV//9Q0///StD//0PN | ||||
|         //89yf//N8X//zLC//8sv///J73//yS6//89wf//Usn//xy2//8ctv82AAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAHLb/jRy2//9Vyv//OMD//yO5//8lvP//Kr///y7B//80xP//Osj//0DL | ||||
|         //9Gzf//StD//1DT//9V1f//Wdb//13Y//+f6P//////////////////dN7//13Y//9Z1v//VdX//1DT | ||||
|         //9K0P//Rs3//0DL//86yP//NMT//y7B//8qv///Jbz//ya7//9q0P//JLn//xy2/64AAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Ehy2//Mluf//aM///yS6//8juv//J73//yy/ | ||||
|         //8xwv//NsX//zvI//9By///Rs7//0rQ//9Q0///VNT//1bW//+T5P/////////////7/v//adr//1bW | ||||
|         //9U1P//UNP//0rQ//9Gzv//Qcv//zvI//82xf//McL//yy///8nvf//JLr//z7C//9SyP//HLb//By2 | ||||
|         /yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/34ctv//VMr//zrA | ||||
|         //8juf//Jbz//ym9//8uwP//MsL//zfF//88yf//Qcv//0bN//9K0P//TdH//1DT//9U1P//nuf//8fx | ||||
|         //+C4P//UtP//1DT//9N0f//StD//0bN//9By///PMn//zfF//8ywv//LsD//ym9//8lvP//Jrv//2rQ | ||||
|         //8kuf//HLb/ogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2 | ||||
|         /wwctv/tJLn//2nP//8nu///Jrv//yq9//8twP//MsL//zbE//87x///P8n//0TM//9Izf//S8///03Q | ||||
|         //9P0f//UdH//1HS//9R0f//T9H//03Q//9Lz///SM3//0TM//8/yf//O8f//zbE//8ywv//LcD//yq9 | ||||
|         //8nu///QsL//1HI//8ctv/5HLb/IQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAActv9yHLb//1TJ//8/wv//J7v//yq8//8uvv//MsH//zXD//86xP//Psf//0LK | ||||
|         //9Fy///SMz//0rN//9Mzv//Tc///07P//9Nz///TM7//0rN//9IzP//Rcv//0LK//8+x///OsT//zXD | ||||
|         //8ywf//Lr7//yq8//8svP//bdH//yS5//8ctv+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8GHLb/5CS4//9s0f//Lbz//yy8//8vvf//Mr///zXC | ||||
|         //85w///PcX//0DI//9Dyf//Rsr//0nL//9Ozf//1fP///n9//+K3v//Ssz//0nL//9Gyv//Q8n//0DI | ||||
|         //89xf//OcP//zXC//8yv///L73//yy8//9GxP//UMj//xy2//Mctv8YAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Zhy2//9Vyf//RcP//y68 | ||||
|         //8wvf//Mr7//zbA//85wf//PMP//0DE//9Cx///RMf//0bJ//9w1f/////////////Q8f//R8n//0bJ | ||||
|         //9Ex///Qsf//0DE//88w///OcH//zbA//8yvv//ML3//zK+//9w0v//I7n//xy2/4cAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Axy2 | ||||
|         /9siuP//b9H//zW+//8yvv//NL///zbA//84wv//O8L//z7D//9Axf//QsX//0TH//9x1f////////// | ||||
|         ///U8v//Rcj//0TH//9Cxf//QMX//z7D//87wv//OML//zbA//80v///Mr7//03F//9PyP//HLb/7Ry2 | ||||
|         /xIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/1cctv//VMn//0zF//81vv//Nr///ze///85wP//O8H//zzC//8/w///QcT//0LE | ||||
|         //9v0//////////////T8v//Q8X//0LE//9BxP//P8P//zzC//87wf//OcD//ze///82v///OMD//3LS | ||||
|         //8guP//HLb/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/wMctv/PIrj//3TT//88wP//OsD//zvA//88wf//PsL//z/C | ||||
|         //9Aw///QsP//0PD//9w0//////////////T8v//RMX//0PD//9Cw///QMP//z/C//8+wv//PMH//zvA | ||||
|         //87wP//VMn//1DI//8ctv/nHLb/DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv9OHLb//1PJ//9Vyf//PsD//z7B | ||||
|         //8/wf//QMH//0HC//9Cwv//Q8P//0PD//9w0v/////////////T8f//RMP//0PD//9Dw///QsL//0HC | ||||
|         //9Awf//P8H//z7B//9Bwv//d9X//x+3//8ctv9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/xiK4 | ||||
|         //961f//RsT//0LC//9Cwv//Q8P//0TD//9Fw///RcP//0bE//9x0//////////////U8f//RsT//0bE | ||||
|         //9Fw///RcP//0TD//9Dw///QsL//0PC//9dzP//Ucj//xy2/94ctv8GAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAHLb/Pxy2//9Vyf//Xs3//0nE//9IxP//SMT//0jE//9IxP//ScT//0nF//900/////////// | ||||
|         ///V8v//SsX//0nF//9JxP//SMT//0jE//9IxP//SMT//0zH//991f//H7f//xy2/10AAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/7oiuP//ftb//1LI//9Ox///Tsf//07H//9Ox///Tsf//07H | ||||
|         //931P/////////////W8v//Tsf//07H//9Ox///Tsf//07H//9Ox///Tsf//2bP//9RyP//HLb/1Ry2 | ||||
|         /wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/zMctv//Vsn//2jP//9Uyf//U8n//1PJ | ||||
|         //9Tyf//U8n//1PJ//971v/////////////X8v//U8n//1PJ//9Tyf//U8n//1PJ//9Tyf//V8r//4HY | ||||
|         //8ft///HLb/UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv+rIbj//4XZ | ||||
|         //9dzP//Wsv//1rL//9ay///Wsv//1rL//+B1//////////////Y8///Wsv//1rL//9ay///Wsv//1rL | ||||
|         //9ay///cdL//1LJ//8ctv/JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAActv8nHLb//FfK//900///Yc3//2DN//9gzf//YM3//2DN//+F2f/////////////a8///YM3//2DN | ||||
|         //9gzf//YM3//2DN//9kzv//h9n//x+3//8ctv9CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAHLb/nB+3//+L2///atD//2bP//9mz///Zs///2bP//+K2v////////// | ||||
|         ///b9P//Zs///2bP//9mz///Zs///2fP//981f//Usn//xy2/70AAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Gxy2//lYyv//f9b//23R//9t0f//bdH//23R | ||||
|         //+P3P/////////////d9P//bdH//23R//9t0f//bdH//3DR//+M2v//Hrf//xy2/zYAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/40ft///ktz//3bU | ||||
|         //9z0///c9P//3PT//+U3f/////////////e9f//c9P//3PT//9z0///c9P//4bZ//9SyP//HLb/rgAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2 | ||||
|         /xUctv/zWMr//4ra//961f//etX//3rV//+Z3//////////////g9f//etX//3rV//961f//fdX//5Hc | ||||
|         //8et//8HLb/KgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAActv+BH7f//5be//+C2P//gNf//4DX//+Q3P///v/////////Q8P//gNf//4DX | ||||
|         //+A1///kd3//1TJ//8ctv+iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8MHLb/7VnK//+V3f//htn//4bZ//+G2f//m+D//6/m | ||||
|         //+K2v//htn//4bZ//+J2f//lt3//x63//kctv8hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/ciC3//+a3///j9z//43b | ||||
|         //+N2///jdv//43b//+N2///jdv//43b//+b4P//VMn//xy2/5MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Bhy2 | ||||
|         /+RZyv//n+H//5Pd//+T3f//k93//5Pd//+T3f//k93//5bd//+a3///Hrf/8xy2/xsAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/2Met///oOH//5vg//+a3///mt///5rf//+a3///mt///6bj//9Uyf//HLb/hwAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/wMctv/YWcr//6rk//+f4f//n+H//5/h//+f4f//ouH//57h | ||||
|         //8et//tHLb/EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv9UHrf//6Ti//+m4///peL//6Xi | ||||
|         //+l4v//r+X//1LI//8ctv97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/zFrL | ||||
|         //+z6P//quX//6rl//+s5f//oeL//x63/+cctv8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAHLb/RR63//+p5P//tuj//7Pn//+96v//VMn//xy2/2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/71GxP//wuz//8Xt//+S3f//HLb/3hy2/wYAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/zYctv//Mr3//1HI//8iuP//HLb/YAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv+HHLb//xy2 | ||||
|         //8ctv+lHLb/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAHLb/Jxy2/zYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAP////////z9gAAAAAAB/P0AAAAAAAD8/QAAAAAAAPz9AAAAAAAA/P0AAAAAAAD8/QAA | ||||
|         AAAAAPz9AAAAAAAA/P0AAAAAAAD8/QAAAAAAAPz9gAAAAAAB/P3wAAAAAA/8/fgAAAAAH/z9+AAAAAAf | ||||
|         /P38AAAAAD/8/fwAAAAAP/z9/gAAAAB//P3+AAAAAH/8/f8AAAAA//z9/wAAAAD//P3/gAAAAf/8/f+A | ||||
|         AAAB//z9/8AAAAP//P3/4AAAA//8/f/gAAAH//z9//AAAAf//P3/8AAAD//8/f/4AAAf//z9//gAAB// | ||||
|         /P3//AAAP//8/f/8AAA///z9//4AAH///P3//gAAf//8/f//AAD///z9//8AAP///P3//4AB///8/f// | ||||
|         gAH///z9///AA////P3//8AD///8/f//4Af///z9///wB////P3///AP///8/f//+A////z9///4H/// | ||||
|         /P3///wf///8/f///n////z9/////////P3////////8/SgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAHK70ARuu9AIcrvQEG670BByu9AQbrvQEHK70BBuu9AQcrvQEG670BByu | ||||
|         9AQbrvQEHK70BBuu9AQcrvQEG670BByu9AQbrvQEHK70BBuu9AQcrvQEG670BByu9AQbrvQEHK70BBuu | ||||
|         9AQcrvQEG670BByu9AMbrvQBAAAAABuu9AIbrvQIG670Ehuu9BobrvQeG670Hhuu9B4brvQeG670Hhuu | ||||
|         9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu | ||||
|         9B4brvQeG670Hhuu9B4brvQaG670Ehuu9AgbrvQCG670Bxyu9BgVqPE+EqfwThKn8FUSp/BWEqfwVhKn | ||||
|         8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn | ||||
|         8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8E4UqPE/G670GRyu9AgbrvQLG670JAuk8IARq/bDEqz3zBKs | ||||
|         98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs | ||||
|         98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqv3xQyk8YYbrvQkG670Cxuu9AocrvQgGbP92hy2 | ||||
|         //8et///Ibj//yW7//8qvv//MsP//znG//9Cy///SM7//1HS//9X1f//Xtf//2PZ//9l2///Ydn//1vW | ||||
|         //9W1P//TtD//0fO//8+yf//N8X//y/B//8pvf//I7r//yC4//8ctv//GrT96Ruu9CEcrvQKG670BRuu | ||||
|         9BMbtf7MG7b//yq6//8juf//KL3//y/B//85x///Qsz//07R//9Y1f//Ytr//2vd//9z4f//eOL//3rk | ||||
|         //934v//cN///2nd//9e2P//VdT//0nP//9Ayv//NcT//y3A//8lu///Krv//xy2//8btv/iG670Exuu | ||||
|         9AYbrvQBHK70BRuz+18ctv/zRMT//yS6//8mvP//Lb///zbF//8/yv//Ss///1PU//9d2P//Zdv//2ze | ||||
|         //9w3///ceD//2/f//9q3f//Y9r//1nW//9R0///Rc3//zzJ//8ywv//K7///yS6//9Awv//H7f/+Byz | ||||
|         /HAbrvQFHK70AQAAAAAbrvQBG7L6GBu2/70+wf//M7///yS7//8qvv//NMP//zvI//9Gzv//T9L//1jW | ||||
|         //9f2f//Z9v//5fn//+17v//eOD//2Pa//9d2P//VNT//03R//9CzP//Osf//zDB//8pvf//Kbv//03H | ||||
|         //8ctv/LG7L6Ihuu9AEAAAAAAAAAAAAAAAAAAAAAHLb/Qym6//xHxP//I7r//ye9//8vwf//NsX//0DK | ||||
|         //9Hzv//T9L//1bV//9w3P//3fb///7+//+f6P//Wdb//1TU//9M0f//Rc3//zzJ//80xP//K7///ya8 | ||||
|         //8/wv//Nr///hu2/1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8EHLb/w0bE//8tvP//JLv//yu+ | ||||
|         //8xwv//Osf//0HL//9Iz///TtH//1nV//+h5///yfH//3Tc//9R0///TdH//0XN//8/yv//NsX//zDB | ||||
|         //8ovf//Jbv//07G//8juP/VG7b/CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv9HH7f/61HH | ||||
|         //8pu///K73//zDA//83xP//Pcf//0TL//9Jzf//TM///0/Q//9P0P//TtD//0vO//9IzP//Qcr//zzG | ||||
|         //80w///LsD//ym8//9Dw///Nb7/8hy2/1YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2 | ||||
|         /w4btv+sQcL//zvB//8svP//ML7//zbC//88xP//Qcn//0XK//9KzP//id7//6fm//9Y0P//SMv//0TK | ||||
|         //8/x///OsT//zTB//8vvv//Mb3//1DH//8dtv+6G7b/FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/y4puv/3Tsb//zC8//8yvv//NsD//zrC//9AxP//Qsb//1PM///P8f//7/r//3TW | ||||
|         //9Ex///Qsb//z7D//85wf//NL///zG9//9Jxf//N7//+xu2/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAG7b/ARy2/6xIxP//PsH//zS+//83v///OsH//z3C//9AxP//Ucn//8/w | ||||
|         ///w+v//c9T//0LE//9Aw///PML//znA//82v///Nb///1PI//8iuP+/G7b/BAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/OB62/+Fcy///PsH//zzA//8+wf//QML//0HC | ||||
|         //9SyP//z/D///D6//9z0///QsP//0HC//8/wf//PcH//zzA//9UyP//M77/6Ry2/0UAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8JG7b/mUbE//9Rx///QMH//0HC | ||||
|         //9Dwv//RML//1PI///P8P//8Pr//3TS//9Ew///RML//0LC//9Bwf//R8T//1rL//8ctv+pG7b/DQAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8cKbr/8FzL | ||||
|         //9Lxf//SsX//0rF//9Kxf//WMr//9Hw///x+v//edT//0rF//9Kxf//SsX//0rF//9dzP//OL//9hu2 | ||||
|         /yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAActv+VTMX//1vL//9RyP//Ucj//1HI//9ezP//0vH///H6//991v//Ucj//1HI//9RyP//U8j//1/M | ||||
|         //8iuP+oG7b/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABu2/yoetv/UcNL//1/M//9cy///XMv//2jP///V8f//8vv//4XY//9cy///XMv//1zL | ||||
|         //9v0f//NL7/3hy2/zQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAG7b/BBu2/4JMxv//cNL//2TO//9kzv//cNL//9fy///y+///i9r//2TO | ||||
|         //9kzv//ac///2nP//8ctv+UG7b/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/DCm6/+Nv0f//b9H//2/R//961f//2vP///P7 | ||||
|         //+T3f//b9H//2/R//930///O8D/7Ru2/xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/e1HH//x/1v//d9T//4LX | ||||
|         ///c9P//9Pv//5rf//931P//edT//27Q//4iuP+OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8eHbb/xIPY | ||||
|         //+E2P//hdj//8Ls///V8v//lN3//4LX//+N2///Nb7/0By2/ygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2 | ||||
|         /wEbtv9pVMj//5Dc//+K2v//j9v//5Td//+L2v//jtv//3jU//8ctv98G7b/BAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/wMpuv/Qgdf//5Xd//+V3f//ld3//5Xd//+T3P//P8H/3xu2/wwAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/2RUyP/2ouH//53g//+d4P//nuD//3vV//siuP93AAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/Exy2/7GV3f//p+P//6bj//+p4///NL7/wRy2 | ||||
|         /x0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/TFrK//+w5v//suf//4bZ | ||||
|         //8ctv9lG7b/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJbn/tXTS | ||||
|         //+N2///Nr7/zRu2/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAbtv9GILf/5Ci6/+sctv9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAActv8RG7b/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA | ||||
|         AAHgAAAH4AAAB/AAAA/wAAAP+AAAH/gAAB/8AAA//AAAP/4AAH//AAB//wAA//8AAP//gAH//8AD///A | ||||
|         A///wAP//+AH///wD///8A////gP///8H////D////5///////8oAAAAEAAAACAAAAABACAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAG670Axuu9A0brvQRG670ERuu9BEbrvQRG670ERuu9BEbrvQRG670ERuu | ||||
|         9BEbrvQRG670ERuu9BEbrvQNG670Axuu9BQRp/J0Eqn0kRKp9JESqfSREqn0kRKp9JESqfSREqn0kRKp | ||||
|         9JESqfSREqn0kRKp9JESqfSREafydhuu9BQbrvQQG7X+6SO5/v8qvv7/Osf+/0zQ/v9d1/7/a93+/27e | ||||
|         /v9j2v7/UtP+/z/K/v8uwP7/JLr+/xy1/vIbrvQRG670Ahu0/Yo2v/7/KL3+/znG/v9M0f7/Xtj+/3bg | ||||
|         /v+D4/7/Y9r+/1PU/v8/yv7/LsD+/zfA/v8dtf2VG670AgAAAAAbtv4SNb7+7ye7/v8wwv7/QMr+/0/S | ||||
|         /v+S5P7/t+3+/1PU/v9Fzf7/NsX+/yi9/v86wP70G7b+GAAAAAAAAAAAAAAAAB22/ns9wf7/Lr7+/znE | ||||
|         /v9Fy/7/XNL+/2fW/v9IzP7/Psf+/zHA/v87wf7/JLn+hgAAAAAAAAAAAAAAAAAAAAAbtv4MN77+6DW+ | ||||
|         /v84wP7/QMT+/5He/v+y5/7/QsX+/zvC/v80vv7/PcH+7hu2/hEAAAAAAAAAAAAAAAAAAAAAAAAAAB22 | ||||
|         /m9Mxf7/P8H+/0LC/v+R3P7/sub+/0PD/v9Awf7/TMb+/yO4/nkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAbtv4HO8D+4VDH/v9Nxv7/lt7+/7bo/v9Nxv7/Tsb+/0bE/ucbtv4LAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/mFjzf7/YM3+/6Hh/v+96v7/YM3+/2fP/v8nuv5rAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAbtv4DQcL+1nXT/v+s5f7/xez+/3PT/v9Rx/7eG7b+BgAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/lN71f7/mN7+/6Lh/v+F2P7/J7r+XgAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv4BR8T+yprf/v+Z3/7/XMv+1Bu2/gMAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/kSS3P7/ouH+/ye5/lEAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOL/+uELC/sQbtv4BAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2/gQbtv4GAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArEEAAKxBAACsQQAArEGAAaxBwAOsQcADrEHgB6xB4AesQfAP | ||||
|         rEHwD6xB+B+sQfgfrEH8P6xB/j+sQf5/rEE= | ||||
| </value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										64
									
								
								Viewer/TrendViewer/Dialog/fPleaseWait.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,64 @@ | ||||
| namespace vmsnet | ||||
| { | ||||
|     partial class fPleaseWait | ||||
|     { | ||||
|         /// <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.label1 = new System.Windows.Forms.Label(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // label1 | ||||
|             //  | ||||
|             this.label1.BackColor = System.Drawing.Color.White; | ||||
|             this.label1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.label1.Font = new System.Drawing.Font("맑은 고딕", 30F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.label1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.label1.Name = "label1"; | ||||
|             this.label1.Size = new System.Drawing.Size(800, 450); | ||||
|             this.label1.TabIndex = 0; | ||||
|             this.label1.Text = "잠시만 기다려 주세요"; | ||||
|             this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; | ||||
|             //  | ||||
|             // fPleaseWait | ||||
|             //  | ||||
|             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.label1); | ||||
|             this.DoubleBuffered = true; | ||||
|             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; | ||||
|             this.Name = "fPleaseWait"; | ||||
|             this.Text = "f"; | ||||
|             this.ResumeLayout(false); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         #endregion | ||||
|  | ||||
|         private System.Windows.Forms.Label label1; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										20
									
								
								Viewer/TrendViewer/Dialog/fPleaseWait.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 vmsnet | ||||
| { | ||||
|     public partial class fPleaseWait : Form | ||||
|     { | ||||
|         public fPleaseWait() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										120
									
								
								Viewer/TrendViewer/Dialog/fPleaseWait.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> | ||||
							
								
								
									
										6743
									
								
								Viewer/TrendViewer/DocumentElement.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										15
									
								
								Viewer/TrendViewer/DocumentElement.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,15 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public partial class DocumentElement | ||||
|     { | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										9
									
								
								Viewer/TrendViewer/DocumentElement.xsc
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,9 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!--<autogenerated> | ||||
|      This code was generated by a tool. | ||||
|      Changes to this file may cause incorrect behavior and will be lost if | ||||
|      the code is regenerated. | ||||
| </autogenerated>--> | ||||
| <DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|   <TableUISettings /> | ||||
| </DataSetUISetting> | ||||
							
								
								
									
										196
									
								
								Viewer/TrendViewer/DocumentElement.xsd
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,196 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <xs:schema id="DocumentElement" targetNamespace="http://tempuri.org/DocumentElement.xsd" xmlns:mstns="http://tempuri.org/DocumentElement.xsd" xmlns="http://tempuri.org/DocumentElement.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified"> | ||||
|   <xs:annotation> | ||||
|     <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|       <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|         <Connections /> | ||||
|         <Tables /> | ||||
|         <Sources /> | ||||
|       </DataSource> | ||||
|     </xs:appinfo> | ||||
|   </xs:annotation> | ||||
|   <xs:element name="DocumentElement" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DocumentElement" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DocumentElement"> | ||||
|     <xs:complexType> | ||||
|       <xs:choice minOccurs="0" maxOccurs="unbounded"> | ||||
|         <xs:element name="CHANNEL" msprop:Generator_RowEvHandlerName="CHANNELRowChangeEventHandler" msprop:Generator_RowDeletedName="CHANNELRowDeleted" msprop:Generator_RowDeletingName="CHANNELRowDeleting" msprop:Generator_RowEvArgName="CHANNELRowChangeEvent" msprop:Generator_TablePropName="CHANNEL" msprop:Generator_RowChangedName="CHANNELRowChanged" msprop:Generator_UserTableName="CHANNEL" msprop:Generator_RowChangingName="CHANNELRowChanging" msprop:Generator_RowClassName="CHANNELRow" msprop:Generator_TableClassName="CHANNELDataTable" msprop:Generator_TableVarName="tableCHANNEL"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="ENABLE" msprop:Generator_ColumnPropNameInTable="ENABLEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ENABLE" msprop:Generator_UserColumnName="ENABLE" msprop:Generator_ColumnVarNameInTable="columnENABLE" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="USE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="GIDX" msprop:Generator_ColumnPropNameInTable="GIDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="GIDX" msprop:Generator_UserColumnName="GIDX" msprop:Generator_ColumnVarNameInTable="columnGIDX" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="MACHINE" msprop:Generator_ColumnPropNameInTable="MACHINEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="MACHINE" msprop:Generator_UserColumnName="MACHINE" msprop:Generator_ColumnVarNameInTable="columnMACHINE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="ALAMTYPE" msprop:Generator_ColumnPropNameInTable="ALAMTYPEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMTYPE" msprop:Generator_UserColumnName="ALAMTYPE" msprop:Generator_ColumnVarNameInTable="columnALAMTYPE" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="COLOR" msprop:Generator_ColumnPropNameInTable="COLORColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="COLOR" msprop:Generator_UserColumnName="COLOR" msprop:Generator_ColumnVarNameInTable="columnCOLOR" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="AUTOH" msprop:Generator_ColumnPropNameInTable="AUTOHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOH" msprop:Generator_UserColumnName="AUTOH" msprop:Generator_ColumnVarNameInTable="columnAUTOH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="AUTOL" msprop:Generator_ColumnPropNameInTable="AUTOLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOL" msprop:Generator_UserColumnName="AUTOL" msprop:Generator_ColumnVarNameInTable="columnAUTOL" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="UNIT" msprop:Generator_ColumnPropNameInTable="UNITColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="UNIT" msprop:Generator_UserColumnName="UNIT" msprop:Generator_ColumnVarNameInTable="columnUNIT" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="DECPOS" msprop:Generator_ColumnPropNameInTable="DECPOSColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="DECPOS" msprop:Generator_UserColumnName="DECPOS" msprop:Generator_ColumnVarNameInTable="columnDECPOS" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="GRPNAME" msprop:Generator_ColumnPropNameInTable="GRPNAMEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="GRPNAME" msprop:Generator_UserColumnName="GRPNAME" msprop:Generator_ColumnVarNameInTable="columnGRPNAME" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="IDX_M" msprop:Generator_ColumnPropNameInTable="IDX_MColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="IDX_M" msprop:Generator_UserColumnName="IDX_M" msprop:Generator_ColumnVarNameInTable="columnIDX_M" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="IDX_U" msprop:Generator_ColumnPropNameInTable="IDX_UColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="IDX_U" msprop:Generator_UserColumnName="IDX_U" msprop:Generator_ColumnVarNameInTable="columnIDX_U" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="IDX_C" msprop:Generator_ColumnPropNameInTable="IDX_CColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="IDX_C" msprop:Generator_UserColumnName="IDX_C" msprop:Generator_ColumnVarNameInTable="columnIDX_C" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="VOFFSET" msprop:Generator_ColumnPropNameInTable="VOFFSETColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="VOFFSET" msprop:Generator_UserColumnName="VOFFSET" msprop:Generator_ColumnVarNameInTable="columnVOFFSET" type="xs:float" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="DEVICE" msprop:Generator_RowEvHandlerName="DEVICERowChangeEventHandler" msprop:Generator_RowDeletedName="DEVICERowDeleted" msprop:Generator_RowDeletingName="DEVICERowDeleting" msprop:Generator_RowEvArgName="DEVICERowChangeEvent" msprop:Generator_TablePropName="DEVICE" msprop:Generator_RowChangedName="DEVICERowChanged" msprop:Generator_UserTableName="DEVICE" msprop:Generator_RowChangingName="DEVICERowChanging" msprop:Generator_RowClassName="DEVICERow" msprop:Generator_TableClassName="DEVICEDataTable" msprop:Generator_TableVarName="tableDEVICE"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="USE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="IP" msprop:Generator_ColumnPropNameInTable="IPColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="IP" msprop:Generator_UserColumnName="IP" msprop:Generator_ColumnVarNameInTable="columnIP" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="CHCOUNT" msprop:Generator_ColumnPropNameInTable="CHCOUNTColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="CHCOUNT" msprop:Generator_UserColumnName="CHCOUNT" msprop:Generator_ColumnVarNameInTable="columnCHCOUNT" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="KACOMMAND" msprop:Generator_ColumnPropNameInTable="KACOMMANDColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="KACOMMAND" msprop:Generator_UserColumnName="KACOMMAND" msprop:Generator_ColumnVarNameInTable="columnKACOMMAND" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="CHCOMMAND" msprop:Generator_ColumnPropNameInTable="CHCOMMANDColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="CHCOMMAND" msprop:Generator_UserColumnName="CHCOMMAND" msprop:Generator_ColumnVarNameInTable="columnCHCOMMAND" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="SNCOMMAND" msprop:Generator_ColumnPropNameInTable="SNCOMMANDColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="SNCOMMAND" msprop:Generator_UserColumnName="SNCOMMAND" msprop:Generator_ColumnVarNameInTable="columnSNCOMMAND" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="PORT" msprop:Generator_ColumnPropNameInTable="PORTColumn" msprop:nullValue="34150" msprop:Generator_ColumnPropNameInRow="PORT" msprop:Generator_UserColumnName="PORT" msprop:Generator_ColumnVarNameInTable="columnPORT" type="xs:int" default="34150" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="GRP" msprop:Generator_RowEvHandlerName="GRPRowChangeEventHandler" msprop:Generator_RowDeletedName="GRPRowDeleted" msprop:Generator_RowDeletingName="GRPRowDeleting" msprop:Generator_RowEvArgName="GRPRowChangeEvent" msprop:Generator_TablePropName="GRP" msprop:Generator_RowChangedName="GRPRowChanged" msprop:Generator_UserTableName="GRP" msprop:Generator_RowChangingName="GRPRowChanging" msprop:Generator_RowClassName="GRPRow" msprop:Generator_TableClassName="GRPDataTable" msprop:Generator_TableVarName="tableGRP"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="USE" msdata:Caption="ENABLE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="WINDOW" msprop:Generator_ColumnPropNameInTable="WINDOWColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="WINDOW" msprop:Generator_UserColumnName="WINDOW" msprop:Generator_ColumnVarNameInTable="columnWINDOW" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="MATRIX" msprop:Generator_ColumnPropNameInTable="MATRIXColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="MATRIX" msprop:Generator_UserColumnName="MATRIX" msprop:Generator_ColumnVarNameInTable="columnMATRIX" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="POS" msprop:Generator_ColumnPropNameInTable="POSColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="POS" msprop:Generator_UserColumnName="POS" msprop:Generator_ColumnVarNameInTable="columnPOS" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="SPAN" msprop:Generator_ColumnPropNameInTable="SPANColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="SPAN" msprop:Generator_UserColumnName="SPAN" msprop:Generator_ColumnVarNameInTable="columnSPAN" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="FONT" msprop:Generator_ColumnPropNameInTable="FONTColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="FONT" msprop:Generator_UserColumnName="FONT" msprop:Generator_ColumnVarNameInTable="columnFONT" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="KADEVICE" msprop:Generator_ColumnPropNameInTable="KADEVICEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="KADEVICE" msprop:Generator_UserColumnName="KADEVICE" msprop:Generator_ColumnVarNameInTable="columnKADEVICE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="ALAMTYPE" msprop:Generator_ColumnPropNameInTable="ALAMTYPEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="ALAMTYPE" msprop:Generator_UserColumnName="ALAMTYPE" msprop:Generator_ColumnVarNameInTable="columnALAMTYPE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="AUTOH" msprop:Generator_ColumnPropNameInTable="AUTOHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOH" msprop:Generator_UserColumnName="AUTOH" msprop:Generator_ColumnVarNameInTable="columnAUTOH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="AUTOL" msprop:Generator_ColumnPropNameInTable="AUTOLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="AUTOL" msprop:Generator_UserColumnName="AUTOL" msprop:Generator_ColumnVarNameInTable="columnAUTOL" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="NBOFF" msprop:Generator_ColumnPropNameInTable="NBOFFColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBOFF" msprop:Generator_UserColumnName="NBOFF" msprop:Generator_ColumnVarNameInTable="columnNBOFF" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="NBSEQ" msprop:Generator_ColumnPropNameInTable="NBSEQColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBSEQ" msprop:Generator_UserColumnName="NBSEQ" msprop:Generator_ColumnVarNameInTable="columnNBSEQ" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="NBHH" msprop:Generator_ColumnPropNameInTable="NBHHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBHH" msprop:Generator_UserColumnName="NBHH" msprop:Generator_ColumnVarNameInTable="columnNBHH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="NBH" msprop:Generator_ColumnPropNameInTable="NBHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBH" msprop:Generator_UserColumnName="NBH" msprop:Generator_ColumnVarNameInTable="columnNBH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="NBLL" msprop:Generator_ColumnPropNameInTable="NBLLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBLL" msprop:Generator_UserColumnName="NBLL" msprop:Generator_ColumnVarNameInTable="columnNBLL" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="NBL" msprop:Generator_ColumnPropNameInTable="NBLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="NBL" msprop:Generator_UserColumnName="NBL" msprop:Generator_ColumnVarNameInTable="columnNBL" type="xs:float" default="0" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="NORMAL" msprop:Generator_RowEvHandlerName="NORMALRowChangeEventHandler" msprop:Generator_RowDeletedName="NORMALRowDeleted" msprop:Generator_RowDeletingName="NORMALRowDeleting" msprop:Generator_RowEvArgName="NORMALRowChangeEvent" msprop:Generator_TablePropName="NORMAL" msprop:Generator_RowChangedName="NORMALRowChanged" msprop:Generator_UserTableName="NORMAL" msprop:Generator_RowChangingName="NORMALRowChanging" msprop:Generator_RowClassName="NORMALRow" msprop:Generator_TableClassName="NORMALDataTable" msprop:Generator_TableVarName="tableNORMAL"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="VIEWGROUP" msprop:Generator_RowEvHandlerName="VIEWGROUPRowChangeEventHandler" msprop:Generator_RowDeletedName="VIEWGROUPRowDeleted" msprop:Generator_RowDeletingName="VIEWGROUPRowDeleting" msprop:Generator_RowEvArgName="VIEWGROUPRowChangeEvent" msprop:Generator_TablePropName="VIEWGROUP" msprop:Generator_RowChangedName="VIEWGROUPRowChanged" msprop:Generator_UserTableName="VIEWGROUP" msprop:Generator_RowChangingName="VIEWGROUPRowChanging" msprop:Generator_RowClassName="VIEWGROUPRow" msprop:Generator_TableClassName="VIEWGROUPDataTable" msprop:Generator_TableVarName="tableVIEWGROUP"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="GNAME" msdata:Caption="SANGHO" msprop:Generator_ColumnPropNameInTable="GNAMEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="GNAME" msprop:Generator_UserColumnName="GNAME" msprop:Generator_ColumnVarNameInTable="columnGNAME" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msdata:Caption="TEL" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="VAL" msprop:Generator_ColumnPropNameInTable="VALColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="VAL" msprop:Generator_UserColumnName="VAL" msprop:Generator_ColumnVarNameInTable="columnVAL" type="xs:string" default="" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="WIN" msprop:Generator_RowEvHandlerName="WINRowChangeEventHandler" msprop:Generator_RowDeletedName="WINRowDeleted" msprop:Generator_RowDeletingName="WINRowDeleting" msprop:Generator_RowEvArgName="WINRowChangeEvent" msprop:Generator_TablePropName="WIN" msprop:Generator_RowChangedName="WINRowChanged" msprop:Generator_UserTableName="WIN" msprop:Generator_RowChangingName="WINRowChanging" msprop:Generator_RowClassName="WINRow" msprop:Generator_TableClassName="WINDataTable" msprop:Generator_TableVarName="tableWIN"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="USE" msprop:Generator_ColumnPropNameInTable="USEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="USE" msprop:Generator_UserColumnName="USE" msprop:Generator_ColumnVarNameInTable="columnUSE" type="xs:int" default="0" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="MATRIX" msdata:Caption="MACHINE" msprop:Generator_ColumnPropNameInTable="MATRIXColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="MATRIX" msprop:Generator_UserColumnName="MATRIX" msprop:Generator_ColumnVarNameInTable="columnMATRIX" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="ALAMH" msprop:Generator_ColumnPropNameInTable="ALAMHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAMH" msprop:Generator_UserColumnName="ALAMH" msprop:Generator_ColumnVarNameInTable="columnALAMH" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="ALAML" msprop:Generator_ColumnPropNameInTable="ALAMLColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ALAML" msprop:Generator_UserColumnName="ALAML" msprop:Generator_ColumnVarNameInTable="columnALAML" type="xs:float" default="0" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="ALARM" msprop:Generator_RowEvHandlerName="ALARMRowChangeEventHandler" msprop:Generator_RowDeletedName="ALARMRowDeleted" msprop:Generator_RowDeletingName="ALARMRowDeleting" msprop:Generator_RowEvArgName="ALARMRowChangeEvent" msprop:Generator_TablePropName="ALARM" msprop:Generator_RowChangedName="ALARMRowChanged" msprop:Generator_UserTableName="ALARM" msprop:Generator_RowChangingName="ALARMRowChanging" msprop:Generator_RowClassName="ALARMRow" msprop:Generator_TableClassName="ALARMDataTable" msprop:Generator_TableVarName="tableALARM"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="ATIME" msprop:Generator_ColumnPropNameInTable="ATIMEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="ATIME" msprop:Generator_UserColumnName="ATIME" msprop:Generator_ColumnVarNameInTable="columnATIME" type="xs:string" default="" /> | ||||
|               <xs:element name="CH" msprop:Generator_ColumnPropNameInTable="CHColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="CH" msprop:Generator_UserColumnName="CH" msprop:Generator_ColumnVarNameInTable="columnCH" type="xs:short" default="0" /> | ||||
|               <xs:element name="RTYPE" msprop:Generator_ColumnPropNameInTable="RTYPEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="RTYPE" msprop:Generator_UserColumnName="RTYPE" msprop:Generator_ColumnVarNameInTable="columnRTYPE" type="xs:short" default="0" /> | ||||
|               <xs:element name="VOLT" msprop:Generator_ColumnPropNameInTable="VOLTColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="VOLT" msprop:Generator_UserColumnName="VOLT" msprop:Generator_ColumnVarNameInTable="columnVOLT" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="ATYPE" msprop:Generator_ColumnPropNameInTable="ATYPEColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ATYPE" msprop:Generator_UserColumnName="ATYPE" msprop:Generator_ColumnVarNameInTable="columnATYPE" type="xs:short" default="0" minOccurs="0" /> | ||||
|               <xs:element name="MAXVOLT" msprop:Generator_ColumnPropNameInTable="MAXVOLTColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="MAXVOLT" msprop:Generator_UserColumnName="MAXVOLT" msprop:Generator_ColumnVarNameInTable="columnMAXVOLT" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="MINVOLT" msprop:Generator_ColumnPropNameInTable="MINVOLTColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="MINVOLT" msprop:Generator_UserColumnName="MINVOLT" msprop:Generator_ColumnVarNameInTable="columnMINVOLT" type="xs:float" default="0" minOccurs="0" /> | ||||
|               <xs:element name="AM" msprop:Generator_ColumnPropNameInTable="AMColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="AM" msprop:Generator_UserColumnName="AM" msprop:Generator_ColumnVarNameInTable="columnAM" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="AM2" msprop:Generator_ColumnPropNameInTable="AM2Column" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="AM2" msprop:Generator_UserColumnName="AM2" msprop:Generator_ColumnVarNameInTable="columnAM2" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="TIME" msprop:Generator_ColumnPropNameInTable="TIMEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="TIME" msprop:Generator_UserColumnName="TIME" msprop:Generator_ColumnVarNameInTable="columnTIME" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="RTYPESTR" msprop:Generator_ColumnPropNameInTable="RTYPESTRColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="RTYPESTR" msprop:Generator_UserColumnName="RTYPESTR" msprop:Generator_ColumnVarNameInTable="columnRTYPESTR" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="ATYPESTR" msprop:Generator_ColumnPropNameInTable="ATYPESTRColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ATYPESTR" msprop:Generator_UserColumnName="ATYPESTR" msprop:Generator_ColumnVarNameInTable="columnATYPESTR" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="CHNAME" msprop:Generator_ColumnPropNameInTable="CHNAMEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="CHNAME" msprop:Generator_UserColumnName="CHNAME" msprop:Generator_ColumnVarNameInTable="columnCHNAME" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="REMARK" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="REMARKColumn" msprop:Generator_ColumnVarNameInTable="columnREMARK" msprop:Generator_UserColumnName="REMARK" msprop:Generator_ColumnPropNameInRow="REMARK" type="xs:string" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="VIEWGROUPR" msprop:Generator_RowEvHandlerName="VIEWGROUPRRowChangeEventHandler" msprop:Generator_RowDeletedName="VIEWGROUPRRowDeleted" msprop:Generator_RowDeletingName="VIEWGROUPRRowDeleting" msprop:Generator_RowEvArgName="VIEWGROUPRRowChangeEvent" msprop:Generator_TablePropName="VIEWGROUPR" msprop:Generator_RowChangedName="VIEWGROUPRRowChanged" msprop:Generator_UserTableName="VIEWGROUPR" msprop:Generator_RowChangingName="VIEWGROUPRRowChanging" msprop:Generator_RowClassName="VIEWGROUPRRow" msprop:Generator_TableClassName="VIEWGROUPRDataTable" msprop:Generator_TableVarName="tableVIEWGROUPR"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="GNAME" msdata:Caption="SANGHO" msprop:Generator_ColumnPropNameInTable="GNAMEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="GNAME" msprop:Generator_UserColumnName="GNAME" msprop:Generator_ColumnVarNameInTable="columnGNAME" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msdata:Caption="TEL" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" default="" minOccurs="0" /> | ||||
|               <xs:element name="VAL" msprop:Generator_ColumnPropNameInTable="VALColumn" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="VAL" msprop:Generator_UserColumnName="VAL" msprop:Generator_ColumnVarNameInTable="columnVAL" type="xs:string" default="" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|         <xs:element name="TRENDVIEWCHLIST" msprop:Generator_RowEvHandlerName="TRENDVIEWCHLISTRowChangeEventHandler" msprop:Generator_RowDeletedName="TRENDVIEWCHLISTRowDeleted" msprop:Generator_RowDeletingName="TRENDVIEWCHLISTRowDeleting" msprop:Generator_RowEvArgName="TRENDVIEWCHLISTRowChangeEvent" msprop:Generator_TablePropName="TRENDVIEWCHLIST" msprop:Generator_RowChangedName="TRENDVIEWCHLISTRowChanged" msprop:Generator_UserTableName="TRENDVIEWCHLIST" msprop:Generator_RowChangingName="TRENDVIEWCHLISTRowChanging" msprop:Generator_RowClassName="TRENDVIEWCHLISTRow" msprop:Generator_TableClassName="TRENDVIEWCHLISTDataTable" msprop:Generator_TableVarName="tableTRENDVIEWCHLIST"> | ||||
|           <xs:complexType> | ||||
|             <xs:sequence> | ||||
|               <xs:element name="IDX" msprop:Generator_ColumnPropNameInTable="IDXColumn" msprop:Generator_ColumnPropNameInRow="IDX" msprop:Generator_UserColumnName="IDX" msprop:Generator_ColumnVarNameInTable="columnIDX" type="xs:int" /> | ||||
|               <xs:element name="SHOW" msprop:Generator_ColumnPropNameInTable="SHOWColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="SHOW" msprop:Generator_UserColumnName="SHOW" msprop:Generator_ColumnVarNameInTable="columnSHOW" type="xs:boolean" minOccurs="0" /> | ||||
|               <xs:element name="TITLE" msprop:Generator_ColumnPropNameInTable="TITLEColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="TITLE" msprop:Generator_UserColumnName="TITLE" msprop:Generator_ColumnVarNameInTable="columnTITLE" type="xs:string" minOccurs="0" /> | ||||
|               <xs:element name="COLOR" msprop:Generator_ColumnPropNameInTable="COLORColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="COLOR" msprop:Generator_UserColumnName="COLOR" msprop:Generator_ColumnVarNameInTable="columnCOLOR" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="ch" msprop:Generator_ColumnPropNameInTable="chColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="ch" msprop:Generator_UserColumnName="ch" msprop:Generator_ColumnVarNameInTable="columnch" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="dev" msprop:Generator_ColumnPropNameInTable="devColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="dev" msprop:Generator_UserColumnName="dev" msprop:Generator_ColumnVarNameInTable="columndev" type="xs:int" minOccurs="0" /> | ||||
|               <xs:element name="unit" msprop:Generator_ColumnPropNameInTable="unitColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="unit" msprop:Generator_UserColumnName="unit" msprop:Generator_ColumnVarNameInTable="columnunit" type="xs:int" minOccurs="0" /> | ||||
|             </xs:sequence> | ||||
|           </xs:complexType> | ||||
|         </xs:element> | ||||
|       </xs:choice> | ||||
|     </xs:complexType> | ||||
|     <xs:unique name="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:CHANNEL" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="DEVICE_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:DEVICE" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="GRP_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:GRP" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="NORMAL_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:NORMAL" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="VIEWGROUP_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:VIEWGROUP" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="WIN_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:WIN" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="ALARM_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:ALARM" /> | ||||
|       <xs:field xpath="mstns:ATIME" /> | ||||
|       <xs:field xpath="mstns:CH" /> | ||||
|       <xs:field xpath="mstns:RTYPE" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="VIEWGROUPR_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:VIEWGROUPR" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|     <xs:unique name="TRENDVIEWCHLIST_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> | ||||
|       <xs:selector xpath=".//mstns:TRENDVIEWCHLIST" /> | ||||
|       <xs:field xpath="mstns:IDX" /> | ||||
|     </xs:unique> | ||||
|   </xs:element> | ||||
| </xs:schema> | ||||
							
								
								
									
										20
									
								
								Viewer/TrendViewer/DocumentElement.xss
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,20 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!--<autogenerated> | ||||
|      This code was generated by a tool to store the dataset designer's layout information. | ||||
|      Changes to this file may cause incorrect behavior and will be lost if | ||||
|      the code is regenerated. | ||||
| </autogenerated>--> | ||||
| <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> | ||||
|   <Shapes> | ||||
|     <Shape ID="DesignTable:CHANNEL" ZOrder="9" X="0" Y="0" Height="448" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="444" /> | ||||
|     <Shape ID="DesignTable:DEVICE" ZOrder="8" X="168" Y="0" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" /> | ||||
|     <Shape ID="DesignTable:GRP" ZOrder="7" X="336" Y="0" Height="429" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="425" /> | ||||
|     <Shape ID="DesignTable:NORMAL" ZOrder="6" X="504" Y="0" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" /> | ||||
|     <Shape ID="DesignTable:VIEWGROUP" ZOrder="5" X="672" Y="0" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" /> | ||||
|     <Shape ID="DesignTable:WIN" ZOrder="4" X="840" Y="0" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" /> | ||||
|     <Shape ID="DesignTable:ALARM" ZOrder="3" X="547" Y="177" Height="372" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="368" /> | ||||
|     <Shape ID="DesignTable:VIEWGROUPR" ZOrder="2" X="732" Y="152" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" /> | ||||
|     <Shape ID="DesignTable:TRENDVIEWCHLIST" ZOrder="1" X="753" Y="283" Height="162" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" /> | ||||
|   </Shapes> | ||||
|   <Connectors /> | ||||
| </DiagramLayout> | ||||
							
								
								
									
										219
									
								
								Viewer/TrendViewer/Frm_GraphSetup.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,219 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	partial class Frm_GraphSetup : System.Windows.Forms.Form | ||||
| 	{ | ||||
| 		 | ||||
| 		//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다. | ||||
| 		[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing) | ||||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| 				if (disposing && components != null) | ||||
| 				{ | ||||
| 					components.Dispose(); | ||||
| 				} | ||||
| 			} | ||||
| 			finally | ||||
| 			{ | ||||
| 				base.Dispose(disposing); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		//Windows Form 디자이너에 필요합니다. | ||||
| 		private System.ComponentModel.Container components = null; | ||||
| 		 | ||||
| 		//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다. | ||||
| 		//수정하려면 Windows Form 디자이너를 사용하십시오. | ||||
| 		//코드 편집기를 사용하여 수정하지 마십시오. | ||||
| 		[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent() | ||||
| 		{ | ||||
|             this.GroupBox1 = new System.Windows.Forms.GroupBox(); | ||||
|             this.dte = new System.Windows.Forms.DateTimePicker(); | ||||
|             this.dts = new System.Windows.Forms.DateTimePicker(); | ||||
|             this.label11 = new System.Windows.Forms.Label(); | ||||
|             this.label10 = new System.Windows.Forms.Label(); | ||||
|             this.bt_cancel = new System.Windows.Forms.Button(); | ||||
|             this.bt_ok = new System.Windows.Forms.Button(); | ||||
|             this.panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.button3 = new System.Windows.Forms.Button(); | ||||
|             this.button2 = new System.Windows.Forms.Button(); | ||||
|             this.button1 = new System.Windows.Forms.Button(); | ||||
|             this.GroupBox1.SuspendLayout(); | ||||
|             this.panel1.SuspendLayout(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // GroupBox1 | ||||
|             //  | ||||
|             this.GroupBox1.Controls.Add(this.dte); | ||||
|             this.GroupBox1.Controls.Add(this.dts); | ||||
|             this.GroupBox1.Controls.Add(this.label11); | ||||
|             this.GroupBox1.Controls.Add(this.label10); | ||||
|             this.GroupBox1.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.GroupBox1.Location = new System.Drawing.Point(14, 15); | ||||
|             this.GroupBox1.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.GroupBox1.Name = "GroupBox1"; | ||||
|             this.GroupBox1.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.GroupBox1.Size = new System.Drawing.Size(747, 155); | ||||
|             this.GroupBox1.TabIndex = 0; | ||||
|             this.GroupBox1.TabStop = false; | ||||
|             this.GroupBox1.Text = "조회기간"; | ||||
|             //  | ||||
|             // dte | ||||
|             //  | ||||
|             this.dte.CustomFormat = "yyyy년 MM월 dd일 HH시 mm분 ss초"; | ||||
|             this.dte.Font = new System.Drawing.Font("맑은 고딕", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.dte.Format = System.Windows.Forms.DateTimePickerFormat.Custom; | ||||
|             this.dte.Location = new System.Drawing.Point(103, 93); | ||||
|             this.dte.Name = "dte"; | ||||
|             this.dte.Size = new System.Drawing.Size(629, 50); | ||||
|             this.dte.TabIndex = 30; | ||||
|             //  | ||||
|             // dts | ||||
|             //  | ||||
|             this.dts.CustomFormat = "yyyy년 MM월 dd일 HH시 mm분 ss초"; | ||||
|             this.dts.Font = new System.Drawing.Font("맑은 고딕", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.dts.Format = System.Windows.Forms.DateTimePickerFormat.Custom; | ||||
|             this.dts.Location = new System.Drawing.Point(103, 37); | ||||
|             this.dts.Name = "dts"; | ||||
|             this.dts.Size = new System.Drawing.Size(629, 50); | ||||
|             this.dts.TabIndex = 29; | ||||
|             //  | ||||
|             // label11 | ||||
|             //  | ||||
|             this.label11.AutoSize = true; | ||||
|             this.label11.Location = new System.Drawing.Point(31, 106); | ||||
|             this.label11.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0); | ||||
|             this.label11.Name = "label11"; | ||||
|             this.label11.Size = new System.Drawing.Size(50, 25); | ||||
|             this.label11.TabIndex = 25; | ||||
|             this.label11.Text = "종료"; | ||||
|             //  | ||||
|             // label10 | ||||
|             //  | ||||
|             this.label10.AutoSize = true; | ||||
|             this.label10.Location = new System.Drawing.Point(31, 49); | ||||
|             this.label10.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0); | ||||
|             this.label10.Name = "label10"; | ||||
|             this.label10.Size = new System.Drawing.Size(50, 25); | ||||
|             this.label10.TabIndex = 12; | ||||
|             this.label10.Text = "시작"; | ||||
|             //  | ||||
|             // bt_cancel | ||||
|             //  | ||||
|             this.bt_cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); | ||||
|             this.bt_cancel.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.bt_cancel.Location = new System.Drawing.Point(632, 8); | ||||
|             this.bt_cancel.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.bt_cancel.Name = "bt_cancel"; | ||||
|             this.bt_cancel.Size = new System.Drawing.Size(137, 79); | ||||
|             this.bt_cancel.TabIndex = 2; | ||||
|             this.bt_cancel.Text = "취소"; | ||||
|             this.bt_cancel.UseVisualStyleBackColor = true; | ||||
|             this.bt_cancel.Click += new System.EventHandler(this.Button1_Click); | ||||
|             //  | ||||
|             // bt_ok | ||||
|             //  | ||||
|             this.bt_ok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); | ||||
|             this.bt_ok.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.bt_ok.Location = new System.Drawing.Point(486, 8); | ||||
|             this.bt_ok.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.bt_ok.Name = "bt_ok"; | ||||
|             this.bt_ok.Size = new System.Drawing.Size(137, 79); | ||||
|             this.bt_ok.TabIndex = 1; | ||||
|             this.bt_ok.Text = "확인"; | ||||
|             this.bt_ok.UseVisualStyleBackColor = true; | ||||
|             this.bt_ok.Click += new System.EventHandler(this.Button2_Click); | ||||
|             //  | ||||
|             // panel1 | ||||
|             //  | ||||
|             this.panel1.Controls.Add(this.button3); | ||||
|             this.panel1.Controls.Add(this.button2); | ||||
|             this.panel1.Controls.Add(this.button1); | ||||
|             this.panel1.Controls.Add(this.bt_ok); | ||||
|             this.panel1.Controls.Add(this.bt_cancel); | ||||
|             this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.panel1.Location = new System.Drawing.Point(0, 181); | ||||
|             this.panel1.Name = "panel1"; | ||||
|             this.panel1.Size = new System.Drawing.Size(777, 92); | ||||
|             this.panel1.TabIndex = 3; | ||||
|             //  | ||||
|             // button3 | ||||
|             //  | ||||
|             this.button3.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.button3.Location = new System.Drawing.Point(296, 7); | ||||
|             this.button3.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.button3.Name = "button3"; | ||||
|             this.button3.Size = new System.Drawing.Size(137, 79); | ||||
|             this.button3.TabIndex = 5; | ||||
|             this.button3.Text = "이번달"; | ||||
|             this.button3.UseVisualStyleBackColor = true; | ||||
|             this.button3.Click += new System.EventHandler(this.button3_Click); | ||||
|             //  | ||||
|             // button2 | ||||
|             //  | ||||
|             this.button2.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.button2.Location = new System.Drawing.Point(149, 6); | ||||
|             this.button2.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.button2.Name = "button2"; | ||||
|             this.button2.Size = new System.Drawing.Size(137, 79); | ||||
|             this.button2.TabIndex = 4; | ||||
|             this.button2.Text = "-7일"; | ||||
|             this.button2.UseVisualStyleBackColor = true; | ||||
|             this.button2.Click += new System.EventHandler(this.button2_Click_1); | ||||
|             //  | ||||
|             // button1 | ||||
|             //  | ||||
|             this.button1.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.button1.Location = new System.Drawing.Point(5, 6); | ||||
|             this.button1.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.button1.Name = "button1"; | ||||
|             this.button1.Size = new System.Drawing.Size(137, 79); | ||||
|             this.button1.TabIndex = 3; | ||||
|             this.button1.Text = "최근 1달"; | ||||
|             this.button1.UseVisualStyleBackColor = true; | ||||
|             this.button1.Click += new System.EventHandler(this.button1_Click_1); | ||||
|             //  | ||||
|             // Frm_GraphSetup | ||||
|             //  | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; | ||||
|             this.ClientSize = new System.Drawing.Size(777, 273); | ||||
|             this.Controls.Add(this.panel1); | ||||
|             this.Controls.Add(this.GroupBox1); | ||||
|             this.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.KeyPreview = true; | ||||
|             this.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6); | ||||
|             this.MaximizeBox = false; | ||||
|             this.MinimizeBox = false; | ||||
|             this.Name = "Frm_GraphSetup"; | ||||
|             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
|             this.Text = "데이터 조회 환경"; | ||||
|             this.Load += new System.EventHandler(this.Frm_GraphSetup_Load); | ||||
|             this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Frm_GraphSetup_KeyDown); | ||||
|             this.GroupBox1.ResumeLayout(false); | ||||
|             this.GroupBox1.PerformLayout(); | ||||
|             this.panel1.ResumeLayout(false); | ||||
|             this.ResumeLayout(false); | ||||
|  | ||||
| 		} | ||||
| 		internal System.Windows.Forms.Button bt_cancel; | ||||
| 		internal System.Windows.Forms.Button bt_ok; | ||||
| 		internal System.Windows.Forms.GroupBox GroupBox1; | ||||
|         private Panel panel1; | ||||
|         internal Button button1; | ||||
|         internal Label label11; | ||||
|         internal Button button2; | ||||
|         internal Button button3; | ||||
|         private DateTimePicker dts; | ||||
|         internal Label label10; | ||||
|         private DateTimePicker dte; | ||||
|     } | ||||
| 	 | ||||
| } | ||||
							
								
								
									
										83
									
								
								Viewer/TrendViewer/Frm_GraphSetup.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,83 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using AR; | ||||
| using System.Linq; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public partial class Frm_GraphSetup | ||||
|     { | ||||
|  | ||||
|         public Frm_GraphSetup() | ||||
|         { | ||||
|  | ||||
|             // 이 호출은 디자이너에 필요합니다. | ||||
|             InitializeComponent(); | ||||
|         } | ||||
|         public void Button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             this.Close(); | ||||
|         } | ||||
|         public void Frm_GraphSetup_Load(object sender, EventArgs e) | ||||
|         { | ||||
|             dts.Value = PUB.TREND.graph_time_start; | ||||
|             dte.Value = PUB.TREND.graph_time_end; | ||||
|         } | ||||
|  | ||||
|         public void Button2_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             PUB.TREND.graph_time_start = dts.Value; | ||||
|             PUB.TREND.graph_time_end = dte.Value; | ||||
|             PUB.CONFIG.Save(); | ||||
|             DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public void Frm_GraphSetup_KeyDown(object sender, KeyEventArgs e) | ||||
|         { | ||||
|             switch (e.KeyCode) | ||||
|             { | ||||
|                 case Keys.Escape: | ||||
|                     bt_cancel.PerformClick(); | ||||
|                     break; | ||||
|                 case Keys.Enter: | ||||
|                     bt_ok.PerformClick(); | ||||
|                     break; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void button1_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             var dates = PUB.DB.GetAvailableDates(); | ||||
|             if (dates.Any() == false) | ||||
|             { | ||||
|                 UTIL.MsgE("가능한 날짜가 없습니다"); | ||||
|                 return; | ||||
|             } | ||||
|             var lastmon = dates.Last(); | ||||
|             dte.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")); | ||||
|             dts.Value = dte.Value.AddMonths(-1).AddSeconds(1); | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void button2_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             dte.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")); | ||||
|             dts.Value = dte.Value.AddDays(-7).AddSeconds(1); | ||||
|         } | ||||
|  | ||||
|         private void button3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             dts.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01 00:00:00")); | ||||
|             dte.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										120
									
								
								Viewer/TrendViewer/Frm_GraphSetup.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> | ||||
							
								
								
									
										895
									
								
								Viewer/TrendViewer/Frm_trend.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,895 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	partial class Frm_trend : System.Windows.Forms.Form | ||||
| 	{ | ||||
| 		 | ||||
| 		//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다. | ||||
| 		[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing) | ||||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| 				if (disposing && components != null) | ||||
| 				{ | ||||
| 					components.Dispose(); | ||||
| 				} | ||||
| 			} | ||||
| 			finally | ||||
| 			{ | ||||
| 				base.Dispose(disposing); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다. | ||||
| 		//수정하려면 Windows Form 디자이너를 사용하십시오. | ||||
| 		//코드 편집기를 사용하여 수정하지 마십시오. | ||||
| 		[System.Diagnostics.DebuggerStepThrough()] | ||||
| 			private void InitializeComponent() | ||||
| 			{ | ||||
|             this.components = new System.ComponentModel.Container(); | ||||
|             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); | ||||
|             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_trend)); | ||||
|             this.TabControl1 = new System.Windows.Forms.TabControl(); | ||||
|             this.TabPage1 = new System.Windows.Forms.TabPage(); | ||||
|             this.dv_chlist = new System.Windows.Forms.DataGridView(); | ||||
|             this.useDataGridViewCheckBoxColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); | ||||
|             this.cnameDataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.c1DataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.c2DataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.ccDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.idxDataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.tidxDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.bs_Channel = new System.Windows.Forms.BindingSource(this.components); | ||||
|             this.dS1 = new vmsnet.DS1(); | ||||
|             this.TabPage2 = new System.Windows.Forms.TabPage(); | ||||
|             this.PropertyGrid1 = new System.Windows.Forms.PropertyGrid(); | ||||
|             this.ToolTip1 = new System.Windows.Forms.ToolTip(this.components); | ||||
|             this.bt_cursor2 = new System.Windows.Forms.Button(); | ||||
|             this.bt_cursor1 = new System.Windows.Forms.Button(); | ||||
|             this.bt_clear = new System.Windows.Forms.Button(); | ||||
|             this.cm_grpmenu = new System.Windows.Forms.ContextMenuStrip(this.components); | ||||
|             this.ToolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.bs_grp = new System.Windows.Forms.BindingSource(this.components); | ||||
|             this.Panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.dv_grp = new System.Windows.Forms.DataGridView(); | ||||
|             this.cnameDataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.valueDataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.idxDataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.gnameDataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.rnameDataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.label1 = new System.Windows.Forms.Label(); | ||||
|             this.textBox1 = new System.Windows.Forms.TextBox(); | ||||
|             this.panel7 = new System.Windows.Forms.Panel(); | ||||
|             this.bt_delgroup = new System.Windows.Forms.LinkLabel(); | ||||
|             this.LinkLabel5 = new System.Windows.Forms.LinkLabel(); | ||||
|             this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); | ||||
|             this.bt_run = new System.Windows.Forms.Button(); | ||||
|             this.Button2 = new System.Windows.Forms.Button(); | ||||
|             this.Button1 = new System.Windows.Forms.Button(); | ||||
|             this.bt_print = new System.Windows.Forms.Button(); | ||||
|             this.panel6 = new System.Windows.Forms.Panel(); | ||||
|             this.cmb_group = new System.Windows.Forms.ComboBox(); | ||||
|             this.Label4 = new System.Windows.Forms.Label(); | ||||
|             this.ContextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); | ||||
|             this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.ToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.PrintDocument1 = new System.Drawing.Printing.PrintDocument(); | ||||
|             this.PrintPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog(); | ||||
|             this.ToolStrip1 = new System.Windows.Forms.ToolStrip(); | ||||
|             this.lb_datatcnt = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.lb_Area = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.lb_selgroup = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.lb_filesearchtime = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.lb_querytime = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.ToolStripButton1 = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.lb_charttime = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.lb_totaltime = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.btConfig = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.TableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); | ||||
|             this.Panel2 = new System.Windows.Forms.Panel(); | ||||
|             this.panel8 = new System.Windows.Forms.Panel(); | ||||
|             this.Panel4 = new System.Windows.Forms.Panel(); | ||||
|             this.TabControl1.SuspendLayout(); | ||||
|             this.TabPage1.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv_chlist)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs_Channel)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dS1)).BeginInit(); | ||||
|             this.TabPage2.SuspendLayout(); | ||||
|             this.cm_grpmenu.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs_grp)).BeginInit(); | ||||
|             this.Panel1.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv_grp)).BeginInit(); | ||||
|             this.panel7.SuspendLayout(); | ||||
|             this.tableLayoutPanel2.SuspendLayout(); | ||||
|             this.panel6.SuspendLayout(); | ||||
|             this.ContextMenuStrip2.SuspendLayout(); | ||||
|             this.ToolStrip1.SuspendLayout(); | ||||
|             this.TableLayoutPanel1.SuspendLayout(); | ||||
|             this.Panel2.SuspendLayout(); | ||||
|             this.Panel4.SuspendLayout(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // TabControl1 | ||||
|             //  | ||||
|             this.TabControl1.Controls.Add(this.TabPage1); | ||||
|             this.TabControl1.Controls.Add(this.TabPage2); | ||||
|             this.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.TabControl1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.TabControl1.Location = new System.Drawing.Point(987, 3); | ||||
|             this.TabControl1.Name = "TabControl1"; | ||||
|             this.TabControl1.SelectedIndex = 0; | ||||
|             this.TabControl1.Size = new System.Drawing.Size(194, 762); | ||||
|             this.TabControl1.TabIndex = 5; | ||||
|             //  | ||||
|             // TabPage1 | ||||
|             //  | ||||
|             this.TabPage1.Controls.Add(this.dv_chlist); | ||||
|             this.TabPage1.Location = new System.Drawing.Point(4, 34); | ||||
|             this.TabPage1.Name = "TabPage1"; | ||||
|             this.TabPage1.Padding = new System.Windows.Forms.Padding(3); | ||||
|             this.TabPage1.Size = new System.Drawing.Size(186, 724); | ||||
|             this.TabPage1.TabIndex = 0; | ||||
|             this.TabPage1.Text = "셀"; | ||||
|             this.TabPage1.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // dv_chlist | ||||
|             //  | ||||
|             this.dv_chlist.AllowUserToAddRows = false; | ||||
|             this.dv_chlist.AllowUserToDeleteRows = false; | ||||
|             this.dv_chlist.AllowUserToResizeColumns = false; | ||||
|             this.dv_chlist.AllowUserToResizeRows = false; | ||||
|             this.dv_chlist.AutoGenerateColumns = false; | ||||
|             this.dv_chlist.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; | ||||
|             this.dv_chlist.BackgroundColor = System.Drawing.Color.White; | ||||
|             this.dv_chlist.BorderStyle = System.Windows.Forms.BorderStyle.None; | ||||
|             this.dv_chlist.ColumnHeadersHeight = 34; | ||||
|             this.dv_chlist.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; | ||||
|             this.dv_chlist.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.useDataGridViewCheckBoxColumn, | ||||
|             this.cnameDataGridViewTextBoxColumn1, | ||||
|             this.c1DataGridViewTextBoxColumn, | ||||
|             this.c2DataGridViewTextBoxColumn, | ||||
|             this.ccDataGridViewTextBoxColumn, | ||||
|             this.idxDataGridViewTextBoxColumn1, | ||||
|             this.tidxDataGridViewTextBoxColumn}); | ||||
|             this.dv_chlist.DataSource = this.bs_Channel; | ||||
|             this.dv_chlist.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.dv_chlist.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); | ||||
|             this.dv_chlist.Location = new System.Drawing.Point(3, 3); | ||||
|             this.dv_chlist.Name = "dv_chlist"; | ||||
|             this.dv_chlist.RowHeadersVisible = false; | ||||
|             this.dv_chlist.RowHeadersWidth = 62; | ||||
|             this.dv_chlist.RowTemplate.Height = 23; | ||||
|             this.dv_chlist.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; | ||||
|             this.dv_chlist.Size = new System.Drawing.Size(180, 718); | ||||
|             this.dv_chlist.TabIndex = 6; | ||||
|             this.dv_chlist.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dv_chlist_CellContentClick); | ||||
|             this.dv_chlist.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridView1_CellFormatting); | ||||
|             this.dv_chlist.MouseLeave += new System.EventHandler(this.dv_chlist_MouseLeave); | ||||
|             this.dv_chlist.MouseMove += new System.Windows.Forms.MouseEventHandler(this.dv_chlist_MouseMove); | ||||
|             //  | ||||
|             // useDataGridViewCheckBoxColumn | ||||
|             //  | ||||
|             this.useDataGridViewCheckBoxColumn.DataPropertyName = "use"; | ||||
|             this.useDataGridViewCheckBoxColumn.HeaderText = "√"; | ||||
|             this.useDataGridViewCheckBoxColumn.MinimumWidth = 10; | ||||
|             this.useDataGridViewCheckBoxColumn.Name = "useDataGridViewCheckBoxColumn"; | ||||
|             this.useDataGridViewCheckBoxColumn.ReadOnly = true; | ||||
|             this.useDataGridViewCheckBoxColumn.Width = 29; | ||||
|             //  | ||||
|             // cnameDataGridViewTextBoxColumn1 | ||||
|             //  | ||||
|             this.cnameDataGridViewTextBoxColumn1.DataPropertyName = "cname"; | ||||
|             this.cnameDataGridViewTextBoxColumn1.HeaderText = "채널"; | ||||
|             this.cnameDataGridViewTextBoxColumn1.MinimumWidth = 8; | ||||
|             this.cnameDataGridViewTextBoxColumn1.Name = "cnameDataGridViewTextBoxColumn1"; | ||||
|             this.cnameDataGridViewTextBoxColumn1.Width = 78; | ||||
|             //  | ||||
|             // c1DataGridViewTextBoxColumn | ||||
|             //  | ||||
|             this.c1DataGridViewTextBoxColumn.DataPropertyName = "c1"; | ||||
|             this.c1DataGridViewTextBoxColumn.HeaderText = "C1"; | ||||
|             this.c1DataGridViewTextBoxColumn.MinimumWidth = 8; | ||||
|             this.c1DataGridViewTextBoxColumn.Name = "c1DataGridViewTextBoxColumn"; | ||||
|             this.c1DataGridViewTextBoxColumn.Width = 74; | ||||
|             //  | ||||
|             // c2DataGridViewTextBoxColumn | ||||
|             //  | ||||
|             this.c2DataGridViewTextBoxColumn.DataPropertyName = "c2"; | ||||
|             this.c2DataGridViewTextBoxColumn.HeaderText = "C2"; | ||||
|             this.c2DataGridViewTextBoxColumn.MinimumWidth = 8; | ||||
|             this.c2DataGridViewTextBoxColumn.Name = "c2DataGridViewTextBoxColumn"; | ||||
|             this.c2DataGridViewTextBoxColumn.Width = 74; | ||||
|             //  | ||||
|             // ccDataGridViewTextBoxColumn | ||||
|             //  | ||||
|             this.ccDataGridViewTextBoxColumn.DataPropertyName = "cc"; | ||||
|             this.ccDataGridViewTextBoxColumn.HeaderText = "cc"; | ||||
|             this.ccDataGridViewTextBoxColumn.MinimumWidth = 8; | ||||
|             this.ccDataGridViewTextBoxColumn.Name = "ccDataGridViewTextBoxColumn"; | ||||
|             this.ccDataGridViewTextBoxColumn.Visible = false; | ||||
|             this.ccDataGridViewTextBoxColumn.Width = 68; | ||||
|             //  | ||||
|             // idxDataGridViewTextBoxColumn1 | ||||
|             //  | ||||
|             this.idxDataGridViewTextBoxColumn1.DataPropertyName = "idx"; | ||||
|             this.idxDataGridViewTextBoxColumn1.HeaderText = "idx"; | ||||
|             this.idxDataGridViewTextBoxColumn1.MinimumWidth = 8; | ||||
|             this.idxDataGridViewTextBoxColumn1.Name = "idxDataGridViewTextBoxColumn1"; | ||||
|             this.idxDataGridViewTextBoxColumn1.Visible = false; | ||||
|             this.idxDataGridViewTextBoxColumn1.Width = 73; | ||||
|             //  | ||||
|             // tidxDataGridViewTextBoxColumn | ||||
|             //  | ||||
|             this.tidxDataGridViewTextBoxColumn.DataPropertyName = "tidx"; | ||||
|             this.tidxDataGridViewTextBoxColumn.HeaderText = "tidx"; | ||||
|             this.tidxDataGridViewTextBoxColumn.MinimumWidth = 8; | ||||
|             this.tidxDataGridViewTextBoxColumn.Name = "tidxDataGridViewTextBoxColumn"; | ||||
|             this.tidxDataGridViewTextBoxColumn.Visible = false; | ||||
|             this.tidxDataGridViewTextBoxColumn.Width = 78; | ||||
|             //  | ||||
|             // bs_Channel | ||||
|             //  | ||||
|             this.bs_Channel.DataMember = "channel"; | ||||
|             this.bs_Channel.DataSource = this.dS1; | ||||
|             //  | ||||
|             // dS1 | ||||
|             //  | ||||
|             this.dS1.DataSetName = "DS1"; | ||||
|             this.dS1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; | ||||
|             //  | ||||
|             // TabPage2 | ||||
|             //  | ||||
|             this.TabPage2.Controls.Add(this.PropertyGrid1); | ||||
|             this.TabPage2.Location = new System.Drawing.Point(4, 34); | ||||
|             this.TabPage2.Name = "TabPage2"; | ||||
|             this.TabPage2.Padding = new System.Windows.Forms.Padding(3); | ||||
|             this.TabPage2.Size = new System.Drawing.Size(186, 724); | ||||
|             this.TabPage2.TabIndex = 1; | ||||
|             this.TabPage2.Text = "기타"; | ||||
|             this.TabPage2.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // PropertyGrid1 | ||||
|             //  | ||||
|             this.PropertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.PropertyGrid1.Location = new System.Drawing.Point(3, 3); | ||||
|             this.PropertyGrid1.Name = "PropertyGrid1"; | ||||
|             this.PropertyGrid1.Size = new System.Drawing.Size(180, 718); | ||||
|             this.PropertyGrid1.TabIndex = 0; | ||||
|             //  | ||||
|             // bt_cursor2 | ||||
|             //  | ||||
|             this.bt_cursor2.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||||
|             this.bt_cursor2.Location = new System.Drawing.Point(75, 4); | ||||
|             this.bt_cursor2.Name = "bt_cursor2"; | ||||
|             this.bt_cursor2.Size = new System.Drawing.Size(66, 48); | ||||
|             this.bt_cursor2.TabIndex = 12; | ||||
|             this.bt_cursor2.Tag = "1"; | ||||
|             this.bt_cursor2.Text = "C2\r\n[F11]"; | ||||
|             this.ToolTip1.SetToolTip(this.bt_cursor2, "커서를 설정합니다."); | ||||
|             this.bt_cursor2.UseVisualStyleBackColor = true; | ||||
|             this.bt_cursor2.Click += new System.EventHandler(this.bt_cursor_Click); | ||||
|             //  | ||||
|             // bt_cursor1 | ||||
|             //  | ||||
|             this.bt_cursor1.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||||
|             this.bt_cursor1.Location = new System.Drawing.Point(8, 4); | ||||
|             this.bt_cursor1.Name = "bt_cursor1"; | ||||
|             this.bt_cursor1.Size = new System.Drawing.Size(66, 48); | ||||
|             this.bt_cursor1.TabIndex = 11; | ||||
|             this.bt_cursor1.Tag = "0"; | ||||
|             this.bt_cursor1.Text = "C1\r\n[F10]"; | ||||
|             this.ToolTip1.SetToolTip(this.bt_cursor1, "커서를 설정합니다."); | ||||
|             this.bt_cursor1.UseVisualStyleBackColor = true; | ||||
|             this.bt_cursor1.Click += new System.EventHandler(this.bt_cursor_Click); | ||||
|             //  | ||||
|             // bt_clear | ||||
|             //  | ||||
|             this.bt_clear.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||||
|             this.bt_clear.Location = new System.Drawing.Point(142, 4); | ||||
|             this.bt_clear.Name = "bt_clear"; | ||||
|             this.bt_clear.Size = new System.Drawing.Size(96, 48); | ||||
|             this.bt_clear.TabIndex = 14; | ||||
|             this.bt_clear.Text = "C1, C2\r\nHide"; | ||||
|             this.ToolTip1.SetToolTip(this.bt_clear, "커서를 설정합니다."); | ||||
|             this.bt_clear.UseVisualStyleBackColor = true; | ||||
|             this.bt_clear.Click += new System.EventHandler(this.bt_Hide_Click); | ||||
|             //  | ||||
|             // cm_grpmenu | ||||
|             //  | ||||
|             this.cm_grpmenu.ImageScalingSize = new System.Drawing.Size(24, 24); | ||||
|             this.cm_grpmenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.ToolStripMenuItem3}); | ||||
|             this.cm_grpmenu.Name = "ContextMenuStrip1"; | ||||
|             this.cm_grpmenu.Size = new System.Drawing.Size(248, 36); | ||||
|             //  | ||||
|             // ToolStripMenuItem3 | ||||
|             //  | ||||
|             this.ToolStripMenuItem3.Name = "ToolStripMenuItem3"; | ||||
|             this.ToolStripMenuItem3.Size = new System.Drawing.Size(247, 32); | ||||
|             this.ToolStripMenuItem3.Text = "Channel Index(TEST)"; | ||||
|             this.ToolStripMenuItem3.Click += new System.EventHandler(this.ToolStripMenuItem3_Click); | ||||
|             //  | ||||
|             // bs_grp | ||||
|             //  | ||||
|             this.bs_grp.DataMember = "group"; | ||||
|             this.bs_grp.DataSource = this.dS1; | ||||
|             //  | ||||
|             // Panel1 | ||||
|             //  | ||||
|             this.Panel1.BackColor = System.Drawing.Color.WhiteSmoke; | ||||
|             this.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; | ||||
|             this.Panel1.Controls.Add(this.dv_grp); | ||||
|             this.Panel1.Controls.Add(this.label1); | ||||
|             this.Panel1.Controls.Add(this.textBox1); | ||||
|             this.Panel1.Controls.Add(this.panel7); | ||||
|             this.Panel1.Controls.Add(this.tableLayoutPanel2); | ||||
|             this.Panel1.Controls.Add(this.panel6); | ||||
|             this.Panel1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.Panel1.Location = new System.Drawing.Point(3, 3); | ||||
|             this.Panel1.Name = "Panel1"; | ||||
|             this.Panel1.Size = new System.Drawing.Size(215, 762); | ||||
|             this.Panel1.TabIndex = 7; | ||||
|             //  | ||||
|             // dv_grp | ||||
|             //  | ||||
|             this.dv_grp.AllowUserToAddRows = false; | ||||
|             this.dv_grp.AllowUserToDeleteRows = false; | ||||
|             this.dv_grp.AllowUserToResizeColumns = false; | ||||
|             this.dv_grp.AllowUserToResizeRows = false; | ||||
|             this.dv_grp.AutoGenerateColumns = false; | ||||
|             this.dv_grp.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; | ||||
|             this.dv_grp.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; | ||||
|             this.dv_grp.BorderStyle = System.Windows.Forms.BorderStyle.None; | ||||
|             this.dv_grp.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dv_grp.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.cnameDataGridViewTextBoxColumn2, | ||||
|             this.valueDataGridViewTextBoxColumn1, | ||||
|             this.idxDataGridViewTextBoxColumn2, | ||||
|             this.gnameDataGridViewTextBoxColumn1, | ||||
|             this.rnameDataGridViewTextBoxColumn1}); | ||||
|             this.dv_grp.ContextMenuStrip = this.cm_grpmenu; | ||||
|             this.dv_grp.DataSource = this.bs_grp; | ||||
|             dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; | ||||
|             dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; | ||||
|             dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; | ||||
|             dataGridViewCellStyle1.Padding = new System.Windows.Forms.Padding(0, 9, 0, 9); | ||||
|             dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; | ||||
|             dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; | ||||
|             dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; | ||||
|             this.dv_grp.DefaultCellStyle = dataGridViewCellStyle1; | ||||
|             this.dv_grp.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.dv_grp.Location = new System.Drawing.Point(0, 33); | ||||
|             this.dv_grp.Name = "dv_grp"; | ||||
|             this.dv_grp.ReadOnly = true; | ||||
|             this.dv_grp.RowHeadersVisible = false; | ||||
|             this.dv_grp.RowHeadersWidth = 62; | ||||
|             this.dv_grp.RowTemplate.Height = 23; | ||||
|             this.dv_grp.Size = new System.Drawing.Size(213, 533); | ||||
|             this.dv_grp.TabIndex = 0; | ||||
|             this.dv_grp.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DataGridView2_CellDoubleClick); | ||||
|             //  | ||||
|             // cnameDataGridViewTextBoxColumn2 | ||||
|             //  | ||||
|             this.cnameDataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; | ||||
|             this.cnameDataGridViewTextBoxColumn2.DataPropertyName = "cname"; | ||||
|             this.cnameDataGridViewTextBoxColumn2.HeaderText = "Group List"; | ||||
|             this.cnameDataGridViewTextBoxColumn2.MinimumWidth = 8; | ||||
|             this.cnameDataGridViewTextBoxColumn2.Name = "cnameDataGridViewTextBoxColumn2"; | ||||
|             this.cnameDataGridViewTextBoxColumn2.ReadOnly = true; | ||||
|             //  | ||||
|             // valueDataGridViewTextBoxColumn1 | ||||
|             //  | ||||
|             this.valueDataGridViewTextBoxColumn1.DataPropertyName = "value"; | ||||
|             this.valueDataGridViewTextBoxColumn1.HeaderText = "value"; | ||||
|             this.valueDataGridViewTextBoxColumn1.MinimumWidth = 8; | ||||
|             this.valueDataGridViewTextBoxColumn1.Name = "valueDataGridViewTextBoxColumn1"; | ||||
|             this.valueDataGridViewTextBoxColumn1.ReadOnly = true; | ||||
|             this.valueDataGridViewTextBoxColumn1.Visible = false; | ||||
|             this.valueDataGridViewTextBoxColumn1.Width = 60; | ||||
|             //  | ||||
|             // idxDataGridViewTextBoxColumn2 | ||||
|             //  | ||||
|             this.idxDataGridViewTextBoxColumn2.DataPropertyName = "idx"; | ||||
|             this.idxDataGridViewTextBoxColumn2.HeaderText = "idx"; | ||||
|             this.idxDataGridViewTextBoxColumn2.MinimumWidth = 8; | ||||
|             this.idxDataGridViewTextBoxColumn2.Name = "idxDataGridViewTextBoxColumn2"; | ||||
|             this.idxDataGridViewTextBoxColumn2.ReadOnly = true; | ||||
|             this.idxDataGridViewTextBoxColumn2.Visible = false; | ||||
|             this.idxDataGridViewTextBoxColumn2.Width = 47; | ||||
|             //  | ||||
|             // gnameDataGridViewTextBoxColumn1 | ||||
|             //  | ||||
|             this.gnameDataGridViewTextBoxColumn1.DataPropertyName = "gname"; | ||||
|             this.gnameDataGridViewTextBoxColumn1.HeaderText = "gname"; | ||||
|             this.gnameDataGridViewTextBoxColumn1.MinimumWidth = 8; | ||||
|             this.gnameDataGridViewTextBoxColumn1.Name = "gnameDataGridViewTextBoxColumn1"; | ||||
|             this.gnameDataGridViewTextBoxColumn1.ReadOnly = true; | ||||
|             this.gnameDataGridViewTextBoxColumn1.Visible = false; | ||||
|             this.gnameDataGridViewTextBoxColumn1.Width = 69; | ||||
|             //  | ||||
|             // rnameDataGridViewTextBoxColumn1 | ||||
|             //  | ||||
|             this.rnameDataGridViewTextBoxColumn1.DataPropertyName = "rname"; | ||||
|             this.rnameDataGridViewTextBoxColumn1.HeaderText = "rname"; | ||||
|             this.rnameDataGridViewTextBoxColumn1.MinimumWidth = 8; | ||||
|             this.rnameDataGridViewTextBoxColumn1.Name = "rnameDataGridViewTextBoxColumn1"; | ||||
|             this.rnameDataGridViewTextBoxColumn1.ReadOnly = true; | ||||
|             this.rnameDataGridViewTextBoxColumn1.Visible = false; | ||||
|             this.rnameDataGridViewTextBoxColumn1.Width = 66; | ||||
|             //  | ||||
|             // label1 | ||||
|             //  | ||||
|             this.label1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.label1.Location = new System.Drawing.Point(0, 566); | ||||
|             this.label1.Name = "label1"; | ||||
|             this.label1.Size = new System.Drawing.Size(213, 30); | ||||
|             this.label1.TabIndex = 23; | ||||
|             this.label1.Text = "Channel List"; | ||||
|             this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; | ||||
|             //  | ||||
|             // textBox1 | ||||
|             //  | ||||
|             this.textBox1.BackColor = System.Drawing.Color.Silver; | ||||
|             this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; | ||||
|             this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs_grp, "value", true)); | ||||
|             this.textBox1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.textBox1.Location = new System.Drawing.Point(0, 596); | ||||
|             this.textBox1.Multiline = true; | ||||
|             this.textBox1.Name = "textBox1"; | ||||
|             this.textBox1.ReadOnly = true; | ||||
|             this.textBox1.Size = new System.Drawing.Size(213, 46); | ||||
|             this.textBox1.TabIndex = 22; | ||||
|             this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; | ||||
|             //  | ||||
|             // panel7 | ||||
|             //  | ||||
|             this.panel7.Controls.Add(this.bt_delgroup); | ||||
|             this.panel7.Controls.Add(this.LinkLabel5); | ||||
|             this.panel7.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.panel7.Location = new System.Drawing.Point(0, 642); | ||||
|             this.panel7.Name = "panel7"; | ||||
|             this.panel7.Padding = new System.Windows.Forms.Padding(5, 8, 0, 0); | ||||
|             this.panel7.Size = new System.Drawing.Size(213, 31); | ||||
|             this.panel7.TabIndex = 21; | ||||
|             //  | ||||
|             // bt_delgroup | ||||
|             //  | ||||
|             this.bt_delgroup.AutoSize = true; | ||||
|             this.bt_delgroup.Dock = System.Windows.Forms.DockStyle.Left; | ||||
|             this.bt_delgroup.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.bt_delgroup.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); | ||||
|             this.bt_delgroup.Location = new System.Drawing.Point(93, 8); | ||||
|             this.bt_delgroup.Name = "bt_delgroup"; | ||||
|             this.bt_delgroup.Size = new System.Drawing.Size(88, 22); | ||||
|             this.bt_delgroup.TabIndex = 11; | ||||
|             this.bt_delgroup.TabStop = true; | ||||
|             this.bt_delgroup.Text = "선택그룹삭제"; | ||||
|             this.bt_delgroup.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLabel4_LinkClicked); | ||||
|             //  | ||||
|             // LinkLabel5 | ||||
|             //  | ||||
|             this.LinkLabel5.AutoSize = true; | ||||
|             this.LinkLabel5.Dock = System.Windows.Forms.DockStyle.Left; | ||||
|             this.LinkLabel5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.LinkLabel5.Location = new System.Drawing.Point(5, 8); | ||||
|             this.LinkLabel5.Name = "LinkLabel5"; | ||||
|             this.LinkLabel5.Size = new System.Drawing.Size(88, 22); | ||||
|             this.LinkLabel5.TabIndex = 10; | ||||
|             this.LinkLabel5.TabStop = true; | ||||
|             this.LinkLabel5.Text = "신규그룹생성"; | ||||
|             this.LinkLabel5.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLabel5_LinkClicked); | ||||
|             //  | ||||
|             // tableLayoutPanel2 | ||||
|             //  | ||||
|             this.tableLayoutPanel2.ColumnCount = 2; | ||||
|             this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); | ||||
|             this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); | ||||
|             this.tableLayoutPanel2.Controls.Add(this.bt_run, 0, 0); | ||||
|             this.tableLayoutPanel2.Controls.Add(this.Button2, 1, 0); | ||||
|             this.tableLayoutPanel2.Controls.Add(this.Button1, 1, 1); | ||||
|             this.tableLayoutPanel2.Controls.Add(this.bt_print, 0, 1); | ||||
|             this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 673); | ||||
|             this.tableLayoutPanel2.Name = "tableLayoutPanel2"; | ||||
|             this.tableLayoutPanel2.RowCount = 2; | ||||
|             this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); | ||||
|             this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); | ||||
|             this.tableLayoutPanel2.Size = new System.Drawing.Size(213, 87); | ||||
|             this.tableLayoutPanel2.TabIndex = 20; | ||||
|             //  | ||||
|             // bt_run | ||||
|             //  | ||||
|             this.bt_run.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.bt_run.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.bt_run.Location = new System.Drawing.Point(3, 3); | ||||
|             this.bt_run.Name = "bt_run"; | ||||
|             this.bt_run.Size = new System.Drawing.Size(100, 37); | ||||
|             this.bt_run.TabIndex = 7; | ||||
|             this.bt_run.Text = "조회"; | ||||
|             this.bt_run.UseVisualStyleBackColor = true; | ||||
|             this.bt_run.Click += new System.EventHandler(this.bt_run_Click); | ||||
|             //  | ||||
|             // Button2 | ||||
|             //  | ||||
|             this.Button2.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.Button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Button2.Location = new System.Drawing.Point(109, 3); | ||||
|             this.Button2.Name = "Button2"; | ||||
|             this.Button2.Size = new System.Drawing.Size(101, 37); | ||||
|             this.Button2.TabIndex = 18; | ||||
|             this.Button2.Text = "조회범위설정"; | ||||
|             this.Button2.UseVisualStyleBackColor = true; | ||||
|             this.Button2.Click += new System.EventHandler(this.Button2_Click_2); | ||||
|             //  | ||||
|             // Button1 | ||||
|             //  | ||||
|             this.Button1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.Button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Button1.Location = new System.Drawing.Point(109, 46); | ||||
|             this.Button1.Name = "Button1"; | ||||
|             this.Button1.Size = new System.Drawing.Size(101, 38); | ||||
|             this.Button1.TabIndex = 17; | ||||
|             this.Button1.Text = "저장(PNG)"; | ||||
|             this.Button1.UseVisualStyleBackColor = true; | ||||
|             this.Button1.Click += new System.EventHandler(this.Button1_Click_1); | ||||
|             //  | ||||
|             // bt_print | ||||
|             //  | ||||
|             this.bt_print.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.bt_print.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.bt_print.Location = new System.Drawing.Point(3, 46); | ||||
|             this.bt_print.Name = "bt_print"; | ||||
|             this.bt_print.Size = new System.Drawing.Size(100, 38); | ||||
|             this.bt_print.TabIndex = 14; | ||||
|             this.bt_print.Text = "인쇄"; | ||||
|             this.bt_print.UseVisualStyleBackColor = true; | ||||
|             this.bt_print.Click += new System.EventHandler(this.Button1_Click); | ||||
|             //  | ||||
|             // panel6 | ||||
|             //  | ||||
|             this.panel6.Controls.Add(this.cmb_group); | ||||
|             this.panel6.Controls.Add(this.Label4); | ||||
|             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(0, 5, 0, 5); | ||||
|             this.panel6.Size = new System.Drawing.Size(213, 33); | ||||
|             this.panel6.TabIndex = 19; | ||||
|             //  | ||||
|             // cmb_group | ||||
|             //  | ||||
|             this.cmb_group.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.cmb_group.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; | ||||
|             this.cmb_group.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.cmb_group.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0))))); | ||||
|             this.cmb_group.FormattingEnabled = true; | ||||
|             this.cmb_group.Location = new System.Drawing.Point(43, 5); | ||||
|             this.cmb_group.Name = "cmb_group"; | ||||
|             this.cmb_group.Size = new System.Drawing.Size(170, 30); | ||||
|             this.cmb_group.TabIndex = 16; | ||||
|             this.cmb_group.SelectedIndexChanged += new System.EventHandler(this.cmb_group_SelectedIndexChanged); | ||||
|             //  | ||||
|             // Label4 | ||||
|             //  | ||||
|             this.Label4.Dock = System.Windows.Forms.DockStyle.Left; | ||||
|             this.Label4.Location = new System.Drawing.Point(0, 5); | ||||
|             this.Label4.Name = "Label4"; | ||||
|             this.Label4.Size = new System.Drawing.Size(43, 23); | ||||
|             this.Label4.TabIndex = 15; | ||||
|             this.Label4.Text = "대분류"; | ||||
|             this.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; | ||||
|             //  | ||||
|             // ContextMenuStrip2 | ||||
|             //  | ||||
|             this.ContextMenuStrip2.ImageScalingSize = new System.Drawing.Size(24, 24); | ||||
|             this.ContextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.ToolStripMenuItem1, | ||||
|             this.ToolStripMenuItem2}); | ||||
|             this.ContextMenuStrip2.Name = "ContextMenuStrip1"; | ||||
|             this.ContextMenuStrip2.Size = new System.Drawing.Size(157, 68); | ||||
|             //  | ||||
|             // ToolStripMenuItem1 | ||||
|             //  | ||||
|             this.ToolStripMenuItem1.Name = "ToolStripMenuItem1"; | ||||
|             this.ToolStripMenuItem1.Size = new System.Drawing.Size(156, 32); | ||||
|             this.ToolStripMenuItem1.Text = "신규생성"; | ||||
|             this.ToolStripMenuItem1.Click += new System.EventHandler(this.ToolStripMenuItem1_Click); | ||||
|             //  | ||||
|             // ToolStripMenuItem2 | ||||
|             //  | ||||
|             this.ToolStripMenuItem2.Name = "ToolStripMenuItem2"; | ||||
|             this.ToolStripMenuItem2.Size = new System.Drawing.Size(156, 32); | ||||
|             this.ToolStripMenuItem2.Text = "선택삭제"; | ||||
|             this.ToolStripMenuItem2.Click += new System.EventHandler(this.ToolStripMenuItem2_Click); | ||||
|             //  | ||||
|             // PrintDocument1 | ||||
|             //  | ||||
|             this.PrintDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.PrintDocument1_PrintPage); | ||||
|             //  | ||||
|             // PrintPreviewDialog1 | ||||
|             //  | ||||
|             this.PrintPreviewDialog1.AutoScrollMargin = new System.Drawing.Size(0, 0); | ||||
|             this.PrintPreviewDialog1.AutoScrollMinSize = new System.Drawing.Size(0, 0); | ||||
|             this.PrintPreviewDialog1.ClientSize = new System.Drawing.Size(400, 300); | ||||
|             this.PrintPreviewDialog1.Document = this.PrintDocument1; | ||||
|             this.PrintPreviewDialog1.Enabled = true; | ||||
|             this.PrintPreviewDialog1.Icon = ((System.Drawing.Icon)(resources.GetObject("PrintPreviewDialog1.Icon"))); | ||||
|             this.PrintPreviewDialog1.Name = "PrintPreviewDialog1"; | ||||
|             this.PrintPreviewDialog1.UseAntiAlias = true; | ||||
|             this.PrintPreviewDialog1.Visible = false; | ||||
|             //  | ||||
|             // ToolStrip1 | ||||
|             //  | ||||
|             this.ToolStrip1.BackColor = System.Drawing.Color.White; | ||||
|             this.ToolStrip1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.ToolStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); | ||||
|             this.ToolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.lb_datatcnt, | ||||
|             this.lb_Area, | ||||
|             this.lb_selgroup, | ||||
|             this.lb_filesearchtime, | ||||
|             this.lb_querytime, | ||||
|             this.ToolStripButton1, | ||||
|             this.lb_charttime, | ||||
|             this.lb_totaltime, | ||||
|             this.toolStripLabel1, | ||||
|             this.toolStripLabel2, | ||||
|             this.toolStripLabel3, | ||||
|             this.btConfig}); | ||||
|             this.ToolStrip1.Location = new System.Drawing.Point(0, 768); | ||||
|             this.ToolStrip1.Name = "ToolStrip1"; | ||||
|             this.ToolStrip1.Size = new System.Drawing.Size(1184, 33); | ||||
|             this.ToolStrip1.TabIndex = 7; | ||||
|             this.ToolStrip1.Text = "ToolStrip1"; | ||||
|             //  | ||||
|             // lb_datatcnt | ||||
|             //  | ||||
|             this.lb_datatcnt.Name = "lb_datatcnt"; | ||||
|             this.lb_datatcnt.Size = new System.Drawing.Size(121, 28); | ||||
|             this.lb_datatcnt.Text = "<dataCount>"; | ||||
|             //  | ||||
|             // lb_Area | ||||
|             //  | ||||
|             this.lb_Area.Name = "lb_Area"; | ||||
|             this.lb_Area.Size = new System.Drawing.Size(72, 28); | ||||
|             this.lb_Area.Text = "<area>"; | ||||
|             //  | ||||
|             // lb_selgroup | ||||
|             //  | ||||
|             this.lb_selgroup.Name = "lb_selgroup"; | ||||
|             this.lb_selgroup.Size = new System.Drawing.Size(89, 28); | ||||
|             this.lb_selgroup.Text = "<Group>"; | ||||
|             //  | ||||
|             // lb_filesearchtime | ||||
|             //  | ||||
|             this.lb_filesearchtime.Name = "lb_filesearchtime"; | ||||
|             this.lb_filesearchtime.Size = new System.Drawing.Size(114, 28); | ||||
|             this.lb_filesearchtime.Text = "<filesearch>"; | ||||
|             //  | ||||
|             // lb_querytime | ||||
|             //  | ||||
|             this.lb_querytime.Name = "lb_querytime"; | ||||
|             this.lb_querytime.Size = new System.Drawing.Size(120, 28); | ||||
|             this.lb_querytime.Text = "<querytime>"; | ||||
|             //  | ||||
|             // ToolStripButton1 | ||||
|             //  | ||||
|             this.ToolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; | ||||
|             this.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.ToolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("ToolStripButton1.Image"))); | ||||
|             this.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; | ||||
|             this.ToolStripButton1.Name = "ToolStripButton1"; | ||||
|             this.ToolStripButton1.Size = new System.Drawing.Size(34, 28); | ||||
|             this.ToolStripButton1.Text = "ToolStripButton1"; | ||||
|             this.ToolStripButton1.Click += new System.EventHandler(this.ToolStripButton1_Click_1); | ||||
|             //  | ||||
|             // lb_charttime | ||||
|             //  | ||||
|             this.lb_charttime.Name = "lb_charttime"; | ||||
|             this.lb_charttime.Size = new System.Drawing.Size(94, 28); | ||||
|             this.lb_charttime.Text = "<refresh>"; | ||||
|             //  | ||||
|             // lb_totaltime | ||||
|             //  | ||||
|             this.lb_totaltime.Name = "lb_totaltime"; | ||||
|             this.lb_totaltime.Size = new System.Drawing.Size(74, 28); | ||||
|             this.lb_totaltime.Text = "<total>"; | ||||
|             //  | ||||
|             // toolStripLabel1 | ||||
|             //  | ||||
|             this.toolStripLabel1.Name = "toolStripLabel1"; | ||||
|             this.toolStripLabel1.Size = new System.Drawing.Size(117, 28); | ||||
|             this.toolStripLabel1.Text = "<value info>"; | ||||
|             //  | ||||
|             // toolStripLabel2 | ||||
|             //  | ||||
|             this.toolStripLabel2.Name = "toolStripLabel2"; | ||||
|             this.toolStripLabel2.Size = new System.Drawing.Size(111, 28); | ||||
|             this.toolStripLabel2.Text = "<time info>"; | ||||
|             //  | ||||
|             // toolStripLabel3 | ||||
|             //  | ||||
|             this.toolStripLabel3.Name = "toolStripLabel3"; | ||||
|             this.toolStripLabel3.Size = new System.Drawing.Size(89, 28); | ||||
|             this.toolStripLabel3.Text = "<config>"; | ||||
|             //  | ||||
|             // btConfig | ||||
|             //  | ||||
|             this.btConfig.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; | ||||
|             this.btConfig.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.btConfig.Image = global::vmsnet.Properties.Resources.graphsetting; | ||||
|             this.btConfig.ImageTransparentColor = System.Drawing.Color.Magenta; | ||||
|             this.btConfig.Name = "btConfig"; | ||||
|             this.btConfig.Size = new System.Drawing.Size(34, 28); | ||||
|             this.btConfig.Text = "config"; | ||||
|             this.btConfig.Click += new System.EventHandler(this.btConfig_Click); | ||||
|             //  | ||||
|             // TableLayoutPanel1 | ||||
|             //  | ||||
|             this.TableLayoutPanel1.ColumnCount = 3; | ||||
|             this.TableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 221F)); | ||||
|             this.TableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); | ||||
|             this.TableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 200F)); | ||||
|             this.TableLayoutPanel1.Controls.Add(this.Panel1, 0, 0); | ||||
|             this.TableLayoutPanel1.Controls.Add(this.TabControl1, 2, 0); | ||||
|             this.TableLayoutPanel1.Controls.Add(this.Panel2, 1, 0); | ||||
|             this.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.TableLayoutPanel1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.TableLayoutPanel1.Name = "TableLayoutPanel1"; | ||||
|             this.TableLayoutPanel1.RowCount = 1; | ||||
|             this.TableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); | ||||
|             this.TableLayoutPanel1.Size = new System.Drawing.Size(1184, 768); | ||||
|             this.TableLayoutPanel1.TabIndex = 9; | ||||
|             //  | ||||
|             // Panel2 | ||||
|             //  | ||||
|             this.Panel2.Controls.Add(this.panel8); | ||||
|             this.Panel2.Controls.Add(this.Panel4); | ||||
|             this.Panel2.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.Panel2.Location = new System.Drawing.Point(224, 3); | ||||
|             this.Panel2.Name = "Panel2"; | ||||
|             this.Panel2.Padding = new System.Windows.Forms.Padding(5); | ||||
|             this.Panel2.Size = new System.Drawing.Size(757, 762); | ||||
|             this.Panel2.TabIndex = 8; | ||||
|             //  | ||||
|             // panel8 | ||||
|             //  | ||||
|             this.panel8.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.panel8.Location = new System.Drawing.Point(5, 5); | ||||
|             this.panel8.Name = "panel8"; | ||||
|             this.panel8.Size = new System.Drawing.Size(747, 695); | ||||
|             this.panel8.TabIndex = 2; | ||||
|             //  | ||||
|             // Panel4 | ||||
|             //  | ||||
|             this.Panel4.Controls.Add(this.bt_clear); | ||||
|             this.Panel4.Controls.Add(this.bt_cursor2); | ||||
|             this.Panel4.Controls.Add(this.bt_cursor1); | ||||
|             this.Panel4.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.Panel4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Panel4.Location = new System.Drawing.Point(5, 700); | ||||
|             this.Panel4.Name = "Panel4"; | ||||
|             this.Panel4.Padding = new System.Windows.Forms.Padding(5); | ||||
|             this.Panel4.Size = new System.Drawing.Size(747, 57); | ||||
|             this.Panel4.TabIndex = 0; | ||||
|             //  | ||||
|             // Frm_trend | ||||
|             //  | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; | ||||
|             this.ClientSize = new System.Drawing.Size(1184, 801); | ||||
|             this.Controls.Add(this.TableLayoutPanel1); | ||||
|             this.Controls.Add(this.ToolStrip1); | ||||
|             this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); | ||||
|             this.KeyPreview = true; | ||||
|             this.Name = "Frm_trend"; | ||||
|             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
|             this.Text = "트렌드뷰(과거)"; | ||||
|             this.WindowState = System.Windows.Forms.FormWindowState.Maximized; | ||||
|             this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Frm_trend_FormClosing); | ||||
|             this.Load += new System.EventHandler(this.Frm_trend_Load); | ||||
|             this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Frm_trend_KeyDown); | ||||
|             this.TabControl1.ResumeLayout(false); | ||||
|             this.TabPage1.ResumeLayout(false); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv_chlist)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs_Channel)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dS1)).EndInit(); | ||||
|             this.TabPage2.ResumeLayout(false); | ||||
|             this.cm_grpmenu.ResumeLayout(false); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs_grp)).EndInit(); | ||||
|             this.Panel1.ResumeLayout(false); | ||||
|             this.Panel1.PerformLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv_grp)).EndInit(); | ||||
|             this.panel7.ResumeLayout(false); | ||||
|             this.panel7.PerformLayout(); | ||||
|             this.tableLayoutPanel2.ResumeLayout(false); | ||||
|             this.panel6.ResumeLayout(false); | ||||
|             this.ContextMenuStrip2.ResumeLayout(false); | ||||
|             this.ToolStrip1.ResumeLayout(false); | ||||
|             this.ToolStrip1.PerformLayout(); | ||||
|             this.TableLayoutPanel1.ResumeLayout(false); | ||||
|             this.Panel2.ResumeLayout(false); | ||||
|             this.Panel4.ResumeLayout(false); | ||||
|             this.ResumeLayout(false); | ||||
|             this.PerformLayout(); | ||||
|  | ||||
| 		} | ||||
| 		internal System.Windows.Forms.TabControl TabControl1; | ||||
| 		internal System.Windows.Forms.TabPage TabPage1; | ||||
| 		internal System.Windows.Forms.TabPage TabPage2; | ||||
| 		internal System.Windows.Forms.PropertyGrid PropertyGrid1; | ||||
| 		internal System.Windows.Forms.ToolTip ToolTip1; | ||||
| 		internal System.Windows.Forms.Button bt_run; | ||||
| 		internal System.Windows.Forms.LinkLabel bt_delgroup; | ||||
| 		internal System.Windows.Forms.LinkLabel LinkLabel5; | ||||
| 		internal System.Windows.Forms.DataGridView dv_chlist; | ||||
| 		internal System.Windows.Forms.ContextMenuStrip ContextMenuStrip2; | ||||
| 		internal System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem1; | ||||
| 		internal System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem2; | ||||
| 		internal System.Windows.Forms.Button bt_print; | ||||
| 		internal System.Drawing.Printing.PrintDocument PrintDocument1; | ||||
| 		internal System.Windows.Forms.PrintPreviewDialog PrintPreviewDialog1; | ||||
| 		internal System.Windows.Forms.Panel Panel1; | ||||
| 		internal System.Windows.Forms.ContextMenuStrip cm_grpmenu; | ||||
| 		internal System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem3; | ||||
| 		internal System.Windows.Forms.BindingSource bs_grp; | ||||
| 		internal System.Windows.Forms.ComboBox cmb_group; | ||||
| 		internal System.Windows.Forms.Label Label4; | ||||
| 		internal System.Windows.Forms.BindingSource bs_Channel; | ||||
| 		internal System.Windows.Forms.ToolStrip ToolStrip1; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_datatcnt; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_querytime; | ||||
| 		internal System.Windows.Forms.TableLayoutPanel TableLayoutPanel1; | ||||
| 		internal System.Windows.Forms.Button Button1; | ||||
| 		internal System.Windows.Forms.Panel Panel2; | ||||
| 		internal System.Windows.Forms.Panel Panel4; | ||||
| 		internal System.Windows.Forms.ToolStripButton ToolStripButton1; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_Area; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_selgroup; | ||||
| 		internal System.Windows.Forms.Button bt_cursor2; | ||||
| 		internal System.Windows.Forms.Button bt_cursor1; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_filesearchtime; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_charttime; | ||||
| 		internal System.Windows.Forms.ToolStripLabel lb_totaltime; | ||||
| 		internal System.Windows.Forms.Button Button2; | ||||
|         private System.ComponentModel.IContainer components; | ||||
|         private ToolStripLabel toolStripLabel1; | ||||
|         private Panel panel7; | ||||
|         private TableLayoutPanel tableLayoutPanel2; | ||||
|         private Panel panel6; | ||||
|         private ToolStripLabel toolStripLabel2; | ||||
|         private DS1 dS1; | ||||
|         private ToolStripLabel toolStripLabel3; | ||||
|         private Panel panel8; | ||||
|         private DataGridView dv_grp; | ||||
|         private TextBox textBox1; | ||||
|         private Label label1; | ||||
|         private DataGridViewTextBoxColumn cnameDataGridViewTextBoxColumn2; | ||||
|         private DataGridViewTextBoxColumn valueDataGridViewTextBoxColumn1; | ||||
|         private DataGridViewTextBoxColumn idxDataGridViewTextBoxColumn2; | ||||
|         private DataGridViewTextBoxColumn gnameDataGridViewTextBoxColumn1; | ||||
|         private DataGridViewTextBoxColumn rnameDataGridViewTextBoxColumn1; | ||||
|         private ToolStripButton btConfig; | ||||
|         internal Button bt_clear; | ||||
|         private DataGridViewCheckBoxColumn useDataGridViewCheckBoxColumn; | ||||
|         private DataGridViewTextBoxColumn cnameDataGridViewTextBoxColumn1; | ||||
|         private DataGridViewTextBoxColumn c1DataGridViewTextBoxColumn; | ||||
|         private DataGridViewTextBoxColumn c2DataGridViewTextBoxColumn; | ||||
|         private DataGridViewTextBoxColumn ccDataGridViewTextBoxColumn; | ||||
|         private DataGridViewTextBoxColumn idxDataGridViewTextBoxColumn1; | ||||
|         private DataGridViewTextBoxColumn tidxDataGridViewTextBoxColumn; | ||||
|     } | ||||
| 	 | ||||
| } | ||||
							
								
								
									
										1337
									
								
								Viewer/TrendViewer/Frm_trend.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										597
									
								
								Viewer/TrendViewer/Frm_trend.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,597 @@ | ||||
| <?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="bs_Channel.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 54</value> | ||||
|   </metadata> | ||||
|   <metadata name="dS1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>241, 54</value> | ||||
|   </metadata> | ||||
|   <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="cm_grpmenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>581, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="bs_grp.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>706, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>117, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="PrintDocument1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>276, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="PrintPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>419, 17</value> | ||||
|   </metadata> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="PrintPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA | ||||
|         CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA | ||||
|         /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI | ||||
|         iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I | ||||
|         IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u | ||||
|         bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ | ||||
|         GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ | ||||
|         WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4 | ||||
|         uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4 | ||||
|         uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi | ||||
|         KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv// | ||||
|         ////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA | ||||
|         AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA | ||||
|         gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI | ||||
|         iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7 | ||||
|         uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP// | ||||
|         KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA | ||||
|         IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA | ||||
|         AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/ | ||||
|         KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/ | ||||
|         KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf | ||||
|         VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf | ||||
|         VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f | ||||
|         fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf | ||||
|         fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA | ||||
|         qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/ | ||||
|         qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f | ||||
|         qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/ | ||||
|         1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/ | ||||
|         1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof | ||||
|         /wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf | ||||
|         /wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP// | ||||
|         MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/ | ||||
|         AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/ | ||||
|         KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39 | ||||
|         /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 | ||||
|         /f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39 | ||||
|         /ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39 | ||||
|         qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG | ||||
|         /f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf | ||||
|         OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj | ||||
|         Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ | ||||
|         hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ | ||||
|         fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE | ||||
|         nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym | ||||
|         yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39 | ||||
|         CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG | ||||
|         /f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG | ||||
|         yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P | ||||
|         qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8 | ||||
|         oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39 | ||||
|         /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3///////////// | ||||
|         ///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA | ||||
|         AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA | ||||
|         AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA | ||||
|         gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf | ||||
|         KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP// | ||||
|         KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf | ||||
|         VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf | ||||
|         VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/ | ||||
|         fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f | ||||
|         fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA | ||||
|         qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/ | ||||
|         qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/ | ||||
|         qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/ | ||||
|         1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/ | ||||
|         1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f | ||||
|         /wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf | ||||
|         /wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP// | ||||
|         ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf | ||||
|         AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/ | ||||
|         KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I | ||||
|         hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9 | ||||
|         qv39qkxMTEgIX19fX18I/Qj9/QhwnZlMqoYIqggIqgiG/f2qcKadcAl8fFQDVFQDqv39CHDMpnCqfMvL | ||||
|         ysrKVAj9/QiUlHBwCYDPy8/LylSG/f2GqoYIqgig0M/Py8t8qv39CP39/f2GpNDQ0M/PfAn9/ar9/f39 | ||||
|         qqT20NDQ0Hyq/f2G/f39/QmkpKSloKR8CP39CKoIhgiqCIYIqgiGCKr9/f39/f39/f39/f39/f39/f// | ||||
|         hv2AAf0ItAX9/bQFX2OABWNfgAU7O4ABNzeAAf39gAGq/YAB/YaAAf39vAE6h7wBX2O8AV9fgAE7N/// | ||||
|         /f0oAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAADCv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ | ||||
|         wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ | ||||
|         wf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAwr/B/7Z3Sf+zckT/rm0//6toO/+nYjb/pF4y/6BZLv+dVCr/mlEn/5dNI/+VSiH/kkce/5FE | ||||
|         HP+RRBz/kUUb/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAADCv8H/v4JS//+aZv//lWD/+5Bc//WLV//uh1P/54FO/997S//Wdkb/zXBD/8Vr | ||||
|         QP+9Zj3/tGI5/65dN/+RRRz/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/ | ||||
|         wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/GjFv//6Rz//+fbf//m2f//5Zh//yRXf/3jVj/8IhV/+mD | ||||
|         UP/hfUz/2HhI/9ByRP/HbED/v2c9/5VJIf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAA | ||||
|         AAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/86WZP//r4L//6p7//+mdf//oW7//5xo//+X | ||||
|         Yv/9kl7/+I5a//KJVf/rhFH/4n5N/9t4SP/Sc0X/mlEm/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA | ||||
|         AAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/1J9s//+4kf//tIv//6+E//+r | ||||
|         ff//p3f//6Jw//+eav//mWT//pRf//qQWv/0i1b/7IVS/+V/Tv+gWC7/wr/B/wAAAAAAAAAAAAAAAAAA | ||||
|         AADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/apnP//7+d//+7 | ||||
|         mP//uJL//7WM//+whv//rH///6d4//+jcf//n2v//5ll//+VYP/6kVv/9YxY/6diN//Cv8H/AAAAAAAA | ||||
|         AAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/96t | ||||
|         eP//wqL//8Gi//+/nv//vJn//7mT//+2jv//sYj//66A//+pev//pHP//6Bt//+bZ///l2L/r20//8K/ | ||||
|         wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xYXev8XF3b/GBVx/xkUbf8ZFGr/GhNm/xoSY/8bEV//HBFd/xwQ | ||||
|         W//Cv8H/4K96///Cov//wqL//8Ki///Cov//wJ///72b//+6lf//t4///7KJ//+ugv//qnv//6V0//+h | ||||
|         bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh | ||||
|         yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR | ||||
|         X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7 | ||||
|         0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ | ||||
|         wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb | ||||
|         2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv | ||||
|         k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+ | ||||
|         4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi | ||||
|         5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/ | ||||
|         wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo | ||||
|         6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA | ||||
|         AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay | ||||
|         7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA | ||||
|         AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/ | ||||
|         wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who | ||||
|         i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA | ||||
|         5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf | ||||
|         4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me | ||||
|         7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm | ||||
|         6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt | ||||
|         1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v | ||||
|         6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/ | ||||
|         wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8 | ||||
|         7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM | ||||
|         8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA | ||||
|         AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc | ||||
|         9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA | ||||
|         AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW | ||||
|         w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/ | ||||
|         wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AADCv8H/FJbG/57r9/+X6Pb/juT1/4Th9f963fX/b9j0/2PT8/9Yz/L/TMrx/0HF8f83wO//LLzv/yK4 | ||||
|         7v8MeqH/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAMK/wf8VmMf/qO/3/6Lt9/+b6vb/kub2/4rj9f9/3vX/dNrz/2rV8/9d0fP/Uszy/0fI | ||||
|         8f88w/D/Mr7v/w19pP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAwr/B/xWZyP8UmMf/FZfF/xSVw/8TlML/E5K//xOQvf8Sjrv/EYy4/xGK | ||||
|         tv8QiLL/D4Ww/w+Erf8Pgar/Dn+n/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/8K/wf/Cv8H/wr/B/8K/ | ||||
|         wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ | ||||
|         wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// | ||||
|         /////////////8AAAAPe+AAD3vgAA974AAPe+AAD3vgAA974AAPAAAADwAAAA8AAAAPAAAADwAAAA8AA | ||||
|         AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAAD3/gAA9/4AAPf+AAD3/gAA9/4AAPf+AADwAAAA/// | ||||
|         ////////KAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/8DA | ||||
|         wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP8AAAAAAAAAAMDA | ||||
|         wP8AAAAAAAAAAMDAwP8AAAAAwMDA/8F2R/+9bj//umc6/7diNf+3YjX/wMDA/wAAAADAwMD/AAAAAAAA | ||||
|         AADAwMD/AAAAAAAAAADAwMD/AAAAAMDAwP/RkmD//7aP//+ldP/8kl3/vW0//8DAwP8AAAAAwMDA/wAA | ||||
|         AAAAAAAAwMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/3ap2///Cov//to7//6V0/8uJWP/AwMD/AAAAAMDA | ||||
|         wP8AAAAAAAAAAMDAwP8THI7/FBqF/xYYfP8XFnP/wMDA/+Cvev/gr3r/4K96/92qdv/ao3D/wMDA/wAA | ||||
|         AADAwMD/AAAAAAAAAADAwMD/ECCd/2Fn3P8zOc//FRmC/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DA | ||||
|         wP/AwMD/wMDA/wAAAAAAAAAAwMDA/w0krP+Pler/YWbd/xIcj//AwMD/DHmf/wpzmP8Ib5L/B2uO/wdq | ||||
|         jf8Gao3/B2qN/8DAwP8AAAAAAAAAAMDAwP8KJrv/r7Tz/5CU6v8PIJ//wMDA/w+Dq/87y/z/Kcb8/xrD | ||||
|         /P8QwPv/EMD7/wdqjf/AwMD/AAAAAAAAAADAwMD/CCrI/woowP8LJrf/DSSu/8DAwP8Sjbj/Zdb9/0/Q | ||||
|         /P88y/v/Kcf7/xrC+/8IbZD/wMDA/wAAAAAAAAAAwMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/FpfG/43h | ||||
|         /f962/3/Zdb8/0/Q/P87zPz/CXSZ/8DAwP8AAAAAAAAAAMDAwP8AAAAAAAAAAAAAAAAAAAAAwMDA/xif | ||||
|         z/+u6f7/n+X9/47h/f953P3/ZNb9/w19pP/AwMD/AAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAAAAAAMDA | ||||
|         wP8apNX/uez+/7ns/v+u6f7/oOX9/43h/f8Rh7H/wMDA/wAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAA | ||||
|         AADAwMD/GqTV/xqk1f8apNX/GaHR/xecy/8WmMb/FJK+/8DAwP8AAAAAAAAAAMDAwP/AwMD/wMDA/8DA | ||||
|         wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/AAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAgAEAALQF | ||||
|         wf+0BQAAgAUAAIAFAACAAQAAgAHB/4ABAACAAQAAgAEAALwBAAC8AQAAvAHB/4ABbP///5H/ | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>132, 54</value> | ||||
|   </metadata> | ||||
|   <data name="ToolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAJySURBVDhPpZFLTNNwHMd78O7NuwcvIhJFpjcOJiYmHjwZ | ||||
|         Eg8mGi9gosGEgwcqMSBqguGhJkgwCvIWlCFhM2TBwDZAGLKKZWyzG2PSCXS062Nd16//jSpqYuLjm37T | ||||
|         R/6f7+9R6r+1NFK8EBk+o0d/8croiVDwxeF9ob7ivT/5TfFel6t0j4VTlLfDpplmFoBJrpx3njNqAjFX | ||||
|         eXrVc1775vjcVTXiqYywr46es3CKYoZKkqahQos1QA43QuaeQIkMwMwIJCsF05CIt3feM1vgeT7NDtoY | ||||
|         C6eoQNcRMatvE7gFqWAzxA812JwpR2L2CgR/LYTFmxAWbmDLV0VcSTrjERg8Jlk4Cegv0TPKOgSmBVvz | ||||
|         9eAnrkPhp0lV0aqeuye/d5Abz9dfpFp4roPjen7+rEasAIacBw2FhRZ/AIbphd3tRfs4h+7JNTh9UeT2 | ||||
|         ZuEkoMWWNg0FhuhFRnBA3xhAer0N6uo9+Bc7MDLHY+WzjE8bGqZDIsYWvmDYThsWTv5Cq03L6iL0TTvS | ||||
|         fGe+qhqthRKuQp87jqWYhBlOgTssY4rYH9fQ85aDhVOU736RauoCgZ9CW2uEGqkhcCXkwKV828GEBnco | ||||
|         hclgCuOshLmohs6J2G7A8p3CuJJkki5Xdza10g4p8BAS2wDpYx16yMxLazImAjtwzu9WNbSOLu8GsHUF | ||||
|         19j6Q13M7YMJX32h+qNfD9HGdFDEPIE8nIpZUt3+XgJN06aj+uQFK+L3anJw+1udHN1PdtE7Fcdjpyub | ||||
|         g/1jbfA2l4nPKwrKrKN/rpfVpy97Hl0Uwo4mjN4qla3Pf6dnFQfKxuhTivPu2d1d/Jso6iuYciOObRud | ||||
|         LgAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>145</value> | ||||
|   </metadata> | ||||
|   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         AAABAAMAMDAAAAEAIACoJQAANgAAACAgAAABACAAqBAAAN4lAAAQEAAAAQAgAGgEAACGNgAAKAAAADAA | ||||
|         AABgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcrvQCHK70BByu | ||||
|         9AYcrvQKHK70DByu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu | ||||
|         9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu | ||||
|         9A0crvQNHK70DRyu9A0crvQNHK70DRyu9A0crvQNHK70DRyu9AwcrvQKHK70Bxyu9AQcrvQCAAAAAByu | ||||
|         9AIcrvQGHK70DByu9BUcrvQdHK70Ixyu9CYcrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu | ||||
|         9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu | ||||
|         9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jxyu9CccrvQnHK70Jhyu9CMcrvQdHK70FRyu | ||||
|         9AwcrvQGHK70Ahyu9AMcrvQMHK70GRyu9CocrvQ7HK70Rhyu9EwcrvROHK70Thyu9E4crvROHK70Thyu | ||||
|         9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu | ||||
|         9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70Thyu9E4crvROHK70TRyu | ||||
|         9EYcrvQ7HK70Kxyu9BkcrvQMHK70BByu9AUcrvQSHK70Jwuh7VYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ | ||||
|         6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ | ||||
|         6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ6WYAmelmAJnpZgCZ | ||||
|         6WYAmelmAJnpZgCZ6WYAmelmCqDtWByu9CgcrvQTHK70Bhyu9AYcrvQWHK70Lgmi7nEYsvzXHLb//xy2 | ||||
|         //8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2 | ||||
|         //8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2//8ctv//HLb//xy2 | ||||
|         //8ctv//HLb//xy2//8ctv//HLb//xy2//8Zs/3fC6PweRyu9C4crvQWHK70Bxyu9AYcrvQUHK70Kxex | ||||
|         +8Actv//HLb//x23//8et///ILj//yK6//8lu///Kb3//yzA//8wwv//NcT//znH//89yv//Qcv//0bN | ||||
|         //9Kz///TdH//1HS//9T1P//V9X//1nW//9X1f//U9T//1HS//9N0f//Ss///0bN//9By///Pcr//znH | ||||
|         //81xP//MML//yzA//8pvf//Jbv//yK6//8guP//Hrf//xy2//8ctv//GbP81Ryu9CwcrvQVHK70Bhyu | ||||
|         9AQcrvQPHK70IBu1/tUctv//HLb//x63//8nuv//JLv//ym9//8uwP//M8P//zrH//9By///R87//0/R | ||||
|         //9X1f//Xdj//2Tb//9r3f//cd///3bi//974///f+X//4Dm//9/5f//e+P//3bi//9x3///a93//2Tb | ||||
|         //9d2P//V9X//0/R//9Hzv//Qcv//zrH//8zw///LsD//ym9//8mu///JLr//x63//8ctv//HLb/8hyu | ||||
|         9CAcrvQQHK70BRyu9AIcrvQIHK70Ehy1/qIctv//HLb//za+//8juf//Irn//yW8//8rv///MML//zbF | ||||
|         //89yf//RM3//0rQ//9S0///Wdb//1/Z//9m3P//a97//3Hg//904v//d+L//3jk//934v//dOL//3Hg | ||||
|         //9r3v//Ztz//1/Z//9Z1v//UtP//0rQ//9Ezf//Pcn//zbF//8wwv//K7///yW8//8iuf//Mr7//x23 | ||||
|         //8ctv//HLb/xRyu9BIcrvQIHK70Ahyu9AEcrvQEHK70CBy0/C8ctv/8HLb//1PJ//8kuv//Ibn//yW7 | ||||
|         //8qv///MMH//zXE//87yP//Qsv//0nP//9Q0///Vtb//13Y//9j2v//ad3//23e//9x4P//c+H//3Ti | ||||
|         //9z4f//ceD//23e//9p3f//Y9r//13Y//9W1v//UNP//0nP//9Cy///O8j//zXE//8wwf//Kr///yW7 | ||||
|         //8iuf//Q8P//yO5//8ctv//HLX+TByu9AgcrvQEHK70AQAAAAAcrvQBHK70Ahyu9AMctv+bHLb//0/H | ||||
|         //83wP//Irn//yS7//8ovf//LsD//zTE//86yP//QMv//0bO//9N0f//VNT//1nW//9f2f//ZNv//2nd | ||||
|         //9r3v//bd7//27g//9t3v//a97//2nd//9k2///X9n//1nW//9U1P//TdH//0bO//9Ay///Osj//zTE | ||||
|         //8uwP//KL3//yS7//8lu///ac///x+4//8ctv++HK70Axyu9AIcrvQBAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAActv8bHLb/9iS4//9mz///I7r//yK6//8nvf//LL///zLC//83xf//Pcn//0PN//9K0P//UNP//1XV | ||||
|         //9a1///X9n//2Pa//9r3f//zvT//+37//+w7f//Ztz//2Pa//9f2f//Wtf//1XV//9Q0///StD//0PN | ||||
|         //89yf//N8X//zLC//8sv///J73//yS6//89wf//Usn//xy2//8ctv82AAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAHLb/jRy2//9Vyv//OMD//yO5//8lvP//Kr///y7B//80xP//Osj//0DL | ||||
|         //9Gzf//StD//1DT//9V1f//Wdb//13Y//+f6P//////////////////dN7//13Y//9Z1v//VdX//1DT | ||||
|         //9K0P//Rs3//0DL//86yP//NMT//y7B//8qv///Jbz//ya7//9q0P//JLn//xy2/64AAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Ehy2//Mluf//aM///yS6//8juv//J73//yy/ | ||||
|         //8xwv//NsX//zvI//9By///Rs7//0rQ//9Q0///VNT//1bW//+T5P/////////////7/v//adr//1bW | ||||
|         //9U1P//UNP//0rQ//9Gzv//Qcv//zvI//82xf//McL//yy///8nvf//JLr//z7C//9SyP//HLb//By2 | ||||
|         /yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/34ctv//VMr//zrA | ||||
|         //8juf//Jbz//ym9//8uwP//MsL//zfF//88yf//Qcv//0bN//9K0P//TdH//1DT//9U1P//nuf//8fx | ||||
|         //+C4P//UtP//1DT//9N0f//StD//0bN//9By///PMn//zfF//8ywv//LsD//ym9//8lvP//Jrv//2rQ | ||||
|         //8kuf//HLb/ogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2 | ||||
|         /wwctv/tJLn//2nP//8nu///Jrv//yq9//8twP//MsL//zbE//87x///P8n//0TM//9Izf//S8///03Q | ||||
|         //9P0f//UdH//1HS//9R0f//T9H//03Q//9Lz///SM3//0TM//8/yf//O8f//zbE//8ywv//LcD//yq9 | ||||
|         //8nu///QsL//1HI//8ctv/5HLb/IQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAActv9yHLb//1TJ//8/wv//J7v//yq8//8uvv//MsH//zXD//86xP//Psf//0LK | ||||
|         //9Fy///SMz//0rN//9Mzv//Tc///07P//9Nz///TM7//0rN//9IzP//Rcv//0LK//8+x///OsT//zXD | ||||
|         //8ywf//Lr7//yq8//8svP//bdH//yS5//8ctv+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8GHLb/5CS4//9s0f//Lbz//yy8//8vvf//Mr///zXC | ||||
|         //85w///PcX//0DI//9Dyf//Rsr//0nL//9Ozf//1fP///n9//+K3v//Ssz//0nL//9Gyv//Q8n//0DI | ||||
|         //89xf//OcP//zXC//8yv///L73//yy8//9GxP//UMj//xy2//Mctv8YAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Zhy2//9Vyf//RcP//y68 | ||||
|         //8wvf//Mr7//zbA//85wf//PMP//0DE//9Cx///RMf//0bJ//9w1f/////////////Q8f//R8n//0bJ | ||||
|         //9Ex///Qsf//0DE//88w///OcH//zbA//8yvv//ML3//zK+//9w0v//I7n//xy2/4cAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Axy2 | ||||
|         /9siuP//b9H//zW+//8yvv//NL///zbA//84wv//O8L//z7D//9Axf//QsX//0TH//9x1f////////// | ||||
|         ///U8v//Rcj//0TH//9Cxf//QMX//z7D//87wv//OML//zbA//80v///Mr7//03F//9PyP//HLb/7Ry2 | ||||
|         /xIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/1cctv//VMn//0zF//81vv//Nr///ze///85wP//O8H//zzC//8/w///QcT//0LE | ||||
|         //9v0//////////////T8v//Q8X//0LE//9BxP//P8P//zzC//87wf//OcD//ze///82v///OMD//3LS | ||||
|         //8guP//HLb/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/wMctv/PIrj//3TT//88wP//OsD//zvA//88wf//PsL//z/C | ||||
|         //9Aw///QsP//0PD//9w0//////////////T8v//RMX//0PD//9Cw///QMP//z/C//8+wv//PMH//zvA | ||||
|         //87wP//VMn//1DI//8ctv/nHLb/DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv9OHLb//1PJ//9Vyf//PsD//z7B | ||||
|         //8/wf//QMH//0HC//9Cwv//Q8P//0PD//9w0v/////////////T8f//RMP//0PD//9Dw///QsL//0HC | ||||
|         //9Awf//P8H//z7B//9Bwv//d9X//x+3//8ctv9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/xiK4 | ||||
|         //961f//RsT//0LC//9Cwv//Q8P//0TD//9Fw///RcP//0bE//9x0//////////////U8f//RsT//0bE | ||||
|         //9Fw///RcP//0TD//9Dw///QsL//0PC//9dzP//Ucj//xy2/94ctv8GAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAHLb/Pxy2//9Vyf//Xs3//0nE//9IxP//SMT//0jE//9IxP//ScT//0nF//900/////////// | ||||
|         ///V8v//SsX//0nF//9JxP//SMT//0jE//9IxP//SMT//0zH//991f//H7f//xy2/10AAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/7oiuP//ftb//1LI//9Ox///Tsf//07H//9Ox///Tsf//07H | ||||
|         //931P/////////////W8v//Tsf//07H//9Ox///Tsf//07H//9Ox///Tsf//2bP//9RyP//HLb/1Ry2 | ||||
|         /wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/zMctv//Vsn//2jP//9Uyf//U8n//1PJ | ||||
|         //9Tyf//U8n//1PJ//971v/////////////X8v//U8n//1PJ//9Tyf//U8n//1PJ//9Tyf//V8r//4HY | ||||
|         //8ft///HLb/UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv+rIbj//4XZ | ||||
|         //9dzP//Wsv//1rL//9ay///Wsv//1rL//+B1//////////////Y8///Wsv//1rL//9ay///Wsv//1rL | ||||
|         //9ay///cdL//1LJ//8ctv/JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAActv8nHLb//FfK//900///Yc3//2DN//9gzf//YM3//2DN//+F2f/////////////a8///YM3//2DN | ||||
|         //9gzf//YM3//2DN//9kzv//h9n//x+3//8ctv9CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAHLb/nB+3//+L2///atD//2bP//9mz///Zs///2bP//+K2v////////// | ||||
|         ///b9P//Zs///2bP//9mz///Zs///2fP//981f//Usn//xy2/70AAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Gxy2//lYyv//f9b//23R//9t0f//bdH//23R | ||||
|         //+P3P/////////////d9P//bdH//23R//9t0f//bdH//3DR//+M2v//Hrf//xy2/zYAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/40ft///ktz//3bU | ||||
|         //9z0///c9P//3PT//+U3f/////////////e9f//c9P//3PT//9z0///c9P//4bZ//9SyP//HLb/rgAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2 | ||||
|         /xUctv/zWMr//4ra//961f//etX//3rV//+Z3//////////////g9f//etX//3rV//961f//fdX//5Hc | ||||
|         //8et//8HLb/KgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAActv+BH7f//5be//+C2P//gNf//4DX//+Q3P///v/////////Q8P//gNf//4DX | ||||
|         //+A1///kd3//1TJ//8ctv+iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8MHLb/7VnK//+V3f//htn//4bZ//+G2f//m+D//6/m | ||||
|         //+K2v//htn//4bZ//+J2f//lt3//x63//kctv8hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/ciC3//+a3///j9z//43b | ||||
|         //+N2///jdv//43b//+N2///jdv//43b//+b4P//VMn//xy2/5MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/Bhy2 | ||||
|         /+RZyv//n+H//5Pd//+T3f//k93//5Pd//+T3f//k93//5bd//+a3///Hrf/8xy2/xsAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/2Met///oOH//5vg//+a3///mt///5rf//+a3///mt///6bj//9Uyf//HLb/hwAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/wMctv/YWcr//6rk//+f4f//n+H//5/h//+f4f//ouH//57h | ||||
|         //8et//tHLb/EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv9UHrf//6Ti//+m4///peL//6Xi | ||||
|         //+l4v//r+X//1LI//8ctv97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/zFrL | ||||
|         //+z6P//quX//6rl//+s5f//oeL//x63/+cctv8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAHLb/RR63//+p5P//tuj//7Pn//+96v//VMn//xy2/2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/71GxP//wuz//8Xt//+S3f//HLb/3hy2/wYAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/zYctv//Mr3//1HI//8iuP//HLb/YAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv+HHLb//xy2 | ||||
|         //8ctv+lHLb/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAHLb/Jxy2/zYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAP////////z9gAAAAAAB/P0AAAAAAAD8/QAAAAAAAPz9AAAAAAAA/P0AAAAAAAD8/QAA | ||||
|         AAAAAPz9AAAAAAAA/P0AAAAAAAD8/QAAAAAAAPz9gAAAAAAB/P3wAAAAAA/8/fgAAAAAH/z9+AAAAAAf | ||||
|         /P38AAAAAD/8/fwAAAAAP/z9/gAAAAB//P3+AAAAAH/8/f8AAAAA//z9/wAAAAD//P3/gAAAAf/8/f+A | ||||
|         AAAB//z9/8AAAAP//P3/4AAAA//8/f/gAAAH//z9//AAAAf//P3/8AAAD//8/f/4AAAf//z9//gAAB// | ||||
|         /P3//AAAP//8/f/8AAA///z9//4AAH///P3//gAAf//8/f//AAD///z9//8AAP///P3//4AB///8/f// | ||||
|         gAH///z9///AA////P3//8AD///8/f//4Af///z9///wB////P3///AP///8/f//+A////z9///4H/// | ||||
|         /P3///wf///8/f///n////z9/////////P3////////8/SgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAHK70ARuu9AIcrvQEG670BByu9AQbrvQEHK70BBuu9AQcrvQEG670BByu | ||||
|         9AQbrvQEHK70BBuu9AQcrvQEG670BByu9AQbrvQEHK70BBuu9AQcrvQEG670BByu9AQbrvQEHK70BBuu | ||||
|         9AQcrvQEG670BByu9AMbrvQBAAAAABuu9AIbrvQIG670Ehuu9BobrvQeG670Hhuu9B4brvQeG670Hhuu | ||||
|         9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu9B4brvQeG670Hhuu | ||||
|         9B4brvQeG670Hhuu9B4brvQaG670Ehuu9AgbrvQCG670Bxyu9BgVqPE+EqfwThKn8FUSp/BWEqfwVhKn | ||||
|         8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn | ||||
|         8FYSp/BWEqfwVhKn8FYSp/BWEqfwVhKn8E4UqPE/G670GRyu9AgbrvQLG670JAuk8IARq/bDEqz3zBKs | ||||
|         98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs | ||||
|         98wSrPfMEqz3zBKs98wSrPfMEqz3zBKs98wSrPfMEqv3xQyk8YYbrvQkG670Cxuu9AocrvQgGbP92hy2 | ||||
|         //8et///Ibj//yW7//8qvv//MsP//znG//9Cy///SM7//1HS//9X1f//Xtf//2PZ//9l2///Ydn//1vW | ||||
|         //9W1P//TtD//0fO//8+yf//N8X//y/B//8pvf//I7r//yC4//8ctv//GrT96Ruu9CEcrvQKG670BRuu | ||||
|         9BMbtf7MG7b//yq6//8juf//KL3//y/B//85x///Qsz//07R//9Y1f//Ytr//2vd//9z4f//eOL//3rk | ||||
|         //934v//cN///2nd//9e2P//VdT//0nP//9Ayv//NcT//y3A//8lu///Krv//xy2//8btv/iG670Exuu | ||||
|         9AYbrvQBHK70BRuz+18ctv/zRMT//yS6//8mvP//Lb///zbF//8/yv//Ss///1PU//9d2P//Zdv//2ze | ||||
|         //9w3///ceD//2/f//9q3f//Y9r//1nW//9R0///Rc3//zzJ//8ywv//K7///yS6//9Awv//H7f/+Byz | ||||
|         /HAbrvQFHK70AQAAAAAbrvQBG7L6GBu2/70+wf//M7///yS7//8qvv//NMP//zvI//9Gzv//T9L//1jW | ||||
|         //9f2f//Z9v//5fn//+17v//eOD//2Pa//9d2P//VNT//03R//9CzP//Osf//zDB//8pvf//Kbv//03H | ||||
|         //8ctv/LG7L6Ihuu9AEAAAAAAAAAAAAAAAAAAAAAHLb/Qym6//xHxP//I7r//ye9//8vwf//NsX//0DK | ||||
|         //9Hzv//T9L//1bV//9w3P//3fb///7+//+f6P//Wdb//1TU//9M0f//Rc3//zzJ//80xP//K7///ya8 | ||||
|         //8/wv//Nr///hu2/1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8EHLb/w0bE//8tvP//JLv//yu+ | ||||
|         //8xwv//Osf//0HL//9Iz///TtH//1nV//+h5///yfH//3Tc//9R0///TdH//0XN//8/yv//NsX//zDB | ||||
|         //8ovf//Jbv//07G//8juP/VG7b/CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv9HH7f/61HH | ||||
|         //8pu///K73//zDA//83xP//Pcf//0TL//9Jzf//TM///0/Q//9P0P//TtD//0vO//9IzP//Qcr//zzG | ||||
|         //80w///LsD//ym8//9Dw///Nb7/8hy2/1YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2 | ||||
|         /w4btv+sQcL//zvB//8svP//ML7//zbC//88xP//Qcn//0XK//9KzP//id7//6fm//9Y0P//SMv//0TK | ||||
|         //8/x///OsT//zTB//8vvv//Mb3//1DH//8dtv+6G7b/FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/y4puv/3Tsb//zC8//8yvv//NsD//zrC//9AxP//Qsb//1PM///P8f//7/r//3TW | ||||
|         //9Ex///Qsb//z7D//85wf//NL///zG9//9Jxf//N7//+xu2/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAG7b/ARy2/6xIxP//PsH//zS+//83v///OsH//z3C//9AxP//Ucn//8/w | ||||
|         ///w+v//c9T//0LE//9Aw///PML//znA//82v///Nb///1PI//8iuP+/G7b/BAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/OB62/+Fcy///PsH//zzA//8+wf//QML//0HC | ||||
|         //9SyP//z/D///D6//9z0///QsP//0HC//8/wf//PcH//zzA//9UyP//M77/6Ry2/0UAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8JG7b/mUbE//9Rx///QMH//0HC | ||||
|         //9Dwv//RML//1PI///P8P//8Pr//3TS//9Ew///RML//0LC//9Bwf//R8T//1rL//8ctv+pG7b/DQAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAActv8cKbr/8FzL | ||||
|         //9Lxf//SsX//0rF//9Kxf//WMr//9Hw///x+v//edT//0rF//9Kxf//SsX//0rF//9dzP//OL//9hu2 | ||||
|         /yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAActv+VTMX//1vL//9RyP//Ucj//1HI//9ezP//0vH///H6//991v//Ucj//1HI//9RyP//U8j//1/M | ||||
|         //8iuP+oG7b/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABu2/yoetv/UcNL//1/M//9cy///XMv//2jP///V8f//8vv//4XY//9cy///XMv//1zL | ||||
|         //9v0f//NL7/3hy2/zQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAG7b/BBu2/4JMxv//cNL//2TO//9kzv//cNL//9fy///y+///i9r//2TO | ||||
|         //9kzv//ac///2nP//8ctv+UG7b/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/DCm6/+Nv0f//b9H//2/R//961f//2vP///P7 | ||||
|         //+T3f//b9H//2/R//930///O8D/7Ru2/xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLb/e1HH//x/1v//d9T//4LX | ||||
|         ///c9P//9Pv//5rf//931P//edT//27Q//4iuP+OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv8eHbb/xIPY | ||||
|         //+E2P//hdj//8Ls///V8v//lN3//4LX//+N2///Nb7/0By2/ygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2 | ||||
|         /wEbtv9pVMj//5Dc//+K2v//j9v//5Td//+L2v//jtv//3jU//8ctv98G7b/BAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/wMpuv/Qgdf//5Xd//+V3f//ld3//5Xd//+T3P//P8H/3xu2/wwAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/2RUyP/2ouH//53g//+d4P//nuD//3vV//siuP93AAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/Exy2/7GV3f//p+P//6bj//+p4///NL7/wRy2 | ||||
|         /x0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7b/TFrK//+w5v//suf//4bZ | ||||
|         //8ctv9lG7b/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJbn/tXTS | ||||
|         //+N2///Nr7/zRu2/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAbtv9GILf/5Ci6/+sctv9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAActv8RG7b/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA | ||||
|         AAHgAAAH4AAAB/AAAA/wAAAP+AAAH/gAAB/8AAA//AAAP/4AAH//AAB//wAA//8AAP//gAH//8AD///A | ||||
|         A///wAP//+AH///wD///8A////gP///8H////D////5///////8oAAAAEAAAACAAAAABACAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAG670Axuu9A0brvQRG670ERuu9BEbrvQRG670ERuu9BEbrvQRG670ERuu | ||||
|         9BEbrvQRG670ERuu9BEbrvQNG670Axuu9BQRp/J0Eqn0kRKp9JESqfSREqn0kRKp9JESqfSREqn0kRKp | ||||
|         9JESqfSREqn0kRKp9JESqfSREafydhuu9BQbrvQQG7X+6SO5/v8qvv7/Osf+/0zQ/v9d1/7/a93+/27e | ||||
|         /v9j2v7/UtP+/z/K/v8uwP7/JLr+/xy1/vIbrvQRG670Ahu0/Yo2v/7/KL3+/znG/v9M0f7/Xtj+/3bg | ||||
|         /v+D4/7/Y9r+/1PU/v8/yv7/LsD+/zfA/v8dtf2VG670AgAAAAAbtv4SNb7+7ye7/v8wwv7/QMr+/0/S | ||||
|         /v+S5P7/t+3+/1PU/v9Fzf7/NsX+/yi9/v86wP70G7b+GAAAAAAAAAAAAAAAAB22/ns9wf7/Lr7+/znE | ||||
|         /v9Fy/7/XNL+/2fW/v9IzP7/Psf+/zHA/v87wf7/JLn+hgAAAAAAAAAAAAAAAAAAAAAbtv4MN77+6DW+ | ||||
|         /v84wP7/QMT+/5He/v+y5/7/QsX+/zvC/v80vv7/PcH+7hu2/hEAAAAAAAAAAAAAAAAAAAAAAAAAAB22 | ||||
|         /m9Mxf7/P8H+/0LC/v+R3P7/sub+/0PD/v9Awf7/TMb+/yO4/nkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAbtv4HO8D+4VDH/v9Nxv7/lt7+/7bo/v9Nxv7/Tsb+/0bE/ucbtv4LAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAABy2/mFjzf7/YM3+/6Hh/v+96v7/YM3+/2fP/v8nuv5rAAAAAAAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAbtv4DQcL+1nXT/v+s5f7/xez+/3PT/v9Rx/7eG7b+BgAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/lN71f7/mN7+/6Lh/v+F2P7/J7r+XgAAAAAAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbtv4BR8T+yprf/v+Z3/7/XMv+1Bu2/gMAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy2/kSS3P7/ouH+/ye5/lEAAAAAAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOL/+uELC/sQbtv4BAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu2/gQbtv4GAAAAAAAA | ||||
|         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArEEAAKxBAACsQQAArEGAAaxBwAOsQcADrEHgB6xB4AesQfAP | ||||
|         rEHwD6xB+B+sQfgfrEH8P6xB/j+sQf5/rEE= | ||||
| </value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										69
									
								
								Viewer/TrendViewer/MethodExts.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,69 @@ | ||||
| using System; | ||||
| using System.Xml; | ||||
| using System.Linq; | ||||
| using System.Xml.Linq; | ||||
| using System.ComponentModel; | ||||
| using System.Runtime.CompilerServices; | ||||
| using AR; | ||||
| using System.IO; | ||||
| using System.Text; | ||||
| using System.Drawing; | ||||
|  | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public static class MethodExts | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// 지정된 파일 끝에 내용을 추가합니다. | ||||
|         /// </summary> | ||||
|         /// <param name="filename"></param> | ||||
|         /// <param name="data"></param> | ||||
|         public static void AppendText(this System.IO.FileInfo filename, string data) | ||||
|         { | ||||
|             if (filename.Directory.Exists == false) filename.Directory.Create(); | ||||
|             using (var writer = new StreamWriter(filename.FullName, true, System.Text.Encoding.Default)) | ||||
|                 writer.Write(data);// | ||||
|         } | ||||
|         public static void AppendText(this System.IO.FileInfo filename, StringBuilder data) | ||||
|         { | ||||
|             AppendText(filename, data.ToString()); | ||||
|         } | ||||
|         | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 파일에 내용을 기록합니다. | ||||
|         /// 파일지 존재하면 덮어쓰기 됩니다. | ||||
|         /// </summary> | ||||
|         /// <param name="filename"></param> | ||||
|         /// <param name="data"></param> | ||||
|         public static void WriteText(this System.IO.FileInfo filename, StringBuilder data, bool append = false) | ||||
|         { | ||||
|            WriteText(filename, data.ToString(), append); | ||||
|         } | ||||
|         public static void WriteText(this System.IO.FileInfo filename, string data, bool append = false) | ||||
|         { | ||||
|             if (filename.Directory.Exists == false) filename.Directory.Create(); | ||||
|             if (append == false) | ||||
|                 System.IO.File.WriteAllText(filename.FullName, data); | ||||
|             else | ||||
|                 AppendText(filename, data); | ||||
|         } | ||||
|         public static string GetData(this XElement el, string key, string elName, string defvalue = "") | ||||
|         { | ||||
|             if (el == null) return defvalue; | ||||
|             if (el.HasElements == false) return defvalue; | ||||
|  | ||||
|             var KeyItem = el.Element(key); | ||||
|             if (KeyItem == null || KeyItem.HasElements == false) return defvalue; | ||||
|  | ||||
|             var item = KeyItem.Element(elName); | ||||
|             if (item == null) return defvalue; | ||||
|  | ||||
|             if (item.IsEmpty) return defvalue; | ||||
|  | ||||
|             return item.Value; | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										10
									
								
								Viewer/TrendViewer/My Project/Application.myapp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,10 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||||
|   <MySubMain>true</MySubMain> | ||||
|   <MainForm>Frm_Main</MainForm> | ||||
|   <SingleInstance>false</SingleInstance> | ||||
|   <ShutdownMode>0</ShutdownMode> | ||||
|   <EnableVisualStyles>true</EnableVisualStyles> | ||||
|   <AuthenticationMode>0</AuthenticationMode> | ||||
|   <SaveMySettingsOnExit>true</SaveMySettingsOnExit> | ||||
| </MyApplicationData> | ||||
| @@ -0,0 +1,10 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- | ||||
|     This file is automatically generated by Visual Studio .Net. It is  | ||||
|     used to store generic object data source configuration information.   | ||||
|     Renaming the file extension or editing the content of this file may    | ||||
|     cause the file to be unrecognizable by the program. | ||||
| --> | ||||
| <GenericObjectDataSource DisplayName="ChartData" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> | ||||
|    <TypeInfo>vmsnet.ChartData, cVMS.NET, Version=16.3.15.1530, Culture=neutral, PublicKeyToken=null</TypeInfo> | ||||
| </GenericObjectDataSource> | ||||
							
								
								
									
										133
									
								
								Viewer/TrendViewer/My Project/Resources.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,133 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> | ||||
|   <data name="Blue Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Blue Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Green Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Green Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Purple Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Purple Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Red Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Red Ball.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										9
									
								
								Viewer/TrendViewer/My Project/Settings.settings
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,9 @@ | ||||
| <?xml version='1.0' encoding='utf-8'?> | ||||
| <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true"> | ||||
|   <Profiles /> | ||||
|   <Settings> | ||||
|     <Setting Name="test2" Type="System.String" Scope="User"> | ||||
|       <Value Profile="(Default)">2</Value> | ||||
|     </Setting> | ||||
|   </Settings> | ||||
| </SettingsFile> | ||||
							
								
								
									
										0
									
								
								Viewer/TrendViewer/My Project/licenses.licx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										25
									
								
								Viewer/TrendViewer/OpenTK.dll.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,25 @@ | ||||
| <configuration> | ||||
|   <dllmap os="linux" dll="opengl32.dll" target="libGL.so.1"/> | ||||
|   <dllmap os="linux" dll="glu32.dll" target="libGLU.so.1"/> | ||||
|   <dllmap os="linux" dll="openal32.dll" target="libopenal.so.1"/> | ||||
|   <dllmap os="linux" dll="alut.dll" target="libalut.so.0"/> | ||||
|   <dllmap os="linux" dll="opencl.dll" target="libOpenCL.so"/> | ||||
|   <dllmap os="linux" dll="libX11" target="libX11.so.6"/> | ||||
|   <dllmap os="linux" dll="libXi" target="libXi.so.6"/> | ||||
|   <dllmap os="linux" dll="SDL2.dll" target="libSDL2-2.0.so.0"/> | ||||
|   <dllmap os="osx" dll="opengl32.dll" target="/System/Library/Frameworks/OpenGL.framework/OpenGL"/> | ||||
|   <dllmap os="osx" dll="openal32.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" /> | ||||
|   <dllmap os="osx" dll="alut.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" /> | ||||
|   <dllmap os="osx" dll="libGLES.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" /> | ||||
|   <dllmap os="osx" dll="libGLESv1_CM.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" /> | ||||
|   <dllmap os="osx" dll="libGLESv2.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" /> | ||||
|   <dllmap os="osx" dll="opencl.dll" target="/System/Library/Frameworks/OpenCL.framework/OpenCL"/> | ||||
|   <dllmap os="osx" dll="SDL2.dll" target="libSDL2.dylib"/> | ||||
|   <!-- XQuartz compatibility (X11 on Mac) --> | ||||
|   <dllmap os="osx" dll="libGL.so.1" target="/usr/X11/lib/libGL.dylib"/> | ||||
|   <dllmap os="osx" dll="libX11" target="/usr/X11/lib/libX11.dylib"/> | ||||
|   <dllmap os="osx" dll="libXcursor.so.1" target="/usr/X11/lib/libXcursor.dylib"/> | ||||
|   <dllmap os="osx" dll="libXi" target="/usr/X11/lib/libXi.dylib"/> | ||||
|   <dllmap os="osx" dll="libXinerama" target="/usr/X11/lib/libXinerama.dylib"/> | ||||
|   <dllmap os="osx" dll="libXrandr.so.2" target="/usr/X11/lib/libXrandr.dylib"/> | ||||
| </configuration> | ||||
							
								
								
									
										41
									
								
								Viewer/TrendViewer/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,41 @@ | ||||
| using System; | ||||
| using System.Linq; | ||||
| using System.Runtime.InteropServices; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|  | ||||
|     internal static class Program | ||||
|     { | ||||
|         [DllImport("user32.dll")] | ||||
|         private static extern bool SetProcessDPIAware(); | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 해당 애플리케이션의 주 진입점입니다. | ||||
|         /// </summary> | ||||
|         [STAThread] | ||||
|         static void Main(string[] args) | ||||
|         { | ||||
|             if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware(); | ||||
|             Application.EnableVisualStyles(); | ||||
|             Application.SetCompatibleTextRenderingDefault(false); | ||||
|             if (System.Diagnostics.Debugger.IsAttached == false) | ||||
|                 AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; | ||||
|             if (args != null && args.Any()) PUB.ExtCommand = args[0]; | ||||
|             Application.Run(new Frm_trend()); | ||||
|         } | ||||
|  | ||||
|         private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) | ||||
|         { | ||||
|             PUB.NotExitMonitor = true; | ||||
|             string fn = System.IO.Path.Combine("Bugreport", DateTime.Now.ToString("yyMMddHHmmss") + "_error.xml"); | ||||
|             var fi = new System.IO.FileInfo(fn); | ||||
|             if (fi.Directory.Exists == false) fi.Directory.Create(); | ||||
|             System.IO.File.WriteAllText(fi.FullName, e.ExceptionObject.ToString(), System.Text.Encoding.Default); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
							
								
								
									
										43
									
								
								Viewer/TrendViewer/Properties/AssemblyInfo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,43 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using System.Reflection; | ||||
| using System.Runtime.InteropServices; | ||||
|  | ||||
|  | ||||
| // 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다. | ||||
| // 어셈블리와 관련된 정보를 수정하려면 | ||||
| // 이 특성 값을 변경하십시오. | ||||
|  | ||||
| // 어셈블리 특성 값을 검토합니다. | ||||
|  | ||||
| [assembly:AssemblyTitle("cell Voltage Monitoring System - (For GM10) - 2016")] | ||||
| [assembly:AssemblyDescription("VMS")] | ||||
| [assembly:AssemblyCompany("JDTEK")] | ||||
| [assembly: AssemblyProduct("cVMS.NET")] | ||||
| [assembly:AssemblyCopyright("Copyright ©JDTEK  2012")] | ||||
| [assembly:AssemblyTrademark("Arinware")] | ||||
|  | ||||
| [assembly:ComVisible(false)] | ||||
|  | ||||
| //이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. | ||||
| [assembly: Guid("b998cd4f-ec54-4613-b634-716829186500")] | ||||
|  | ||||
| // 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. | ||||
| // | ||||
| //      주 버전 | ||||
| //      부 버전 | ||||
| //      빌드 번호 | ||||
| //      수정 버전 | ||||
| // | ||||
| // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로 | ||||
| // 지정되도록 할 수 있습니다. | ||||
| // <Assembly: AssemblyVersion("1.0.*")> | ||||
|  | ||||
| [assembly: AssemblyVersion("24.09.05.1200")] | ||||
| [assembly: AssemblyFileVersion("24.09.05.1200")] | ||||
|  | ||||
							
								
								
									
										183
									
								
								Viewer/TrendViewer/Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,183 @@ | ||||
| //------------------------------------------------------------------------------ | ||||
| // <auto-generated> | ||||
| //     이 코드는 도구를 사용하여 생성되었습니다. | ||||
| //     런타임 버전:4.0.30319.42000 | ||||
| // | ||||
| //     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 | ||||
| //     이러한 변경 내용이 손실됩니다. | ||||
| // </auto-generated> | ||||
| //------------------------------------------------------------------------------ | ||||
|  | ||||
| namespace vmsnet.Properties { | ||||
|     using System; | ||||
|      | ||||
|      | ||||
|     /// <summary> | ||||
|     ///   지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. | ||||
|     /// </summary> | ||||
|     // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder | ||||
|     // 클래스에서 자동으로 생성되었습니다. | ||||
|     // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을 | ||||
|     // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. | ||||
|     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] | ||||
|     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | ||||
|     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||||
|     internal class Resources { | ||||
|          | ||||
|         private static global::System.Resources.ResourceManager resourceMan; | ||||
|          | ||||
|         private static global::System.Globalization.CultureInfo resourceCulture; | ||||
|          | ||||
|         [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] | ||||
|         internal Resources() { | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. | ||||
|         /// </summary> | ||||
|         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||||
|         internal static global::System.Resources.ResourceManager ResourceManager { | ||||
|             get { | ||||
|                 if (object.ReferenceEquals(resourceMan, null)) { | ||||
|                     global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("vmsnet.Properties.Resources", typeof(Resources).Assembly); | ||||
|                     resourceMan = temp; | ||||
|                 } | ||||
|                 return resourceMan; | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 | ||||
|         ///   재정의합니다. | ||||
|         /// </summary> | ||||
|         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||||
|         internal static global::System.Globalization.CultureInfo Culture { | ||||
|             get { | ||||
|                 return resourceCulture; | ||||
|             } | ||||
|             set { | ||||
|                 resourceCulture = value; | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Backup_Green_Button { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Backup_Green_Button", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Blue_Ball { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Blue_Ball", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Clear_Green_Button { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Clear_Green_Button", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap down_16 { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("down_16", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap down_orange { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("down_orange", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Get_Info_Blue_Button { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Get_Info_Blue_Button", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap graphsetting { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("graphsetting", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Green_Ball { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Green_Ball", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Orange_Ball { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Orange_Ball", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Purple_Ball { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Purple_Ball", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap Red_Ball { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("Red_Ball", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. | ||||
|         /// </summary> | ||||
|         internal static System.Drawing.Bitmap up_16 { | ||||
|             get { | ||||
|                 object obj = ResourceManager.GetObject("up_16", resourceCulture); | ||||
|                 return ((System.Drawing.Bitmap)(obj)); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										157
									
								
								Viewer/TrendViewer/Properties/Resources.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,157 @@ | ||||
| <?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.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> | ||||
|   <data name="Backup_Green_Button" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Backup Green Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Blue_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Blue Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Clear_Green_Button" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Clear Green Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="down_16" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\down_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="down_orange" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\down_orange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Get_Info_Blue_Button" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Get Info Blue Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="graphsetting" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\icons8-positive-dynamic-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Green_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Green Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Orange_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Orange Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Purple_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Purple Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="Red_Ball" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Red Ball.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
|   <data name="up_16" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\up_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										26
									
								
								Viewer/TrendViewer/Properties/Settings.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,26 @@ | ||||
| //------------------------------------------------------------------------------ | ||||
| // <auto-generated> | ||||
| //     이 코드는 도구를 사용하여 생성되었습니다. | ||||
| //     런타임 버전:4.0.30319.42000 | ||||
| // | ||||
| //     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 | ||||
| //     이러한 변경 내용이 손실됩니다. | ||||
| // </auto-generated> | ||||
| //------------------------------------------------------------------------------ | ||||
|  | ||||
| namespace vmsnet.Properties { | ||||
|      | ||||
|      | ||||
|     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||||
|     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.7.0.0")] | ||||
|     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { | ||||
|          | ||||
|         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); | ||||
|          | ||||
|         public static Settings Default { | ||||
|             get { | ||||
|                 return defaultInstance; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										6
									
								
								Viewer/TrendViewer/Properties/Settings.settings
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,6 @@ | ||||
| <?xml version='1.0' encoding='utf-8'?> | ||||
| <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> | ||||
|   <Profiles> | ||||
|     <Profile Name="(Default)" /> | ||||
|   </Profiles> | ||||
| </SettingsFile> | ||||
							
								
								
									
										74
									
								
								Viewer/TrendViewer/Properties/app.manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,74 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> | ||||
|   <assemblyIdentity version="1.0.0.0" name="MyApplication.app" /> | ||||
|   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> | ||||
|     <security> | ||||
|       <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> | ||||
|         <!-- UAC 매니페스트 옵션 | ||||
|              Windows 사용자 계정 컨트롤 수준을 변경하려면  | ||||
|              requestedExecutionLevel 노드를 다음 중 하나로 바꿉니다. | ||||
|  | ||||
|         <requestedExecutionLevel  level="asInvoker" uiAccess="false" /> | ||||
|         <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" /> | ||||
|         <requestedExecutionLevel  level="highestAvailable" uiAccess="false" /> | ||||
|  | ||||
|             requestedExecutionLevel 요소를 지정하면 파일 및 레지스트리 가상화를 사용하지 않습니다.  | ||||
|             이전 버전과의 호환성을 위해 애플리케이션에 가상화가 필요한 경우 | ||||
|             이 요소를 제거합니다. | ||||
|         --> | ||||
|         <requestedExecutionLevel level="asInvoker" uiAccess="false" /> | ||||
|       </requestedPrivileges> | ||||
|       <applicationRequestMinimum> | ||||
|         <defaultAssemblyRequest permissionSetReference="Custom" /> | ||||
|         <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" /> | ||||
|       </applicationRequestMinimum> | ||||
|     </security> | ||||
|   </trustInfo> | ||||
|   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> | ||||
|     <application> | ||||
|       <!-- 이 애플리케이션이 테스트되고 함께 작동하도록 설계된 Windows 버전 | ||||
|            목록입니다. 해당 요소의 주석 처리를 제거하면 Windows에서 | ||||
|            호환 가능성이 가장 큰 환경을 자동으로 선택합니다. --> | ||||
|       <!-- Windows Vista --> | ||||
|       <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />--> | ||||
|       <!-- Windows 7 --> | ||||
|       <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />--> | ||||
|       <!-- Windows 8 --> | ||||
|       <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />--> | ||||
|       <!-- Windows 8.1 --> | ||||
|       <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />--> | ||||
|       <!-- Windows 10 --> | ||||
|       <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />--> | ||||
|     </application> | ||||
|   </compatibility> | ||||
|   <!-- 애플리케이션이 DPI를 인식하며 높은 DPI에서 Windows가 자동으로 스케일링하지 | ||||
|        않음을 나타냅니다. WPF(Windows Presentation Foundation) 애플리케이션은 자동으로 DPI를 인식하며  | ||||
|        옵트인할 필요가 없습니다. 이 설정에 옵트인한 .NET Framework 4.6을 대상으로 하는  | ||||
|        Windows Forms 애플리케이션은 app.config에서 'EnableWindowsFormsHighDpiAutoResizing' 설정도 'true'로 설정해야 합니다.  | ||||
|         | ||||
|        애플리케이션이 긴 경로를 인식하도록 설정합니다. https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation을 참조하세요. --> | ||||
|   | ||||
|   <application xmlns="urn:schemas-microsoft-com:asm.v3"> | ||||
|     <windowsSettings> | ||||
|       <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware> | ||||
|       <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware> | ||||
|     </windowsSettings> | ||||
|   </application> | ||||
|  | ||||
|  | ||||
|   <!-- Windows 공용 컨트롤 및 대화 상자의 테마 사용(Windows XP 이상) --> | ||||
|   <!-- | ||||
|   <dependency> | ||||
|     <dependentAssembly> | ||||
|       <assemblyIdentity | ||||
|           type="win32" | ||||
|           name="Microsoft.Windows.Common-Controls" | ||||
|           version="6.0.0.0" | ||||
|           processorArchitecture="*" | ||||
|           publicKeyToken="6595b64144ccf1df" | ||||
|           language="*" | ||||
|         /> | ||||
|     </dependentAssembly> | ||||
|   </dependency> | ||||
|   --> | ||||
| </assembly> | ||||
							
								
								
									
										0
									
								
								Viewer/TrendViewer/Properties/licenses.licx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								Viewer/TrendViewer/Properties/licenses.licx.bak
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1 @@ | ||||
| DevExpress.XtraGauges.Win.GaugeControl, DevExpress.XtraGauges.v10.1.Win, Version=10.1.5.0, Culture=neutral, PublicKeyToken=940cfcde86f32efd | ||||
							
								
								
									
										32
									
								
								Viewer/TrendViewer/ReadMe.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,32 @@ | ||||
| ########################################## | ||||
| ## 업체명 : 백광산업 | ||||
| ## | ||||
| ## 프로그램설치경로 : d:\vms2 | ||||
| ########################################## | ||||
| 2024-07-04 | ||||
| 	설정화면 로딩시 로딩 중 메세지 추가 | ||||
| 	채널자동생성 시간 단축 (1600개채널 생성 시간 300초 -> 15초) | ||||
| 2024-07-03 | ||||
| 	신규 차트 테스트 | ||||
| 2024-06-28 | ||||
| 	통신연결이 비정상 종료된 후 간헐적 연결 불량 제거(예외발생시 연결이 재개되지 않았음) | ||||
|  | ||||
| 2015-03-20 | ||||
| 	장비재연결시 재연결 경고 메세지가 사라지지 않는현상제거 | ||||
| 	한화용 DIV nullbalnce 값을 적용하도록 환경설정에 추가 (널밸런스 기준값, datadiv) - 프로그램 1개로 두개모두 적용가능 | ||||
| 	트렌드뷰에 datadiv 적용(한화 ca1에서 문제발생) | ||||
| 	sumab 표시기능을 환경설정에 추가함 | ||||
| 	 | ||||
| 2015-03-19 | ||||
| 	설정파일을 ARinsetting dll로 변경 | ||||
|  | ||||
| 2015-03-10 | ||||
| 	KA가 저장되도록 기본저장폴더아래에 ka 에 저장함 | ||||
|  | ||||
| 2015-02-24 | ||||
| 	트렌드뷰 안정화 및 데이터 로딩부분 개선 | ||||
| 	15초마다 작동상태확인 용 로그기록 | ||||
| 	불필요한 로그기록 제거 | ||||
|  | ||||
| 2015-02-23 | ||||
| 	트렌드뷰 : 마우스가 화면 좌측에 있을때는 위치정보가 우측에 표시되고, 우측에 있을때는 좌측에 표시되도록 수정 | ||||
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Backup Green Button.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Blue Ball.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Clear Green Button.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Get Info Blue Button.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Green Ball.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Orange Ball.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Purple Ball.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/Red Ball.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/down_16.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/down_orange.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/icons8-positive-dynamic-48.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 375 B | 
							
								
								
									
										
											BIN
										
									
								
								Viewer/TrendViewer/Resources/up_16.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.1 KiB | 
							
								
								
									
										104
									
								
								Viewer/TrendViewer/Setting/CSetting.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,104 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using AR; | ||||
| using System.Windows.Media; | ||||
| using System.Windows; | ||||
| using System.ComponentModel; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     public class CTrendSetting : AR.Setting | ||||
|     { | ||||
|         [Browsable(false)] | ||||
|         public DateTime graph_time_start { get; set; } | ||||
|         [Browsable(false)] | ||||
|         public DateTime graph_time_end { get; set; } | ||||
|  | ||||
|  | ||||
|  | ||||
|         [Category("Y-Axis"), DisplayName("Y축 표시영역(시작)"), Description("Y축 그래프의 시작범위 입니다(voltage)")] | ||||
|         public float graph_y_start { get; set; } | ||||
|         [Category("Y-Axis"), DisplayName("Y축 표시영역(종료)"), Description("Y축 그래프의 종료범위 입니다(voltage)")] | ||||
|  | ||||
|         public float graph_y_end { get; set; } | ||||
|         [Category("X-Axis"), DisplayName("X축 바닥영역 최소 크기"), Description("X축 바닥 글자 영역의 최소 크기 입니다. 글자가 가려지는 경우 이값을 늘려주세요")] | ||||
|  | ||||
|         public float graph_bottom_minsize { get; set; } | ||||
|         [Category("Y-Axis"), DisplayName("Y축영역 자동설정"), Description("Y축 영역을 자동으로 설정합니다. 입력된 값에 따라서 자동으로 변경 됩니다")] | ||||
|         public bool y_scale_auto { get; set; } | ||||
|  | ||||
|  | ||||
|  | ||||
|         [Browsable(false)] | ||||
|         public string tv_selectgroup0 { get; set; } | ||||
|         [Browsable(false)] | ||||
|  | ||||
|         public string tv_selectgroup { get; set; } | ||||
|         public override void AfterLoad() | ||||
|         { | ||||
|             if ((graph_y_end < graph_y_start) || (graph_y_start == 0f && graph_y_end == 0f)) | ||||
|                 y_scale_auto = true; | ||||
|  | ||||
|             if (graph_time_end.Year == 1982 || graph_time_start.Year == 1982) | ||||
|             { | ||||
|                 graph_time_end = DateTime.Now; | ||||
|                 graph_time_start = graph_time_end.AddDays(-7); | ||||
|             } | ||||
|  | ||||
|             if (graph_bottom_minsize < 1) graph_bottom_minsize = 45; | ||||
|  | ||||
|  | ||||
|         } | ||||
|         public override void AfterSave() | ||||
|         { | ||||
|  | ||||
|         } | ||||
|     } | ||||
|     public class CSetting : AR.Setting | ||||
|     { | ||||
|         public int MaxChCount { get; set; } | ||||
|  | ||||
|         public string bugreport { get; set; } | ||||
|         public int datadiv { get; set; } | ||||
|         public string databasefolder { get; set; } | ||||
|  | ||||
|         public string sangho { get; set; } | ||||
|  | ||||
|         public string tel { get; set; } | ||||
|  | ||||
|         ////트렌드뷰의 각종 설정값 | ||||
|         public CSetting() | ||||
|         { | ||||
|             var fn = this.filename; | ||||
|             bugreport = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Bugreport"); | ||||
|         } | ||||
|         public string GetDatabasePath() | ||||
|         { | ||||
|             if (databasefolder.isEmpty()) | ||||
|             { | ||||
|                 //트렌드와 알람은 상위폴더를 반환해야한다 | ||||
|                 var di = new System.IO.DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory); | ||||
|                 return di.Parent.FullName; | ||||
|             } | ||||
|             else return databasefolder; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public override void AfterLoad() | ||||
|         { | ||||
|             if (datadiv == 0) datadiv = 1; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public override void AfterSave() | ||||
|         { | ||||
|             //throw new NotImplementedException(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										122
									
								
								Viewer/TrendViewer/Setting/Frm_Config.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,122 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
| 	partial class Frm_Config : System.Windows.Forms.Form | ||||
| 	{ | ||||
| 		 | ||||
| 		//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다. | ||||
| 		[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing) | ||||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| 				if (disposing && components != null) | ||||
| 				{ | ||||
| 					components.Dispose(); | ||||
| 				} | ||||
| 			} | ||||
| 			finally | ||||
| 			{ | ||||
| 				base.Dispose(disposing); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다. | ||||
| 		//수정하려면 Windows Form 디자이너를 사용하십시오. | ||||
| 		//코드 편집기를 사용하여 수정하지 마십시오. | ||||
| 		[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent() | ||||
| 		{ | ||||
|             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_Config)); | ||||
|             this.label1 = new System.Windows.Forms.Label(); | ||||
|             this.nudMaxCH = new System.Windows.Forms.NumericUpDown(); | ||||
|             this.bt_save = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.ToolStrip1 = new System.Windows.Forms.ToolStrip(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.nudMaxCH)).BeginInit(); | ||||
|             this.ToolStrip1.SuspendLayout(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // label1 | ||||
|             //  | ||||
|             this.label1.AutoSize = true; | ||||
|             this.label1.Location = new System.Drawing.Point(16, 23); | ||||
|             this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); | ||||
|             this.label1.Name = "label1"; | ||||
|             this.label1.Size = new System.Drawing.Size(118, 21); | ||||
|             this.label1.TabIndex = 2; | ||||
|             this.label1.Text = "최대 표시 채널"; | ||||
|             //  | ||||
|             // nudMaxCH | ||||
|             //  | ||||
|             this.nudMaxCH.Location = new System.Drawing.Point(155, 19); | ||||
|             this.nudMaxCH.Margin = new System.Windows.Forms.Padding(6, 10, 6, 10); | ||||
|             this.nudMaxCH.Name = "nudMaxCH"; | ||||
|             this.nudMaxCH.Size = new System.Drawing.Size(139, 29); | ||||
|             this.nudMaxCH.TabIndex = 3; | ||||
|             this.nudMaxCH.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; | ||||
|             this.nudMaxCH.Value = new decimal(new int[] { | ||||
|             10, | ||||
|             0, | ||||
|             0, | ||||
|             0}); | ||||
|             //  | ||||
|             // bt_save | ||||
|             //  | ||||
|             this.bt_save.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; | ||||
|             this.bt_save.Image = ((System.Drawing.Image)(resources.GetObject("bt_save.Image"))); | ||||
|             this.bt_save.ImageTransparentColor = System.Drawing.Color.Magenta; | ||||
|             this.bt_save.Name = "bt_save"; | ||||
|             this.bt_save.Size = new System.Drawing.Size(83, 52); | ||||
|             this.bt_save.Text = "저장"; | ||||
|             this.bt_save.Click += new System.EventHandler(this.ToolStripButton1_Click); | ||||
|             //  | ||||
|             // ToolStrip1 | ||||
|             //  | ||||
|             this.ToolStrip1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; | ||||
|             this.ToolStrip1.ImageScalingSize = new System.Drawing.Size(48, 48); | ||||
|             this.ToolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.bt_save}); | ||||
|             this.ToolStrip1.Location = new System.Drawing.Point(0, 72); | ||||
|             this.ToolStrip1.Name = "ToolStrip1"; | ||||
|             this.ToolStrip1.Padding = new System.Windows.Forms.Padding(0, 0, 3, 0); | ||||
|             this.ToolStrip1.Size = new System.Drawing.Size(359, 55); | ||||
|             this.ToolStrip1.TabIndex = 0; | ||||
|             this.ToolStrip1.Text = "ToolStrip1"; | ||||
|             this.ToolStrip1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ToolStrip1_ItemClicked); | ||||
|             //  | ||||
|             // Frm_Config | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 21F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(359, 127); | ||||
|             this.Controls.Add(this.nudMaxCH); | ||||
|             this.Controls.Add(this.label1); | ||||
|             this.Controls.Add(this.ToolStrip1); | ||||
|             this.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.KeyPreview = true; | ||||
|             this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); | ||||
|             this.Name = "Frm_Config"; | ||||
|             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
|             this.Text = "프로그램설정"; | ||||
|             this.Load += new System.EventHandler(this.Frm_Config_Load); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.nudMaxCH)).EndInit(); | ||||
|             this.ToolStrip1.ResumeLayout(false); | ||||
|             this.ToolStrip1.PerformLayout(); | ||||
|             this.ResumeLayout(false); | ||||
|             this.PerformLayout(); | ||||
|  | ||||
| 		} | ||||
|         private System.ComponentModel.IContainer components; | ||||
|         private Label label1; | ||||
|         internal NumericUpDown nudMaxCH; | ||||
|         internal ToolStripButton bt_save; | ||||
|         internal ToolStrip ToolStrip1; | ||||
|     } | ||||
| 	 | ||||
| } | ||||
							
								
								
									
										53
									
								
								Viewer/TrendViewer/Setting/Frm_Config.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,53 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using AR; | ||||
| using System.Linq; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|  | ||||
|     public partial class Frm_Config | ||||
|     { | ||||
|         public Frm_Config() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|         } | ||||
|  | ||||
|         public void Frm_Config_Load(object sender, System.EventArgs e) | ||||
|         { | ||||
|             this.Show(); | ||||
|             Application.DoEvents(); | ||||
|             nudMaxCH.Value = (decimal)PUB.CONFIG.MaxChCount; | ||||
|         } | ||||
|  | ||||
|     | ||||
|  | ||||
|         public void ToolStripButton1_Click(System.Object sender, System.EventArgs e) | ||||
|         { | ||||
|             this.Validate(); | ||||
|  | ||||
|          | ||||
|             PUB.CONFIG.MaxChCount = (int)nudMaxCH.Value; | ||||
|  | ||||
|             ////실제파일에 저장한다. | ||||
|             PUB.CONFIG.Save(); | ||||
|  | ||||
|  | ||||
|  | ||||
|             this.DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|         } | ||||
|  | ||||
|        | ||||
|         public void ToolStrip1_ItemClicked(System.Object sender, System.Windows.Forms.ToolStripItemClickedEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         | ||||
|     } | ||||
| } | ||||
							
								
								
									
										157
									
								
								Viewer/TrendViewer/Setting/Frm_Config.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,157 @@ | ||||
| <?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="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAWCSURBVFhH7ZZ7TFNnGMaZFrzPy3QxE5cQk12yGS+oUQFb | ||||
|         rVJCobSUtrQFoqCACDjBTRCxjjXqcHG6EaYDZRh1U1TwPnEgN6kgAioqyjVetiVL9t/+WLLk3fscDh1w | ||||
|         kLTb/vRJnvQ73/e+v+c732lP6vFK7sh+0WPW7h9lyfYrsqv2K6OabFdlf8EYY05Y4xqx/P9TziVPX/vl | ||||
|         0YX7f5pBZ5rVdKsnm1qf76Onv5cIxhhzWEMNatEjtv83fXZxdO4X5dOp4lECdf9WQO2/7qb7L7ZQ87M4 | ||||
|         anoaJRhjzGENNahFD3pFjPuynfbwsl3wzC+sXUCPfvmS7r3I4LC11NBrYhtfYpNQg1r0oBcMsESs68ou | ||||
|         9cw/7lhBbT/nUMuzBD5ig1tGD3rBAEvEuqass565eZXv87PdzncUS/U9Ef/CBqEXDLDAFPEja/sp2ZKc | ||||
|         sqnk6EpiwHqq79a7bUePiU5djxA+wQALTLDFmJfr45NeRSf52Bp7E+lml57qusLdsqPHTD+UG0mt8aNb | ||||
|         vTECAywwwRZjhlf6sTE+O0qm0o0nVj5CK9V26txyfbeFSmuiSK5YRklpgbyZ6L55ZoEJNjLEOKlSi70y | ||||
|         Dl57l6o7LGwdW+uyb3ZZqbw5joLUKyhMr6Dqhxs43Ciug2UhsJEhxkmVVOhZUXxzIdV0mKjqicZl13Wa | ||||
|         qfJeAmn1Sr77ACqtjuXHYR1UAybYyBDjpEoskD0vafKnqg493XisER3GzQan/5nvcy2HOzo2U0xsMCkU | ||||
|         CsorjuZHESupAxNsZIhxUm3IG/tn6V0FVXJoxeMQdig1dG+l8zWbnG7s3crHaRTW8Yn1xFQdKZVKSs8y | ||||
|         8HNPEHsHG0ywkSHGSbWOF8+2KPidHkAld/wFX20z0449kaRSqQRvyTRQVftmKmtV0bUH0ZTGoZi3RIfS | ||||
|         9fspPB/k7B1oMMFGhhgnlfmg7PnJBj+h+FTTcsFnm5V07eFa2pptpuDgYMHbPrVQRftG2rUvWrjWhKnp | ||||
|         XG0KXbqvd/YNNZhgI0OMk8qyf1z5ocqFQvH3t5c6fa5FRVWPt1FappU0Go3g9RuNznH+iUS60mYd1DPU | ||||
|         YIKNDDFOKlPu2IxdZ+bwUcnpROOSQT7XEkzVj7ZTUqqFdDqd01n2dfwoYiX1Qw0m2MgQ46SKsI+bFXNg | ||||
|         Chev5F0vp2O3Fg9yaWs4VT7YSYnJURQREUEJm6xU3W6j03cCJbUDDRaYYCNDjBteGvv4/L0XPqQzvONi | ||||
|         xyL6zuE7yGWtBipv2cUnEUOXHNl8bZTUDDQYYO298AGBLca8XGE5E+YaP59Mp2/jFPzoKL88hrq0xUj1 | ||||
|         nXuFz+HWBxoMsEy5UwhsMWZkqXdO2JOY7813t5qONyylwrr5Eh+pWzDs/ECjFwywwBTxrikoa/zXaUVz | ||||
|         qOzuGgYto4La+fRt7TyXjFr0oBcMsESsS3rNZrONio+P91yTOemb+LzZDFJRSbOciup96XDN3BGNGtSi | ||||
|         B72BGZMOBQUFjTEYDKPB7osYQQhPSUkZw9/yaWyf1elvHlHvnEK55xfR5bZg/iUo+We1nI5yUAEfM4wx | ||||
|         5rCGGtSiJzB9ZpHJZHqHw2dGRUVNkMvlMo4YeRPYKYq5cbbRaFwcGRmpDovz/0SV6l0RaptG6Uffo8MV | ||||
|         AXS8Xskvn1DBGGMOa6hRbfau1Mb5ZXKvjhkrsAncELPx53TkDQw9AQbMYy81m83+2rUrwwOTfQ4otkxv | ||||
|         XPXRtE552sQ/YIxXpc24rUr2+So8VqnnwACuX2axWHzdPgGW8zsQEhIy3mq1vs6gqdgQQ6cDxm9Ab5wQ | ||||
|         j9/uN675jt/iuhlarfYN9PD8ZPZEt74DA4RiYTP9BgR3gc3BfO3Vb1xzjQw1A3v6OQC+klQeHn8Dilbt | ||||
|         ICLsniEAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>107</value> | ||||
|   </metadata> | ||||
| </root> | ||||
							
								
								
									
										317
									
								
								Viewer/TrendViewer/TrendViewer.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,317 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|   <PropertyGroup> | ||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||
|     <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||||
|     <ProductVersion> | ||||
|     </ProductVersion> | ||||
|     <SchemaVersion>2.0</SchemaVersion> | ||||
|     <ProjectGuid>{01516930-42EA-46B2-8643-395E7B2EB314}</ProjectGuid> | ||||
|     <OutputType>WinExe</OutputType> | ||||
|     <StartupObject> | ||||
|     </StartupObject> | ||||
|     <RootNamespace>vmsnet</RootNamespace> | ||||
|     <AssemblyName>TrendViewer</AssemblyName> | ||||
|     <FileAlignment>512</FileAlignment> | ||||
|     <MyType>WindowsForms</MyType> | ||||
|     <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> | ||||
|     <TargetFrameworkProfile> | ||||
|     </TargetFrameworkProfile> | ||||
|     <PublishUrl>게시\</PublishUrl> | ||||
|     <Install>true</Install> | ||||
|     <InstallFrom>Disk</InstallFrom> | ||||
|     <UpdateEnabled>false</UpdateEnabled> | ||||
|     <UpdateMode>Foreground</UpdateMode> | ||||
|     <UpdateInterval>7</UpdateInterval> | ||||
|     <UpdateIntervalUnits>Days</UpdateIntervalUnits> | ||||
|     <UpdatePeriodically>false</UpdatePeriodically> | ||||
|     <UpdateRequired>false</UpdateRequired> | ||||
|     <MapFileExtensions>true</MapFileExtensions> | ||||
|     <ApplicationRevision>0</ApplicationRevision> | ||||
|     <ApplicationVersion>1.0.0.%2a</ApplicationVersion> | ||||
|     <IsWebBootstrapper>false</IsWebBootstrapper> | ||||
|     <UseApplicationTrust>false</UseApplicationTrust> | ||||
|     <BootstrapperEnabled>true</BootstrapperEnabled> | ||||
|     <NuGetPackageImportStamp> | ||||
|     </NuGetPackageImportStamp> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||||
|     <PlatformTarget>x64</PlatformTarget> | ||||
|     <DebugSymbols>true</DebugSymbols> | ||||
|     <DebugType>full</DebugType> | ||||
|     <DefineDebug>true</DefineDebug> | ||||
|     <DefineTrace>true</DefineTrace> | ||||
|     <OutputPath>..\..\cVMS.NET_CS\bin\Debug\Trendviewer\</OutputPath> | ||||
|     <DocumentationFile> | ||||
|     </DocumentationFile> | ||||
|     <NOWARN>1591,660,661</NOWARN> | ||||
|     <Prefer32Bit>false</Prefer32Bit> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||||
|     <PlatformTarget>x86</PlatformTarget> | ||||
|     <DebugType>pdbonly</DebugType> | ||||
|     <DefineDebug>false</DefineDebug> | ||||
|     <DefineTrace>true</DefineTrace> | ||||
|     <Optimize>true</Optimize> | ||||
|     <OutputPath>bin\Debug\</OutputPath> | ||||
|     <DocumentationFile> | ||||
|     </DocumentationFile> | ||||
|     <NOWARN>1591,660,661</NOWARN> | ||||
|     <Prefer32Bit>false</Prefer32Bit> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <OptionExplicit>On</OptionExplicit> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <OptionCompare>Binary</OptionCompare> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <OptionStrict>Off</OptionStrict> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <OptionInfer>On</OptionInfer> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <ApplicationIcon>Alert.ico</ApplicationIcon> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <SignManifests>false</SignManifests> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <TargetZone>LocalIntranet</TargetZone> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <GenerateManifests>false</GenerateManifests> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <ApplicationManifest>Properties\app.manifest</ApplicationManifest> | ||||
|   </PropertyGroup> | ||||
|   <ItemGroup> | ||||
|     <Compile Include="Class\EventArgs.cs" /> | ||||
|     <Compile Include="Class\StructAndEnum.cs" /> | ||||
|     <Compile Include="DocumentElement.cs"> | ||||
|       <DependentUpon>DocumentElement.xsd</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="DocumentElement.Designer.cs"> | ||||
|       <DependentUpon>DocumentElement.xsd</DependentUpon> | ||||
|       <AutoGen>True</AutoGen> | ||||
|       <DesignTime>True</DesignTime> | ||||
|     </Compile> | ||||
|     <Compile Include="DS1.Designer.cs"> | ||||
|       <AutoGen>True</AutoGen> | ||||
|       <DesignTime>True</DesignTime> | ||||
|       <DependentUpon>DS1.xsd</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Dialog\fPleaseWait.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="Dialog\fPleaseWait.Designer.cs"> | ||||
|       <DependentUpon>fPleaseWait.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="MethodExts.cs" /> | ||||
|     <Compile Include="Program.cs" /> | ||||
|     <Compile Include="Class\ChartData.cs" /> | ||||
|     <Compile Include="Class\CFDBK.cs" /> | ||||
|     <Compile Include="Class\CFDB.cs" /> | ||||
|     <Compile Include="Setting\CSetting.cs" /> | ||||
|     <Compile Include="Dialog\Frm_SelectCH.Designer.cs"> | ||||
|       <DependentUpon>Frm_SelectCH.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Dialog\Frm_SelectCH.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="Dialog\Frm_SMsg.Designer.cs"> | ||||
|       <DependentUpon>Frm_SMsg.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Dialog\Frm_SMsg.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="Properties\Resources.Designer.cs"> | ||||
|       <AutoGen>True</AutoGen> | ||||
|       <DesignTime>True</DesignTime> | ||||
|       <DependentUpon>Resources.resx</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Properties\Settings.Designer.cs"> | ||||
|       <AutoGen>True</AutoGen> | ||||
|       <DesignTimeSharedInput>True</DesignTimeSharedInput> | ||||
|       <DependentUpon>Settings.settings</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="PUBC.cs" /> | ||||
|     <Compile Include="Frm_GraphSetup.Designer.cs"> | ||||
|       <DependentUpon>Frm_GraphSetup.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Frm_GraphSetup.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="Frm_trend.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="Frm_trend.Designer.cs"> | ||||
|       <DependentUpon>Frm_trend.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Class\CFDBA.cs" /> | ||||
|     <Compile Include="PUB.cs" /> | ||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
|     <Compile Include="Setting\Frm_Config.Designer.cs"> | ||||
|       <DependentUpon>Frm_Config.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Setting\Frm_Config.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="UControl\TrendCtrlII\CChinfo.cs" /> | ||||
|     <Compile Include="UControl\TrendCtrlII\CMouseinfo.cs" /> | ||||
|     <Compile Include="UControl\TrendCtrlII\CStyle.cs" /> | ||||
|     <Compile Include="UControl\TrendCtrlII\CTimeinfo.cs" /> | ||||
|     <Compile Include="UControl\TrendCtrlII\CUserCursor.cs" /> | ||||
|     <Compile Include="UControl\TrendCtrlII\MethodExts.cs" /> | ||||
|     <Compile Include="UControl\TrendCtrlII\TrendCtrlII.cs"> | ||||
|       <SubType>UserControl</SubType> | ||||
|     </Compile> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <EmbeddedResource Include="Dialog\fPleaseWait.resx"> | ||||
|       <DependentUpon>fPleaseWait.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="Dialog\Frm_SelectCH.resx"> | ||||
|       <DependentUpon>Frm_SelectCH.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="Dialog\Frm_SMsg.resx"> | ||||
|       <DependentUpon>Frm_SMsg.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="Properties\Resources.resx"> | ||||
|       <Generator>ResXFileCodeGenerator</Generator> | ||||
|       <LastGenOutput>Resources.Designer.cs</LastGenOutput> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="Frm_GraphSetup.resx"> | ||||
|       <DependentUpon>Frm_GraphSetup.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="Frm_trend.resx"> | ||||
|       <DependentUpon>Frm_trend.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="Properties\licenses.licx" /> | ||||
|     <EmbeddedResource Include="Setting\Frm_Config.resx"> | ||||
|       <DependentUpon>Frm_Config.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="UControl\TrendCtrlII\TrendCtrlII.resx"> | ||||
|       <DependentUpon>TrendCtrlII.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <None Include="app.config" /> | ||||
|     <None Include="DocumentElement.xsc"> | ||||
|       <DependentUpon>DocumentElement.xsd</DependentUpon> | ||||
|     </None> | ||||
|     <None Include="DocumentElement.xsd"> | ||||
|       <Generator>MSDataSetGenerator</Generator> | ||||
|       <LastGenOutput>DocumentElement.Designer.cs</LastGenOutput> | ||||
|       <CustomToolNamespace>vmsnet</CustomToolNamespace> | ||||
|       <SubType>Designer</SubType> | ||||
|     </None> | ||||
|     <None Include="DocumentElement.xss"> | ||||
|       <DependentUpon>DocumentElement.xsd</DependentUpon> | ||||
|     </None> | ||||
|     <None Include="DS1.xsc"> | ||||
|       <DependentUpon>DS1.xsd</DependentUpon> | ||||
|     </None> | ||||
|     <None Include="DS1.xsd"> | ||||
|       <SubType>Designer</SubType> | ||||
|       <Generator>MSDataSetGenerator</Generator> | ||||
|       <LastGenOutput>DS1.Designer.cs</LastGenOutput> | ||||
|     </None> | ||||
|     <None Include="DS1.xss"> | ||||
|       <DependentUpon>DS1.xsd</DependentUpon> | ||||
|     </None> | ||||
|     <None Include="OpenTK.dll.config" /> | ||||
|     <None Include="packages.config" /> | ||||
|     <None Include="Properties\app.manifest" /> | ||||
|     <None Include="Properties\DataSources\ChartData.datasource" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Reference Include="arCommUtil, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||||
|       <SpecificVersion>False</SpecificVersion> | ||||
|       <HintPath>..\..\DLL\arCommUtil.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="mscorlib" /> | ||||
|     <Reference Include="Microsoft.CSharp" /> | ||||
|     <Reference Include="OpenTK, Version=3.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\OpenTK.3.1.0\lib\net20\OpenTK.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="OpenTK.GLControl, Version=3.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\OpenTK.GLControl.3.1.0\lib\net20\OpenTK.GLControl.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="PresentationCore" /> | ||||
|     <Reference Include="ScottPlot, Version=5.0.37.0, Culture=neutral, PublicKeyToken=86698dc10387c39e, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\ScottPlot.5.0.37\lib\net462\ScottPlot.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="ScottPlot.WinForms, Version=5.0.37.0, Culture=neutral, PublicKeyToken=86698dc10387c39e, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\ScottPlot.WinForms.5.0.37\lib\net462\ScottPlot.WinForms.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\SkiaSharp.2.88.8\lib\net462\SkiaSharp.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="SkiaSharp.Views.Desktop.Common, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\SkiaSharp.Views.Desktop.Common.2.88.8\lib\net462\SkiaSharp.Views.Desktop.Common.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="SkiaSharp.Views.WindowsForms, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> | ||||
|       <HintPath>..\..\packages\SkiaSharp.Views.WindowsForms.2.88.8\lib\net462\SkiaSharp.Views.WindowsForms.dll</HintPath> | ||||
|     </Reference> | ||||
|     <Reference Include="System" /> | ||||
|     <Reference Include="System.Core" /> | ||||
|     <Reference Include="System.Data" /> | ||||
|     <Reference Include="System.Data.DataSetExtensions" /> | ||||
|     <Reference Include="System.Data.Linq" /> | ||||
|     <Reference Include="System.Drawing" /> | ||||
|     <Reference Include="System.Windows.Forms" /> | ||||
|     <Reference Include="System.Windows.Forms.DataVisualization" /> | ||||
|     <Reference Include="System.Xml" /> | ||||
|     <Reference Include="System.Xml.Linq" /> | ||||
|     <Reference Include="WindowsBase" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Content Include="Alert.ico" /> | ||||
|     <Content Include="ReadMe.txt" /> | ||||
|     <None Include="Resources\icons8-positive-dynamic-48.png" /> | ||||
|     <None Include="Resources\down_orange.png" /> | ||||
|     <None Include="Resources\down_16.png" /> | ||||
|     <None Include="Resources\up_16.png" /> | ||||
|     <None Include="Resources\Orange Ball.png" /> | ||||
|     <None Include="Resources\Get Info Blue Button.png" /> | ||||
|     <None Include="Resources\Clear Green Button.png" /> | ||||
|     <None Include="Resources\Backup Green Button.png" /> | ||||
|     <None Include="Properties\Settings.settings"> | ||||
|       <Generator>SettingsSingleFileGenerator</Generator> | ||||
|       <LastGenOutput>Settings.Designer.cs</LastGenOutput> | ||||
|     </None> | ||||
|     <None Include="Resources\Red Ball.png" /> | ||||
|     <None Include="Resources\Purple Ball.png" /> | ||||
|     <None Include="Resources\Green Ball.png" /> | ||||
|     <None Include="Resources\Blue Ball.png" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> | ||||
|       <Visible>False</Visible> | ||||
|       <ProductName>.NET Framework 3.5 SP1</ProductName> | ||||
|       <Install>false</Install> | ||||
|     </BootstrapperPackage> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup /> | ||||
|   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  | ||||
|        Other similar extension points exist, see Microsoft.Common.targets. | ||||
|   <Target Name="BeforeBuild"> | ||||
|   </Target> | ||||
|   <Target Name="AfterBuild"> | ||||
|   </Target> | ||||
|   --> | ||||
|   <Import Project="$(MSBuildBinPath)/Microsoft.CSharp.targets" /> | ||||
|   <Import Project="..\..\packages\SkiaSharp.NativeAssets.macOS.2.88.8\build\net462\SkiaSharp.NativeAssets.macOS.targets" Condition="Exists('..\..\packages\SkiaSharp.NativeAssets.macOS.2.88.8\build\net462\SkiaSharp.NativeAssets.macOS.targets')" /> | ||||
|   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||||
|     <PropertyGroup> | ||||
|       <ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText> | ||||
|     </PropertyGroup> | ||||
|     <Error Condition="!Exists('..\..\packages\SkiaSharp.NativeAssets.macOS.2.88.8\build\net462\SkiaSharp.NativeAssets.macOS.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\SkiaSharp.NativeAssets.macOS.2.88.8\build\net462\SkiaSharp.NativeAssets.macOS.targets'))" /> | ||||
|     <Error Condition="!Exists('..\..\packages\SkiaSharp.NativeAssets.Win32.2.88.8\build\net462\SkiaSharp.NativeAssets.Win32.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\SkiaSharp.NativeAssets.Win32.2.88.8\build\net462\SkiaSharp.NativeAssets.Win32.targets'))" /> | ||||
|     <Error Condition="!Exists('..\..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.8\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.8\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets'))" /> | ||||
|   </Target> | ||||
|   <Import Project="..\..\packages\SkiaSharp.NativeAssets.Win32.2.88.8\build\net462\SkiaSharp.NativeAssets.Win32.targets" Condition="Exists('..\..\packages\SkiaSharp.NativeAssets.Win32.2.88.8\build\net462\SkiaSharp.NativeAssets.Win32.targets')" /> | ||||
|   <Import Project="..\..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.8\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets" Condition="Exists('..\..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.8\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets')" /> | ||||
| </Project> | ||||
							
								
								
									
										40
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/CChinfo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,40 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
| using System.ComponentModel; | ||||
| using System.Drawing.Drawing2D; | ||||
| using System.Drawing; | ||||
|  | ||||
| namespace TrendCtrlII | ||||
| { | ||||
|     [TypeConverterAttribute(typeof(ExpandableObjectConverter))] | ||||
|     public partial class CChinfo | ||||
|     { | ||||
|         public Dictionary<UInt32,float> Value; | ||||
|  | ||||
|         public String C1value { get; set; } = ""; | ||||
|         public String C2value { get; set; } = ""; | ||||
|         public UInt16 Idx { get; set; }    //트렌드뷰에서표시되고있는 인덱스값 | ||||
|         public Boolean Show { get; set; } | ||||
|         public Color Color { get; set; } | ||||
|         public int CH { get; set; } | ||||
|         public String TITLE { get; set; } | ||||
|         public String GROUP { get; set; } | ||||
|         | ||||
|         public CChinfo() | ||||
|         { | ||||
|             CH = 0; | ||||
|             TITLE = ""; | ||||
|             GROUP = ""; | ||||
|             Value = new Dictionary<uint, float>();// List<Single>(0); | ||||
|         } | ||||
|  | ||||
|         public override string ToString() | ||||
|         { | ||||
|             return $"{(Show ? "[O]" : "[X]")} GRP:{GROUP},CH:{CH},{TITLE},{Value.Count}건"; | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|     } | ||||
| } | ||||
							
								
								
									
										105
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/CMouseinfo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,105 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
| using System.ComponentModel; | ||||
| using System.Drawing.Drawing2D; | ||||
| using System.Drawing; | ||||
|  | ||||
|  | ||||
| namespace TrendCtrlII | ||||
| { | ||||
|     [TypeConverterAttribute(typeof(ExpandableObjectConverter))] | ||||
|     public partial class CMouseinfo | ||||
|     { | ||||
|         private Boolean hand; | ||||
|         private Boolean cross; | ||||
|         private Boolean move; | ||||
|         private Boolean changepos; | ||||
|         private Boolean drag; | ||||
|         private EDRAGTYPE dragtype; | ||||
|         //private PointF dragstart; | ||||
|         private PointF position; | ||||
|         private PointF position0; | ||||
|         //private Single _time; | ||||
|         private Single _volt; | ||||
|         private Boolean _showinfo; | ||||
|         private int _dragindex; | ||||
|  | ||||
|         public CMouseinfo(PointF _pf) | ||||
|         { | ||||
|             position = _pf; | ||||
|             position0 = _pf; | ||||
|             _showinfo = false; | ||||
|             _volt = 0; | ||||
|             _dragindex = -1; | ||||
|         } | ||||
|         public int DragIndex  | ||||
|         { | ||||
|             get { return this._dragindex; } | ||||
|             set { this._dragindex = value; } | ||||
|  | ||||
|             } | ||||
|         public Boolean Showinfo | ||||
|         { | ||||
|             get { return this._showinfo; } | ||||
|             set { this._showinfo = value; } | ||||
|         } | ||||
|  | ||||
|         public  Int64 Time { get; set; } | ||||
|  | ||||
|         public Single Volt | ||||
|         { | ||||
|             get { return this._volt; } | ||||
|             set { this._volt = value; } | ||||
|         } | ||||
|  | ||||
|         public EDRAGTYPE DragType | ||||
|         { | ||||
|             get { return this.dragtype; } | ||||
|             set { this.dragtype = value; } | ||||
|         } | ||||
|  | ||||
|         public PointF DragStart { get; set; } | ||||
|  | ||||
|         public PointF Position | ||||
|         { | ||||
|             get { return this.position; } | ||||
|             set { | ||||
|                 this.position0 = new PointF(this.position.X, this.position.Y);  | ||||
|                 this.position = value;                 | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public PointF Position0 | ||||
|         { | ||||
|             get { return this.position0; } | ||||
|             set { this.position0 = value; } | ||||
|         } | ||||
|         public Boolean Hand | ||||
|         { | ||||
|             get { return this.hand; } | ||||
|             set { this.hand = value; } | ||||
|         } | ||||
|         public Boolean Cross | ||||
|         { | ||||
|             get { return this.cross; } | ||||
|             set { this.cross = value; } | ||||
|         } | ||||
|         public Boolean ChangePos | ||||
|         { | ||||
|             get { return this.changepos; } | ||||
|             set { this.changepos = value; } | ||||
|         } | ||||
|         public Boolean Move | ||||
|         { | ||||
|             get { return this.move; } | ||||
|             set { this.move = value; } | ||||
|         } | ||||
|         public Boolean Drag | ||||
|         { | ||||
|             get { return this.drag; } | ||||
|             set { this.drag = value; } | ||||
|         } | ||||
|  | ||||
|     } | ||||
| } | ||||
							
								
								
									
										339
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/CStyle.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,339 @@ | ||||
| using System; | ||||
| using System.ComponentModel; | ||||
| using System.Collections.Generic; | ||||
| using System.Diagnostics; | ||||
| using System.Text; | ||||
| using System.Drawing; | ||||
|  | ||||
| namespace TrendCtrlII | ||||
| { | ||||
|     [TypeConverterAttribute(typeof(ExpandableObjectConverter))] | ||||
|     public class ChartStyle | ||||
|     { | ||||
|  | ||||
|         //X<><58><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> | ||||
|         private Int64 _X1; | ||||
|         private Int64 _X2; | ||||
|  | ||||
|         //<2F><><EFBFBD><EFBFBD>ȭ<EFBFBD>鿡 ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||
|         private Int64 _XV1; | ||||
|         private Int64 _XV2; | ||||
|  | ||||
|         //<2F><><EFBFBD><EFBFBD>ȭ<EFBFBD>鿡 ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||
|         public Int64 XV1o; | ||||
|         public Int64 XV2o; | ||||
|  | ||||
|         //Y<><59><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||
|         private Single _Y1; | ||||
|         private Single _Y2; | ||||
|  | ||||
|         //<2F><><EFBFBD><EFBFBD>ȭ<EFBFBD>鿡 ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||
|         private Single _YV1 = 1; | ||||
|         private Single _YV2 = 3; | ||||
|  | ||||
|         //<2F><><EFBFBD><EFBFBD>ȭ<EFBFBD>鿡 ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||
|         public Single YV1o = 1; | ||||
|         public Single YV2o = 3; | ||||
|  | ||||
|         // | ||||
|         private Boolean _datapoint = false; | ||||
|  | ||||
|         private Font _yfont = new Font("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 12, FontStyle.Bold); | ||||
|         public int _ZoneMarginX = 50; | ||||
|         public int _ZoneMarginY = 50; | ||||
|  | ||||
|         //public Color design_backcolor = Color.White; | ||||
|         public Color design_mouseinfocolor = Color.Black; | ||||
|  | ||||
|        // public int _xterm = 1800; | ||||
|         private Font _xfont = new Font("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 8, FontStyle.Bold); | ||||
|  | ||||
|         public Font _mouseinfofont = new Font("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 12, FontStyle.Bold); | ||||
|         private Boolean showdebug = false; | ||||
|        // private short defaultviewhour = 3; | ||||
|  | ||||
|         public event OnUpdateinfoHandler OnUpdateinfo; //UPDATE USER CURSOR | ||||
|         public delegate void OnUpdateinfoHandler(); | ||||
|  | ||||
|         public Boolean UseZoomX { get; set; } | ||||
|         public Boolean UseZoomY { get; set; } | ||||
|  | ||||
|         public UInt16 MaxZoomX { get; set; } | ||||
|         public Single MaxZoomY { get; set; } | ||||
|  | ||||
|         public String UnitY { get; set; } | ||||
|         public String UnitX { get; set; } | ||||
|  | ||||
|         public ChartStyle() | ||||
|         { | ||||
|             MaxZoomX = 10; | ||||
|             MaxZoomY = 0.01f; | ||||
|             UseZoomX = true; | ||||
|             UseZoomY = true; | ||||
|             UnitY = "Volt"; | ||||
|             UnitX = "Sec"; | ||||
|             Xǥ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD> = 0;  //<2F>⺻<EFBFBD><E2BABB>üǥ<C3BC>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ | ||||
|             XGap = 0; //<2F>⺻ X<><58> ǥ<>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> | ||||
|             YGap = 0;   //<2F>⺻ Y<><59> ǥ<>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> | ||||
|         } | ||||
|  | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("X<><58>(<28>ð<EFBFBD>)"), Description("X<> ǥ<>õǴ<C3B5> <20>ð<EFBFBD><C3B0><EFBFBD> ǥ<>ð<EFBFBD><C3B0><EFBFBD> (0<><30> <20>ڵ<EFBFBD>)")] | ||||
|         public int XGap { get; set; } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>"), Description("Y<> ǥ<>õǴ<C3B5> ǥ<>ð<EFBFBD><C3B0><EFBFBD> (0<><30> <20>ڵ<EFBFBD>)")] | ||||
|         public Single YGap { get; set; } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> ǥ<>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Font FontY | ||||
|         { | ||||
|             get { return _yfont; } | ||||
|             set | ||||
|             { | ||||
|                 _yfont = value; | ||||
|                 if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("X<><58>(<28>ð<EFBFBD>)"), Description("<22><><EFBFBD><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20>۲<EFBFBD><DBB2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Font FontX | ||||
|         { | ||||
|             get { return _xfont; } | ||||
|             set | ||||
|             { | ||||
|                 _xfont = value; | ||||
|                 if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private Int32 _xterm = 0; | ||||
|          | ||||
|         /// <summary> | ||||
|         /// X<><58><EFBFBD><EFBFBD> ǥ<>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD>(<28><>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD>(<28><>)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȭ<>鿡 ǥ<>õ˴ϴ<CBB4>. <20><> <20><><EFBFBD><EFBFBD> 0<><30> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>ִٸ<D6B4> <20>ǽð<C7BD><C3B0><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>۵<EFBFBD><DBB5>ϰ<EFBFBD> <20>˴ϴ<CBB4>. | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("<22><>ȸ"), Description("X<><58><EFBFBD><EFBFBD> ǥ<>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD>(<28><>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD>(<28><>)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȭ<>鿡 ǥ<>õ˴ϴ<CBB4>. <20><> <20><><EFBFBD><EFBFBD> 0<><30> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>ִٸ<D6B4> <20>ǽð<C7BD><C3B0><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>۵<EFBFBD><DBB5>ϰ<EFBFBD> <20>˴ϴ<CBB4>.")] | ||||
|         public Int32 Xǥ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD> { | ||||
|             get { return _xterm; } | ||||
|             set { | ||||
|                 _xterm = value; | ||||
|                  | ||||
|                 //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD>ϰ<EFBFBD> <20>Ѵ´ٸ<C2B4> <20>պκ<D5BA><CEBA><EFBFBD> <20>ڸ<EFBFBD><DAB8><EFBFBD>. | ||||
|  | ||||
|                 if(value != 0 ) | ||||
|                 { | ||||
|                     TimeSpan ts = DateTime.FromFileTime(X2) - DateTime.FromFileTime(X1); | ||||
|                     if (ts.TotalSeconds > value) { | ||||
|                         DateTime NewEd = DateTime.FromFileTime(X2); | ||||
|                         DateTime NewSd = NewEd.AddSeconds(-1 * value); | ||||
|                          | ||||
|                         if (NewSd > DateTime.Now) | ||||
|                         { | ||||
|                             NewSd = DateTime.Now; | ||||
|                             NewEd = NewSd.AddSeconds(value); | ||||
|                         }  | ||||
|                         X1 = NewSd.ToFileTime(); | ||||
|                         X2 = NewEd.ToFileTime();                         | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("<22><>Ÿ"), Description("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5><EFBFBD>մϴ<D5B4>.")] | ||||
|         public Boolean Show_DataPoint { | ||||
|             get { return _datapoint; } | ||||
|             set { _datapoint = value; | ||||
|             if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), Description("Debug Message")] | ||||
|         public Boolean Show_DebugMsg | ||||
|         { | ||||
|             get { return this.showdebug; } | ||||
|             set { this.showdebug = value; | ||||
|             if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("<22><><EFBFBD>콺<EFBFBD><ECBDBA><EFBFBD><EFBFBD>"), Description("<22><><EFBFBD>콺<EFBFBD><ECBDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5><EFBFBD>ϴ<EFBFBD> â<><C3A2> <20><><EFBFBD>ڻ<EFBFBD>")] | ||||
|         public Color <EFBFBD><EFBFBD><EFBFBD>콺<EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD> | ||||
|         { | ||||
|             get { return design_mouseinfocolor; } | ||||
|             set { design_mouseinfocolor = value; | ||||
|             if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("<22><><EFBFBD>콺<EFBFBD><ECBDBA><EFBFBD><EFBFBD>"), Description("<22><><EFBFBD>콺<EFBFBD><ECBDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5><EFBFBD>ϴ<EFBFBD> â<><C3A2> <20>۲<EFBFBD>")] | ||||
|         public Font <EFBFBD><EFBFBD><EFBFBD>콺<EFBFBD>۲<EFBFBD> | ||||
|         { | ||||
|             get { return _mouseinfofont; } | ||||
|             set { _mouseinfofont = value; | ||||
|             if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Y<>ప<EFBFBD><E0B0AA> ǥ<>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>. | ||||
|         /// </summary> | ||||
|         public void ResetYxis() | ||||
|         { | ||||
|             YV1 = Y1; | ||||
|             YV2 = Y2; | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// X<>ప<EFBFBD><E0B0AA> ǥ<>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>. | ||||
|         /// </summary> | ||||
|         public void ResetXxis() | ||||
|         { | ||||
|             XV1 = X1; | ||||
|             XV2 = X2; | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᰪ(<28><><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD> XV2<56><32> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>) | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ִ밪<D6B4><EBB0AA> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Int64 X2 | ||||
|         { | ||||
|             get { return _X2; } | ||||
|             set | ||||
|             { | ||||
|                 _X2 = value; | ||||
|                 _XV2 = value; | ||||
|                 XV2o = value; | ||||
|                 if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>۰<EFBFBD>(<28><><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD> XV1<56><31> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>) | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ּҰ<D6BC><D2B0><EFBFBD> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Int64 X1 | ||||
|         { | ||||
|             get { return _X1; } | ||||
|             set | ||||
|             { | ||||
|                 _X1 = value; | ||||
|                 _XV1 = value; | ||||
|                 XV1o = value; | ||||
|                 if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۰<EFBFBD><DBB0>Դϴ<D4B4>. | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ּҰ<D6BC><D2B0><EFBFBD> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Int64 XV1 | ||||
|         { | ||||
|             get { return _XV1; } | ||||
|             set | ||||
|             { | ||||
|                 //<2F>䰪<EFBFBD><E4B0AA> <20>Ѱ<EFBFBD>ġ üũ | ||||
|                 if (value < X1) _XV1 = X1; | ||||
|                 else if (value >= XV2 && XV2 > 0) _XV1 = DateTime.FromFileTime(XV2).AddSeconds(-1).ToFileTime(); | ||||
|                 else _XV1 = value; | ||||
|                 XV1o = _XV1; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᰪ<EFBFBD>Դϴ<D4B4>. | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ּҰ<D6BC><D2B0><EFBFBD> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Int64 XV2 | ||||
|         { | ||||
|             get { return _XV2; } | ||||
|             set | ||||
|             { | ||||
|                 //<2F>䰪<EFBFBD><E4B0AA> <20>Ѱ<EFBFBD>ġ üũ | ||||
|                 if (value > X2) _XV2 = X2; | ||||
|                 else if (value <= XV1 && XV1 > 0) _XV2 = DateTime.FromFileTime(XV1).AddSeconds(1).ToFileTime(); | ||||
|                 else _XV2 = value; | ||||
|                 XV2o = _XV2; | ||||
|             } | ||||
|         } | ||||
|                  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᰪ(<28><><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD> YV2<56><32> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>) | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ִ밪<D6B4><EBB0AA> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")]         | ||||
|         public Single Y2 | ||||
|         { | ||||
|             get { return _Y2; } | ||||
|             set { | ||||
|                 _Y2 = value; | ||||
|                 _YV2 = value; | ||||
|                 YV2o = value; | ||||
|                 if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD>ǥ<EFBFBD>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᰪ<EFBFBD>Դϴ<D4B4>. | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ִ밪<D6B4><EBB0AA> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Single YV2 | ||||
|         { | ||||
|             get { return _YV2; } | ||||
|             set | ||||
|             {                 | ||||
|                 _YV2 = value; | ||||
|                 YV2o = value; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۰<EFBFBD>(<28><><EFBFBD><EFBFBD> ǥ<>õǴ<C3B5> <20><><EFBFBD><EFBFBD> YV1<56><31> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>) | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ּҰ<D6BC><D2B0><EFBFBD> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Single Y1 | ||||
|         { | ||||
|             get { return _Y1; } | ||||
|             set { | ||||
|                 _Y1 = value; | ||||
|                 _YV1 = value; | ||||
|                 YV1o = value; | ||||
|                 if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۰<EFBFBD> | ||||
|         /// </summary> | ||||
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Y<><59>(VOLT)"), Description("Y<> ǥ<>õǴ<C3B5> VOLT<4C><54> <20>ּҰ<D6BC><D2B0><EFBFBD> <20>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>.")] | ||||
|         public Single YV1 | ||||
|         { | ||||
|             get { return _YV1; } | ||||
|             set | ||||
|             {                 | ||||
|                 _YV1 = value; | ||||
|                 YV1o = value; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|        | ||||
|         //[DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("<22><><EFBFBD><EFBFBD>"), Description("<22><>Ʈ<EFBFBD><C6AE>ǥ<EFBFBD>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")] | ||||
|         //public int <20><><EFBFBD>ʿ<EFBFBD><CABF><EFBFBD> | ||||
|         //{ | ||||
|         //    get { return _ZoneMarginX; } | ||||
|         //    set { _ZoneMarginX = value; | ||||
|         //    if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|         //    } | ||||
|         //} | ||||
|  | ||||
|         //[DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("<22><><EFBFBD><EFBFBD>"), Description("<22><>Ʈ<EFBFBD><C6AE>ǥ<EFBFBD>õǴ<C3B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>")] | ||||
|         //public int <20><><EFBFBD>ʿ<EFBFBD><CABF><EFBFBD> | ||||
|         //{ | ||||
|         //    get { return _ZoneMarginY; } | ||||
|         //    set { _ZoneMarginY = value; | ||||
|         //    if (OnUpdateinfo != null) OnUpdateinfo(); | ||||
|         //    } | ||||
|         //} | ||||
|       | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										28
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/CTimeinfo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,28 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|  | ||||
| namespace TrendCtrlII | ||||
| { | ||||
|    public partial class CTimeinfo | ||||
|     { | ||||
|  | ||||
|         public Int64 Value { get; set; } | ||||
|         public UInt32 idx { get; set; } | ||||
|  | ||||
|         public CTimeinfo(UInt32 _idx, Int64 _val) | ||||
|         { | ||||
|             Value = _val; | ||||
|             idx = _idx; | ||||
|         } | ||||
|  | ||||
|         public DateTime DateTimeData | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 return DateTime.FromFileTime(Value); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										41
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/CUserCursor.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,41 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
|  | ||||
| namespace TrendCtrlII | ||||
| { | ||||
|     public partial class CUserCursor | ||||
|     { | ||||
|         private short _idx = 0; | ||||
|         private Int64 _time = 0; | ||||
|         private Single _value = 0; | ||||
|         private Single _newx = 0; | ||||
|  | ||||
|         public CUserCursor(short pidx, Int64 ptime, Single px) | ||||
|         { | ||||
|             _idx = pidx; | ||||
|             _time = ptime; | ||||
|             _newx = px; | ||||
|         } | ||||
|         public Int64 Time | ||||
|         { | ||||
|             get { return this._time; } | ||||
|             set { this._time = value; } | ||||
|         } | ||||
|         public short Idx | ||||
|         { | ||||
|             get { return this._idx; } | ||||
|             set { this._idx = value; } | ||||
|         } | ||||
|         public Single Value | ||||
|         { | ||||
|             get { return this._value; } | ||||
|             set { this._value = value; } | ||||
|         } | ||||
|         public Single Newx | ||||
|         { | ||||
|             get { return this._newx; } | ||||
|             set { this._newx = value; } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										23
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/MethodExts.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,23 @@ | ||||
| using System; | ||||
| using System.Xml; | ||||
| using System.Linq; | ||||
| using System.Xml.Linq; | ||||
| using System.ComponentModel; | ||||
| using System.Runtime.CompilerServices; | ||||
| using AR; | ||||
| using System.IO; | ||||
| using System.Text; | ||||
| using System.Drawing; | ||||
|  | ||||
|  | ||||
| namespace TrendCtrlII | ||||
| { | ||||
|     public static class MethodExts | ||||
|     { | ||||
|         public static void DrawRectangle(this System.Drawing.Graphics graphics, Pen pen, System.Drawing.RectangleF rect) | ||||
|         { | ||||
|             graphics.DrawRectangle(pen, rect.X, rect.Y, rect.Width, rect.Height); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										1946
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/TrendCtrlII.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										120
									
								
								Viewer/TrendViewer/UControl/TrendCtrlII/TrendCtrlII.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
| </root> | ||||
							
								
								
									
										52
									
								
								Viewer/TrendViewer/app.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,52 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <configuration> | ||||
|     <configSections> | ||||
|         <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|             <section name="vmsnet.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> | ||||
|         </sectionGroup> | ||||
|     </configSections> | ||||
|     <system.diagnostics> | ||||
|         <sources> | ||||
|             <!-- 이 섹션은 My.Application.Log의 로깅 구성을 정의합니다. --> | ||||
|             <source name="DefaultSource" switchName="DefaultSwitch"> | ||||
|                 <listeners> | ||||
|                     <add name="FileLog" /> | ||||
|                     <!-- 아래 섹션의 주석 처리를 제거하여 응용 프로그램 이벤트 로그에 씁니다. --> | ||||
|                     <!--<add name="EventLog"/>--> | ||||
|                 </listeners> | ||||
|             </source> | ||||
|         </sources> | ||||
|         <switches> | ||||
|             <add name="DefaultSwitch" value="Information" /> | ||||
|         </switches> | ||||
|         <sharedListeners> | ||||
|             <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" /> | ||||
|             <!-- 아래 섹션의 주석 처리를 제거하여 APPLICATION_NAME을 응용 프로그램 이름으로 바꾼 후 응용 프로그램 이벤트 로그에 씁니다. --> | ||||
|             <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> --> | ||||
|         </sharedListeners> | ||||
|     </system.diagnostics> | ||||
|     <userSettings> | ||||
|         <vmsnet.My.MySettings> | ||||
|             <setting name="test2" serializeAs="String"> | ||||
|                 <value>2</value> | ||||
|             </setting> | ||||
|         </vmsnet.My.MySettings> | ||||
|     </userSettings> | ||||
| <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup> | ||||
|   <runtime> | ||||
|     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||||
|       <dependentAssembly> | ||||
|         <assemblyIdentity name="OpenTK.GLControl" publicKeyToken="bad199fe84eb3df4" culture="neutral" /> | ||||
|         <bindingRedirect oldVersion="0.0.0.0-3.3.3.0" newVersion="3.3.3.0" /> | ||||
|       </dependentAssembly> | ||||
|       <dependentAssembly> | ||||
|         <assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral" /> | ||||
|         <bindingRedirect oldVersion="0.0.0.0-3.3.3.0" newVersion="3.3.3.0" /> | ||||
|       </dependentAssembly> | ||||
|       <dependentAssembly> | ||||
|         <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||||
|         <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> | ||||
|       </dependentAssembly> | ||||
|     </assemblyBinding> | ||||
|   </runtime> | ||||
| </configuration> | ||||
							
								
								
									
										19
									
								
								Viewer/TrendViewer/packages.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <packages> | ||||
|   <package id="OpenTK" version="3.1.0" targetFramework="net48" /> | ||||
|   <package id="OpenTK.GLControl" version="3.1.0" targetFramework="net48" /> | ||||
|   <package id="ScottPlot" version="5.0.37" targetFramework="net48" /> | ||||
|   <package id="ScottPlot.WinForms" version="5.0.37" targetFramework="net48" /> | ||||
|   <package id="SkiaSharp" version="2.88.8" targetFramework="net48" /> | ||||
|   <package id="SkiaSharp.NativeAssets.Linux.NoDependencies" version="2.88.8" targetFramework="net48" /> | ||||
|   <package id="SkiaSharp.NativeAssets.macOS" version="2.88.8" targetFramework="net48" /> | ||||
|   <package id="SkiaSharp.NativeAssets.Win32" version="2.88.8" targetFramework="net48" /> | ||||
|   <package id="SkiaSharp.Views.Desktop.Common" version="2.88.8" targetFramework="net48" /> | ||||
|   <package id="SkiaSharp.Views.WindowsForms" version="2.88.8" targetFramework="net48" /> | ||||
|   <package id="System.Buffers" version="4.5.1" targetFramework="net48" /> | ||||
|   <package id="System.Drawing.Common" version="8.0.8" targetFramework="net48" /> | ||||
|   <package id="System.Memory" version="4.5.5" targetFramework="net48" /> | ||||
|   <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" /> | ||||
|   <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" /> | ||||
|   <package id="System.ValueTuple" version="4.5.0" targetFramework="net48" /> | ||||
| </packages> | ||||
							
								
								
									
										288
									
								
								Viewer/TrendViewer/pub.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,288 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using System.Xml.Linq; | ||||
| using AR; | ||||
| using System.Windows.Media; | ||||
| using System.Media; | ||||
| using System.IO; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Linq; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|  | ||||
|     sealed class PUB | ||||
|     { | ||||
|         //public static bool MonitorOn = false; | ||||
|         public static AR.Log log; | ||||
|         public static bool RaiseSound1 = false; | ||||
|         public static bool RaiseSound2 = false; | ||||
|         public static bool RaiseSound = false; | ||||
|         public static string ExtCommand = ""; | ||||
|         public static bool setupmode = false; | ||||
|         public static bool NotExitMonitor = false; | ||||
|         public static CFDB DB; | ||||
|         public static CFDBA Alarm; | ||||
|         public static CFDBK KADB; | ||||
|  | ||||
|         public static CSetting CONFIG; | ||||
|         public static CTrendSetting TREND; | ||||
|  | ||||
|         public static int sleepoffset = 0; ////쓰레드슬립시간 | ||||
|         public static int sleeplimit = 1000; ////쓰레드슬립최대값 | ||||
|         public static int[,,] Values; ////이차원배열이다. | ||||
|         public static string[,,] Times; | ||||
|         public static string lasttime = ""; | ||||
|         public static event EventHandler<RemoteCommand> RemoteCommandEvent; | ||||
|         public static DocumentElement DS = new DocumentElement(); | ||||
|         public static bool runerror = false; ////실행오류 | ||||
|  | ||||
|  | ||||
|         public static string lastStatueMessage = ""; | ||||
|  | ||||
|  | ||||
|         public static System.Text.StringBuilder StartErrmsg = new System.Text.StringBuilder(); | ||||
|         public static int WindowCount = 0; | ||||
|  | ||||
|         private static Frm_SMsg fSMsg = null; | ||||
|         // private static Frm_Msg fMsg = null; | ||||
|         private static MediaPlayer mplayer = null; | ||||
|  | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 입력한 채널의 파일버퍼기준의 인덱스값을 반환합니다. | ||||
|         /// 각 파일은 최대 160개의 채널데이터를 가지고 있다. | ||||
|         /// 161번 채널의 경우 2번째 파일의 001번 데이터이다 | ||||
|         /// 160번 채널의 경우 1번째 파일의 160번 데이터이다 | ||||
|         /// </summary> | ||||
|         /// <param name="ValueIdx">채널번호(1~)</param> | ||||
|         /// <returns></returns> | ||||
|         public static int GetChannelIndexFromFileBuffer(int ValueIdx) | ||||
|         { | ||||
|             //각 파일당 160개씩 저장되어있으므로 채널번호를 통해서 파일의 위치를 파악해야한다. | ||||
|             int quotient = ValueIdx / 160; // 몫 | ||||
|             int remainder = ValueIdx % 160; // 나머지 | ||||
|  | ||||
|             //나머지가 0인경우에는 마지막데이터이다 | ||||
|             //그외의 경우에는 나머지가 해당 인덱스가 된다. | ||||
|             return remainder == 0 ? quotient * 160 : remainder; | ||||
|  | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public static void RaiseRemoteCommandEvent(rCommand cmd, object data = null) | ||||
|         { | ||||
|             RemoteCommandEvent?.Invoke(null, new RemoteCommand(cmd, data)); | ||||
|         } | ||||
|  | ||||
|         public static void smsg(string m) | ||||
|         { | ||||
|             if (fSMsg == null || fSMsg.IsDisposed) | ||||
|                 fSMsg = new Frm_SMsg(); | ||||
|  | ||||
|             if (fSMsg.Visible == false) fSMsg.Show(); | ||||
|  | ||||
|             fSMsg.Activate(); | ||||
|             fSMsg.Label1.Text = m; | ||||
|             Application.DoEvents(); | ||||
|             if (m == "") fSMsg.Close(); | ||||
|         } | ||||
|  | ||||
|         public static Font GetFontFromStr(string strfontbuffer) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 string[] fontstr = strfontbuffer.Split(",".ToCharArray()); | ||||
|                 FontStyle fstyle = (FontStyle)(int.Parse(fontstr[2])); | ||||
|                 return new Font(fontstr[0], float.Parse(fontstr[1]), fstyle); | ||||
|             } | ||||
|             catch | ||||
|             { | ||||
|                 return new Font("Tahoma", 10, FontStyle.Bold); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         //public static void workmsg(string m) | ||||
|         //{ | ||||
|         //    if (fMsg == null || fMsg.IsDisposed) | ||||
|         //        fMsg = new Frm_Msg(); | ||||
|  | ||||
|         //    if (fMsg.Visible == false) fMsg.Show(); | ||||
|  | ||||
|         //    fMsg.Activate(); | ||||
|         //    fMsg.lb_Status.Text = m; | ||||
|         //    Application.DoEvents(); | ||||
|         //    if (m == "") fMsg.Close(); | ||||
|         //} | ||||
|  | ||||
|         ////타임정보를 숫자로 반환함 | ||||
|         public static decimal get_TimeNumber(DateTime time) | ||||
|         { | ||||
|             return time.Hour * 3600 + time.Minute * 60 + time.Second; | ||||
|         } | ||||
|         public static void ShowForm(Form f, Type ftype, params object[] data) | ||||
|         { | ||||
|             if (f == null || f.IsDisposed) | ||||
|                 f = (Form)Activator.CreateInstance(ftype, data); | ||||
|  | ||||
|             f.Show(); | ||||
|  | ||||
|             if (f.WindowState == FormWindowState.Minimized) | ||||
|                 f.WindowState = FormWindowState.Normal; | ||||
|             else if (f.Visible == false) | ||||
|                 f.Visible = true; | ||||
|  | ||||
|             f.Activate(); | ||||
|         } | ||||
|  | ||||
|         public static string get_TimeString(decimal timenumber, string fn) | ||||
|         { | ||||
|             ////파일명에 년/월/일이 있음 | ||||
|             string[] fnb = fn.Split("\\".ToCharArray()); | ||||
|             string Filename = fnb[fnb.Length - 1]; | ||||
|             string daystr = fnb[fnb.Length - 2]; | ||||
|             string monstr = fnb[fnb.Length - 3]; | ||||
|             string yearstr = fnb[fnb.Length - 4]; | ||||
|  | ||||
|             ////timenumber를 다시 시,분,초 로 변환한다. | ||||
|             decimal namugy = timenumber; | ||||
|             int hour = (int)(Math.Floor(namugy / 3600)); | ||||
|             namugy = namugy - (hour * 3600); | ||||
|             int min = (int)(Math.Floor(namugy / 60)); | ||||
|             namugy = namugy - (min * 60); | ||||
|             int sec = (int)namugy; | ||||
|  | ||||
|             return yearstr + "-" + monstr + "-" + daystr + " " + hour.ToString("00") + ":" + min.ToString("00") + ":" + sec.ToString("00"); | ||||
|         } | ||||
|         public static void AddMeasureValue(int idx, int unit, int ch, int value, string time) | ||||
|         { | ||||
|             var l0 = PUB.Values.GetUpperBound(0) + 1; | ||||
|             var l1 = PUB.Values.GetUpperBound(1) + 1; | ||||
|             var l2 = PUB.Values.GetUpperBound(2) + 1; | ||||
|  | ||||
|             if (idx < l0 && unit < l1 && ch > 0 && ch <= l2) | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     PUB.Values[idx, unit, ch - 1] = value; | ||||
|                     PUB.Times[idx, unit, ch - 1] = time; | ||||
|                 } | ||||
|                 catch (Exception) | ||||
|                 { | ||||
|                     if (System.Diagnostics.Debugger.IsAttached) | ||||
|                     { | ||||
|                         Console.WriteLine($"수신데이터입력실패 M/C:{idx},Unit:{unit},CH:{ch - 1}"); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 if (System.Diagnostics.Debugger.IsAttached) | ||||
|                 { | ||||
|                     Console.WriteLine($"수신데이터배열크기오류 mc:{idx},unit:{unit},ch:{ch}"); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 채널인덱스를 가지고 버퍼인덱스를 계산 합니다. | ||||
|         /// 1개의 버퍼는 최대 160개를 저장 합니다. | ||||
|         /// </summary> | ||||
|         /// <param name="chidx"></param> | ||||
|         /// <returns></returns> | ||||
|         public static int ConvertChIndexToBufferIndex(int chidx) | ||||
|         { | ||||
|             var ValueIdx = chidx; | ||||
|             int quotient = ValueIdx / 160; // 몫 | ||||
|             int remainder = ValueIdx % 160; // 나머지 | ||||
|             if (remainder == 0) ValueIdx = quotient - 1; | ||||
|             else ValueIdx = quotient; | ||||
|             if (ValueIdx < 0) ValueIdx = 0; | ||||
|             return ValueIdx; | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         static string lastDAQerrMsg = ""; | ||||
|         static DateTime lastDAQerrTime = DateTime.Now; | ||||
|  | ||||
|  | ||||
|  | ||||
|         public static void INIT(out List<string> errormessages) | ||||
|         { | ||||
|             errormessages = new List<string>(); | ||||
|             var errorlist = new List<string>(); | ||||
|             log = new AR.Log();//.ArinLog(); | ||||
|  | ||||
|  | ||||
|             CONFIG = new CSetting(); ////설정파일 초기화  150319 | ||||
|             CONFIG.filename = new System.IO.FileInfo("..\\Setting.xml").FullName; | ||||
|             CONFIG.Load(); | ||||
|  | ||||
|             TREND = new CTrendSetting(); | ||||
|             TREND.filename = new System.IO.FileInfo("TrendSetting.xml").FullName; | ||||
|             TREND.Load(); | ||||
|  | ||||
|             if (UTIL.IsDriveValid(CONFIG.GetDatabasePath()) == false) | ||||
|             { | ||||
|                 errorlist.Add($"저장경로의 드라이브가 유효하지 않아 임시경로로 변경 됩니다\n" + | ||||
|                           $"전:{CONFIG.GetDatabasePath()}\n" + | ||||
|                           $"후:{UTIL.CurrentPath}"); | ||||
|                 CONFIG.databasefolder = UTIL.CurrentPath; | ||||
|             } | ||||
|             if (System.IO.Directory.Exists(CONFIG.GetDatabasePath()) == false) | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     System.IO.Directory.CreateDirectory(CONFIG.GetDatabasePath()); | ||||
|                     errorlist.Add($"저장경로 신규생성\n{CONFIG.GetDatabasePath()}"); | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     //CONFIG.GetDatabasePath() = UTIL.CurrentPath; | ||||
|                     errorlist.Add($"저장경로 생성실패\n{CONFIG.GetDatabasePath()}\n{ex.Message}"); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|  | ||||
|             DB = new CFDB(CONFIG.GetDatabasePath(), "Database", "volt"); | ||||
|             Alarm = new CFDBA(CONFIG.GetDatabasePath(), "Database", "Alarm"); | ||||
|             KADB = new CFDBK(CONFIG.GetDatabasePath(), "Database", "Ka"); ////ka 전용데이터베이스 150310 | ||||
|  | ||||
|             log.Add(AR.Log.ETYPE.NORMAL, "설정읽어오기완료"); | ||||
|  | ||||
|  | ||||
|             ////설정정보를 가져온다. | ||||
|             //List<string> errorlist = new List<string>(); | ||||
|             System.Threading.Tasks.Task task = Task.Factory.StartNew(() => | ||||
|             { | ||||
|                 string[] BackTables = new string[] { "DEVICE", "GRP", "NORMAL", "WIN", "VIEWGROUP", "CHANNEL", "VIEWGROUPR" }; | ||||
|                 foreach (string tabname in BackTables) | ||||
|                 { | ||||
|                     var fname = System.IO.Path.Combine(CONFIG.GetDatabasePath(), "Database", "Config", $"{tabname}.xml"); | ||||
|                     var fn = new System.IO.FileInfo(fname); | ||||
|                     if (fn.Exists) | ||||
|                     { | ||||
|                         PUB.DS.Tables[tabname].ReadXml(fn.FullName); | ||||
|                         PUB.log.Add($"Load File({tabname}) : {fn.FullName}"); | ||||
|                     } | ||||
|                     else if (tabname.StartsWith("VIEWGROUP") == false) | ||||
|                         errorlist.Add($"설정파일없음\n{tabname}"); | ||||
|                 } | ||||
|             }); | ||||
|             task.Wait(); | ||||
|  | ||||
|  | ||||
|             if (errorlist.Any()) errormessages.AddRange(errorlist); | ||||
|         } | ||||
|  | ||||
|  | ||||
|     } | ||||
| } | ||||
							
								
								
									
										233
									
								
								Viewer/TrendViewer/pubC.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,233 @@ | ||||
| using System.Collections.Generic; | ||||
| using System; | ||||
| using System.Drawing; | ||||
| using System.Diagnostics; | ||||
| using System.Data; | ||||
| using System.Collections; | ||||
| using System.Windows.Forms; | ||||
| using System.Linq; | ||||
|  | ||||
| namespace vmsnet | ||||
| { | ||||
|     sealed class PUBC | ||||
| 	{ | ||||
| 		 | ||||
| 		/// <summary> | ||||
| 		/// 설정된 DEVICE 의 채널 갯수를반환 | ||||
| 		/// </summary> | ||||
| 		/// <returns></returns> | ||||
| 		/// <remarks></remarks> | ||||
| 		public static int GetChannelCount() | ||||
| 		{ | ||||
| 			int chcount = 0; | ||||
| 			foreach (DocumentElement.DEVICERow DR in PUB.DS.DEVICE.Select("use=1")) // Dt.Rows | ||||
| 			{ | ||||
| 				string buf = DR.CHCOUNT; | ||||
| 				if (buf.Trim() == "") | ||||
| 				{ | ||||
| 					continue; | ||||
| 				} | ||||
| 				foreach (string C in buf.Split(",".ToCharArray())) | ||||
| 				{ | ||||
| 					int cc = 0; | ||||
| 					if (C.IndexOf("*") == -1) | ||||
| 					{ | ||||
| 						cc = int.Parse(C); | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						cc = System.Convert.ToInt32(C.Split("*".ToCharArray())[1]); | ||||
| 					} | ||||
| 					chcount += cc; | ||||
| 				} | ||||
| 			} | ||||
| 			return chcount; | ||||
| 		} | ||||
| 		 | ||||
| 		public static int GetUseDeviceCount() | ||||
| 		{ | ||||
| 			return PUB.DS.DEVICE.Select("use=1").Length; | ||||
| 		} | ||||
| 		 | ||||
| 		public static int GetWindowCount() | ||||
| 		{ | ||||
| 			var dr = PUB.DS.WIN.Select("use=1") as DocumentElement.WINRow[]; | ||||
| 			return dr.Length; | ||||
| 		} | ||||
| 		 | ||||
| 		public static string GetWindowName(int idx) | ||||
| 		{ | ||||
| 			var dr = PUB.DS.WIN.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.WINRow[]; | ||||
| 			if (dr.Length != 1) | ||||
| 			{ | ||||
| 				return ""; | ||||
| 			} | ||||
| 			return dr[0].TITLE; | ||||
| 		} | ||||
| 		 | ||||
| 		public static string GetGrpName(int idx) | ||||
| 		{ | ||||
| 			var dr = PUB.DS.GRP.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.GRPRow[]; | ||||
| 			if (dr.Length != 1) | ||||
| 			{ | ||||
| 				return ""; | ||||
| 			} | ||||
| 			return dr[0].TITLE; | ||||
| 		} | ||||
| 		 | ||||
| 		public static string GetChannelName(int idx) | ||||
| 		{ | ||||
| 			var dr = PUB.DS.CHANNEL.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.CHANNELRow[]; | ||||
| 			if (dr.Length != 1) | ||||
| 			{ | ||||
| 				return ""; | ||||
| 			} | ||||
| 			return dr[0].TITLE; | ||||
| 		} | ||||
| 		 | ||||
| 		/// <summary> | ||||
| 		/// 널밸런스 옵셋값을 설정합니다. | ||||
| 		/// </summary> | ||||
| 		/// <param name="idx"></param> | ||||
| 		/// <param name="nb"></param> | ||||
| 		/// <returns></returns> | ||||
| 		/// <remarks></remarks> | ||||
| 		public static bool UpdateNullBalanceOffset(int idx, float nb) | ||||
| 		{ | ||||
| 			//Dim sql As String = "UPDATE GRP set NBOFF=" & value & " WHERE IDX=" & idx | ||||
| 			var DR = PUB.DS.GRP.Select("idx=" + idx.ToString()) as DocumentElement.GRPRow[]; | ||||
| 			if (DR.Length != 1) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 			DR[0].NBOFF = nb; | ||||
| 			DR[0].AcceptChanges(); | ||||
| 			PUB.DS.GRP.AcceptChanges(); | ||||
| 			return true; | ||||
| 		} | ||||
| 		 | ||||
| 		/// <summary> | ||||
| 		/// viewgoupr에 데이터를 넣습니다. | ||||
| 		/// </summary> | ||||
| 		/// <param name="title"></param> | ||||
| 		/// <param name="val"></param> | ||||
| 		/// <param name="gname"></param> | ||||
| 		/// <returns></returns> | ||||
| 		/// <remarks></remarks> | ||||
| 		public static short AddviewGroup(string title, string val, string gname) | ||||
| 		{ | ||||
| 			var maxidrow = PUB.DS.VIEWGROUP.Select("", "idx desc") as DocumentElement.VIEWGROUPRow[]; | ||||
| 			short maxid = (short) 0; | ||||
| 			if (maxidrow.GetUpperBound(0) == -1) | ||||
| 			{ | ||||
| 				maxid = (short) 1; | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				////160315 error | ||||
| 				maxid = (short) (maxidrow[0].IDX + 1); | ||||
| 			} | ||||
| 			 | ||||
| 			try | ||||
| 			{ | ||||
| 				DocumentElement.VIEWGROUPRow newdr = PUB.DS.VIEWGROUP.NewVIEWGROUPRow(); | ||||
| 				newdr.IDX = maxid; | ||||
| 				newdr.TITLE = title; | ||||
| 				newdr.VAL = val; | ||||
| 				newdr.GNAME = gname; | ||||
| 				PUB.DS.VIEWGROUP.AddVIEWGROUPRow(newdr); | ||||
| 				PUB.DS.VIEWGROUP.AcceptChanges(); | ||||
| 				return maxid; | ||||
| 			} | ||||
| 			catch (Exception) | ||||
| 			{ | ||||
| 				return (short)  -1; | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		public static bool DeleteViewGroup(int gidx, string gname) | ||||
| 		{ | ||||
| 			var dr = PUB.DS.VIEWGROUP.Select("idx=" + gidx.ToString() + " and gname='" + gname + "'") as DocumentElement.VIEWGROUPRow[]; | ||||
| 			if (dr.Length == 1) | ||||
| 			{ | ||||
| 				PUB.DS.VIEWGROUP.Rows.Remove(dr[0]); | ||||
| 				PUB.DS.VIEWGROUP.AcceptChanges(); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 		 | ||||
| 		public static bool UpdateGroup(int idx, string alamtype, float alamh, float alaml, float autoh, float autol, float nbh, float nbl) | ||||
| 		{ | ||||
| 			//string sql = "update GRP set ALAMTYPE=@ALAMTYPE,ALAMH=@ALAMH,ALAML=@ALAML,AUTOH=@AUTOH,AUTOL=@AUTOL,NBH=@NBH,NBL=@NBL WHERE IDX=" + System.Convert.ToString(idx); | ||||
| 			var dr = PUB.DS.GRP.Select("idx=" + idx.ToString()) as DocumentElement.GRPRow[]; | ||||
| 			if (dr.Length == 1) | ||||
| 			{ | ||||
| 				DocumentElement.GRPRow Drow = dr[0]; | ||||
| 				Drow.ALAMTYPE = alamtype; | ||||
| 				Drow.ALAMH = alamh; | ||||
| 				Drow.ALAML = alaml; | ||||
| 				Drow.AUTOH = autoh; | ||||
| 				Drow.AUTOL = autol; | ||||
| 				Drow.NBH = nbh; | ||||
| 				Drow.NBL = nbl; | ||||
| 				Drow.AcceptChanges(); | ||||
| 				PUB.DS.AcceptChanges(); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 		 | ||||
| 		public static dynamic UpdateWin(int idx, string title) | ||||
| 		{ | ||||
| 			//string sql = "UPDATE WIN set TITLE=@TITLE WHERE IDX=@IDX"; | ||||
| 			var Drow = PUB.DS.WIN.Where(t => t.IDX == idx).FirstOrDefault();// Select("idx=" + idx.ToString()) as DocumentElement.WINRow[]; | ||||
| 			if (Drow != null) | ||||
| 			{ | ||||
| 				//DocumentElement.WINRow Drow = dr[0]; | ||||
| 				Drow.TITLE = title; | ||||
|                 Drow.EndEdit(); | ||||
|                 Drow.AcceptChanges(); | ||||
| 				PUB.DS.AcceptChanges(); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 		 | ||||
| 		public static bool UpdateChannel(int idx, string title, int alamtype, int enable, float alamh, float alaml, float autoh, float autol) | ||||
| 		{ | ||||
| 			//string sql = "UPDATE CHANNEL set TITLE=@TITLE,ALAMTYPE=@ALAMTYPE,ENABLE=@ENABLE,ALAMH=@ALAMH,ALAML=@ALAML,AUTOH=@AUTOH,AUTOL=@AUTOL WHERE IDX=@IDX"; | ||||
| 			var Drow = PUB.DS.CHANNEL.Where(t => t.IDX == idx).FirstOrDefault();// .Select("idx=" + idx.ToString()) as DocumentElement.CHANNELRow[]; | ||||
|             if (Drow != null) | ||||
|             { | ||||
| 				//DocumentElement.CHANNELRow Drow = dr[0]; | ||||
| 				Drow.TITLE = title; | ||||
| 				Drow.ALAMTYPE = alamtype; | ||||
| 				Drow.ENABLE = enable; | ||||
| 				Drow.ALAMH = alamh; | ||||
| 				Drow.ALAML = alaml; | ||||
| 				Drow.AUTOH = autoh; | ||||
| 				Drow.AUTOL = autol; | ||||
| 				Drow.EndEdit(); | ||||
| 				Drow.AcceptChanges(); | ||||
| 				PUB.DS.AcceptChanges(); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 		 | ||||
| 	} | ||||
| 	 | ||||
| } | ||||