v1.2.1 禾欣新版可对接oracle数据库

This commit is contained in:
CPL 2024-10-25 13:49:37 +08:00
parent 0c4e7041b4
commit 0664c27f3e
52 changed files with 11778 additions and 1735 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
@ -34,10 +31,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
</configuration>

View File

@ -39,6 +39,10 @@ namespace LeatherApp
public static string ErpDBConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true";
public static string ErpSql = "select top 1 a,b,c from tableA where code=@code order by id desc";
//使用oracle数据库
public static bool OracleDB = false;
//远程服务器连接字段
public static string ServerDBConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true";
//LOG
public static string LogPath;
@ -146,9 +150,12 @@ namespace LeatherApp
//[DB]
DBConStr = ini.ReadString("DB", "DBConStr", "");
OracleDB = ini.ReadBool("DB", "OracleDB");
//[Erp]
ErpDBConStr = ini.ReadString("ErpDB", "ErpDBConStr", "");
ErpSql = ini.ReadString("ErpDB", "ErpSql", "");
ServerDBConStr = ini.ReadString("ErpDB", "ServerDBConStr", "");
//[LOG]
LogPath = ini.ReadString("LOG", "LogPath", "");

View File

@ -165,66 +165,82 @@ namespace LeatherApp
{
//if (confMgr.SysConfigParams.OpenLengthCount)
{
byte[] clearData = new byte[] { 0x01, 0x06, 0x00, 0x00, 0x00, 0x01, 0x48, 0x0a };
lengthCounter.Write(clearData, 0, 8);
//Thread.Sleep(100);
Thread.Sleep(20);
byte[] recv = new byte[64];
//string recvdata = serialPort.ReadLine();
//recv = recvdata.ToBytes();
int readCnt = lengthCounter.BytesToRead;
lengthCounter.Read(recv, 0, readCnt);
if (lengthCounter.IsOpen)
{
for (int t = 0; t < 3; t++)
{
byte[] clearData = new byte[] { 0x01, 0x06, 0x00, 0x00, 0x00, 0x01, 0x48, 0x0a };
lengthCounter.Write(clearData, 0, 8);
//Thread.Sleep(100);
Thread.Sleep(20);
byte[] recv = new byte[64];
//string recvdata = serialPort.ReadLine();
//recv = recvdata.ToBytes();
int readCnt = lengthCounter.BytesToRead;
lengthCounter.Read(recv, 0, readCnt);
Thread.Sleep(100);
}
}
}
}
private object JMLock = new object();
/// <summary>
/// 获取计米数据
/// </summary>
/// <returns></returns>
public double GetLength()
{
//bool isFile = true;
double length = -99;
bool GetData = false;
if (lengthCounter.IsOpen)
//lock (JMLock)
{
byte[] data = new byte[] { 0x01, 0x03, 0x00, 0x21, 0x00, 0x02, 0x94, 0x01 };
lengthCounter.Write(data, 0, 8);
Thread.Sleep(20);
byte[] recv = new byte[64];
//string recvdata = serialPort.ReadLine();
//recv = recvdata.ToBytes();
int readCnt = lengthCounter.BytesToRead;
//readCnt = 9;
lengthCounter.Read(recv, 0, readCnt);
byte[] bytes = new byte[4];
for (int i = 0; i < readCnt; i++)
//bool isFile = true;
double length = -9999;
bool GetData = false;
if (lengthCounter.IsOpen)
{
if (recv[i] == 0x01 && recv[i + 1] == 0x03 && recv[i + 2] == 0x04)
//for (int t = 0; t < 5; t++)
{
bytes[0] = recv[i + 3];
bytes[1] = recv[i + 4];
bytes[2] = recv[i + 5];
bytes[3] = recv[i + 6];
GetData = true;
byte[] data = new byte[] { 0x01, 0x03, 0x00, 0x21, 0x00, 0x02, 0x94, 0x01 };
lengthCounter.Write(data, 0, 8);
Thread.Sleep(20);
byte[] recv = new byte[64];
//string recvdata = serialPort.ReadLine();
//recv = recvdata.ToBytes();
int readCnt = lengthCounter.BytesToRead;
//readCnt = 9;
lengthCounter.Read(recv, 0, readCnt);
byte[] bytes = new byte[4];
for (int i = 0; i < readCnt; i++)
{
if (recv[i] == 0x01 && recv[i + 1] == 0x03 && recv[i + 2] == 0x04)
{
bytes[0] = recv[i + 3];
bytes[1] = recv[i + 4];
bytes[2] = recv[i + 5];
bytes[3] = recv[i + 6];
GetData = true;
}
}
if (GetData)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
int spddata = BitConverter.ToInt32(bytes, 0);
length = spddata / 100.0;
//break;
//if (isFile)
// length = -length;
}
Thread.Sleep(20);
}
if (length > 10000)
return -100000;
}
if (GetData)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
int spddata = BitConverter.ToInt32(bytes, 0);
length = spddata / 100.0;
//if (isFile)
// length = -length;
}
if (length > 10000)
return -1;
else
{ return -100000; }
return Math.Abs(length);
}
else
{ return -100; }
return Math.Abs(length);
}
#endregion
/// <summary>

View File

@ -175,10 +175,10 @@ namespace LeatherApp.Device
mydate = frameQueue.Dequeue();
}
PhotoNumCacheEvent?.Invoke(frameQueue.Count);
WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"相机({_scannerCardIndex})从缓存队列提取一帧图像({mydate.index}),开始回调(队列剩余帧数:{frameQueue.Count})...", null, null);
WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"t相机({_scannerCardIndex})从缓存队列提取一帧图像({mydate.index}),开始回调(队列剩余帧数:{frameQueue.Count})...", null, null);
//ScanEvent?.Invoke(mydate.index, mydate.mat, _scannerCardIndex);
WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"相机({_scannerCardIndex})图像({mydate.index})回调完成.", null, null);
WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"t相机({_scannerCardIndex})图像({mydate.index})回调完成.", null, null);
index = mydate.index;
img = mydate.mat.Clone();
dev = _scannerCardIndex;

View File

@ -245,6 +245,7 @@ namespace LeatherApp.Device
{
if (preModelName != modelPath)
{
//WarningEvent?.Invoke(DateTime.Now, WarningEnum.Normal, $"模型加载({modelPath})" );
step = 3;
//先释放模型
if (detector != IntPtr.Zero)
@ -350,7 +351,7 @@ namespace LeatherApp.Device
tPGDetect.Processing(task.ho_Img, out task.ho_imgG, out task.ho_ImageResult3, out task.ho_ImageSub,
Config.HalconParamPath,
out task.hv_RES, out task.hv_gauss_filter1, out task.hv_gauss_filter2,
out task.hv_Energy_value, out task.hv_Region_S_value, out task.hv_class);
out task.hv_Energy_value, out task.hv_Region_S_value, out task.hv_AreaThr, out task.hv_class);
stopwatch.Stop();
task.stopwatch[1] = stopwatch.ElapsedMilliseconds;
@ -436,7 +437,7 @@ namespace LeatherApp.Device
step = 22;
//算法处理
tPGDetect.Detect(task.ho_Img, task.ho_imgG, task.ho_ImageResult3, task.ho_ImageSub,
task.hv_Energy_value, task.hv_Region_S_value, task.hv_class,
task.hv_Energy_value, task.hv_Region_S_value, task.hv_AreaThr, task.hv_class,
out task.hv_defectinfo, out task.object_num);
stopwatch.Stop();
@ -1249,8 +1250,11 @@ namespace LeatherApp.Device
public HObject ho_imgG = new HObject();
public HObject ho_ImageResult3 = new HObject();
public HObject ho_ImageSub = new HObject();
public HTuple hv_RES, hv_gauss_filter1, hv_gauss_filter2, hv_Energy_value, hv_Region_S_value, hv_class, hv_defectinfo;
public HTuple hv_RES, hv_gauss_filter1, hv_gauss_filter2, hv_Energy_value, hv_Region_S_value, hv_AreaThr, hv_class, hv_defectinfo;
public int object_num = 0;
//图片位置
public double PicDis;
}
public void add(DefectTask task)

View File

@ -99,7 +99,8 @@
<HintPath>..\packages\OpenCvSharp4.Extensions.4.7.0.20230115\lib\net48\OpenCvSharp.Extensions.dll</HintPath>
</Reference>
<Reference Include="Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
<HintPath>..\packages\Oracle.ManagedDataAccess.23.6.0\lib\net472\Oracle.ManagedDataAccess.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>Dll\Oracle.ManagedDataAccess.dll</HintPath>
</Reference>
<Reference Include="PG_Detect">
<HintPath>Dll\PG_Detect.dll</HintPath>
@ -414,12 +415,6 @@
<EmbeddedResource Include="UIExtend\UIDefectEdit.resx">
<DependentUpon>UIDefectEdit.cs</DependentUpon>
</EmbeddedResource>
<None Include="Oracle.DataAccess.Common.Configuration.Section.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Oracle.ManagedDataAccess.Client.Configuration.Section.xsd">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
<None Include="Properties\app.manifest" />
<None Include="Properties\Settings.settings">

View File

@ -1,138 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="parameterDirection">
<xs:restriction base="xs:string">
<xs:enumeration value="Output"/>
<xs:enumeration value="InputOutput"/>
<xs:enumeration value="ReturnValue"/>
<xs:enumeration value="Implicit"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="customBoolean">
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ONSParameters">
<xs:restriction base="xs:string">
<xs:enumeration value="nodeList"/>
<!--<xs:enumeration value="walletFile"/>
<xs:enumeration value="walletPassword"/>-->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ONSModeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="local"/>
<xs:enumeration value="remote"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="datatype">
<xs:restriction base="xs:string">
<xs:enumeration value="System.Binary"/>
<xs:enumeration value="System.Boolean"/>
<xs:enumeration value="System.Byte"/>
<xs:enumeration value="System.Byte[]"/>
<xs:enumeration value="System.Char"/>
<xs:enumeration value="System.DateTime"/>
<xs:enumeration value="System.DateTimeOffset"/>
<xs:enumeration value="System.Decimal"/>
<xs:enumeration value="System.Double"/>
<xs:enumeration value="System.Guid"/>
<xs:enumeration value="System.Int16"/>
<xs:enumeration value="System.Int32"/>
<xs:enumeration value="System.Int64"/>
<xs:enumeration value="System.SByte"/>
<xs:enumeration value="System.Single"/>
<xs:enumeration value="System.String"/>
<xs:enumeration value="System.TimeSpan"/>
<xs:enumeration value="System.UInt16"/>
<xs:enumeration value="System.UInt32"/>
<xs:enumeration value="System.UInt64"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="providerType">
<xs:restriction base="xs:string">
<xs:enumeration value="BFile"/>
<xs:enumeration value="BinaryFloat"/>
<xs:enumeration value="BinaryDouble"/>
<xs:enumeration value="Blob"/>
<xs:enumeration value="Byte"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Clob"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Decimal"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="Int16"/>
<xs:enumeration value="Int32"/>
<xs:enumeration value="Int64"/>
<xs:enumeration value="IntervalDS"/>
<xs:enumeration value="IntervalYM"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="LongRaw"/>
<xs:enumeration value="NChar"/>
<xs:enumeration value="NClob"/>
<xs:enumeration value="NVarchar2"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Raw"/>
<xs:enumeration value="Single"/>
<xs:enumeration value="TimeStamp"/>
<xs:enumeration value="TimeStampLTZ"/>
<xs:enumeration value="TimeStampTZ"/>
<xs:enumeration value="Varchar2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nativeDataType">
<xs:restriction base="xs:string">
<xs:enumeration value="BFile"/>
<xs:enumeration value="Binary_Float"/>
<xs:enumeration value="Binary_Double"/>
<xs:enumeration value="Blob"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Clob"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Number"/>
<xs:enumeration value="Interval Day To Second"/>
<xs:enumeration value="Interval Year To Month"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="Long Raw"/>
<xs:enumeration value="NChar"/>
<xs:enumeration value="NClob"/>
<xs:enumeration value="NVarchar2"/>
<xs:enumeration value="Raw"/>
<xs:enumeration value="Rowid"/>
<xs:enumeration value="Timestamp"/>
<xs:enumeration value="Timestamp With Local Time Zone"/>
<xs:enumeration value="Timestamp With Time Zone"/>
<xs:enumeration value="URowid"/>
<xs:enumeration value="UserDefinedType"/>
<xs:enumeration value="Varchar2"/>
<xs:enumeration value="XmlType"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="providerDBType">
<xs:restriction base="xs:string">
<xs:enumeration value="AnsiString"/>
<xs:enumeration value="AnsiStringFixedLength"/>
<xs:enumeration value="Binary"/>
<xs:enumeration value="Byte"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="DateTime"/>
<xs:enumeration value="DateTimeOffset"/>
<xs:enumeration value="Decimal"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="Int16"/>
<xs:enumeration value="Int32"/>
<xs:enumeration value="Int64"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Single"/>
<xs:enumeration value="String"/>
<xs:enumeration value="StringFixedLength"/>
<xs:enumeration value="Time"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@ -1,221 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Oracle.DataAccess.Common.Configuration.Section.xsd"/>
<xs:element name="oracle.manageddataaccess.client" >
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="version" type="odpmversiontype" minOccurs="0" />
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="odpmversiontype">
<xs:complexContent>
<xs:extension base="odpmparameters">
<xs:attribute name="number" type="xs:string" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="odpmparameters">
<xs:all>
<xs:element minOccurs="0" name="settings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="udtMappings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="udtMapping">
<xs:complexType>
<xs:attribute name="typeName" type="xs:string" use="required" />
<xs:attribute name="factoryName" type="xs:string" use="required" />
<xs:attribute name="dataSource" type="xs:string" use="required" />
<xs:attribute name="schemaName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="LDAPsettings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="LDAPsetting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="distributedTransaction">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="dataSources">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="dataSource">
<xs:complexType>
<xs:attribute name="alias" type="xs:string" use="required" />
<xs:attribute name="descriptor" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="connectionPools">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="connectionPool">
<xs:complexType>
<xs:attribute name="connectionString" type="xs:string" use="required" />
<xs:attribute name="poolName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="edmMappings">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmMapping">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="precision" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="dataType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmNumberMapping">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
<xs:complexType>
<xs:attribute name="NETType" type="xs:string" use="required" />
<xs:attribute name="MinPrecision" type="xs:int" use="required" />
<xs:attribute name="MaxPrecision" type="xs:int" use="required" />
<xs:attribute name="DBType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="implicitRefCursor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="storedProcedure">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="refCursor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="1" name="bindInfo">
<xs:complexType>
<xs:attribute name="mode" type="parameterDirection" use="required" />
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="metadata">
<xs:complexType>
<xs:attribute name="columnOrdinal" type="xs:int" use="required" />
<xs:attribute name="columnName" type="xs:string" use="required" />
<xs:attribute name="baseColumnName" type="xs:string" use="optional" />
<xs:attribute name="baseSchemaName" type="xs:string" use="optional" />
<xs:attribute name="baseTableName" type="xs:string" use="optional" />
<xs:attribute name="providerType" type="providerType" use="optional" />
<xs:attribute name="columnSize" type="xs:int" use="optional" />
<xs:attribute name="numericPrecision" type="xs:int" use="optional" />
<xs:attribute name="numericScale" type="xs:int" use="optional" />
<xs:attribute name="isUnique" type="customBoolean" use="optional" />
<xs:attribute name="isKey" type="customBoolean" use="optional" />
<xs:attribute name="isRowID" type="customBoolean" use="optional" />
<xs:attribute name="dataType" type="datatype" use="optional" />
<xs:attribute name="allowDBNull" type="customBoolean" use="optional" />
<xs:attribute name="isAliased" type="customBoolean" use="optional" />
<xs:attribute name="isByteSemantic" type="customBoolean" use="optional" />
<xs:attribute name="isExpression" type="customBoolean" use="optional" />
<xs:attribute name="isHidden" type="customBoolean" use="optional" />
<xs:attribute name="isReadOnly" type="customBoolean" use="optional" />
<xs:attribute name="isLong" type="customBoolean" use="optional" />
<xs:attribute name="udtTypeName" type="xs:string" use="optional" />
<xs:attribute name="nativeDataType" type="nativeDataType" use="optional" />
<xs:attribute name="providerDBType" type="providerDBType" use="optional" />
<xs:attribute name="objectName" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="position" type="xs:int" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="schema" type="xs:string" use="optional" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="onsConfig">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="settings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="2" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ons">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="3" minOccurs="1" name="add">
<xs:complexType>
<xs:attribute name="name" type="ONSParameters" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="database" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="configFile" type="xs:string" use="optional" />
<xs:attribute name="mode" type="ONSModeValues" use="required" />
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>

View File

