409 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			409 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
| using System;
 | |
| using System.Linq;
 | |
| using System.Collections.Generic;
 | |
| using System.Drawing;
 | |
| using System.Text;
 | |
| using System.Windows.Forms;
 | |
| using System.IO;
 | |
| 
 | |
| using INT_LKD.DataStore;
 | |
| 
 | |
| namespace INT_LKD
 | |
| {
 | |
|     public class Helper
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Double형을 String형으로 변환하여 리턴(소수점 자릿수에 맞춰 0을 채워서 리턴)
 | |
|         /// </summary>
 | |
|         /// <param name="value">Double형 데이터</param>
 | |
|         /// <param name="decimalPlaces">소수점 자릿수</param>
 | |
|         /// <returns>String형 데이터</returns>
 | |
|         public static string DoubleToString(double value, int decimalPlaces)
 | |
|         {
 | |
|             if (decimalPlaces == 0)
 | |
|                 return string.Format("{0:F0}", value);
 | |
|             else if (decimalPlaces == 1)
 | |
|                 return string.Format("{0:F1}", value);
 | |
|             else if (decimalPlaces == 2)
 | |
|                 return string.Format("{0:F2}", value);
 | |
|             else if (decimalPlaces == 3)
 | |
|                 return string.Format("{0:F3}", value);
 | |
|             else if (decimalPlaces == 4)
 | |
|                 return string.Format("{0:F4}", value);
 | |
|             else if (decimalPlaces == 5)
 | |
|                 return string.Format("{0:F5}", value);
 | |
|             else if (decimalPlaces == 6)
 | |
|                 return string.Format("{0:F6}", value);
 | |
|             else if (decimalPlaces == 7)
 | |
|                 return string.Format("{0:F7}", value);
 | |
|             else
 | |
|                 return "0";
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 소수점 없는 String 값을 소수점 추가 후 String 값으로 리턴
 | |
|         /// </summary>
 | |
|         /// <param name="value">소수점이 없는 값</param>
 | |
|         /// <param name="decimalPlaces">소수점 자릿수</param>
 | |
|         /// <returns>소수점 자리 추가 데이터</returns>
 | |
|         public static string StringToDecimalPlaces(string value, int decimalPlaces)
 | |
|         {
 | |
|             string ret = "";
 | |
|             double dValue = 0.0;
 | |
| 
 | |
|             dValue = StringToDouble(value, decimalPlaces);
 | |
|             ret = DoubleToString(dValue, decimalPlaces);
 | |
| 
 | |
|             return ret;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 소수점 없는 String형 값을 소수점 추가후 Double형으로 리턴(부호가 포함된 String형값)
 | |
|         /// </summary>
 | |
|         /// <param name="value">소수점이 없는 값</param>
 | |
|         /// <param name="decimalPlaces">소수점 자릿수</param>
 | |
|         /// <returns>Double형 소수점 추가 데이터</returns>
 | |
|         public static double StringToDouble(string value, int decimalPlaces)
 | |
|         {
 | |
|             double dValue = 0.0;
 | |
|             string str = "", code = "";
 | |
|             StringBuilder sb = new StringBuilder();
 | |
|             sb.Append(value);
 | |
| 
 | |
|             try
 | |
|             {
 | |
|                 if (sb.Length > 8)
 | |
|                     return 0.0;
 | |
|                 if (sb[0] == '-')
 | |
|                 {
 | |
|                     code = "-";
 | |
|                     sb.Remove(0, 1);
 | |
|                 }
 | |
| 
 | |
|                 str = sb.ToString();
 | |
|                 str = str.Trim();
 | |
|                 sb.Remove(0, sb.Length);
 | |
|                 sb.Append(str);
 | |
| 
 | |
|                 for (int i = 0; i < decimalPlaces; i++)
 | |
|                 {
 | |
|                     if (sb.Length > decimalPlaces)
 | |
|                         break;
 | |
| 
 | |
|                     sb.Insert(0, "0");
 | |
|                 }
 | |
| 
 | |
|                 sb.Insert(sb.Length - decimalPlaces, ".");
 | |
|                 str = sb.ToString();
 | |
|                 str = code + str;
 | |
|                 dValue = double.Parse(str);
 | |
| 
 | |
|                 return dValue;
 | |
| 
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
|                 return 0.0;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public static Define.E_ProcessStatus StringToProcessStatus(string value)
 | |
|         {
 | |
|             int iValue = 0;
 | |
|             Define.E_ProcessStatus status;
 | |
| 
 | |
|             if (value.Length != 2)
 | |
|                 return Define.E_ProcessStatus._0_None;
 | |
| 
 | |
|             iValue = int.Parse(value);
 | |
| 
 | |
|             switch (iValue)
 | |
|             {
 | |
|                 case 0:
 | |
|                     status = Define.E_ProcessStatus._1_Ready;
 | |
|                     break;
 | |
|                 case 1:
 | |
|                     status = Define.E_ProcessStatus._2_ProductEntry;
 | |
|                     break;
 | |
|                 case 2:
 | |
|                     status = Define.E_ProcessStatus._3_MoveToLeak;
 | |
|                     break;
 | |
|                 case 3:
 | |
|                     status = Define.E_ProcessStatus._4_MoveToCheck;
 | |
|                     break;
 | |
|                 case 4:
 | |
|                     status = Define.E_ProcessStatus._5_ChamberMerge;
 | |
|                     break;
 | |
|                 case 5:
 | |
|                     status = Define.E_ProcessStatus._6_VacuumStart;
 | |
|                     break;
 | |
|                 case 6:
 | |
|                     status = Define.E_ProcessStatus._7_VacuumHold;
 | |
|                     break;
 | |
|                 case 7:
 | |
|                     status = Define.E_ProcessStatus._8_Judgment;
 | |
|                     break;
 | |
|                 case 8:
 | |
|                     status = Define.E_ProcessStatus._9_VacuumBreak;
 | |
|                     break;
 | |
|                 case 9:
 | |
|                     status = Define.E_ProcessStatus._10_ChamberRelease;
 | |
|                     break;
 | |
|                 case 10:
 | |
|                     status = Define.E_ProcessStatus._11_MoveToReady;
 | |
|                     break;
 | |
|                 default:
 | |
|                     status = Define.E_ProcessStatus._0_None;
 | |
|                     break;
 | |
|             }
 | |
| 
 | |
|             return status;
 | |
|         }
 | |
| 
 | |
|         public static Define.E_JudgmentStatus StringToJudgmentStatus(string value)
 | |
|         {
 | |
|             Define.E_JudgmentStatus status;
 | |
| 
 | |
|             if (value.Length != 1)
 | |
|                 return Define.E_JudgmentStatus.None;
 | |
| 
 | |
|             switch (value)
 | |
|             {
 | |
|                 case "0":
 | |
|                     status = Define.E_JudgmentStatus.None;
 | |
|                     break;
 | |
|                 case "1":
 | |
|                     status = Define.E_JudgmentStatus.Pass;
 | |
|                     break;
 | |
|                 case "2":
 | |
|                     status = Define.E_JudgmentStatus.Ng;
 | |
|                     break;
 | |
|                 case "3":
 | |
|                     status = Define.E_JudgmentStatus.Empty;
 | |
|                     break;
 | |
|                 case "4":
 | |
|                     status = Define.E_JudgmentStatus.Error;
 | |
|                     break;
 | |
|                 default:
 | |
|                     status = Define.E_JudgmentStatus.None;
 | |
|                     break;
 | |
|             }
 | |
| 
 | |
|             return status;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 2자리에 마춰 공백으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringBlankFillDigits2(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format(" {0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "  ";
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 4자리에 마춰 공백으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringBlankFillDigits4(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format("   {0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return string.Format("  {0}", value);
 | |
|             else if (value.Length == 3)
 | |
|                 return string.Format(" {0}", value);
 | |
|             else if (value.Length == 4)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "    ";
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 5자리에 마춰 공백으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringBlankFillDigits5(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format("    {0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return string.Format("   {0}", value);
 | |
|             else if (value.Length == 3)
 | |
|                 return string.Format("  {0}", value);
 | |
|             else if (value.Length == 4)
 | |
|                 return string.Format(" {0}", value);
 | |
|             else if (value.Length == 5)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "     ";
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 6자리에 마춰 공백으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringBlankFillDigits6(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format("     {0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return string.Format("    {0}", value);
 | |
|             else if (value.Length == 3)
 | |
|                 return string.Format("   {0}", value);
 | |
|             else if (value.Length == 4)
 | |
|                 return string.Format("  {0}", value);
 | |
|             else if (value.Length == 5)
 | |
|                 return string.Format(" {0}", value);
 | |
|             else if (value.Length == 6)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "      ";
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 7자리에 마춰 공백으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringBlankFillDigits7(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format("      {0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return string.Format("     {0}", value);
 | |
|             else if (value.Length == 3)
 | |
|                 return string.Format("    {0}", value);
 | |
|             else if (value.Length == 4)
 | |
|                 return string.Format("   {0}", value);
 | |
|             else if (value.Length == 5)
 | |
|                 return string.Format("  {0}", value);
 | |
|             else if (value.Length == 6)
 | |
|                 return string.Format(" {0}", value);
 | |
|             else if (value.Length == 7)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "       ";
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 8자리에 마춰 공백으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringBlankFillDigits8(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format("       {0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return string.Format("      {0}", value);
 | |
|             else if (value.Length == 3)
 | |
|                 return string.Format("     {0}", value);
 | |
|             else if (value.Length == 4)
 | |
|                 return string.Format("    {0}", value);
 | |
|             else if (value.Length == 5)
 | |
|                 return string.Format("   {0}", value);
 | |
|             else if (value.Length == 6)
 | |
|                 return string.Format("  {0}", value);
 | |
|             else if (value.Length == 7)
 | |
|                 return string.Format(" {0}", value);
 | |
|             else if (value.Length == 8)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "        ";
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 4자리에 마춰 공백을 0으로 채움
 | |
|         /// </summary>
 | |
|         /// <param name="value"></param>
 | |
|         /// <returns></returns>
 | |
|         public static string StringZeroFillDigits4(string value)
 | |
|         {
 | |
|             if (value.Length == 1)
 | |
|                 return string.Format("000{0}", value);
 | |
|             else if (value.Length == 2)
 | |
|                 return string.Format("00{0}", value);
 | |
|             else if (value.Length == 3)
 | |
|                 return string.Format("0{0}", value);
 | |
|             else if (value.Length == 4)
 | |
|                 return value;
 | |
|             else
 | |
|                 return "0000";
 | |
|         }
 | |
| 
 | |
|         public static string ByteToHexString(byte[] array)
 | |
|         {
 | |
|             string resultHex = "";
 | |
| 
 | |
|             foreach (byte byteStr in array)
 | |
|                 resultHex += string.Format("{0:X2}", byteStr);
 | |
| 
 | |
|             return resultHex;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public static class FindByNameUtil
 | |
|     {
 | |
|         public static T FindByName<T>(this object targetClass, string name) where T : class
 | |
|         {
 | |
|             System.Reflection.FieldInfo fi = targetClass.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
 | |
|             return fi.GetValue(targetClass) as T;
 | |
|         }
 | |
|         public static T FindByName<T>(this string name, object targetClass) where T : class
 | |
|         {
 | |
|             System.Reflection.FieldInfo fi = targetClass.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
 | |
|             return fi.GetValue(targetClass) as T;
 | |
|         }
 | |
|         public static System.Windows.Forms.Label Is_Label_From(this string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<System.Windows.Forms.Label>(targetClass, name);
 | |
|         }
 | |
|         public static System.Windows.Forms.TextBox Is_TextBox_From(this string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<System.Windows.Forms.TextBox>(targetClass, name);
 | |
|         }
 | |
|         public static System.Windows.Forms.TextBox TextBox(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<System.Windows.Forms.TextBox>(targetClass, name);
 | |
|         }
 | |
|         public static System.Windows.Forms.Label Label(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<System.Windows.Forms.Label>(targetClass, name);
 | |
|         }
 | |
|         public static System.Windows.Forms.PictureBox PictureBox(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<System.Windows.Forms.PictureBox>(targetClass, name);
 | |
|         }
 | |
| 
 | |
|         public static SmartX.SmartLabel SmartLabel(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<SmartX.SmartLabel>(targetClass, name);
 | |
|         }
 | |
|         public static SmartX.SmartGroupBox SmartGroupBox(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<SmartX.SmartGroupBox>(targetClass, name);
 | |
|         }
 | |
|         public static SmartX.SmartProgressBar SmartProgressBar(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<SmartX.SmartProgressBar>(targetClass, name);
 | |
|         }
 | |
|         public static SmartX.SmartButton SmartButton(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<SmartX.SmartButton>(targetClass, name);
 | |
|         }
 | |
|         public static SmartX.SmartDraw SmartDraw(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<SmartX.SmartDraw>(targetClass, name);
 | |
|         }
 | |
|         public static SmartX.SmartListBox SmartListBox(string name, object targetClass)
 | |
|         {
 | |
|             return FindByName<SmartX.SmartListBox>(targetClass, name);
 | |
|         }
 | |
|     }
 | |
| }
 |