[성현모] CPXV2 Init

This commit is contained in:
SHM
2024-06-26 10:30:00 +09:00
parent cdf12248c5
commit 5958993b6a
588 changed files with 698420 additions and 0 deletions

View File

@ -0,0 +1,155 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace SystemX.Net
{
public static class Base
{
public static bool CheckPath(string strPath)
{
Regex r = new Regex(@"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$");
return r.IsMatch(strPath);
}
}
//Table Info(Serializatiopn) object.
[Serializable]
public class XTable
{
public string tableName;
public List<int> lstIndex;
public List<string> lstName;
public List<Type> lstType;
public List<int> lstCharSize;
public List<bool> lstNullAble;
public XTable(string fName)
{
this.tableName = fName;
lstIndex = new List<int>();
lstName = new List<string>();
lstType = new List<Type>();
lstCharSize = new List<int>();
lstNullAble = new List<bool>();
}
public void XTableAdd(int iIndex, string strName, Type SetType, int iCharSize, bool bNullable)
{
lstIndex.Add(iIndex);
lstName.Add(strName);
lstType.Add(SetType);
lstCharSize.Add(iCharSize);
lstNullAble.Add(bNullable);
}
}
public enum eLogDataType
{
None = -1,
//CpLog
Normal = 0,
//Leak
CSV_Type0 = 1,
//Laser Trimming Vision
CSV_Type1 = 2,
//Pin Vision
CSV_Type2 = 3
}
public enum eLogAccessType
{
None = -1,
//File
FileData = 0,
//VarBinary
VarBinaryData = 1,
}
// implements IEnumerable so that it can be used
[Serializable]
public class XTableInfo : IEnumerable
{
public XTable[] _table;
public XTableInfo(XTable[] pArrayTable)
{
_table = new XTable[pArrayTable.Length];
for (int i = 0; i < pArrayTable.Length; i++)
{
_table[i] = pArrayTable[i];
}
}
// Implementation for the GetEnumerator method.
IEnumerator IEnumerable.GetEnumerator()
{
return (IEnumerator)GetEnumerator();
}
public TableEnum GetEnumerator()
{
return new TableEnum(_table);
}
}
//implement IEnumerable, implement IEnumerator.
[Serializable]
public class TableEnum : IEnumerator
{
public XTable[] _table;
// Enumerators are positioned before the first element
// until the first MoveNext() call.
int position = -1;
public TableEnum(XTable[] list)
{
_table = list;
}
public bool MoveNext()
{
position++;
return (position < _table.Length);
}
public void Reset()
{
position = -1;
}
object IEnumerator.Current
{
get
{
return Current;
}
}
public XTable Current
{
get
{
try
{
return _table[position];
}
catch (IndexOutOfRangeException)
{
throw new InvalidOperationException();
}
}
}
}
}