@ -28,14 +28,14 @@
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
this.uiPanel1 = new Sunny.UI.UIPanel();
this.lblLen = new Sunny.UI.UILabel();
this.lblSpeed = new Sunny.UI.UISymbolLabel();
@ -51,6 +51,7 @@
this.txtBarCode = new Sunny.UI.UITextBox();
this.uiLabel1 = new Sunny.UI.UILabel();
this.uiPanel2 = new Sunny.UI.UIPanel();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.btnPause = new Sunny.UI.UISymbolButton();
@ -59,7 +60,6 @@
this.btnEnd = new Sunny.UI.UISymbolButton();
this.btnStart = new Sunny.UI.UISymbolButton();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList();
this.lineChartDefect = new Sunny.UI.UILineChart();
this.uiTitlePanel3 = new Sunny.UI.UITitlePanel();
this.uiDataGridView1 = new Sunny.UI.UIDataGridView();
@ -82,7 +82,6 @@
this.lstboxLog = new Sunny.UI.UIListBox();
this.uiTitlePanel6 = new Sunny.UI.UITitlePanel();
this.uiPanel3 = new Sunny.UI.UIPanel();
this.picDefectImage = new LeatherApp.UIExtend.UCImageView();
this.pnlScannerImg = new Sunny.UI.UITitlePanel();
this.picScanner2 = new System.Windows.Forms.PictureBox();
this.picScanner1 = new System.Windows.Forms.PictureBox();
@ -101,7 +100,8 @@
this.uiLabel8 = new Sunny.UI.UILabel();
this.uiLabel7 = new Sunny.UI.UILabel();
this.uiLabel6 = new Sunny.UI.UILabel();
this.button3 = new System.Windows.Forms.Button();
this.picDefectImage = new LeatherApp.UIExtend.UCImageView();
this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList();
this.uiPanel1.SuspendLayout();
this.uiTitlePanel1.SuspendLayout();
this.uiPanel2.SuspendLayout();
@ -444,6 +444,17 @@
this.uiPanel2.Text = null;
this.uiPanel2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// button3
//
this.button3.Location = new System.Drawing.Point(649, 23);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(50, 36);
this.button3.TabIndex = 3;
this.button3.Text = "ERP";
this.button3.UseVisualStyleBackColor = true;
this.button3.Visible = false;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(593, 23);
@ -461,7 +472,7 @@
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(50, 36);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.Text = "调试";
this.button1.UseVisualStyleBackColor = true;
this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
@ -648,29 +659,6 @@
this.uiTitlePanel2.TitleColor = System.Drawing.Color.White;
this.uiTitlePanel2.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
//
// ucColorListDefect
//
this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ucColorListDefect.ColorChanged = null;
this.ucColorListDefect.FillColor = System.Drawing.Color.White;
this.ucColorListDefect.FillColor2 = System.Drawing.Color.White;
this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ucColorListDefect.Location = new System.Drawing.Point(1, 38);
this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1);
this.ucColorListDefect.Name = "ucColorListDefect";
this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
this.ucColorListDefect.RectColor = System.Drawing.Color.White;
this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom;
this.ucColorListDefect.Size = new System.Drawing.Size(121, 42);
this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom;
this.ucColorListDefect.StyleCustomMode = true;
this.ucColorListDefect.TabIndex = 1;
this.ucColorListDefect.Text = "ucColorList1";
this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// lineChartDefect
//
this.lineChartDefect.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -720,21 +708,21 @@
//
// uiDataGridView1
//
dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle17;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.uiDataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.uiDataGridView1.BackgroundColor = System.Drawing.Color.White;
this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle18.BackColor = System.Drawing.Color.Blue;
dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle18.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle18.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
dataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle18;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.Color.Blue;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.uiDataGridView1.ColumnHeadersHeight = 32;
this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@ -749,14 +737,14 @@
this.colArea,
this.colZXD,
this.colTarget});
dataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle22.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle22.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle22.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
dataGridViewCellStyle22.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle22;
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle6;
this.uiDataGridView1.EnableHeadersVisualStyles = false;
this.uiDataGridView1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDataGridView1.GridColor = System.Drawing.Color.CornflowerBlue;
@ -764,21 +752,21 @@
this.uiDataGridView1.MultiSelect = false;
this.uiDataGridView1.Name = "uiDataGridView1";
this.uiDataGridView1.RectColor = System.Drawing.Color.DodgerBlue;
dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
dataGridViewCellStyle23.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle23.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle23.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
dataGridViewCellStyle23.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle23;
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.uiDataGridView1.RowHeadersWidth = 62;
dataGridViewCellStyle24.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle24.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle24.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle24.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
dataGridViewCellStyle24.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle24;
dataGridViewCellStyle8.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle8;
this.uiDataGridView1.RowTemplate.Height = 30;
this.uiDataGridView1.ScrollBarBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
this.uiDataGridView1.ScrollBarColor = System.Drawing.Color.DodgerBlue;
@ -829,9 +817,9 @@
// colX
//
this.colX.DataPropertyName = "X";
dataGridViewCellStyle19.Format = "N1";
dataGridViewCellStyle19.NullValue = null;
this.colX.DefaultCellStyle = dataGridViewCellStyle19;
dataGridViewCellStyle3.Format = "N1";
dataGridViewCellStyle3.NullValue = null;
this.colX.DefaultCellStyle = dataGridViewCellStyle3;
this.colX.HeaderText = "X(cm)";
this.colX.MinimumWidth = 8;
this.colX.Name = "colX";
@ -841,9 +829,9 @@
// colY
//
this.colY.DataPropertyName = "Y";
dataGridViewCellStyle20.Format = "N2";
dataGridViewCellStyle20.NullValue = null;
this.colY.DefaultCellStyle = dataGridViewCellStyle20;
dataGridViewCellStyle4.Format = "N2";
dataGridViewCellStyle4.NullValue = null;
this.colY.DefaultCellStyle = dataGridViewCellStyle4;
this.colY.HeaderText = "Y(米)";
this.colY.MinimumWidth = 8;
this.colY.Name = "colY";
@ -866,9 +854,9 @@
//
// colArea
//
dataGridViewCellStyle21.Format = "N2";
dataGridViewCellStyle21.NullValue = null;
this.colArea.DefaultCellStyle = dataGridViewCellStyle21;
dataGridViewCellStyle5.Format = "N2";
dataGridViewCellStyle5.NullValue = null;
this.colArea.DefaultCellStyle = dataGridViewCellStyle5;
this.colArea.HeaderText = "面积(mm²)";
this.colArea.MinimumWidth = 8;
this.colArea.Name = "colArea";
@ -1077,15 +1065,6 @@
this.uiPanel3.Text = null;
this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// picDefectImage
//
this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill;
this.picDefectImage.Location = new System.Drawing.Point(0, 0);
this.picDefectImage.Margin = new System.Windows.Forms.Padding(0);
this.picDefectImage.Name = "picDefectImage";
this.picDefectImage.Size = new System.Drawing.Size(350, 226);
this.picDefectImage.TabIndex = 1;
//
// pnlScannerImg
//
this.pnlScannerImg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -1374,15 +1353,37 @@
this.uiLabel6.Text = "光源";
this.uiLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// button3
// picDefectImage
//
this.button3.Location = new System.Drawing.Point(649, 23);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(50, 36);
this.button3.TabIndex = 3;
this.button3.Text = "ERP";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill;
this.picDefectImage.Location = new System.Drawing.Point(0, 0);
this.picDefectImage.Margin = new System.Windows.Forms.Padding(0);
this.picDefectImage.Name = "picDefectImage";
this.picDefectImage.Size = new System.Drawing.Size(350, 226);
this.picDefectImage.TabIndex = 1;
//
// ucColorListDefect
//
this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ucColorListDefect.ColorChanged = null;
this.ucColorListDefect.FillColor = System.Drawing.Color.White;
this.ucColorListDefect.FillColor2 = System.Drawing.Color.White;
this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ucColorListDefect.Location = new System.Drawing.Point(1, 38);
this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1);
this.ucColorListDefect.Name = "ucColorListDefect";
this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
this.ucColorListDefect.RectColor = System.Drawing.Color.White;
this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White;
this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom;
this.ucColorListDefect.Size = new System.Drawing.Size(121, 42);
this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom;
this.ucColorListDefect.StyleCustomMode = true;
this.ucColorListDefect.TabIndex = 1;
this.ucColorListDefect.Text = "ucColorList1";
this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// FHome
//

View File

@ -1,6 +1,6 @@
#define OnLine
#define JM
#define Oracle //禾欣使用oracle数据库
//#define Oracle //禾欣使用oracle数据库
#define NT //新流程
using IKapC.NET;
@ -14,6 +14,7 @@ using Newtonsoft.Json.Linq;
using OpenCvSharp;
using OpenCvSharp.Extensions;
using S7.Net;
using Service;
using SqlSugar;
using Sunny.UI;
using Sunny.UI.Win32;
@ -917,8 +918,11 @@ namespace LeatherApp.Page
}
};
//相机回调出照片
#if NT
#else
devContainer.devCamer1.ScanEvent = callBackScanMatEvent;
devContainer.devCamer2.ScanEvent = callBackScanMatEvent;
#endif
//devContainer.devScannerGentl1.ScanEventPath = callBackScanPathEvent;
//devContainer.devScannerGentl2.ScanEventPath = callBackScanPathEvent;
devContainer.devCamer1.PhotoNumCacheEvent = (num) =>
@ -998,7 +1002,7 @@ namespace LeatherApp.Page
#else
var data = Utils.DBUtils.execSql(Config.ErpSql, paramList);
#endif
if (data != null && data.Rows.Count < 1)
if (data == null || data.Rows.Count < 1)
{
AddTextEvent(DateTime.Now,"Erp查询结果", $"{barCode}: 时长={stopwatch.ElapsedMilliseconds}ms, 无数据!", WarningEnum.Normal);
return null;
@ -1093,6 +1097,7 @@ namespace LeatherApp.Page
private void Cam1ThreadFunction()
{
int errStep = 0;
AddTextEvent(DateTime.Now, "相机流程1", $"流程启动!");
#if OnLine
#else
string imgfilePath = "D:\\CPL\\img\\L1.bmp";
@ -1127,22 +1132,25 @@ namespace LeatherApp.Page
//AcquisitionMat acq = _LinecamDev1.GetFrames(100);
if (gsts)
{
//double stLen = devContainer.GetLength();
Cv2.Flip(Image, Image, FlipMode.XY);//翻转
AddTextEvent(DateTime.Now, $"拍照", $"采集卡({devNo}),图像({index})", WarningEnum.Normal, false);
this.BeginInvoke(new Action(() =>
{
Bitmap bitmap = BitmapConverter.ToBitmap(Image);
Bitmap bitmap = Image.ToBitmap();
//Bitmap bitmap = BitmapConverter.ToBitmap(Image);
//bitmap.Save($"d:\\{devIndex}_{num}.bmp", ImageFormat.Bmp);
//显示图片
if (devNo == 0)
{
picScanner2.Image = bitmap;
picScanner2.Refresh();
//picScanner2.Refresh();
}
else
{
picScanner1.Image = bitmap;
picScanner1.Refresh();
//picScanner1.Refresh();
}
}));
@ -1160,22 +1168,22 @@ namespace LeatherApp.Page
if (!devContainer.state || (currentState != CurrentStateEnum. && currentState != CurrentStateEnum.))
{
Image.Dispose();
return;
continue;
}
if (currKey != 0 || htTask.ContainsKey(currKey))
{
Records curRecord = Hashtable.Synchronized(htTask)[currKey] as Records;
//长度剩余提醒
if (Config.residueWarnningLen > 0 && curRecord.ErpLen > 0 && Config.residueWarnningLen >= curRecord.ErpLen - curRecord.Len)
if (Config.residueWarnningLen > 0 && curRecord.ErpLen > 0 && Config.residueWarnningLen >= Math.Abs(curRecord.ErpLen - curRecord.Len))
{
AddTextEvent(DateTime.Now, $"告警", $"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen})", WarningEnum.High);
AddTextEvent(DateTime.Now, $"告警", $"已达剩余长度不足提醒!(({curRecord.ErpLen} -{ curRecord.Len})<={Config.residueWarnningLen})", WarningEnum.High);
#region
if (!_residueWarnningLenStop)
{
_residueWarnningLenStop = true;
AddTextEvent(DateTime.Now, $"暂停", $"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen}),进入暂停。");
AddTextEvent(DateTime.Now, $"暂停", $"已达剩余长度不足提醒!(({curRecord.ErpLen} - {curRecord.Len})<={Config.residueWarnningLen}),进入暂停。");
if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit)
@ -1194,7 +1202,7 @@ namespace LeatherApp.Page
this.BeginInvoke(new System.Action(() =>
{
//warning(WarningEnum.Low, true);//暂停
MessageBox.Show($"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen}),进入暂停。", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show($"已达剩余长度不足提醒!({Math.Abs(curRecord.ErpLen - curRecord.Len)}<={Config.residueWarnningLen}),进入暂停。", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}));
}
#endregion
@ -1236,33 +1244,6 @@ namespace LeatherApp.Page
AddTextEvent(DateTime.Now, $"拍照", $"Dev={devNo},图像{index} {liPhotoIndex}={index}-{Config.defectPauseSkipPhotoCount}", WarningEnum.Normal, false);
if (liPhotoIndex >= 0 && curRecord.dicPhoto_Defect.ContainsKey(liPhotoIndex) && curRecord.dicPhoto_Defect[liPhotoIndex])
{
//暂停
AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit)
{
//只是设备暂停APP没暂停
devContainer.io_output(CMDName.绿, false, true, 0);
devContainer.io_output(CMDName.);
devContainer.devIOCard.writeBitState(0, 1, true);
//Task.Run(async () =>
//{
// await Task.Delay(500);
Thread.Sleep(200);
this.devContainer.devIOCard.writeBitState(0, 1, false);
//});
if (Config.OpenBeep)
{
devContainer.io_output(CMDName., false, true, Config.BeepTime);
//Task.Run(async () =>
//{
// devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
// await Task.Delay(5);
//});
}
}
errStep = 8;
for (int fi = 0; fi < 3; fi++)
{
@ -1273,6 +1254,31 @@ namespace LeatherApp.Page
//瑕疵选项过滤
if (Config.OpenHalconDefect || curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0)
{
//暂停
AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit)
{
//只是设备暂停APP没暂停
devContainer.io_output(CMDName.绿, false, true, 0);
devContainer.io_output(CMDName.);
devContainer.devIOCard.writeBitState(0, 1, true);
Task.Run(async () =>
{
await Task.Delay(500);
this.devContainer.devIOCard.writeBitState(0, 1, false);
});
if (Config.OpenBeep)
{
Task.Run(async () =>
{
devContainer.io_output(CMDName., false, true, Config.BeepTime);
await Task.Delay(5);
});
}
}
errStep = 9;
//不能使用同步Invoke方式会使相机超时丢帧
this.BeginInvoke(new System.Action(() =>
@ -1380,13 +1386,19 @@ namespace LeatherApp.Page
devContainer.io_output(CMDName.绿, false, true, 0);
devContainer.io_output(CMDName.);
devContainer.devIOCard.writeBitState(0, 1, true);
Thread.Sleep(200);
this.devContainer.devIOCard.writeBitState(0, 1, false);
//Task.Run(async () =>
//{
// await Task.Delay(500);
// this.devContainer.devIOCard.writeBitState(0, 1, false);
//});
Task.Run(async () =>
{
await Task.Delay(500);
this.devContainer.devIOCard.writeBitState(0, 1, false);
});
if (Config.OpenBeep)
{
Task.Run(async () =>
{
devContainer.io_output(CMDName., false, true, Config.BeepTime);
await Task.Delay(5);
});
}
}
}
errStep = 11;
@ -1420,14 +1432,20 @@ namespace LeatherApp.Page
devContainer.io_output(CMDName.绿, false, true, 0);
devContainer.io_output(CMDName.);
devContainer.devIOCard.writeBitState(0, 1, true);
Thread.Sleep(200);
this.devContainer.devIOCard.writeBitState(0, 1, false);
//Task.Run(async () =>
//{
// await Task.Delay(500);
// this.devContainer.devIOCard.writeBitState(0, 1, false);
//});
}
Task.Run(async () =>
{
await Task.Delay(500);
this.devContainer.devIOCard.writeBitState(0, 1, false);
});
if (Config.OpenBeep)
{
Task.Run(async () =>
{
devContainer.io_output(CMDName., false, true, Config.BeepTime);
await Task.Delay(5);
});
}
}
}
}
}
@ -1483,6 +1501,7 @@ namespace LeatherApp.Page
private void Cam2ThreadFunction()
{
int errStep = 0;
AddTextEvent(DateTime.Now, "相机流程2", $"流程启动!");
#if OnLine
#else
string imgfilePath = "D:\\CPL\\img\\L1.bmp";
@ -1521,18 +1540,19 @@ namespace LeatherApp.Page
AddTextEvent(DateTime.Now, $"拍照", $"采集卡({devNo}),图像({index})", WarningEnum.Normal, false);
this.BeginInvoke(new Action(() =>
{
Bitmap bitmap = BitmapConverter.ToBitmap(Image);
Bitmap bitmap = Image.ToBitmap();
//Bitmap bitmap = BitmapConverter.ToBitmap(Image);
//bitmap.Save($"d:\\{devIndex}_{num}.bmp", ImageFormat.Bmp);
//显示图片
if (devNo == 0)
{
picScanner2.Image = bitmap;
picScanner2.Refresh();
//picScanner2.Refresh();
}
else
{
picScanner1.Image = bitmap;
picScanner1.Refresh();
//picScanner1.Refresh();
}
}));
@ -1550,8 +1570,9 @@ namespace LeatherApp.Page
if (!devContainer.state || (currentState != CurrentStateEnum. && currentState != CurrentStateEnum.))
{
Image.Dispose();
return;
continue;
}
_matList2.Enqueue(new tScanPhotoInfo(1, index, Image.Clone(), 0));
}
#else
@ -1599,6 +1620,7 @@ namespace LeatherApp.Page
/// </summary>
private void MainThreadFunction()
{
AddTextEvent(DateTime.Now, "处理流程流程", $"流程启动!");
Mat acq1 = new Mat();
Mat acq2 = new Mat();
#if OnLine
@ -1640,6 +1662,7 @@ namespace LeatherApp.Page
if (!_matList2.TryDequeue(out tscanPhotos1))
AddTextEvent(DateTime.Now, $"图像出队列", $"图像{tscanPhotos0.photoIndex},异常相机2队列出队失败", WarningEnum.High, true);
Records curRecord = Hashtable.Synchronized(htTask)[currKey] as Records;
ScanPhotoInfo scanPhotos0 = new ScanPhotoInfo(tscanPhotos0.devIndex, tscanPhotos0.photoIndex, tscanPhotos0.mat);
ScanPhotoInfo scanPhotos1 = new ScanPhotoInfo(tscanPhotos1.devIndex, tscanPhotos1.photoIndex, tscanPhotos1.mat);
@ -1723,36 +1746,41 @@ namespace LeatherApp.Page
// mat = OpenCVUtil.cutImage(mat, Config.MarginHoleWidth, 0, mat.Width - Config.MarginHoleWidth * 2, mat.Height);
//计算速度
double lenMi = Math.Round(faceWidthX_cm / 100, 2);
curRecord.Len = lenMi;
//
//
curRecord.TimeLen = pStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
#if JM
double stLen = devContainer.GetLength();
curRecord.Len = stLen;
#else
stLen = lenMi;
#endif
//ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
this.BeginInvoke(new System.Action(() =>
if (stLen < 9999)
{
//double sstLen = devContainer.GetLength();
ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
AddTextEvent(DateTime.Now, $"记录", $"(计米{stLen}米),时间:{ptTime}分; 速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分", WarningEnum.Normal, false);
this.lblLen.Text = $"{stLen}米";//$"{lenMi}米";
this.lblLen.Tag = faceWidthX_cm;
#if JM
this.lblSpeed.Text = $"速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分";//$"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
curRecord.Len = stLen;
#else
this.lblSpeed.Text = $"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
double lenMi = Math.Round(faceWidthX_cm / 100, 2);
double stLen = lenMi;
curRecord.Len = lenMi;
#endif
this.uilbKF.Text = $"当前幅宽:{faceWidthY_cm}cm";
ptLen = stLen;
ptStopWatch.Restart();//重新计时
}));
//ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
this.BeginInvoke(new System.Action(() =>
{
//double sstLen = devContainer.GetLength();
ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
AddTextEvent(DateTime.Now, $"记录", $"(计米{stLen}米),时间:{ptTime}分; 速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分", WarningEnum.Normal, false);
this.lblLen.Text = $"{stLen}米";//$"{lenMi}米";
this.lblLen.Tag = faceWidthX_cm;
#if JM
this.lblSpeed.Text = $"速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分";//$"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
#else
this.lblSpeed.Text = $"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
#endif
this.uilbKF.Text = $"当前幅宽:{faceWidthY_cm}cm";
ptLen = stLen;
ptStopWatch.Restart();//重新计时
}));
#if JM
}
#endif
//
errStep = 9;
time += $"->速度刷新({stopWatch.ElapsedMilliseconds})";
@ -1771,6 +1799,7 @@ namespace LeatherApp.Page
qualifiedLimitList = curRecord.ProductInfo.QualifiedLimitList,
finishEvent = callBackDefectEvent,
xw = oxw,
//PicDis = picLoc,
});
errStep = 10;
time += $"->加入瑕疵待检队列({stopWatch.ElapsedMilliseconds})";
@ -1817,7 +1846,10 @@ namespace LeatherApp.Page
}
}
}
#endregion
#endregion
#if NT
#else
/// <summary>
///
/// </summary>
@ -2013,31 +2045,7 @@ namespace LeatherApp.Page
AddTextEvent(DateTime.Now, $"拍照", $"Dev={devIndex},图像{scanPhoto.photoIndex} {liPhotoIndex}={scanPhoto.photoIndex}-{Config.defectPauseSkipPhotoCount}", WarningEnum.Normal, false);
if (liPhotoIndex >= 0 && curRecord.dicPhoto_Defect[liPhotoIndex])
{
//暂停
AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit)
{
//只是设备暂停APP没暂停
devContainer.io_output(CMDName.绿, false, true, 0);
devContainer.io_output(CMDName.);
devContainer.devIOCard.writeBitState(0, 1, true);
Task.Run(async () =>
{
await Task.Delay(500);
this.devContainer.devIOCard.writeBitState(0, 1, false);
});
if (Config.OpenBeep)
{
Task.Run(async () =>
{
devContainer.io_output(CMDName., false, true, Config.BeepTime);
await Task.Delay(5);
});
}
}
errStep = 8;
for (int fi = 0; fi < 3; fi++)
{
@ -2048,6 +2056,31 @@ namespace LeatherApp.Page
//瑕疵选项过滤
if (Config.OpenHalconDefect || curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0)
{
//暂停
AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit)
{
//只是设备暂停APP没暂停
devContainer.io_output(CMDName.绿, false, true, 0);
devContainer.io_output(CMDName.);
devContainer.devIOCard.writeBitState(0, 1, true);
Task.Run(async () =>
{
await Task.Delay(500);
this.devContainer.devIOCard.writeBitState(0, 1, false);
});
if (Config.OpenBeep)
{
Task.Run(async () =>
{
devContainer.io_output(CMDName., false, true, Config.BeepTime);
await Task.Delay(5);
});
}
}
errStep = 9;
//不能使用同步Invoke方式会使相机超时丢帧
this.BeginInvoke(new System.Action(() =>
@ -2502,7 +2535,7 @@ namespace LeatherApp.Page
//System.GC.Collect();
}
}
#endif
/// <summary>
/// 处理完成回调
/// </summary>
@ -2558,6 +2591,7 @@ namespace LeatherApp.Page
Name = defectNameInfo.Value<string>("name"),
X = double.Parse(res.excelTable.Rows[i]["X"].ToString()),//cm
Y = Math.Round((res.photoIndex * res.bmp.Height * 1.0d / Config.cm2px_y + double.Parse(res.excelTable.Rows[i]["Y"].ToString())), 2),//cm
//Y = Math.Round((res.PicDis * 100 - double.Parse(res.excelTable.Rows[i]["Y"].ToString())), 2),//cm
Width = double.Parse(res.excelTable.Rows[i]["W"].ToString()),//cm
Height = double.Parse(res.excelTable.Rows[i]["H"].ToString()),//cm
ZXD = double.Parse(res.excelTable.Rows[i]["置信度"].ToString()),
@ -2779,6 +2813,20 @@ namespace LeatherApp.Page
if (!svcRecord.InsertNav(model))
throw new Exception("写库失败!");
AddTextEvent(DateTime.Now,"入库完成", $"({key}) 批号({model.BatchId})已完成检测。");
if(!string.IsNullOrEmpty(Config.ServerDBConStr))
{
try
{
InitDB.SendServerDB(Config.ServerDBConStr, model);
AddTextEvent(DateTime.Now, "上传完成", $"({key}) 批号({model.BatchId})已完成检测。");
}
catch (Exception ex)
{
AddTextEvent(DateTime.Now, "上传失败", $"({key}) 批号({model.BatchId}):{ex.Message}", WarningEnum.High);
}
}
htTask.Remove(key);
_isDefect = false;
}
@ -2936,14 +2984,16 @@ namespace LeatherApp.Page
Mat mat2 = new Mat("E:\\CPL\\img\\R1.bmp");
while (IsTest)
{
#if NT
#else
callBackScanMatEvent(num1++, mat1.Clone(), 0);
callBackScanMatEvent(num2++, mat2.Clone(), 1);
#endif
Thread.Sleep(1000);
}
}
#endregion
#endregion
private void btnPause_Click(object sender, EventArgs e)
{
AddTextEvent(DateTime.Now,"暂停", "下发暂停指令...");
@ -3000,11 +3050,14 @@ namespace LeatherApp.Page
}
else//首次开始/结束后重新开始
{
#if JM
devContainer.ClearLengthCount();
#endif
devContainer.devCamer1.resetScanIndex();
devContainer.devCamer2.resetScanIndex();
#if JM
ptLen = Math.Round(devContainer.GetLength(), 2);
#endif
//校正从复位-》运行,不会新启动
resetUIValue();
AddTextEvent(DateTime.Now,"启动", "开始测试...");
@ -3093,6 +3146,22 @@ namespace LeatherApp.Page
Task.Run(() => { saveCurrRecord(myKey, szBatchId, szReelId, ldErpLen); });
resetUIValue();
if(_matList1.Count > 0)
{
tScanPhotoInfo dt;
for (int i = 0; i < _matList1.Count; i++)
{
_matList1.TryDequeue(out dt);
}
}
if (_matList2.Count > 0)
{
tScanPhotoInfo dt;
for (int i = 0; i < _matList2.Count; i++)
{
_matList2.TryDequeue(out dt);
}
}
currKey = 0;
txtBarCodeName.Text = txtBatchId.Text = txtReelId.Text = "";
pStopWatch.Stop();
@ -3256,7 +3325,7 @@ namespace LeatherApp.Page
int minWorker, minIOC;
ThreadPool.GetMinThreads(out minWorker, out minIOC);
ThreadPool.SetMinThreads(25, minIOC);
Mat matt = new Mat("C:\\Users\\fang\\Desktop\\新建文件夹\\253.bmp");
Mat matt = new Mat("C:\\Users\\fang\\Desktop\\新建文件夹\\433.bmp");
//OpenCVUtil.LoadEdgeMode();
//int tt = 0;
@ -3282,7 +3351,7 @@ namespace LeatherApp.Page
dlt.start();
dlt.add(new Device.DefectLib.DefectTask()
{
modelName = "MX0727.trt",
modelName = "BS_CYG_1003.trt",
record = null,
bmp = matt,
bmpTag = matt.Clone(),
@ -3506,7 +3575,7 @@ namespace LeatherApp.Page
#region ERP测试
private void button3_Click(object sender, EventArgs e)
{
string code = "";
string code = "RSHX2410002536";
var dt = loadErpData(code);
MessageBox.Show($"{JsonConvert.SerializeObject(dt)}");
}

View File

@ -28,17 +28,17 @@
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
this.tcbarTensionValue = new Sunny.UI.UITrackBar();
this.tcbarGain = new Sunny.UI.UITrackBar();
@ -56,6 +56,9 @@
this.cmbModelName = new Sunny.UI.UIComboBox();
this.uiLabel1 = new Sunny.UI.UILabel();
this.uiTitlePanel4 = new Sunny.UI.UITitlePanel();
this.uiNumPadTextBox1 = new Sunny.UI.UINumPadTextBox();
this.uiLabel11 = new Sunny.UI.UILabel();
this.uiSwitch1 = new Sunny.UI.UISwitch();
this.btnDefectOption = new Sunny.UI.UISymbolButton();
this.swcDefectPauseForUser = new Sunny.UI.UISwitch();
this.numDefectCountLimit = new Sunny.UI.UINumPadTextBox();
@ -96,9 +99,10 @@
this.cmbColor = new Sunny.UI.UIComboBox();
this.uiLabel3 = new Sunny.UI.UILabel();
this.uiLabel2 = new Sunny.UI.UILabel();
this.uiSwitch1 = new Sunny.UI.UISwitch();
this.uiLabel11 = new Sunny.UI.UILabel();
this.uiNumPadTextBox1 = new Sunny.UI.UINumPadTextBox();
this.uiLabel12 = new Sunny.UI.UILabel();
this.uiLabel13 = new Sunny.UI.UILabel();
this.tbAera = new Sunny.UI.UINumPadTextBox();
this.tbClass = new Sunny.UI.UITextBox();
this.uiTitlePanel2.SuspendLayout();
this.uiTitlePanel3.SuspendLayout();
this.uiTitlePanel4.SuspendLayout();
@ -323,6 +327,10 @@
// uiTitlePanel3
//
this.uiTitlePanel3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.uiTitlePanel3.Controls.Add(this.tbClass);
this.uiTitlePanel3.Controls.Add(this.uiLabel13);
this.uiTitlePanel3.Controls.Add(this.tbAera);
this.uiTitlePanel3.Controls.Add(this.uiLabel12);
this.uiTitlePanel3.Controls.Add(this.cmbModelName);
this.uiTitlePanel3.Controls.Add(this.uiLabel1);
this.uiTitlePanel3.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
@ -402,6 +410,46 @@
this.uiTitlePanel4.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiTitlePanel4.TitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
//
// uiNumPadTextBox1
//
this.uiNumPadTextBox1.FillColor = System.Drawing.Color.White;
this.uiNumPadTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiNumPadTextBox1.Location = new System.Drawing.Point(96, 294);
this.uiNumPadTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiNumPadTextBox1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiNumPadTextBox1.Name = "uiNumPadTextBox1";
this.uiNumPadTextBox1.NumPadType = Sunny.UI.NumPadType.Integer;
this.uiNumPadTextBox1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.uiNumPadTextBox1.Size = new System.Drawing.Size(132, 29);
this.uiNumPadTextBox1.Style = Sunny.UI.UIStyle.Custom;
this.uiNumPadTextBox1.TabIndex = 17;
this.uiNumPadTextBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiNumPadTextBox1.Watermark = "";
//
// uiLabel11
//
this.uiLabel11.AutoSize = true;
this.uiLabel11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiLabel11.Location = new System.Drawing.Point(5, 268);
this.uiLabel11.Name = "uiLabel11";
this.uiLabel11.Size = new System.Drawing.Size(106, 21);
this.uiLabel11.Style = Sunny.UI.UIStyle.Custom;
this.uiLabel11.TabIndex = 16;
this.uiLabel11.Text = "厚度检测判断";
this.uiLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiSwitch1
//
this.uiSwitch1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiSwitch1.Location = new System.Drawing.Point(9, 294);
this.uiSwitch1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiSwitch1.Name = "uiSwitch1";
this.uiSwitch1.Size = new System.Drawing.Size(80, 29);
this.uiSwitch1.Style = Sunny.UI.UIStyle.Custom;
this.uiSwitch1.TabIndex = 15;
this.uiSwitch1.Text = "uiSwitch1";
//
// btnDefectOption
//
this.btnDefectOption.Cursor = System.Windows.Forms.Cursors.Hand;
@ -524,21 +572,21 @@
//
// uiDataGridView1
//
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle12;
this.uiDataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.uiDataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle13.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle13.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle13;
this.uiDataGridView1.ColumnHeadersHeight = 32;
this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@ -550,35 +598,35 @@
this.col_IsOR,
this.col_Len,
this.col_Cnt});
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle4;
dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle15.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle15.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle15.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle15.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle15.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle15;
this.uiDataGridView1.EnableHeadersVisualStyles = false;
this.uiDataGridView1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDataGridView1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(173)))), ((int)(((byte)(255)))));
this.uiDataGridView1.Location = new System.Drawing.Point(3, 41);
this.uiDataGridView1.MultiSelect = false;
this.uiDataGridView1.Name = "uiDataGridView1";
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle5;
dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
dataGridViewCellStyle16.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle16.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle16.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle16.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle16;
this.uiDataGridView1.RowHeadersWidth = 62;
dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle6;
dataGridViewCellStyle17.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle17.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle17.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle17.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle17.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle17;
this.uiDataGridView1.RowTemplate.Height = 30;
this.uiDataGridView1.SelectedIndex = -1;
this.uiDataGridView1.Size = new System.Drawing.Size(581, 308);
@ -598,8 +646,8 @@
// col_zxd
//
this.col_zxd.DataPropertyName = "ZXD";
dataGridViewCellStyle3.NullValue = null;
this.col_zxd.DefaultCellStyle = dataGridViewCellStyle3;
dataGridViewCellStyle14.NullValue = null;
this.col_zxd.DefaultCellStyle = dataGridViewCellStyle14;
this.col_zxd.HeaderText = "置信度";
this.col_zxd.MinimumWidth = 20;
this.col_zxd.Name = "col_zxd";
@ -670,21 +718,21 @@
//
// uiDataGridView2
//
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView2.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
dataGridViewCellStyle18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView2.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle18;
this.uiDataGridView2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.uiDataGridView2.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView2.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView2.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle19.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle19.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle19.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle19.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView2.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle19;
this.uiDataGridView2.ColumnHeadersHeight = 32;
this.uiDataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@ -694,35 +742,35 @@
this.col2_3,
this.col2_4,
this.col2_5});
dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle9.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle9.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.uiDataGridView2.DefaultCellStyle = dataGridViewCellStyle9;
dataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle20.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle20.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle20.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle20.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle20.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.uiDataGridView2.DefaultCellStyle = dataGridViewCellStyle20;
this.uiDataGridView2.EnableHeadersVisualStyles = false;
this.uiDataGridView2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDataGridView2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(173)))), ((int)(((byte)(255)))));
this.uiDataGridView2.Location = new System.Drawing.Point(3, 41);
this.uiDataGridView2.MultiSelect = false;
this.uiDataGridView2.Name = "uiDataGridView2";
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView2.RowHeadersDefaultCellStyle = dataGridViewCellStyle10;
dataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
dataGridViewCellStyle21.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle21.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle21.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
dataGridViewCellStyle21.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uiDataGridView2.RowHeadersDefaultCellStyle = dataGridViewCellStyle21;
this.uiDataGridView2.RowHeadersWidth = 62;
dataGridViewCellStyle11.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle11.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle11.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView2.RowsDefaultCellStyle = dataGridViewCellStyle11;
dataGridViewCellStyle22.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle22.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
dataGridViewCellStyle22.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
dataGridViewCellStyle22.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiDataGridView2.RowsDefaultCellStyle = dataGridViewCellStyle22;
this.uiDataGridView2.RowTemplate.Height = 30;
this.uiDataGridView2.SelectedIndex = -1;
this.uiDataGridView2.Size = new System.Drawing.Size(488, 308);
@ -1025,45 +1073,64 @@
this.uiLabel2.Text = "产品颜色";
this.uiLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiSwitch1
// uiLabel12
//
this.uiSwitch1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiSwitch1.Location = new System.Drawing.Point(9, 294);
this.uiSwitch1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiSwitch1.Name = "uiSwitch1";
this.uiSwitch1.Size = new System.Drawing.Size(80, 29);
this.uiSwitch1.Style = Sunny.UI.UIStyle.Custom;
this.uiSwitch1.TabIndex = 15;
this.uiSwitch1.Text = "uiSwitch1";
this.uiLabel12.AutoSize = true;
this.uiLabel12.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel12.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiLabel12.Location = new System.Drawing.Point(5, 150);
this.uiLabel12.Name = "uiLabel12";
this.uiLabel12.Size = new System.Drawing.Size(138, 21);
this.uiLabel12.Style = Sunny.UI.UIStyle.Custom;
this.uiLabel12.TabIndex = 26;
this.uiLabel12.Text = "传统算法颜色类别";
this.uiLabel12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiLabel11
// uiLabel13
//
this.uiLabel11.AutoSize = true;
this.uiLabel11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiLabel11.Location = new System.Drawing.Point(5, 268);
this.uiLabel11.Name = "uiLabel11";
this.uiLabel11.Size = new System.Drawing.Size(106, 21);
this.uiLabel11.Style = Sunny.UI.UIStyle.Custom;
this.uiLabel11.TabIndex = 16;
this.uiLabel11.Text = "厚度检测判断";
this.uiLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.uiLabel13.AutoSize = true;
this.uiLabel13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiLabel13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.uiLabel13.Location = new System.Drawing.Point(3, 210);
this.uiLabel13.Name = "uiLabel13";
this.uiLabel13.Size = new System.Drawing.Size(215, 21);
this.uiLabel13.Style = Sunny.UI.UIStyle.Custom;
this.uiLabel13.TabIndex = 28;
this.uiLabel13.Text = "传统算法过滤像素面积(piexl)";
this.uiLabel13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// uiNumPadTextBox1
// tbAera
//
this.uiNumPadTextBox1.FillColor = System.Drawing.Color.White;
this.uiNumPadTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiNumPadTextBox1.Location = new System.Drawing.Point(96, 294);
this.uiNumPadTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiNumPadTextBox1.MinimumSize = new System.Drawing.Size(63, 0);
this.uiNumPadTextBox1.Name = "uiNumPadTextBox1";
this.uiNumPadTextBox1.NumPadType = Sunny.UI.NumPadType.Integer;
this.uiNumPadTextBox1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.uiNumPadTextBox1.Size = new System.Drawing.Size(132, 29);
this.uiNumPadTextBox1.Style = Sunny.UI.UIStyle.Custom;
this.uiNumPadTextBox1.TabIndex = 17;
this.uiNumPadTextBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiNumPadTextBox1.Watermark = "";
this.tbAera.FillColor = System.Drawing.Color.White;
this.tbAera.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tbAera.Location = new System.Drawing.Point(2, 236);
this.tbAera.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbAera.MinimumSize = new System.Drawing.Size(63, 0);
this.tbAera.Name = "tbAera";
this.tbAera.NumPadType = Sunny.UI.NumPadType.Double;
this.tbAera.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.tbAera.Size = new System.Drawing.Size(235, 29);
this.tbAera.Style = Sunny.UI.UIStyle.Custom;
this.tbAera.TabIndex = 27;
this.tbAera.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.tbAera.Watermark = "";
//
// tbClass
//
this.tbClass.ButtonSymbolOffset = new System.Drawing.Point(0, 0);
this.tbClass.Cursor = System.Windows.Forms.Cursors.IBeam;
this.tbClass.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tbClass.Location = new System.Drawing.Point(4, 176);
this.tbClass.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.tbClass.MinimumSize = new System.Drawing.Size(1, 16);
this.tbClass.Name = "tbClass";
this.tbClass.Padding = new System.Windows.Forms.Padding(5);
this.tbClass.ShowText = false;
this.tbClass.Size = new System.Drawing.Size(233, 29);
this.tbClass.Style = Sunny.UI.UIStyle.Custom;
this.tbClass.TabIndex = 29;
this.tbClass.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.tbClass.Watermark = "";
//
// FProductInfo
//
@ -1160,5 +1227,9 @@
private Sunny.UI.UINumPadTextBox uiNumPadTextBox1;
private Sunny.UI.UILabel uiLabel11;
private Sunny.UI.UISwitch uiSwitch1;
private Sunny.UI.UILabel uiLabel13;
private Sunny.UI.UINumPadTextBox tbAera;
private Sunny.UI.UILabel uiLabel12;
private Sunny.UI.UITextBox tbClass;
}
}

View File

@ -1,7 +1,9 @@
using LeatherApp.Device;
using DocumentFormat.OpenXml.EMMA;
using LeatherApp.Device;
using LeatherApp.Interface;
using Models;
using Newtonsoft.Json.Linq;
using PG_Detect;
using Sunny.UI;
using System;
using System.Collections.Generic;
@ -196,6 +198,9 @@ namespace LeatherApp.Page
numDefectCountLimit.Text = model.DefectCountLimit.ToString();
swcDefectPauseForUser.Active = model.DefectPauseForUser;
tbClass.Text = model.ClassType;
tbAera.Text = model.HalconAreaThr.ToString();
this.uiSwitch1.Active = model.OpenThicknessDetection;
uiNumPadTextBox1.Text = model.ThicknessDetectionStopDis.ToString();
//uiDataGridView fill
@ -339,6 +344,10 @@ namespace LeatherApp.Page
model.DefectCountLimit = int.Parse(numDefectCountLimit.Text.Trim());
model.DefectPauseForUser = swcDefectPauseForUser.Active;
///halcon参数
model.ClassType = tbClass.Text;
model.HalconAreaThr = double.Parse(tbAera.Text.Trim());
model.OpenThicknessDetection = uiSwitch1.Active;
int ival;
if (int.TryParse(uiNumPadTextBox1.Text, out ival))
@ -407,8 +416,22 @@ namespace LeatherApp.Page
if (!result)
throw new Exception("保存失败!");
this.btnReload.Visible = true;
if (Config.OpenHalconDefect)
{
try
{
PGDetect pg = new PGDetect();
pg.SaveUserData(Config.HalconParamPath, model.ClassType, model.HalconAreaThr);
}
catch (Exception ex)
{
throw new Exception($"传统算法参数保存失败!{ex.Message}");
}
}
this.btnReload.Visible = true;
UIMessageTip.ShowOk("保存成功!", 1000);
}
catch (Exception ex)
{

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2.0.0")]
[assembly: AssemblyFileVersion("1.2.0.0")]
[assembly: AssemblyVersion("1.2.0.1")]
[assembly: AssemblyFileVersion("1.2.0.1")]

View File

@ -5,6 +5,7 @@ using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LeatherApp.Utils
{
@ -47,13 +48,53 @@ namespace LeatherApp.Utils
}
public static DataTable execSql(string sql, List<SugarParameter> parameters, SqlSugar.DbType dbType = SqlSugar.DbType.SqlServer)
{
//查询表的所有
var mydb = getErpDBCon(dbType);
if(mydb == null) return null;
if (!Config.OracleDB)
{
//查询表的所有
var mydb = getErpDBCon(dbType);
if (mydb == null)
{
MessageBox.Show($"数据库连接失败:{sql}");
return null;
}
if (!mydb.Ado.IsValidConnection())
mydb.Ado.Open();
return mydb.Ado.GetDataTable(sql, parameters);
if (!mydb.Ado.IsValidConnection())
mydb.Ado.Open();
return mydb.Ado.GetDataTable(sql, parameters);
}
else
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
DbType = SqlSugar.DbType.Oracle,
ConnectionString = Config.ErpDBConStr,
InitKeyType = InitKeyType.Attribute,
IsAutoCloseConnection = true,
AopEvents = new AopEvents
{
OnLogExecuting = (tsql, p) =>
{
Console.WriteLine(tsql);
Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));
}
}
});
//var dt = db.Ado.GetDataTable(sql);
//if (dt != null)
//{
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// Console.WriteLine($"PJXTBH{dt.Rows[i]["PJXTBH"]}WPH{dt.Rows[i]["WPH"]}WPMC{dt.Rows[i]["WPMC"]}SL{dt.Rows[i]["SL"]}PH{dt.Rows[i]["PH"]}JH{dt.Rows[i]["JH"]}");
// }
//}
string sqlstr = $"select * from tb_qc_prodinfo where PJXTBH='{parameters[0].Value}'";
var dt2 = db.Ado.GetDataTable(sqlstr);
dt2.Columns.RemoveAt(0);
dt2.Columns.RemoveAt(0);
return dt2;
//var dt2 = db.Ado.GetDataTable(sqlstr);
}
}
}
}

View File

@ -0,0 +1,2 @@
01
2 5.0000000000000000e+00

View File

@ -0,0 +1,68 @@
[
{
"id": 0,
"code": "laji",
"name": "垃圾",
"color": "#0080FF"
},
{
"id": 1,
"code": "liangdian",
"name": "亮点",
"color": "Lime"
},
{
"id": 2,
"code": "wuyin",
"name": "污印",
"color": "DarkViolet"
},
{
"id": 3,
"code": "jietou",
"name": "接头",
"color": "Magenta"
},
{
"id": 4,
"code": "bmss",
"name": "表面损伤",
"color": "Orange"
},
{
"id": 5,
"code": "qipi",
"name": "起皮",
"color": "Blue"
},
{
"id": 6,
"code": "tiaohen",
"name": "条痕",
"color": "Red"
},
{
"id": 7,
"code": "yayin",
"name": "压印",
"color": "Green"
},
{
"id": 7,
"code": "zhouyin",
"name": "皱印",
"color": "Yellow"
},
{
"id": 8,
"code": "yisesi",
"name": "异色丝",
"color": "Garnet"
},
{
"id": 7,
"code": "chongying",
"name": "重影",
"color": "Salmon"
},
]

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
{"Direction":0,"IN_OP_SHOW":["XXXX XXXL","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"IN_Waiting_Timeout":0,"OUT_OP_SHOW":["XXXX XXXH","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"SleepPre":0,"SleepLater":0,"AsynRun":false,"Disable":false}
{"Direction":0,"IN_OP_SHOW":["XXXX XXXH","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"IN_Waiting_Timeout":0,"OUT_OP_SHOW":["XXXX XXXH","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"SleepPre":0,"SleepLater":0,"AsynRun":false,"Disable":false}

View File

@ -0,0 +1,417 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Bcl.AsyncInterfaces</name>
</assembly>
<members>
<member name="T:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1">
<summary>Provides the core logic for implementing a manual-reset <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> or <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
<typeparam name="TResult"></typeparam>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation">
<summary>
The callback to invoke when the operation completes if <see cref="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/> was called before the operation completed,
or <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.s_sentinel"/> if the operation completed before a callback was supplied,
or null if a callback hasn't yet been provided and the operation hasn't yet completed.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuationState">
<summary>State to pass to <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext">
<summary><see cref="T:System.Threading.ExecutionContext"/> to flow to the callback, or null if no flowing is required.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._capturedContext">
<summary>
A "captured" <see cref="T:System.Threading.SynchronizationContext"/> or <see cref="T:System.Threading.Tasks.TaskScheduler"/> with which to invoke the callback,
or null if no special context is required.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._completed">
<summary>Whether the current operation has completed.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._result">
<summary>The result with which the operation succeeded, or the default value if it hasn't yet completed or failed.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._error">
<summary>The exception with which the operation failed, or null if it hasn't yet completed or completed successfully.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._version">
<summary>The current version of this value, used to help prevent misuse.</summary>
</member>
<member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.RunContinuationsAsynchronously">
<summary>Gets or sets whether to force continuations to run asynchronously.</summary>
<remarks>Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true.</remarks>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Reset">
<summary>Resets to prepare for the next operation.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetResult(`0)">
<summary>Completes with a successful result.</summary>
<param name="result">The result.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetException(System.Exception)">
<summary>Complets with an error.</summary>
<param name="error"></param>
</member>
<member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Version">
<summary>Gets the operation version.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetStatus(System.Int16)">
<summary>Gets the status of the operation.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetResult(System.Int16)">
<summary>Gets the result of the operation.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
<summary>Schedules the continuation action for this operation.</summary>
<param name="continuation">The continuation to invoke when the operation has completed.</param>
<param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
<param name="flags">The flags describing the behavior of the continuation.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.ValidateToken(System.Int16)">
<summary>Ensures that the specified token matches the current version.</summary>
<param name="token">The token supplied by <see cref="T:System.Threading.Tasks.ValueTask"/>.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SignalCompletion">
<summary>Signals that the operation has completed. Invoked after the result or error has been set.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.InvokeContinuation">
<summary>
Invokes the continuation with the appropriate captured context / scheduler.
This assumes that if <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext"/> is not null we're already
running within that <see cref="T:System.Threading.ExecutionContext"/>.
</summary>
</member>
<member name="T:System.Threading.Tasks.TaskAsyncEnumerableExtensions">
<summary>Provides a set of static methods for configuring <see cref="T:System.Threading.Tasks.Task"/>-related behaviors on asynchronous enumerables and disposables.</summary>
</member>
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait(System.IAsyncDisposable,System.Boolean)">
<summary>Configures how awaits on the tasks returned from an async disposable will be performed.</summary>
<param name="source">The source async disposable.</param>
<param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
<returns>The configured async disposable.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Boolean)">
<summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
<typeparam name="T">The type of the objects being iterated.</typeparam>
<param name="source">The source enumerable being iterated.</param>
<param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
<returns>The configured enumerable.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.WithCancellation``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Threading.CancellationToken)">
<summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
<typeparam name="T">The type of the objects being iterated.</typeparam>
<param name="source">The source enumerable being iterated.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
<returns>The configured enumerable.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder">
<summary>Represents a builder for asynchronous iterators.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Create">
<summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder"/> struct.</summary>
<returns>The initialized instance.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.MoveNext``1(``0@)">
<summary>Invokes <see cref="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext"/> on the state machine while guarding the <see cref="T:System.Threading.ExecutionContext"/>.</summary>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="stateMachine">The state machine instance, passed by reference.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">The awaiter.</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">The awaiter.</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Complete">
<summary>Marks iteration as being completed, whether successfully or otherwise.</summary>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.ObjectIdForDebugger">
<summary>Gets an object that may be used to uniquely identify this builder to the debugger.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute">
<summary>Indicates whether a method is an asynchronous iterator.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute.#ctor(System.Type)">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute"/> class.</summary>
<param name="stateMachineType">The type object for the underlying state machine type that's used to implement a state machine method.</param>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable">
<summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredAsyncDisposable.DisposeAsync">
<summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable" />.</summary>
<returns>A task that represents the asynchronous dispose operation.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1">
<summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)">
<summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
<param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
<returns>The configured enumerable.</returns>
<remarks>This will replace any previous value set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)"/> for this iteration.</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)">
<summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
<returns>The configured enumerable.</returns>
<remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator">
<summary>Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.</summary>
<returns>An enumerator for the <see cref="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1" /> class.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator">
<summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.MoveNextAsync">
<summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
<returns>
A <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> that will complete with a result of <c>true</c>
if the enumerator was successfully advanced to the next element, or <c>false</c> if the enumerator has
passed the end of the collection.
</returns>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.Current">
<summary>Gets the element in the collection at the current position of the enumerator.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.DisposeAsync">
<summary>
Performs application-defined tasks associated with freeing, releasing, or
resetting unmanaged resources asynchronously.
</summary>
</member>
<member name="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute">
<summary>Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)" />.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.EnumeratorCancellationAttribute.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute" /> class.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="T:System.Collections.Generic.IAsyncEnumerable`1">
<summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
<typeparam name="T">The type of values to enumerate.</typeparam>
</member>
<member name="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)">
<summary>Returns an enumerator that iterates asynchronously through the collection.</summary>
<param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken"/> that may be used to cancel the asynchronous iteration.</param>
<returns>An enumerator that can be used to iterate asynchronously through the collection.</returns>
</member>
<member name="T:System.Collections.Generic.IAsyncEnumerator`1">
<summary>Supports a simple asynchronous iteration over a generic collection.</summary>
<typeparam name="T">The type of objects to enumerate.</typeparam>
</member>
<member name="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync">
<summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
<returns>
A <see cref="T:System.Threading.Tasks.ValueTask`1"/> that will complete with a result of <c>true</c> if the enumerator
was successfully advanced to the next element, or <c>false</c> if the enumerator has passed the end
of the collection.
</returns>
</member>
<member name="P:System.Collections.Generic.IAsyncEnumerator`1.Current">
<summary>Gets the element in the collection at the current position of the enumerator.</summary>
</member>
<member name="T:System.IAsyncDisposable">
<summary>Provides a mechanism for releasing unmanaged resources asynchronously.</summary>
</member>
<member name="M:System.IAsyncDisposable.DisposeAsync">
<summary>
Performs application-defined tasks associated with freeing, releasing, or
resetting unmanaged resources asynchronously.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

View File

@ -48,7 +48,7 @@ ErpSql=
[LOG]
LogPath=D:\log\
[Halcon]
OpenHalconDefect=True
OpenHalconDefect=false
[Beep]
OpenBeep=True
BeepTime=3000

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,939 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Text.Encodings.Web</name>
</assembly>
<members>
<member name="T:System.Text.Encodings.Web.HtmlEncoder">
<summary>Represents an HTML character encoding.</summary>
</member>
<member name="M:System.Text.Encodings.Web.HtmlEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.HtmlEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Creates a new instance of the HtmlEncoder class with the specified settings.</summary>
<param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> instance encodes, primarily which characters to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="settings" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
</member>
<member name="M:System.Text.Encodings.Web.HtmlEncoder.Create(System.Text.Unicode.UnicodeRange[])">
<summary>Creates a new instance of the HtmlEncoder class that specifies characters the encoder is allowed to not encode.</summary>
<param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.HtmlEncoder.Default">
<summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</summary>
<returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
</member>
<member name="T:System.Text.Encodings.Web.JavaScriptEncoder">
<summary>Represents a JavaScript character encoding.</summary>
</member>
<member name="M:System.Text.Encodings.Web.JavaScriptEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Creates a new instance of JavaScriptEncoder class with the specified settings.</summary>
<param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> instance encodes, primarily which characters to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="settings" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
</member>
<member name="M:System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRange[])">
<summary>Creates a new instance of the JavaScriptEncoder class that specifies characters the encoder is allowed to not encode.</summary>
<param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.JavaScriptEncoder.Default">
<summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</summary>
<returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping">
<summary>Gets a built-in JavaScript encoder instance that is less strict about what is encoded.</summary>
<returns>A JavaScript encoder instance.</returns>
</member>
<member name="T:System.Text.Encodings.Web.TextEncoder">
<summary>The base class of web encoders.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.TextEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
<summary>Encodes characters from an array and writes them to a <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="output">The stream to which to write the encoded text.</param>
<param name="value">The array of characters to encode.</param>
<param name="startIndex">The array index of the first character to encode.</param>
<param name="characterCount">The number of characters in the array to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="output" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
<exception cref="T:System.ArgumentNullException">
<paramref name="value" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="startIndex" /> is out of range.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="characterCount" /> is out of range.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.String)">
<summary>Encodes the specified string to a <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="output">The stream to which to write the encoded text.</param>
<param name="value">The string to encode.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.String,System.Int32,System.Int32)">
<summary>Encodes a substring and writes it to a <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="output">The stream to which to write the encoded text.</param>
<param name="value">The string whose substring is to be encoded.</param>
<param name="startIndex">The index where the substring starts.</param>
<param name="characterCount">The number of characters in the substring.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="output" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
<exception cref="T:System.ArgumentNullException">
<paramref name="value" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="startIndex" /> is out of range.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="characterCount" /> is out of range.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.ReadOnlySpan{System.Char},System.Span{System.Char},System.Int32@,System.Int32@,System.Boolean)">
<summary>Encodes the supplied characters.</summary>
<param name="source">A source buffer containing the characters to encode.</param>
<param name="destination">The destination buffer to which the encoded form of <paramref name="source" /> will be written.</param>
<param name="charsConsumed">The number of characters consumed from the <paramref name="source" /> buffer.</param>
<param name="charsWritten">The number of characters written to the <paramref name="destination" /> buffer.</param>
<param name="isFinalBlock">
<see langword="true" /> to indicate there is no further source data that needs to be encoded; otherwise, <see langword="false" />.</param>
<returns>An enumeration value that describes the result of the encoding operation.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.String)">
<summary>Encodes the supplied string and returns the encoded text as a new string.</summary>
<param name="value">The string to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="value" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
<returns>The encoded string.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.EncodeUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Int32@,System.Boolean)">
<summary>Encodes the supplied UTF-8 text.</summary>
<param name="utf8Source">A source buffer containing the UTF-8 text to encode.</param>
<param name="utf8Destination">The destination buffer to which the encoded form of <paramref name="utf8Source" /> will be written.</param>
<param name="bytesConsumed">The number of bytes consumed from the <paramref name="utf8Source" /> buffer.</param>
<param name="bytesWritten">The number of bytes written to the <paramref name="utf8Destination" /> buffer.</param>
<param name="isFinalBlock">
<see langword="true" /> to indicate there is no further source data that needs to be encoded; otherwise, <see langword="false" />.</param>
<returns>A status code that describes the result of the encoding operation.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncode(System.Char*,System.Int32)">
<summary>Finds the index of the first character to encode.</summary>
<param name="text">The text buffer to search.</param>
<param name="textLength">The number of characters in <paramref name="text" />.</param>
<returns>The index of the first character to encode.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(System.ReadOnlySpan{System.Byte})">
<summary>Finds the first element in a UTF-8 text input buffer that would be escaped by the current encoder instance.</summary>
<param name="utf8Text">The UTF-8 text input buffer to search.</param>
<returns>The index of the first element in <paramref name="utf8Text" /> that would be escaped by the current encoder instance, or -1 if no data in <paramref name="utf8Text" /> requires escaping.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)">
<summary>Encodes a Unicode scalar value and writes it to a buffer.</summary>
<param name="unicodeScalar">A Unicode scalar value.</param>
<param name="buffer">A pointer to the buffer to which to write the encoded text.</param>
<param name="bufferLength">The length of the destination <paramref name="buffer" /> in characters.</param>
<param name="numberOfCharactersWritten">When the method returns, indicates the number of characters written to the <paramref name="buffer" />.</param>
<returns>
<see langword="false" /> if <paramref name="bufferLength" /> is too small to fit the encoded text; otherwise, returns <see langword="true" />.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.WillEncode(System.Int32)">
<summary>Determines if a given Unicode scalar value will be encoded.</summary>
<param name="unicodeScalar">A Unicode scalar value.</param>
<returns>
<see langword="true" /> if the <paramref name="unicodeScalar" /> value will be encoded by this encoder; otherwise, returns <see langword="false" />.</returns>
</member>
<member name="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter">
<summary>Gets the maximum number of characters that this encoder can generate for each input code point.</summary>
<returns>The maximum number of characters.</returns>
</member>
<member name="T:System.Text.Encodings.Web.TextEncoderSettings">
<summary>Represents a filter that allows only certain Unicode code points.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor">
<summary>Instantiates an empty filter (allows no code points through by default).</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Instantiates a filter by cloning the allowed list of another <see cref="T:System.Text.Encodings.Web.TextEncoderSettings" /> object.</summary>
<param name="other">The other <see cref="T:System.Text.Encodings.Web.TextEncoderSettings" /> object to be cloned.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor(System.Text.Unicode.UnicodeRange[])">
<summary>Instantiates a filter where only the character ranges specified by <paramref name="allowedRanges" /> are allowed by the filter.</summary>
<param name="allowedRanges">The allowed character ranges.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCharacter(System.Char)">
<summary>Allows the character specified by <paramref name="character" /> through the filter.</summary>
<param name="character">The allowed character.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCharacters(System.Char[])">
<summary>Allows all characters specified by <paramref name="characters" /> through the filter.</summary>
<param name="characters">The allowed characters.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="characters" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCodePoints(System.Collections.Generic.IEnumerable{System.Int32})">
<summary>Allows all code points specified by <paramref name="codePoints" />.</summary>
<param name="codePoints">The allowed code points.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="codePoints" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowRange(System.Text.Unicode.UnicodeRange)">
<summary>Allows all characters specified by <paramref name="range" /> through the filter.</summary>
<param name="range">The range of characters to be allowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="range" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowRanges(System.Text.Unicode.UnicodeRange[])">
<summary>Allows all characters specified by <paramref name="ranges" /> through the filter.</summary>
<param name="ranges">The ranges of characters to be allowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="ranges" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.Clear">
<summary>Resets this object by disallowing all characters.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidCharacter(System.Char)">
<summary>Disallows the character <paramref name="character" /> through the filter.</summary>
<param name="character">The disallowed character.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidCharacters(System.Char[])">
<summary>Disallows all characters specified by <paramref name="characters" /> through the filter.</summary>
<param name="characters">The disallowed characters.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="characters" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidRange(System.Text.Unicode.UnicodeRange)">
<summary>Disallows all characters specified by <paramref name="range" /> through the filter.</summary>
<param name="range">The range of characters to be disallowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="range" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidRanges(System.Text.Unicode.UnicodeRange[])">
<summary>Disallows all characters specified by <paramref name="ranges" /> through the filter.</summary>
<param name="ranges">The ranges of characters to be disallowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="ranges" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.GetAllowedCodePoints">
<summary>Gets an enumerator of all allowed code points.</summary>
<returns>The enumerator of allowed code points.</returns>
</member>
<member name="T:System.Text.Encodings.Web.UrlEncoder">
<summary>Represents a URL character encoding.</summary>
</member>
<member name="M:System.Text.Encodings.Web.UrlEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.UrlEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Creates a new instance of UrlEncoder class with the specified settings.</summary>
<param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> instance encodes, primarily which characters to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="settings" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
</member>
<member name="M:System.Text.Encodings.Web.UrlEncoder.Create(System.Text.Unicode.UnicodeRange[])">
<summary>Creates a new instance of the UrlEncoder class that specifies characters the encoder is allowed to not encode.</summary>
<param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.UrlEncoder.Default">
<summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</summary>
<returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
</member>
<member name="T:System.Text.Unicode.UnicodeRange">
<summary>Represents a contiguous range of Unicode code points.</summary>
</member>
<member name="M:System.Text.Unicode.UnicodeRange.#ctor(System.Int32,System.Int32)">
<summary>Creates a new <see cref="T:System.Text.Unicode.UnicodeRange" /> that includes a specified number of characters starting at a specified Unicode code point.</summary>
<param name="firstCodePoint">The first code point in the range.</param>
<param name="length">The number of code points in the range.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="firstCodePoint" /> is less than zero or greater than 0xFFFF.
-or-
<paramref name="length" /> is less than zero.
-or-
<paramref name="firstCodePoint" /> plus <paramref name="length" /> is greater than 0xFFFF.</exception>
</member>
<member name="M:System.Text.Unicode.UnicodeRange.Create(System.Char,System.Char)">
<summary>Creates a new <see cref="T:System.Text.Unicode.UnicodeRange" /> instance from a span of characters.</summary>
<param name="firstCharacter">The first character in the range.</param>
<param name="lastCharacter">The last character in the range.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="lastCharacter" /> precedes <paramref name="firstCharacter" />.</exception>
<returns>A range that includes all characters between <paramref name="firstCharacter" /> and <paramref name="lastCharacter" />.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRange.FirstCodePoint">
<summary>Gets the first code point in the range represented by this <see cref="T:System.Text.Unicode.UnicodeRange" /> instance.</summary>
<returns>The first code point in the range.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRange.Length">
<summary>Gets the number of code points in the range represented by this <see cref="T:System.Text.Unicode.UnicodeRange" /> instance.</summary>
<returns>The number of code points in the range.</returns>
</member>
<member name="T:System.Text.Unicode.UnicodeRanges">
<summary>Provides static properties that return predefined <see cref="T:System.Text.Unicode.UnicodeRange" /> instances that correspond to blocks from the Unicode specification.</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.All">
<summary>Gets a range that consists of the entire Basic Multilingual Plane (BMP), from U+0000 to U+FFFF).</summary>
<returns>A range that consists of the entire BMP.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.AlphabeticPresentationForms">
<summary>Gets the Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).</summary>
<returns>The Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Arabic">
<summary>Gets the Arabic Unicode block (U+0600-U+06FF).</summary>
<returns>The Arabic Unicode block (U+0600-U+06FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicExtendedA">
<summary>Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF).</summary>
<returns>The Arabic Extended-A Unicode block (U+08A0-U+08FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicExtendedB">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Arabic Extended-B' Unicode block (U+0870..U+089F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsA">
<summary>Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</summary>
<returns>The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsB">
<summary>Gets the Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).</summary>
<returns>The Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicSupplement">
<summary>Gets the Arabic Supplement Unicode block (U+0750-U+077F).</summary>
<returns>The Arabic Supplement Unicode block (U+0750-U+077F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Armenian">
<summary>Gets the Armenian Unicode block (U+0530-U+058F).</summary>
<returns>The Armenian Unicode block (U+0530-U+058F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Arrows">
<summary>Gets the Arrows Unicode block (U+2190-U+21FF).</summary>
<returns>The Arrows Unicode block (U+2190-U+21FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Balinese">
<summary>Gets the Balinese Unicode block (U+1B00-U+1B7F).</summary>
<returns>The Balinese Unicode block (U+1B00-U+1B7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Bamum">
<summary>Gets the Bamum Unicode block (U+A6A0-U+A6FF).</summary>
<returns>The Bamum Unicode block (U+A6A0-U+A6FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BasicLatin">
<summary>Gets the Basic Latin Unicode block (U+0021-U+007F).</summary>
<returns>The Basic Latin Unicode block (U+0021-U+007F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Batak">
<summary>Gets the Batak Unicode block (U+1BC0-U+1BFF).</summary>
<returns>The Batak Unicode block (U+1BC0-U+1BFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Bengali">
<summary>Gets the Bengali Unicode block (U+0980-U+09FF).</summary>
<returns>The Bengali Unicode block (U+0980-U+09FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BlockElements">
<summary>Gets the Block Elements Unicode block (U+2580-U+259F).</summary>
<returns>The Block Elements Unicode block (U+2580-U+259F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Bopomofo">
<summary>Gets the Bopomofo Unicode block (U+3100-U+312F).</summary>
<returns>The Bopomofo Unicode block (U+3105-U+312F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BopomofoExtended">
<summary>Gets the Bopomofo Extended Unicode block (U+31A0-U+31BF).</summary>
<returns>The Bopomofo Extended Unicode block (U+31A0-U+31BF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BoxDrawing">
<summary>Gets the Box Drawing Unicode block (U+2500-U+257F).</summary>
<returns>The Box Drawing Unicode block (U+2500-U+257F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BraillePatterns">
<summary>Gets the Braille Patterns Unicode block (U+2800-U+28FF).</summary>
<returns>The Braille Patterns Unicode block (U+2800-U+28FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Buginese">
<summary>Gets the Buginese Unicode block (U+1A00-U+1A1F).</summary>
<returns>The Buginese Unicode block (U+1A00-U+1A1F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Buhid">
<summary>Gets the Buhid Unicode block (U+1740-U+175F).</summary>
<returns>The Buhid Unicode block (U+1740-U+175F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Cham">
<summary>Gets the Cham Unicode block (U+AA00-U+AA5F).</summary>
<returns>The Cham Unicode block (U+AA00-U+AA5F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Cherokee">
<summary>Gets the Cherokee Unicode block (U+13A0-U+13FF).</summary>
<returns>The Cherokee Unicode block (U+13A0-U+13FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CherokeeSupplement">
<summary>Gets the Cherokee Supplement Unicode block (U+AB70-U+ABBF).</summary>
<returns>The Cherokee Supplement Unicode block (U+AB70-U+ABBF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibility">
<summary>Gets the CJK Compatibility Unicode block (U+3300-U+33FF).</summary>
<returns>The CJK Compatibility Unicode block (U+3300-U+33FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibilityForms">
<summary>Gets the CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).</summary>
<returns>The CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibilityIdeographs">
<summary>Gets the CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).</summary>
<returns>The CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkRadicalsSupplement">
<summary>Gets the CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).</summary>
<returns>The CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkStrokes">
<summary>Gets the CJK Strokes Unicode block (U+31C0-U+31EF).</summary>
<returns>The CJK Strokes Unicode block (U+31C0-U+31EF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkSymbolsandPunctuation">
<summary>Gets the CJK Symbols and Punctuation Unicode block (U+3000-U+303F).</summary>
<returns>The CJK Symbols and Punctuation Unicode block (U+3000-U+303F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkUnifiedIdeographs">
<summary>Gets the CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).</summary>
<returns>The CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkUnifiedIdeographsExtensionA">
<summary>Gets the CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).</summary>
<returns>The CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarks">
<summary>Gets the Combining Diacritical Marks Unicode block (U+0300-U+036F).</summary>
<returns>The Combining Diacritical Marks Unicode block (U+0300-U+036F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksExtended">
<summary>Gets the Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).</summary>
<returns>The Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksforSymbols">
<summary>Gets the Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).</summary>
<returns>The Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksSupplement">
<summary>Gets the Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).</summary>
<returns>The Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningHalfMarks">
<summary>Gets the Combining Half Marks Unicode block (U+FE20-U+FE2F).</summary>
<returns>The Combining Half Marks Unicode block (U+FE20-U+FE2F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CommonIndicNumberForms">
<summary>Gets the Common Indic Number Forms Unicode block (U+A830-U+A83F).</summary>
<returns>The Common Indic Number Forms Unicode block (U+A830-U+A83F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ControlPictures">
<summary>Gets the Control Pictures Unicode block (U+2400-U+243F).</summary>
<returns>The Control Pictures Unicode block (U+2400-U+243F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Coptic">
<summary>Gets the Coptic Unicode block (U+2C80-U+2CFF).</summary>
<returns>The Coptic Unicode block (U+2C80-U+2CFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CurrencySymbols">
<summary>Gets the Currency Symbols Unicode block (U+20A0-U+20CF).</summary>
<returns>The Currency Symbols Unicode block (U+20A0-U+20CF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Cyrillic">
<summary>Gets the Cyrillic Unicode block (U+0400-U+04FF).</summary>
<returns>The Cyrillic Unicode block (U+0400-U+04FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedA">
<summary>Gets the Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).</summary>
<returns>The Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedB">
<summary>Gets the Cyrillic Extended-B Unicode block (U+A640-U+A69F).</summary>
<returns>The Cyrillic Extended-B Unicode block (U+A640-U+A69F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedC">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Cyrillic Extended-C' Unicode block (U+1C80..U+1C8F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicSupplement">
<summary>Gets the Cyrillic Supplement Unicode block (U+0500-U+052F).</summary>
<returns>The Cyrillic Supplement Unicode block (U+0500-U+052F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Devanagari">
<summary>Gets the Devangari Unicode block (U+0900-U+097F).</summary>
<returns>The Devangari Unicode block (U+0900-U+097F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.DevanagariExtended">
<summary>Gets the Devanagari Extended Unicode block (U+A8E0-U+A8FF).</summary>
<returns>The Devanagari Extended Unicode block (U+A8E0-U+A8FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Dingbats">
<summary>Gets the Dingbats Unicode block (U+2700-U+27BF).</summary>
<returns>The Dingbats Unicode block (U+2700-U+27BF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EnclosedAlphanumerics">
<summary>Gets the Enclosed Alphanumerics Unicode block (U+2460-U+24FF).</summary>
<returns>The Enclosed Alphanumerics Unicode block (U+2460-U+24FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EnclosedCjkLettersandMonths">
<summary>Gets the Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).</summary>
<returns>The Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Ethiopic">
<summary>Gets the Ethiopic Unicode block (U+1200-U+137C).</summary>
<returns>The Ethiopic Unicode block (U+1200-U+137C).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EthiopicExtended">
<summary>Gets the Ethipic Extended Unicode block (U+2D80-U+2DDF).</summary>
<returns>The Ethipic Extended Unicode block (U+2D80-U+2DDF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EthiopicExtendedA">
<summary>Gets the Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).</summary>
<returns>The Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EthiopicSupplement">
<summary>Gets the Ethiopic Supplement Unicode block (U+1380-U+1399).</summary>
<returns>The Ethiopic Supplement Unicode block (U+1380-U+1399).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeneralPunctuation">
<summary>Gets the General Punctuation Unicode block (U+2000-U+206F).</summary>
<returns>The General Punctuation Unicode block (U+2000-U+206F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeometricShapes">
<summary>Gets the Geometric Shapes Unicode block (U+25A0-U+25FF).</summary>
<returns>The Geometric Shapes Unicode block (U+25A0-U+25FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Georgian">
<summary>Gets the Georgian Unicode block (U+10A0-U+10FF).</summary>
<returns>The Georgian Unicode block (U+10A0-U+10FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeorgianExtended">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Georgian Extended' Unicode block (U+1C90..U+1CBF).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeorgianSupplement">
<summary>Gets the Georgian Supplement Unicode block (U+2D00-U+2D2F).</summary>
<returns>The Georgian Supplement Unicode block (U+2D00-U+2D2F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Glagolitic">
<summary>Gets the Glagolitic Unicode block (U+2C00-U+2C5F).</summary>
<returns>The Glagolitic Unicode block (U+2C00-U+2C5F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GreekandCoptic">
<summary>Gets the Greek and Coptic Unicode block (U+0370-U+03FF).</summary>
<returns>The Greek and Coptic Unicode block (U+0370-U+03FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GreekExtended">
<summary>Gets the Greek Extended Unicode block (U+1F00-U+1FFF).</summary>
<returns>The Greek Extended Unicode block (U+1F00-U+1FFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Gujarati">
<summary>Gets the Gujarti Unicode block (U+0A81-U+0AFF).</summary>
<returns>The Gujarti Unicode block (U+0A81-U+0AFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Gurmukhi">
<summary>Gets the Gurmukhi Unicode block (U+0A01-U+0A7F).</summary>
<returns>The Gurmukhi Unicode block (U+0A01-U+0A7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HalfwidthandFullwidthForms">
<summary>Gets the Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).</summary>
<returns>The Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulCompatibilityJamo">
<summary>Gets the Hangul Compatibility Jamo Unicode block (U+3131-U+318F).</summary>
<returns>The Hangul Compatibility Jamo Unicode block (U+3131-U+318F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulJamo">
<summary>Gets the Hangul Jamo Unicode block (U+1100-U+11FF).</summary>
<returns>The Hangul Jamo Unicode block (U+1100-U+11FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulJamoExtendedA">
<summary>Gets the Hangul Jamo Extended-A Unicode block (U+A960-U+A9F).</summary>
<returns>The Hangul Jamo Extended-A Unicode block (U+A960-U+A97F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulJamoExtendedB">
<summary>Gets the Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).</summary>
<returns>The Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulSyllables">
<summary>Gets the Hangul Syllables Unicode block (U+AC00-U+D7AF).</summary>
<returns>The Hangul Syllables Unicode block (U+AC00-U+D7AF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Hanunoo">
<summary>Gets the Hanunoo Unicode block (U+1720-U+173F).</summary>
<returns>The Hanunoo Unicode block (U+1720-U+173F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Hebrew">
<summary>Gets the Hebrew Unicode block (U+0590-U+05FF).</summary>
<returns>The Hebrew Unicode block (U+0590-U+05FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Hiragana">
<summary>Gets the Hiragana Unicode block (U+3040-U+309F).</summary>
<returns>The Hiragana Unicode block (U+3040-U+309F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.IdeographicDescriptionCharacters">
<summary>Gets the Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).</summary>
<returns>The Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.IpaExtensions">
<summary>Gets the IPA Extensions Unicode block (U+0250-U+02AF).</summary>
<returns>The IPA Extensions Unicode block (U+0250-U+02AF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Javanese">
<summary>Gets the Javanese Unicode block (U+A980-U+A9DF).</summary>
<returns>The Javanese Unicode block (U+A980-U+A9DF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Kanbun">
<summary>Gets the Kanbun Unicode block (U+3190-U+319F).</summary>
<returns>The Kanbun Unicode block (U+3190-U+319F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KangxiRadicals">
<summary>Gets the Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).</summary>
<returns>The Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Kannada">
<summary>Gets the Kannada Unicode block (U+0C81-U+0CFF).</summary>
<returns>The Kannada Unicode block (U+0C81-U+0CFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Katakana">
<summary>Gets the Katakana Unicode block (U+30A0-U+30FF).</summary>
<returns>The Katakana Unicode block (U+30A0-U+30FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KatakanaPhoneticExtensions">
<summary>Gets the Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).</summary>
<returns>The Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KayahLi">
<summary>Gets the Kayah Li Unicode block (U+A900-U+A92F).</summary>
<returns>The Kayah Li Unicode block (U+A900-U+A92F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Khmer">
<summary>Gets the Khmer Unicode block (U+1780-U+17FF).</summary>
<returns>The Khmer Unicode block (U+1780-U+17FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KhmerSymbols">
<summary>Gets the Khmer Symbols Unicode block (U+19E0-U+19FF).</summary>
<returns>The Khmer Symbols Unicode block (U+19E0-U+19FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Lao">
<summary>Gets the Lao Unicode block (U+0E80-U+0EDF).</summary>
<returns>The Lao Unicode block (U+0E80-U+0EDF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Latin1Supplement">
<summary>Gets the Latin-1 Supplement Unicode block (U+00A1-U+00FF).</summary>
<returns>The Latin-1 Supplement Unicode block (U+00A1-U+00FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedA">
<summary>Gets the Latin Extended-A Unicode block (U+0100-U+017F).</summary>
<returns>The Latin Extended-A Unicode block (U+0100-U+017F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedAdditional">
<summary>Gets the Latin Extended Additional Unicode block (U+1E00-U+1EFF).</summary>
<returns>The Latin Extended Additional Unicode block (U+1E00-U+1EFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedB">
<summary>Gets the Latin Extended-B Unicode block (U+0180-U+024F).</summary>
<returns>The Latin Extended-B Unicode block (U+0180-U+024F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedC">
<summary>Gets the Latin Extended-C Unicode block (U+2C60-U+2C7F).</summary>
<returns>The Latin Extended-C Unicode block (U+2C60-U+2C7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedD">
<summary>Gets the Latin Extended-D Unicode block (U+A720-U+A7FF).</summary>
<returns>The Latin Extended-D Unicode block (U+A720-U+A7FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedE">
<summary>Gets the Latin Extended-E Unicode block (U+AB30-U+AB6F).</summary>
<returns>The Latin Extended-E Unicode block (U+AB30-U+AB6F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Lepcha">
<summary>Gets the Lepcha Unicode block (U+1C00-U+1C4F).</summary>
<returns>The Lepcha Unicode block (U+1C00-U+1C4F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LetterlikeSymbols">
<summary>Gets the Letterlike Symbols Unicode block (U+2100-U+214F).</summary>
<returns>The Letterlike Symbols Unicode block (U+2100-U+214F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Limbu">
<summary>Gets the Limbu Unicode block (U+1900-U+194F).</summary>
<returns>The Limbu Unicode block (U+1900-U+194F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Lisu">
<summary>Gets the Lisu Unicode block (U+A4D0-U+A4FF).</summary>
<returns>The Lisu Unicode block (U+A4D0-U+A4FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Malayalam">
<summary>Gets the Malayalam Unicode block (U+0D00-U+0D7F).</summary>
<returns>The Malayalam Unicode block (U+0D00-U+0D7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Mandaic">
<summary>Gets the Mandaic Unicode block (U+0840-U+085F).</summary>
<returns>The Mandaic Unicode block (U+0840-U+085F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MathematicalOperators">
<summary>Gets the Mathematical Operators Unicode block (U+2200-U+22FF).</summary>
<returns>The Mathematical Operators Unicode block (U+2200-U+22FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MeeteiMayek">
<summary>Gets the Meetei Mayek Unicode block (U+ABC0-U+ABFF).</summary>
<returns>The Meetei Mayek Unicode block (U+ABC0-U+ABFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MeeteiMayekExtensions">
<summary>Gets the Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).</summary>
<returns>The Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousMathematicalSymbolsA">
<summary>Gets the Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).</summary>
<returns>The Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousMathematicalSymbolsB">
<summary>Gets the Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).</summary>
<returns>The Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousSymbols">
<summary>Gets the Miscellaneous Symbols Unicode block (U+2600-U+26FF).</summary>
<returns>The Miscellaneous Symbols Unicode block (U+2600-U+26FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousSymbolsandArrows">
<summary>Gets the Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).</summary>
<returns>The Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousTechnical">
<summary>Gets the Miscellaneous Technical Unicode block (U+2300-U+23FF).</summary>
<returns>The Miscellaneous Technical Unicode block (U+2300-U+23FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ModifierToneLetters">
<summary>Gets the Modifier Tone Letters Unicode block (U+A700-U+A71F).</summary>
<returns>The Modifier Tone Letters Unicode block (U+A700-U+A71F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Mongolian">
<summary>Gets the Mongolian Unicode block (U+1800-U+18AF).</summary>
<returns>The Mongolian Unicode block (U+1800-U+18AF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Myanmar">
<summary>Gets the Myanmar Unicode block (U+1000-U+109F).</summary>
<returns>The Myanmar Unicode block (U+1000-U+109F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MyanmarExtendedA">
<summary>Gets the Myanmar Extended-A Unicode block (U+AA60-U+AA7F).</summary>
<returns>The Myanmar Extended-A Unicode block (U+AA60-U+AA7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MyanmarExtendedB">
<summary>Gets the Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).</summary>
<returns>The Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.NewTaiLue">
<summary>Gets the New Tai Lue Unicode block (U+1980-U+19DF).</summary>
<returns>The New Tai Lue Unicode block (U+1980-U+19DF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.NKo">
<summary>Gets the NKo Unicode block (U+07C0-U+07FF).</summary>
<returns>The NKo Unicode block (U+07C0-U+07FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.None">
<summary>Gets an empty Unicode range.</summary>
<returns>A Unicode range with no elements.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.NumberForms">
<summary>Gets the Number Forms Unicode block (U+2150-U+218F).</summary>
<returns>The Number Forms Unicode block (U+2150-U+218F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Ogham">
<summary>Gets the Ogham Unicode block (U+1680-U+169F).</summary>
<returns>The Ogham Unicode block (U+1680-U+169F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.OlChiki">
<summary>Gets the Ol Chiki Unicode block (U+1C50-U+1C7F).</summary>
<returns>The Ol Chiki Unicode block (U+1C50-U+1C7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.OpticalCharacterRecognition">
<summary>Gets the Optical Character Recognition Unicode block (U+2440-U+245F).</summary>
<returns>The Optical Character Recognition Unicode block (U+2440-U+245F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Oriya">
<summary>Gets the Oriya Unicode block (U+0B00-U+0B7F).</summary>
<returns>The Oriya Unicode block (U+0B00-U+0B7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Phagspa">
<summary>Gets the Phags-pa Unicode block (U+A840-U+A87F).</summary>
<returns>The Phags-pa Unicode block (U+A840-U+A87F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.PhoneticExtensions">
<summary>Gets the Phonetic Extensions Unicode block (U+1D00-U+1D7F).</summary>
<returns>The Phonetic Extensions Unicode block (U+1D00-U+1D7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.PhoneticExtensionsSupplement">
<summary>Gets the Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).</summary>
<returns>The Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Rejang">
<summary>Gets the Rejang Unicode block (U+A930-U+A95F).</summary>
<returns>The Rejang Unicode block (U+A930-U+A95F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Runic">
<summary>Gets the Runic Unicode block (U+16A0-U+16FF).</summary>
<returns>The Runic Unicode block (U+16A0-U+16FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Samaritan">
<summary>Gets the Samaritan Unicode block (U+0800-U+083F).</summary>
<returns>The Samaritan Unicode block (U+0800-U+083F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Saurashtra">
<summary>Gets the Saurashtra Unicode block (U+A880-U+A8DF).</summary>
<returns>The Saurashtra Unicode block (U+A880-U+A8DF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Sinhala">
<summary>Gets the Sinhala Unicode block (U+0D80-U+0DFF).</summary>
<returns>The Sinhala Unicode block (U+0D80-U+0DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SmallFormVariants">
<summary>Gets the Small Form Variants Unicode block (U+FE50-U+FE6F).</summary>
<returns>The Small Form Variants Unicode block (U+FE50-U+FE6F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SpacingModifierLetters">
<summary>Gets the Spacing Modifier Letters Unicode block (U+02B0-U+02FF).</summary>
<returns>The Spacing Modifier Letters Unicode block (U+02B0-U+02FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Specials">
<summary>Gets the Specials Unicode block (U+FFF0-U+FFFF).</summary>
<returns>The Specials Unicode block (U+FFF0-U+FFFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Sundanese">
<summary>Gets the Sundanese Unicode block (U+1B80-U+1BBF).</summary>
<returns>The Sundanese Unicode block (U+1B80-U+1BBF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SundaneseSupplement">
<summary>Gets the Sundanese Supplement Unicode block (U+1CC0-U+1CCF).</summary>
<returns>The Sundanese Supplement Unicode block (U+1CC0-U+1CCF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SuperscriptsandSubscripts">
<summary>Gets the Superscripts and Subscripts Unicode block (U+2070-U+209F).</summary>
<returns>The Superscripts and Subscripts Unicode block (U+2070-U+209F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalArrowsA">
<summary>Gets the Supplemental Arrows-A Unicode block (U+27F0-U+27FF).</summary>
<returns>The Supplemental Arrows-A Unicode block (U+27F0-U+27FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalArrowsB">
<summary>Gets the Supplemental Arrows-B Unicode block (U+2900-U+297F).</summary>
<returns>The Supplemental Arrows-B Unicode block (U+2900-U+297F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalMathematicalOperators">
<summary>Gets the Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).</summary>
<returns>The Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalPunctuation">
<summary>Gets the Supplemental Punctuation Unicode block (U+2E00-U+2E7F).</summary>
<returns>The Supplemental Punctuation Unicode block (U+2E00-U+2E7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SylotiNagri">
<summary>Gets the Syloti Nagri Unicode block (U+A800-U+A82F).</summary>
<returns>The Syloti Nagri Unicode block (U+A800-U+A82F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Syriac">
<summary>Gets the Syriac Unicode block (U+0700-U+074F).</summary>
<returns>The Syriac Unicode block (U+0700-U+074F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SyriacSupplement">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Syriac Supplement' Unicode block (U+0860..U+086F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tagalog">
<summary>Gets the Tagalog Unicode block (U+1700-U+171F).</summary>
<returns>The Tagalog Unicode block (U+1700-U+171F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tagbanwa">
<summary>Gets the Tagbanwa Unicode block (U+1760-U+177F).</summary>
<returns>The Tagbanwa Unicode block (U+1760-U+177F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.TaiLe">
<summary>Gets the Tai Le Unicode block (U+1950-U+197F).</summary>
<returns>The Tai Le Unicode block (U+1950-U+197F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.TaiTham">
<summary>Gets the Tai Tham Unicode block (U+1A20-U+1AAF).</summary>
<returns>The Tai Tham Unicode block (U+1A20-U+1AAF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.TaiViet">
<summary>Gets the Tai Viet Unicode block (U+AA80-U+AADF).</summary>
<returns>The Tai Viet Unicode block (U+AA80-U+AADF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tamil">
<summary>Gets the Tamil Unicode block (U+0B80-U+0BFF).</summary>
<returns>The Tamil Unicode block (U+0B82-U+0BFA).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Telugu">
<summary>Gets the Telugu Unicode block (U+0C00-U+0C7F).</summary>
<returns>The Telugu Unicode block (U+0C00-U+0C7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Thaana">
<summary>Gets the Thaana Unicode block (U+0780-U+07BF).</summary>
<returns>The Thaana Unicode block (U+0780-U+07BF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Thai">
<summary>Gets the Thai Unicode block (U+0E00-U+0E7F).</summary>
<returns>The Thai Unicode block (U+0E00-U+0E7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tibetan">
<summary>Gets the Tibetan Unicode block (U+0F00-U+0FFF).</summary>
<returns>The Tibetan Unicode block (U+0F00-U+0FFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tifinagh">
<summary>Gets the Tifinagh Unicode block (U+2D30-U+2D7F).</summary>
<returns>The Tifinagh Unicode block (U+2D30-U+2D7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.UnifiedCanadianAboriginalSyllabics">
<summary>Gets the Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).</summary>
<returns>The Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.UnifiedCanadianAboriginalSyllabicsExtended">
<summary>Gets the Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).</summary>
<returns>The Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Vai">
<summary>Gets the Vai Unicode block (U+A500-U+A63F).</summary>
<returns>The Vai Unicode block (U+A500-U+A63F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.VariationSelectors">
<summary>Gets the Variation Selectors Unicode block (U+FE00-U+FE0F).</summary>
<returns>The Variation Selectors Unicode block (U+FE00-U+FE0F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.VedicExtensions">
<summary>Gets the Vedic Extensions Unicode block (U+1CD0-U+1CFF).</summary>
<returns>The Vedic Extensions Unicode block (U+1CD0-U+1CFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.VerticalForms">
<summary>Gets the Vertical Forms Unicode block (U+FE10-U+FE1F).</summary>
<returns>The Vertical Forms Unicode block (U+FE10-U+FE1F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.YijingHexagramSymbols">
<summary>Gets the Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).</summary>
<returns>The Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.YiRadicals">
<summary>Gets the Yi Radicals Unicode block (U+A490-U+A4CF).</summary>
<returns>The Yi Radicals Unicode block (U+A490-U+A4CF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.YiSyllables">
<summary>Gets the Yi Syllables Unicode block (U+A000-U+A48F).</summary>
<returns>The Yi Syllables Unicode block (U+A000-U+A48F).</returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Threading.Tasks.Extensions</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.ValueTaskAwaiter`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult">
<returns></returns>
</member>
<member name="P:System.Runtime.CompilerServices.ValueTaskAwaiter`1.IsCompleted">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.OnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.UnsafeOnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="T:System.Threading.Tasks.ValueTask`1">
<summary>Provides a value type that wraps a <see cref="Task{TResult}"></see> and a <typeparamref name="TResult">TResult</typeparamref>, only one of which is used.</summary>
<typeparam name="TResult">The result.</typeparam>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Threading.Tasks.Task{`0})">
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied task that represents the operation.</summary>
<param name="task">The task.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="task">task</paramref> argument is null.</exception>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(`0)">
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied result of a successful operation.</summary>
<param name="result">The result.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.AsTask">
<summary>Retrieves a <see cref="Task{TResult}"></see> object that represents this <see cref="ValueTask{TResult}"></see>.</summary>
<returns>The <see cref="Task{TResult}"></see> object that is wrapped in this <see cref="ValueTask{TResult}"></see> if one exists, or a new <see cref="Task{TResult}"></see> object that represents the result.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ConfigureAwait(System.Boolean)">
<summary>Configures an awaiter for this value.</summary>
<param name="continueOnCapturedContext">true to attempt to marshal the continuation back to the captured context; otherwise, false.</param>
<returns>The configured awaiter.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.CreateAsyncMethodBuilder">
<summary>Creates a method builder for use with an async method.</summary>
<returns>The created builder.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Object)">
<summary>Determines whether the specified object is equal to the current object.</summary>
<param name="obj">The object to compare with the current object.</param>
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Threading.Tasks.ValueTask{`0})">
<summary>Determines whether the specified <see cref="ValueTask{TResult}"></see> object is equal to the current <see cref="ValueTask{TResult}"></see> object.</summary>
<param name="other">The object to compare with the current object.</param>
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetAwaiter">
<summary>Creates an awaiter for this value.</summary>
<returns>The awaiter.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetHashCode">
<summary>Returns the hash code for this instance.</summary>
<returns>The hash code for the current object.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCanceled">
<summary>Gets a value that indicates whether this object represents a canceled operation.</summary>
<returns>true if this object represents a canceled operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompleted">
<summary>Gets a value that indicates whether this object represents a completed operation.</summary>
<returns>true if this object represents a completed operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompletedSuccessfully">
<summary>Gets a value that indicates whether this object represents a successfully completed operation.</summary>
<returns>true if this object represents a successfully completed operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsFaulted">
<summary>Gets a value that indicates whether this object represents a failed operation.</summary>
<returns>true if this object represents a failed operation; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Equality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Compares two values for equality.</summary>
<param name="left">The first value to compare.</param>
<param name="right">The second value to compare.</param>
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are equal; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Inequality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Determines whether two <see cref="ValueTask{TResult}"></see> values are unequal.</summary>
<param name="left">The first value to compare.</param>
<param name="right">The seconed value to compare.</param>
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are not equal; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.Result">
<summary>Gets the result.</summary>
<returns>The result.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ToString">
<summary>Returns a string that represents the current object.</summary>
<returns>A string that represents the current object.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute">
</member>
<member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.#ctor(System.Type)">
<param name="builderType"></param>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.BuilderType">
<returns></returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
<param name="awaiter"></param>
<param name="stateMachine"></param>
<typeparam name="TAwaiter"></typeparam>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<param name="awaiter"></param>
<param name="stateMachine"></param>
<typeparam name="TAwaiter"></typeparam>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Create">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetException(System.Exception)">
<param name="exception"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(`0)">
<param name="result"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
<param name="stateMachine"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Start``1(``0@)">
<param name="stateMachine"></param>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Task">
<returns></returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult">
<returns></returns>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.IsCompleted">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.OnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter">
<returns></returns>
</member>
</members>
</doc>

View File

@ -441,3 +441,19 @@ H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\LeatherApp
H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj.CopyComplete
H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.exe
H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.pdb
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\halcondotnet.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\hdevenginedotnet.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\HZH_Controls.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Microsoft.Bcl.AsyncInterfaces.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Oracle.ManagedDataAccess.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\PG_Detect.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Diagnostics.DiagnosticSource.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Formats.Asn1.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Encodings.Web.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Json.dll
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Microsoft.Bcl.AsyncInterfaces.xml
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Diagnostics.DiagnosticSource.xml
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Formats.Asn1.xml
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Encodings.Web.xml
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Json.xml
E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Threading.Tasks.Extensions.xml

View File

@ -10,7 +10,6 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
<package id="OpenCvSharp4" version="4.8.0.20230708" targetFramework="net48" />
<package id="OpenCvSharp4.Extensions" version="4.7.0.20230115" targetFramework="net48" />
<package id="Oracle.ManagedDataAccess" version="23.6.0" targetFramework="net48" />
<package id="S7netplus" version="0.20.0" targetFramework="net48" />
<package id="SixLabors.Fonts" version="1.0.0" targetFramework="net48" />
<package id="SqlSugar" version="5.1.4.105" targetFramework="net48" />

View File

@ -106,6 +106,18 @@ namespace Models
/// </summary>
[SugarColumn(IsNullable = true)]
public double residueWarnningLen { get; set; }
//////////20241024新增传统算法参数/////////////////
/// <summary>
/// 分类
/// </summary>
[SugarColumn(IsNullable = true)]
public string ClassType { get; set; }
/// <summary>
/// 面积过滤大小像素
/// </summary>
[SugarColumn(IsNullable = true)]
public double HalconAreaThr { get; set; }
}
/// <summary>

View File

@ -107,6 +107,53 @@ namespace Service
}
}
public static void SendServerDB(string dbConStr, Records record, bool dropTable = false)
{
ConnectionString = dbConStr;
ConnectionConfig connectionConfig = new ConnectionConfig()
{
ConnectionString = dbConStr,
DbType = DbType.MySql,
IsAutoCloseConnection = true
};
connectionConfig.ConnectionString = dbConStr;
//创建数据库对象
using (SqlSugarClient db = new SqlSugarClient(connectionConfig))
{
db.Aop.OnLogExecuting = (sql, pars) =>
{
Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响
};
//create db
db.DbMaintenance.CreateDatabase();
//===建表
if (dropTable && db.DbMaintenance.IsAnyTable("Product", false)) db.DbMaintenance.DropTable("Product");
if (dropTable && db.DbMaintenance.IsAnyTable("QualifiedLimit", false)) db.DbMaintenance.DropTable("QualifiedLimit");
if (dropTable && db.DbMaintenance.IsAnyTable("GradeLimit", false)) db.DbMaintenance.DropTable("GradeLimit");
if (dropTable && db.DbMaintenance.IsAnyTable("Records", false)) db.DbMaintenance.DropTable("Records");
if (dropTable && db.DbMaintenance.IsAnyTable("DefectInfo", false)) db.DbMaintenance.DropTable("DefectInfo");
//===添加与更新表
db.CodeFirst.InitTables<Models.Product>();
db.CodeFirst.InitTables<Models.QualifiedLimit>();
db.CodeFirst.InitTables<Models.GradeLimit>();
db.CodeFirst.InitTables<Models.Records>();
db.CodeFirst.InitTables<Models.DefectInfo>();
//更改表数据
try
{
db.Ado.ExecuteCommand("drop index index_Records_ProductId_SerialNum ON table_name");//删除索引
}
catch { }
//数据插入表
db.Insertable(record).ExecuteCommand();
}
}
/// <summary>
/// 备份DB (还原mysql -uroot -p < d:\dbName.sql)
/// </summary>

View File

@ -1,42 +0,0 @@
Your use of this Program is governed by the Oracle Free Distribution, Hosting, and Use Terms and Conditions set forth below, unless you have received this Program (alone or as part of another Oracle product) under an Oracle license agreement (including but not limited to the Oracle Master Agreement), in which case your use of this Program is governed solely by such license agreement with Oracle.
Oracle Free Distribution, Hosting, and Use Terms and Conditions
Definitions
"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company or organization (each an "Entity") accessing the Programs, if use of the Programs will be on behalf of such Entity; or (b) an individual accessing the Programs, if use of the Programs will not be on behalf of an Entity. "Program(s)" refers to Oracle software provided by Oracle pursuant to the following terms and any updates, error corrections, and/or Program Documentation provided by Oracle. "Program Documentation" refers to Program user manuals and Program installation manuals, if any. If available, Program Documentation may be delivered with the Programs and/or may be accessed from www.oracle.com/documentation. "Separate Terms" refers to separate license terms that are specified in the Program Documentation, readmes or notice files and that apply to Separately Licensed Technology. "Separately Licensed Technology" refers to Oracle or third party technology that is licensed under Separate Terms and not under the terms of this license.
Separately Licensed Technology
Oracle may provide certain notices to You in Program Documentation, readmes or notice files in connection with Oracle or third party technology provided as or with the Programs. If specified in the Program Documentation, readmes or notice files, such technology will be licensed to You under Separate Terms. Your rights to use Separately Licensed Technology under Separate Terms are not restricted in any way by the terms herein. For clarity, notwithstanding the existence of a notice, third party technology that is not Separately Licensed Technology shall be deemed part of the Programs licensed to You under the terms of this license.
Source Code for Open Source Software
For software that You receive from Oracle in binary form that is licensed under an open source license that gives You the right to receive the source code for that binary, You can obtain a copy of the applicable source code from https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If the source code for such software was not provided to You with the binary, You can also receive a copy of the source code on physical media by submitting a written request pursuant to the instructions in the "Written Offer for Source Code" section of the latter website.
-------------------------------------------------------------------------------
The following license terms apply to those Programs that are not provided to You under Separate Terms.
License Rights and Restrictions
Oracle grants to You, as a recipient of this Program, a nonexclusive, nontransferable, limited license to, subject to the conditions stated herein, use the unmodified Programs, including, without limitation, for the purposes of:
• developing, testing, prototyping and demonstrating applications;
• running the unmodified Programs for training, personal use, your business operations, and the business operations of third parties;
• making the unmodified Programs available for use by third parties in your hosted environment and in cloud services;
• redistributing unmodified Programs and Programs Documentation under the terms of this License; and
• copying the unmodified Programs and Program Documentation to the extent reasonably necessary to exercise the license rights granted herein and for backup purposes.
For the purposes of this license, compiling, interpreting or configuring an otherwise unmodified Program as necessary to run the Program shall not be considered modification.
Your license is contingent on Your compliance with the following conditions:
- You include a copy of this license with any distribution by You of the Programs;
- You do not charge your customers, end users, distributees or other third parties any additional fees for the distribution or use of the Programs; however, for clarity, if you comply with the foregoing condition, distribution or use of the Program as part of your for-fee product or service that adds substantial additional value is permitted;
- You do not remove markings or notices of either Oracle's or a licensor's proprietary rights from the Programs or Program Documentation;
- You comply with all U.S. and applicable export control and economic sanctions laws and regulations that govern Your use of the Programs (including technical data); and
- You do not cause or permit reverse engineering, disassembly or decompilation of the Programs (except as allowed by law) by You nor allow an associated party to do so.
Any source code that may be included in the distribution with the Programs may not be modified, unless such source code is under Separate Terms permitting modification.
Ownership
Oracle or its licensors retain all ownership and intellectual property rights to the Programs.
Information Collection
The Programs' installation and/or auto-update processes, if any, may transmit a limited amount of data to Oracle or its service provider about those processes to help Oracle understand and optimize them. Oracle does not associate the data with personally identifiable information. Refer to Oracle's Privacy Policy at www.oracle.com/privacy.
Disclaimer of Warranties; Limitation of Liability
THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Version 1.0
Last updated: 28 June 2022

View File

@ -1,41 +0,0 @@
$categoryName = "ODP.NET, Managed Driver"
try{
$categoryHelp = "$categoryName Performance Counter"
$categoryType = [System.Diagnostics.PerformanceCounterCategoryType]::MultiInstance
$categoryExists_reg = [System.Diagnostics.PerformanceCounterCategory]::Exists($categoryName)
if($categoryExists_reg)
{
[System.Diagnostics.PerformanceCounterCategory]::Delete($categoryName)
}
$counterCreationDataList = New-Object -TypeName System.Diagnostics.CounterCreationDataCollection
$counterCreationDataList.Clear()
$RateOfCountsPerSecond64 = [System.Diagnostics.PerformanceCounterType]::RateOfCountsPerSecond64
$NumberOfItems64 = [System.Diagnostics.PerformanceCounterType]::NumberOfItems64
$counterCreationData1 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'HardConnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
$counterCreationData2 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'HardDisconnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
$counterCreationData3 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'SoftConnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
$counterCreationData4 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'SoftDisconnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
$counterCreationData5 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfActiveConnectionPools', [string]::Empty, $NumberOfItems64
$counterCreationData6 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfInactiveConnectionPools',[string]::Empty, $NumberOfItems64
$counterCreationData7 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfActiveConnections', [string]::Empty, $NumberOfItems64
$counterCreationData8 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfFreeConnections', [string]::Empty, $NumberOfItems64
$counterCreationData9 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfPooledConnections', [string]::Empty, $NumberOfItems64
$counterCreationData10 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfNonPooledConnections', [string]::Empty, $NumberOfItems64
$counterCreationData11 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfReclaimedConnections', [string]::Empty, $NumberOfItems64
$counterCreationDataList.Add($counterCreationData1) | out-null
$counterCreationDataList.Add($counterCreationData2) | out-null
$counterCreationDataList.Add($counterCreationData3) | out-null
$counterCreationDataList.Add($counterCreationData4) | out-null
$counterCreationDataList.Add($counterCreationData5) | out-null
$counterCreationDataList.Add($counterCreationData6) | out-null
$counterCreationDataList.Add($counterCreationData7) | out-null
$counterCreationDataList.Add($counterCreationData8) | out-null
$counterCreationDataList.Add($counterCreationData9) | out-null
$counterCreationDataList.Add($counterCreationData10) | out-null
$counterCreationDataList.Add($counterCreationData11) | out-null
[System.Diagnostics.PerformanceCounterCategory]::Create($categoryName, $categoryHelp, $categoryType, $counterCreationDataList) | out-null
write-host("$categoryHelp was registered successfullly.")
}
catch{
write-host("ERROR: $categoryHelp registration failed.")
}

View File

@ -1,12 +0,0 @@
$categoryName = "ODP.NET, Managed Driver"
try{
$categoryExists_unreg = [System.Diagnostics.PerformanceCounterCategory]::Exists($categoryName)
if($categoryExists_unreg)
{
[System.Diagnostics.PerformanceCounterCategory]::Delete($categoryName) | out-null
}
write-host("$categoryName Performance Counter was un-registered successfullly.")
}
catch{
write-host("ERROR: $categoryName Performance Counter un-registration failed.")
}

View File

@ -1,68 +0,0 @@
![Oracle Logo](https://raw.githubusercontent.com/oracle/dotnet-db-samples/master/images/oracle-nuget.png)
# Oracle.ManagedDataAccess 23.6.0
Release Notes for Oracle Data Provider for .NET, Managed Driver NuGet Package
September 2024
Managed Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database for .NET Framework and is 100% managed code. ODP.NET allows developers to take advantage of advanced Oracle database functionality, including AI vectors, Real Application Clusters, Application Continuity, JSON Relational Duality, and Fast Connection Failover.
This document provides information that supplements the [Oracle Data Provider for .NET (ODP.NET) documentation](https://docs.oracle.com/en/database/oracle/oracle-database/23/odpnt/index.html).
## Oracle .NET Links
* [Oracle .NET Home Page](https://www.oracle.com/database/technologies/appdev/dotnet.html)
* [GitHub - Sample Code](https://github.com/oracle/dotnet-db-samples)
* [ODP.NET Discussion Forum](https://forums.oracle.com/ords/apexds/domain/dev-community/category/odp-dot-net)
* [YouTube](https://www.youtube.com/user/OracleDOTNETTeam)
* [X (Twitter)](https://twitter.com/oracledotnet)
* [Email Newsletter Sign Up](https://go.oracle.com/LP=28277?elqCampaignId=124071&nsl=onetdev)
## New Features
* Eliminate exception when using Transparent Application Failover (TAF) SELECT mode (starting with 23.5.1)
* BINARY Vector Support
* IsFloatingPointNumber Schema Table Column Support
* Data Source Allowed Parameters Support
* Allow UNC Paths Support
* OpenTelemetry: ActivitySource.Version Support
* OpenTelemetry: SQL Normalization Support
* OpenTelemetry: db.odp.user.statement Tag Support
* AutoProxy Support
* SSL-related OracleConnection Property Support
* Azure Credentials Support for Service Principal Authentication Flow
* SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS Support
## Bug Fixes since Oracle.ManagedDataAccess.Core 23.5.0
* Bug 37054477 - KEEPALIVE: TURNING ON KEEPALIVE SUCCEEDED BUT NO KEEPALIVE PACKAGES ON LINUX
* Bug 37013827 - PROVIDER SPECIFIC TYPE OBJECTS' TOSTRING() METHODS ARE NOT SENSITIVE TO SESSION'S NLS FORMAT SETTINGS
* Bug 36937681 - ORA-00917 MISSING COMMA ERROR WHEN USING Ø CHARACTER WITH CHARACTER SET ZHS16GBK
* Bug 36913251 - EXCEPTION THROWN WHEN ODPM/C 23AI CONFIGURED FOR TAF SELECT FAILOVER
* Bug 36831777 - LDAP: SPACE BETWEEN DIRECTORY SERVERS IN DIRECTORY_SERVERS CAUSES ORA-12154
* Bug 36736236 - SETTING THE PORT WHEN USING NOTIFICATIONS CAUSES ORA-50050: THE NOTIFICATION LISTENER IS ALREADY STARTED
* Bug 36656255 - STATEMENT CACHING NOT PROPERLY HANDLING UNDERLYING TABLE CHANGES
## Installation Changes
The following app/web.config entries are added when installing the managed ODP.NET NuGet package to your application:
1) Configuration Section Handler
A configuration section handler entry is added to the app/web.config to enable applications to add an <oracle.manageddataaccess.client>
section for ODP.NET, Managed Driver-specific configuration.
Note: For a web app, if the same config section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values are different, an error message "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be observed at runtime. To resolve the error, remove the "oracle.manageddataaccess.client" config section handler entry in the machine.config. If other applications on the machine depend on this machine.config entry, move the config section handler entry to each application's web.config file.
2) DbProviderFactories
The DbProviderFactories entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Any DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored.
3) Dependent Assembly
The dependent assembly entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll. It directs the app to always use the Oracle.ManagedDataAccess.dll version that is specified by the "newVersion" attribute in the "bindingRedirect" element. The "newVersion" attribute corresponds to the Oracle.ManagedDataAccess.dll version which came with the NuGet package.
4) Data Sources
The data sources entry is added to provide a template on how a data source can be configured in the app/web.config.
Simply rename the sample data source to an alias of your choosing; modify the PROTOCOL, HOST, PORT, SERVICE_NAME as required;
and un-comment the "dataSource" element. Once that is done, the alias can be used as the "data source" attribute in
your ODP.NET connection string.
Copyright (c) 2024, Oracle and/or its affiliates.

View File

@ -1,50 +0,0 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections xdt:Transform="InsertIfMissing">
</configSections>
<configSections xdt:Transform="InsertBefore(/configuration/*[1])">
</configSections>
<!-- remove existing entry -->
<configSections xdt:Locator="XPath(/configuration/configSections[last()])">
<section name="oracle.manageddataaccess.client" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</configSections>
<!-- insert new entry -->
<configSections xdt:Locator="XPath(/configuration/configSections[last()])">
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" xdt:Transform="Insert" />
</configSections>
<configSections xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
<!-- If system.data tag is absent -->
<system.data xdt:Transform="InsertIfMissing">
<DbProviderFactories>
</DbProviderFactories>
</system.data>
<!-- If system.data tag is present, but DbProviderFactories tag is absent -->
<system.data>
<DbProviderFactories xdt:Transform="InsertIfMissing">
</DbProviderFactories>
</system.data>
<!-- remove existing ODPM entry -->
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" xdt:Transform="Remove" xdt:Locator="Match(invariant)" />
<add name="ODP.NET, Managed Driver" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</DbProviderFactories>
</system.data>
<!-- add new ODPM entry -->
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" xdt:Transform="Insert"/>
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" xdt:Transform="Insert" />
</DbProviderFactories>
</system.data>
</configuration>

View File

@ -1,4 +0,0 @@
<configuration>
<configSections>
</configSections>
</configuration>

View File

@ -1,26 +0,0 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!-- remove existing entry -->
<configSections>
<section name="oracle.manageddataaccess.client" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</configSections>
<!-- remove if section is empty -->
<configSections xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
<!-- remove existing entry -->
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" xdt:Transform="Remove" xdt:Locator="Match(invariant)" />
<add name="ODP.NET, Managed Driver" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</DbProviderFactories>
</system.data>
<!-- remove if section is empty -->
<system.data>
<DbProviderFactories xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
</system.data>
<system.data xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
</configuration>

View File

@ -1,138 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="parameterDirection">
<xs:restriction base="xs:string">
<xs:enumeration value="Output"/>
<xs:enumeration value="InputOutput"/>
<xs:enumeration value="ReturnValue"/>
<xs:enumeration value="Implicit"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="customBoolean">
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ONSParameters">
<xs:restriction base="xs:string">
<xs:enumeration value="nodeList"/>
<!--<xs:enumeration value="walletFile"/>
<xs:enumeration value="walletPassword"/>-->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ONSModeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="local"/>
<xs:enumeration value="remote"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="datatype">
<xs:restriction base="xs:string">
<xs:enumeration value="System.Binary"/>
<xs:enumeration value="System.Boolean"/>
<xs:enumeration value="System.Byte"/>
<xs:enumeration value="System.Byte[]"/>
<xs:enumeration value="System.Char"/>
<xs:enumeration value="System.DateTime"/>
<xs:enumeration value="System.DateTimeOffset"/>
<xs:enumeration value="System.Decimal"/>
<xs:enumeration value="System.Double"/>
<xs:enumeration value="System.Guid"/>
<xs:enumeration value="System.Int16"/>
<xs:enumeration value="System.Int32"/>
<xs:enumeration value="System.Int64"/>
<xs:enumeration value="System.SByte"/>
<xs:enumeration value="System.Single"/>
<xs:enumeration value="System.String"/>
<xs:enumeration value="System.TimeSpan"/>
<xs:enumeration value="System.UInt16"/>
<xs:enumeration value="System.UInt32"/>
<xs:enumeration value="System.UInt64"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="providerType">
<xs:restriction base="xs:string">
<xs:enumeration value="BFile"/>
<xs:enumeration value="BinaryFloat"/>
<xs:enumeration value="BinaryDouble"/>
<xs:enumeration value="Blob"/>
<xs:enumeration value="Byte"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Clob"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Decimal"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="Int16"/>
<xs:enumeration value="Int32"/>
<xs:enumeration value="Int64"/>
<xs:enumeration value="IntervalDS"/>
<xs:enumeration value="IntervalYM"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="LongRaw"/>
<xs:enumeration value="NChar"/>
<xs:enumeration value="NClob"/>
<xs:enumeration value="NVarchar2"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Raw"/>
<xs:enumeration value="Single"/>
<xs:enumeration value="TimeStamp"/>
<xs:enumeration value="TimeStampLTZ"/>
<xs:enumeration value="TimeStampTZ"/>
<xs:enumeration value="Varchar2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nativeDataType">
<xs:restriction base="xs:string">
<xs:enumeration value="BFile"/>
<xs:enumeration value="Binary_Float"/>
<xs:enumeration value="Binary_Double"/>
<xs:enumeration value="Blob"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Clob"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Number"/>
<xs:enumeration value="Interval Day To Second"/>
<xs:enumeration value="Interval Year To Month"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="Long Raw"/>
<xs:enumeration value="NChar"/>
<xs:enumeration value="NClob"/>
<xs:enumeration value="NVarchar2"/>
<xs:enumeration value="Raw"/>
<xs:enumeration value="Rowid"/>
<xs:enumeration value="Timestamp"/>
<xs:enumeration value="Timestamp With Local Time Zone"/>
<xs:enumeration value="Timestamp With Time Zone"/>
<xs:enumeration value="URowid"/>
<xs:enumeration value="UserDefinedType"/>
<xs:enumeration value="Varchar2"/>
<xs:enumeration value="XmlType"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="providerDBType">
<xs:restriction base="xs:string">
<xs:enumeration value="AnsiString"/>
<xs:enumeration value="AnsiStringFixedLength"/>
<xs:enumeration value="Binary"/>
<xs:enumeration value="Byte"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="DateTime"/>
<xs:enumeration value="DateTimeOffset"/>
<xs:enumeration value="Decimal"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="Int16"/>
<xs:enumeration value="Int32"/>
<xs:enumeration value="Int64"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Single"/>
<xs:enumeration value="String"/>
<xs:enumeration value="StringFixedLength"/>
<xs:enumeration value="Time"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@ -1,221 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Oracle.DataAccess.Common.Configuration.Section.xsd"/>
<xs:element name="oracle.manageddataaccess.client" >
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="version" type="odpmversiontype" minOccurs="0" />
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="odpmversiontype">
<xs:complexContent>
<xs:extension base="odpmparameters">
<xs:attribute name="number" type="xs:string" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="odpmparameters">
<xs:all>
<xs:element minOccurs="0" name="settings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="udtMappings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="udtMapping">
<xs:complexType>
<xs:attribute name="typeName" type="xs:string" use="required" />
<xs:attribute name="factoryName" type="xs:string" use="required" />
<xs:attribute name="dataSource" type="xs:string" use="required" />
<xs:attribute name="schemaName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="LDAPsettings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="LDAPsetting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="distributedTransaction">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="dataSources">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="dataSource">
<xs:complexType>
<xs:attribute name="alias" type="xs:string" use="required" />
<xs:attribute name="descriptor" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="connectionPools">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="connectionPool">
<xs:complexType>
<xs:attribute name="connectionString" type="xs:string" use="required" />
<xs:attribute name="poolName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="edmMappings">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmMapping">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="precision" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="dataType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmNumberMapping">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
<xs:complexType>
<xs:attribute name="NETType" type="xs:string" use="required" />
<xs:attribute name="MinPrecision" type="xs:int" use="required" />
<xs:attribute name="MaxPrecision" type="xs:int" use="required" />
<xs:attribute name="DBType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="implicitRefCursor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="storedProcedure">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="refCursor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="1" name="bindInfo">
<xs:complexType>
<xs:attribute name="mode" type="parameterDirection" use="required" />
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="metadata">
<xs:complexType>
<xs:attribute name="columnOrdinal" type="xs:int" use="required" />
<xs:attribute name="columnName" type="xs:string" use="required" />
<xs:attribute name="baseColumnName" type="xs:string" use="optional" />
<xs:attribute name="baseSchemaName" type="xs:string" use="optional" />
<xs:attribute name="baseTableName" type="xs:string" use="optional" />
<xs:attribute name="providerType" type="providerType" use="optional" />
<xs:attribute name="columnSize" type="xs:int" use="optional" />
<xs:attribute name="numericPrecision" type="xs:int" use="optional" />
<xs:attribute name="numericScale" type="xs:int" use="optional" />
<xs:attribute name="isUnique" type="customBoolean" use="optional" />
<xs:attribute name="isKey" type="customBoolean" use="optional" />
<xs:attribute name="isRowID" type="customBoolean" use="optional" />
<xs:attribute name="dataType" type="datatype" use="optional" />
<xs:attribute name="allowDBNull" type="customBoolean" use="optional" />
<xs:attribute name="isAliased" type="customBoolean" use="optional" />
<xs:attribute name="isByteSemantic" type="customBoolean" use="optional" />
<xs:attribute name="isExpression" type="customBoolean" use="optional" />
<xs:attribute name="isHidden" type="customBoolean" use="optional" />
<xs:attribute name="isReadOnly" type="customBoolean" use="optional" />
<xs:attribute name="isLong" type="customBoolean" use="optional" />
<xs:attribute name="udtTypeName" type="xs:string" use="optional" />
<xs:attribute name="nativeDataType" type="nativeDataType" use="optional" />
<xs:attribute name="providerDBType" type="providerDBType" use="optional" />
<xs:attribute name="objectName" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="position" type="xs:int" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="schema" type="xs:string" use="optional" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="onsConfig">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="settings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="2" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ons">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="3" minOccurs="1" name="add">
<xs:complexType>
<xs:attribute name="name" type="ONSParameters" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="database" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="configFile" type="xs:string" use="optional" />
<xs:attribute name="mode" type="ONSModeValues" use="required" />
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>

View File

@ -1,50 +0,0 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections xdt:Transform="InsertIfMissing">
</configSections>
<configSections xdt:Transform="InsertBefore(/configuration/*[1])">
</configSections>
<!-- remove existing entry -->
<configSections xdt:Locator="XPath(/configuration/configSections[last()])">
<section name="oracle.manageddataaccess.client" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</configSections>
<!-- insert new entry -->
<configSections xdt:Locator="XPath(/configuration/configSections[last()])">
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" xdt:Transform="Insert" />
</configSections>
<configSections xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
<!-- If system.data tag is absent -->
<system.data xdt:Transform="InsertIfMissing">
<DbProviderFactories>
</DbProviderFactories>
</system.data>
<!-- If system.data tag is present, but DbProviderFactories tag is absent -->
<system.data>
<DbProviderFactories xdt:Transform="InsertIfMissing">
</DbProviderFactories>
</system.data>
<!-- remove existing ODPM entry -->
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" xdt:Transform="Remove" xdt:Locator="Match(invariant)" />
<add name="ODP.NET, Managed Driver" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</DbProviderFactories>
</system.data>
<!-- add new ODPM entry -->
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" xdt:Transform="Insert"/>
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" xdt:Transform="Insert" />
</DbProviderFactories>
</system.data>
</configuration>

View File

@ -1,4 +0,0 @@
<configuration>
<configSections>
</configSections>
</configuration>

View File

@ -1,26 +0,0 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!-- remove existing entry -->
<configSections>
<section name="oracle.manageddataaccess.client" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</configSections>
<!-- remove if section is empty -->
<configSections xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
<!-- remove existing entry -->
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" xdt:Transform="Remove" xdt:Locator="Match(invariant)" />
<add name="ODP.NET, Managed Driver" xdt:Transform="Remove" xdt:Locator="Match(name)" />
</DbProviderFactories>
</system.data>
<!-- remove if section is empty -->
<system.data>
<DbProviderFactories xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
</system.data>
<system.data xdt:Transform="RemoveAll" xdt:Locator="Condition(count(*)=0)" />
</configuration>

View File

@ -1,296 +0,0 @@
The following software may be included in Oracle Data Provider for .NET:
Kerberos
Copyright (C) 1985-2010 by the Massachusetts Institute of Technology.
All rights reserved.
Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Furthermore if you modify this software you must label your software as modified software and not distribute it in such a fashion that it might be confused with the original MIT software. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Individual source code files are copyright MIT, Cygnus Support, Novell, OpenVision Technologies, Oracle, Red Hat, Sun Microsystems, FundsXpress, and others.
Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, and Zephyr are trademarks of the Massachusetts Institute of Technology (MIT). No commercial use of these trademarks may be made without prior written permission of MIT.
"Commercial use" means use of a name in a product or other for-profit manner. It does NOT prevent a commercial firm from referring to the MIT trademarks in order to convey information (although in doing so, recognition of their trademark status should be given).
-----------------------------------------
Portions of src/lib/crypto have the following copyright:
Copyright (C) 1998 by the FundsXpress, INC.
All rights reserved.
Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of FundsXpress. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. FundsXpress makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-----------------------------------------
The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions of lib/rpc:
Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the OpenVision Kerberos administration system.
You may freely use and distribute the Source Code and Object Code compiled from it, with or without modification, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.
OpenVision retains all copyrights in the donated Source Code. OpenVision also retains copyright to derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code.
OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.
-----------------------------------------
Portions contributed by Matt Crawford <crawdad@fnal.gov> were work performed at Fermi National Accelerator Laboratory, which is operated by Universities Research Association, Inc., under contract DE-AC02-76CHO3000 with the U.S. Department of Energy.
-----------------------------------------
The implementation of the Yarrow pseudo-random number generator in src/lib/crypto/yarrow has the following copyright:
Copyright 2000 by Zero-Knowledge Systems, Inc.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Zero-Knowledge Systems, Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Zero-Knowledge Systems, Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-----------------------------------------
The implementation of the AES encryption algorithm in src/lib/crypto/aes has the following copyright:
Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK. All rights reserved.
LICENSE TERMS
The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:
1. distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;
2. distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;
3. the copyright holder's name is not used to endorse products built using this software without specific written permission.
DISCLAIMER
This software is provided 'as is' with no explicit or implied warranties in respect of any properties, including, but not limited to, correctness and fitness for purpose.
-----------------------------------------
Portions contributed by Red Hat, including the pre-authentication plug-ins framework, contain the following copyright:
Copyright (c) 2006 Red Hat, Inc.
Portions copyright (c) 2006 Massachusetts Institute of Technology
All Rights Reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Red Hat, Inc., nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------
The implementations of GSSAPI mechglue in GSSAPI-SPNEGO in src/lib/gssapi, including the following files:
lib/gssapi/generic/gssapi_err_generic.et
lib/gssapi/mechglue/g_accept_sec_context.c
lib/gssapi/mechglue/g_acquire_cred.c
lib/gssapi/mechglue/g_canon_name.c
lib/gssapi/mechglue/g_compare_name.c
lib/gssapi/mechglue/g_context_time.c
lib/gssapi/mechglue/g_delete_sec_context.c
lib/gssapi/mechglue/g_dsp_name.c
lib/gssapi/mechglue/g_dsp_status.c
lib/gssapi/mechglue/g_dup_name.c
lib/gssapi/mechglue/g_exp_sec_context.c
lib/gssapi/mechglue/g_export_name.c
lib/gssapi/mechglue/g_glue.c
lib/gssapi/mechglue/g_imp_name.c
lib/gssapi/mechglue/g_imp_sec_context.c
lib/gssapi/mechglue/g_init_sec_context.c
lib/gssapi/mechglue/g_initialize.c
lib/gssapi/mechglue/g_inquire_context.c
lib/gssapi/mechglue/g_inquire_cred.c
lib/gssapi/mechglue/g_inquire_names.c
lib/gssapi/mechglue/g_process_context.c
lib/gssapi/mechglue/g_rel_buffer.c
lib/gssapi/mechglue/g_rel_cred.c
lib/gssapi/mechglue/g_rel_name.c
lib/gssapi/mechglue/g_rel_oid_set.c
lib/gssapi/mechglue/g_seal.c
lib/gssapi/mechglue/g_sign.c
lib/gssapi/mechglue/g_store_cred.c
lib/gssapi/mechglue/g_unseal.c
lib/gssapi/mechglue/g_userok.c
lib/gssapi/mechglue/g_utils.c
lib/gssapi/mechglue/g_verify.c
lib/gssapi/mechglue/gssd_pname_to_uid.c
lib/gssapi/mechglue/mglueP.h
lib/gssapi/mechglue/oid_ops.c
lib/gssapi/spnego/gssapiP_spnego.h
lib/gssapi/spnego/spnego_mech.c
and the initial implementation of incremental propagation, including the following new or changed files:
include/iprop_hdr.h
kadmin/server/ipropd_svc.c
lib/kdb/iprop.x
lib/kdb/kdb_convert.c
lib/kdb/kdb_log.clib/kdb/kdb_log.h
lib/krb5/error_tables/kdb5_err.et
slave/kpropd_rpc.c
slave/kproplog.c
and marked portions of the following files:
lib/krb5/os/hst_realm.c
are subject to the following license:
Copyright (c) 2004 Sun Microsystems, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-----------------------------------------
MIT Kerberos includes documentation and software developed at the University of California at Berkeley, which includes this copyright notice:
Copyright (C) 1983 Regents of the University of California.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------
Portions contributed by Novell, Inc., including the LDAP database backend, are subject to the following license:
Copyright (c) 2004-2005, Novell, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
The copyright holder's name is not used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------
Portions funded by Sandia National Laboratory and developed by the University of Michigan's Center for Information Technology Integration, including the PKINIT implementation, are subject to the following license:
COPYRIGHT (C) 2006-2007
THE REGENTS OF THE UNIVERSITY OF MICHIGAN
ALL RIGHTS RESERVED
Permission is granted to use, copy, create derivative works and redistribute this software and such derivative works for any purpose, so long as the name of The University of Michigan is not used in any advertising or publicity pertaining to the use of distribution of this software without specific, written prior authorization. If the above copyright notice or any other identification of the University of Michigan is included in any copy of any portion of this software, then the disclaimer below must also be included.
THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-----------------------------------------
The pkcs11.h file included in the PKINIT code has the following license:
Copyright 2006 g10 Code GmbH
Copyright 2006 Andreas Jellinghaus
This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved.
This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------------------------------------
Portions contributed by Apple Inc. are subject to the following license:
Copyright 2004-2008 Apple Inc. All Rights Reserved.
Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Apple Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Apple Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
THIS SOFTWARE IS PROVIDED "AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-----------------------------------------
The implementations of strlcpy and strlcat in src/util/support/strlcat.c have the following copyright and permission notice:
Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-----------------------------------------
The implementations of UTF-8 string handling in src/util/support and src/lib/krb5/unicode are subject to the following copyright and permission notice:
The OpenLDAP Public License
Version 2.8, 17 August 2003
Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
Redistributions in source form must retain copyright statements and notices,
Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and
Redistributions must contain a verbatim copy of this document.
The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license.
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS "AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted.
-----------------------------------------
Marked test programs in src/lib/krb5/krb have the following copyright:
Copyright (c) 2006 Kungliga Tekniska Högskolan
(Royal Institute of Technology, Stockholm, Sweden).
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of KTH nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB