Commit f36d1d7b LN

所有的料盘都去XRay拍照,增加查询界面

1 个父辈 bb31ab79
<?xml version="1.0"?>
<doc>
<assembly>
<name>Retrospect</name>
</assembly>
<members>
<member name="T:BLL.SQLite">
<summary>
SQLite数据库
</summary>
</member>
<member name="M:BLL.SQLite.#ctor(System.String)">
<summary>
SQLite数据库
</summary>
<param name="path"></param>
</member>
<member name="P:BLL.SQLite.IsCon">
<summary>
是否连接
</summary>
</member>
<member name="P:BLL.SQLite.ErrInfo">
<summary>
错误信息
</summary>
</member>
<member name="M:BLL.SQLite.Create">
<summary>
创建数据库
</summary>
<returns></returns>
</member>
<member name="M:BLL.SQLite.Connect">
<summary>
连接到数据库
</summary>
<returns></returns>
</member>
<member name="M:BLL.SQLite.Close">
<summary>
关闭连接数据库
</summary>
</member>
<member name="M:BLL.SQLite.Insert(System.String,System.Int32,System.Int32,System.Int32,System.String)">
<summary>
插入数据
</summary>
<param name="qrCode"></param>
<param name="width"></param>
<param name="height"></param>
<param name="count"></param>
<param name="imagePath"></param>
<returns></returns>
</member>
<member name="M:BLL.SQLite.Select(System.String,System.String,System.String,System.String[][]@)">
<summary>
查询数据
</summary>
<param name="qrcode"></param>
<param name="dataLower"></param>
<param name="dataUpper"></param>
<param name="data"></param>
<returns></returns>
</member>
</members>
</doc>
<?xml version="1.0"?>
<!--
*
* System.Data.SQLite.dll.config -
*
* Written by Joe Mistachkin.
* Released to the public domain, use at your own risk!
*
-->
<configuration>
<appSettings>
<!--
****************************************************************************
** Special Replacement Tokens **
****************************************************************************
-->
<!--
NOTE: %PreLoadSQLite_AssemblyDirectory% - If this token (which is
case-sensitive and must include the percent characters) is
present within a setting value being returned, it will be
replaced with the qualified name of the directory containing the
System.Data.SQLite assembly. If the name of the directory is not
available, the token will not be replaced.
NOTE: %PreLoadSQLite_TargetFramework% - If this token (which is
case-sensitive and must include the percent characters) is
present within a setting value being returned, it will be
replaced with an abbreviation of the target framework attribute
value for the System.Data.SQLite assembly. If the target
framework attribute value is not available, the token will not be
replaced.
NOTE: %PreLoadSQLite_XmlConfigDirectory% - If this token (which is
case-sensitive and must include the percent characters) is
present within a setting value being returned, it will be
replaced with the qualified name of the directory containing the
XML configuration file. If the name of the directory is not
available, the token will not be replaced. Generally, this token
may only be used within the XML configuration file itself.
-->
<!--
****************************************************************************
** Configuration Settings **
****************************************************************************
-->
<!--
NOTE: If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.Linq.SQLiteProviderManifest class
(and the System.Data.SQLite.EF6.SQLiteProviderManifest class) to
modify future provider manifest tokens by appending the value of
the environment variable to the existing provider manifest token,
if any. Typically, in order for the constructed provider
manifest token to be syntactically correct, the environment
variable value [to be appended] must begin with a semicolon.
-->
<!--
<add key="AppendManifestToken_SQLiteProviderManifest" value="" />
-->
<!--
NOTE: If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteConnection class as the
default flags for all opened connections (i.e. when they are
not present in the connection string).
-->
<!--
<add key="DefaultFlags_SQLiteConnection" value="" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the SQLite
logging subsystem will be initially disabled when initialized.
-->
<!--
<add key="Disable_SQLiteLog" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the SQLite
logging subsystem may be initialized in a non-default application
domain. By default, this is not allowed due to the potential
for application domain unloading issues.
-->
<!--
<add key="Force_SQLiteLog" value="1" />
-->
<!--
NOTE: If this environment variable is set [to anything], the SQLite
logging subsystem will attempt to perform initialization even
when an attempt was previously made.
-->
<!--
<add key="Initialize_SQLiteLog" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the native
library pre-loading functionality will be disabled. By default,
the native library pre-loading will attempt to load the native
SQLite library from architecture-specific (e.g. "x86", "amd64",
"x64") or platform-specific (e.g. "Win32") directories that
reside underneath the application base directory.
-->
<!--
<add key="No_PreLoadSQLite" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the new
connection string parsing algorithm will not be used. This
environment variable is intended for use with legacy code only.
-->
<!--
<add key="No_SQLiteConnectionNewParser" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the initial
search for types in all loaded assemblies that are tagged with
the SQLiteFunction attribute will be skipped. Normally, this
search is conducted only once per application domain by the
static constructor of the SQLiteFunction class; however, these
implementation details are subject to change.
-->
<!--
<add key="No_SQLiteFunctions" value="1" />
-->
<!--
NOTE: If this environment variable is set [to anything], all calls to
the GetSettingValue method will return the default value. This
will effectively prevent all other setting values from having any
effect, including those specified via other supported environment
variables or in the associated XML configuration file.
SPECIAL NOTE: This setting is included here only for completeness; it
does not make any sense to use it here as it will never
be consulted. For this setting to work properly, it must
be set via an environment variable.
-->
<!--
<add key="No_SQLiteGetSettingValue" value="1" />
-->
<!--
NOTE: If this environment variable is set [to anything], calls to the
GetSettingValue method will never result in the XML configuration
file being read; instead, the default value will be returned.
This will effectively prevent any setting values specified via
the XML configuration file from having any effect.
SPECIAL NOTE: This setting is included here only for completeness; it
does not make any sense to use it here as it will never
be consulted. For this setting to work properly, it must
be set via an environment variable.
-->
<!--
<add key="No_SQLiteXmlConfigFile" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the base
directory itself is considered valid for pre-loading the native
SQLite library.
-->
<!--
<add key="PreLoadSQLite_AllowBaseDirectoryOnly" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], it will be
used instead of the application base directory by the native
library pre-loader. This environment variable can be especially
useful in ASP.NET and other hosted environments where direct
control of the location of the managed assemblies is not under
the control of the application.
-->
<!--
<add key="PreLoadSQLite_BaseDirectory" value="" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the native
library pre-loader subsystem will attempt to give the interactive
user an opportunity to attach a debugger to the current process.
-->
<!--
<add key="PreLoadSQLite_BreakIntoDebugger" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], it will be
used as the base file name (without directory information) for
the native SQLite library to be pre-loaded (e.g. "sqlite3.dll"
or "libsqlite3.so.0").
-->
<!--
<add key="PreLoadSQLite_LibraryFileNameOnly" value="" />
-->
<!--
NOTE: If this configuration variable is set [to anything], it will be
used instead of the processor architecture value contained in the
PROCESSOR_ARCHITECTURE environment variable to help build the
path of the native library to pre-load.
-->
<!--
<add key="PreLoadSQLite_ProcessorArchitecture" value="x86" />
-->
<!--
NOTE: If this environment variable is set [to anything], the native
library pre-loading code will skip conducting a search for the
native library to pre-load. By default, the search starts in the
location of the currently executing assembly (i.e. the assembly
containing all the managed components for System.Data.SQLite) and
then falls back to the application domain base directory.
-->
<!--
<add key="PreLoadSQLite_NoSearchForDirectory" value="1" />
-->
<!--
NOTE: If this configuration variable is set [to anything], the location
of the currently executing assembly (i.e. the one containing all
the managed components for System.Data.SQLite) will be used as
the basis for locating the the native library to pre-load (i.e.
instead of using the application domain base directory).
-->
<!--
<add key="PreLoadSQLite_UseAssemblyDirectory" value="1" />
-->
<!--
NOTE: This configuration variable is normally set by the operating
system itself and should reflect the native processor
architecture of the current process (e.g. a 32-bit x86
application running on a 64-bit x64 operating system should have
the value "x86").
-->
<!--
<add key="PROCESSOR_ARCHITECTURE" value="%PROCESSOR_ARCHITECTURE%" />
-->
<!--
NOTE: If this environment variable is set [to anything], all calls to
prepare a SQL query will be logged, regardless of the flags for
the associated connection.
-->
<!--
<add key="SQLite_ForceLogPrepare" value="1" />
-->
<!--
NOTE: If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteFactory class as the type
name containing the System.Data.Common.DbProviderServices
implementation that should be used.
-->
<!--
<add key="TypeName_SQLiteProviderServices" value="" />
-->
<!--
NOTE: If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteConvert class as the default
DbType value that should be used when a per-connection value is
not available.
-->
<!--
<add key="Use_SQLiteConvert_DefaultDbType" value="Object" />
-->
<!--
NOTE: If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteConvert class as the default
type name that should be used when a per-connection value is not
available.
-->
<!--
<add key="Use_SQLiteConvert_DefaultTypeName" value="" />
-->
</appSettings>
</configuration>
此文件的差异太大,无法显示。
......@@ -51,6 +51,7 @@
<add key ="XRay_Data" value ="2020-6-2"/>
<add key ="ThresholdValue" value ="30"/>
<add key ="CounParamConfig" value ="\XRAY\countParam.csv"/>
<add key ="DataPath" value ="\data\DB.db3"/>
</appSettings>
<log4net>
......
......@@ -79,12 +79,16 @@
<Reference Include="log4net">
<HintPath>..\..\dll\log4net.dll</HintPath>
</Reference>
<Reference Include="Retrospect">
<HintPath>..\..\dll\database\Retrospect.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Management" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms.DataVisualization" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
......@@ -105,6 +109,12 @@
<Compile Include="agvtest\FrmAgvTest.Designer.cs">
<DependentUpon>FrmAgvTest.cs</DependentUpon>
</Compile>
<Compile Include="FrmAnalyze.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmAnalyze.Designer.cs">
<DependentUpon>FrmAnalyze.cs</DependentUpon>
</Compile>
<Compile Include="useControl\AxisMoveControl.cs">
<SubType>UserControl</SubType>
</Compile>
......@@ -165,6 +175,9 @@
<EmbeddedResource Include="agvtest\FrmAgvTest.resx">
<DependentUpon>FrmAgvTest.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmAnalyze.resx">
<DependentUpon>FrmAnalyze.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="useControl\AxisMoveControl.resx">
<DependentUpon>AxisMoveControl.cs</DependentUpon>
</EmbeddedResource>
......@@ -202,6 +215,9 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="data\DB.db3">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
......
namespace OnlineStore.AutoCountClient
{
partial class FrmAnalyze
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAnalyze));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.panel2 = new System.Windows.Forms.Panel();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column_Num = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column_Code = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column_Width = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column_Height = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column_ImageName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.txtCode = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.btnBack = new System.Windows.Forms.Button();
this.btnSearch = new System.Windows.Forms.Button();
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
this.label3 = new System.Windows.Forms.Label();
this.dtpStartTime = new System.Windows.Forms.DateTimePicker();
this.label2 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.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.groupBox1.Controls.Add(this.panel2);
this.groupBox1.Controls.Add(this.txtCode);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.btnBack);
this.groupBox1.Controls.Add(this.btnSearch);
this.groupBox1.Controls.Add(this.dtpEndTime);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.dtpStartTime);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.Location = new System.Drawing.Point(5, 6);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(1059, 586);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "查看点料记录";
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.panel2.Controls.Add(this.dataGridView1);
this.panel2.Location = new System.Drawing.Point(8, 31);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(777, 548);
this.panel2.TabIndex = 18;
//
// dataGridView1
//
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column_Num,
this.Column_Code,
this.Column_Width,
this.Column_Height,
this.Column_ImageName});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(777, 548);
this.dataGridView1.TabIndex = 0;
//
// Column_Num
//
this.Column_Num.HeaderText = "编号";
this.Column_Num.Name = "Column_Num";
this.Column_Num.ReadOnly = true;
this.Column_Num.Width = 80;
//
// Column_Code
//
this.Column_Code.HeaderText = "条码";
this.Column_Code.Name = "Column_Code";
this.Column_Code.ReadOnly = true;
this.Column_Code.Width = 200;
//
// Column_Width
//
this.Column_Width.HeaderText = "宽度";
this.Column_Width.Name = "Column_Width";
this.Column_Width.ReadOnly = true;
this.Column_Width.Width = 80;
//
// Column_Height
//
this.Column_Height.HeaderText = "高度";
this.Column_Height.Name = "Column_Height";
this.Column_Height.ReadOnly = true;
this.Column_Height.Width = 80;
//
// Column_ImageName
//
this.Column_ImageName.HeaderText = "图片名称";
this.Column_ImageName.Name = "Column_ImageName";
this.Column_ImageName.ReadOnly = true;
this.Column_ImageName.Width = 250;
//
// txtCode
//
this.txtCode.Location = new System.Drawing.Point(866, 142);
this.txtCode.Name = "txtCode";
this.txtCode.Size = new System.Drawing.Size(172, 26);
this.txtCode.TabIndex = 17;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(820, 145);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(40, 20);
this.label1.TabIndex = 16;
this.label1.Text = "条码:";
//
// btnBack
//
this.btnBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBack.Location = new System.Drawing.Point(884, 264);
this.btnBack.Name = "btnBack";
this.btnBack.Size = new System.Drawing.Size(114, 35);
this.btnBack.TabIndex = 15;
this.btnBack.Text = "返回";
this.btnBack.UseVisualStyleBackColor = true;
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
//
// btnSearch
//
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSearch.Location = new System.Drawing.Point(884, 200);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(114, 35);
this.btnSearch.TabIndex = 7;
this.btnSearch.Text = "查询";
this.btnSearch.UseVisualStyleBackColor = true;
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// dtpEndTime
//
this.dtpEndTime.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.dtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEndTime.Location = new System.Drawing.Point(866, 91);
this.dtpEndTime.Name = "dtpEndTime";
this.dtpEndTime.Size = new System.Drawing.Size(172, 26);
this.dtpEndTime.TabIndex = 5;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(796, 94);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(68, 20);
this.label3.TabIndex = 4;
this.label3.Text = "结束时间:";
//
// dtpStartTime
//
this.dtpStartTime.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.dtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpStartTime.Location = new System.Drawing.Point(866, 40);
this.dtpStartTime.Name = "dtpStartTime";
this.dtpStartTime.Size = new System.Drawing.Size(172, 26);
this.dtpStartTime.TabIndex = 3;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(796, 43);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(68, 20);
this.label2.TabIndex = 1;
this.label2.Text = "开始时间:";
//
// FrmAnalyze
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1070, 598);
this.Controls.Add(this.groupBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmAnalyze";
this.Text = "历史记录";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.FrmAnalyze_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnSearch;
private System.Windows.Forms.DateTimePicker dtpEndTime;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.DateTimePicker dtpStartTime;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button btnBack;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.TextBox txtCode;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column_Num;
private System.Windows.Forms.DataGridViewTextBoxColumn Column_Code;
private System.Windows.Forms.DataGridViewTextBoxColumn Column_Width;
private System.Windows.Forms.DataGridViewTextBoxColumn Column_Height;
private System.Windows.Forms.DataGridViewTextBoxColumn Column_ImageName;
}
}
\ No newline at end of file

using OnlineStore.Common;
using OnlineStore.DeviceLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.AutoCountClient
{
partial class FrmAnalyze : FrmBase
{
public FrmAnalyze()
{
InitializeComponent();
}
public static DateTime PreStartTime = new DateTime(0);
public static DateTime PreEndTime = new DateTime(0);
private void FrmAnalyze_Load(object sender, EventArgs e)
{
if (PreStartTime.Ticks > 0 && PreEndTime.Ticks > 0)
{
dtpStartTime.Value = PreStartTime;
dtpEndTime.Value = PreEndTime;
}
else
{
DateTime time1 = DateTime.Now.AddDays(-4);
dtpStartTime.Value = new DateTime(time1.Year, time1.Month, time1.Day, 0, 0, 0);
DateTime time = DateTime.Now.AddDays(-1);
dtpEndTime.Value = new DateTime(time.Year, time.Month, time.Day, 23, 59, 59);
dtpEndTime.Value = DateTime.Now;
}
}
private void btnSearch_Click(object sender, EventArgs e)
{
DateTime startTime = dtpStartTime.Value;
DateTime endTime = dtpEndTime.Value;
if (startTime < DateTime.Now.AddDays(-30))
{
MessageBox.Show("只能查询近30天的日志!");
dtpStartTime.Focus();
return;
}
if (endTime > DateTime.Now)
{
MessageBox.Show("只能查询近今天之前的日志!");
dtpEndTime.Focus();
return;
}
PreStartTime = startTime;
PreEndTime = endTime;
string code = txtCode.Text.Trim();
string[][] array = null;
bool result = RobotManager.robot.sQLite.Select(code, startTime.ToString(), endTime.ToLongTimeString(), out array);
LogUtil.error("查数据【" + code + "】【" + startTime.ToString() + "】【" + endTime.ToLongTimeString() + "】结果:" + result + "," + RobotManager.robot.sQLite.ErrInfo);
if (array != null && array.Length > 0)
{
}
}
private void btnBack_Click(object sender, EventArgs e)
{
this.Close();
}
}
public class XRayHistory
{
public string Code = "";
public int Height = 0;
public int Width = 0;
public int Count = 0;
public string FileName = "";
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column_Num.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_Code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_Width.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_Height.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_ImageName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA
AABZPT3QWT09/1g8PP9YPDz/WDw8/1g8Pf9YPD3/WDw9/1g8Pf9YPD3/WDw9/1g8Pf9YPD3/WDw9/1g8
Pf9YPD3/WDw9/1g8Pf9YPD3/WDw9/1g8Pf9YPD3/WDw9/1k9Pf9ZPT3/WT09/1g9Pf9YPT3/WD09/1g9
Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9
Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9Pf9YPT3/WD09/1g9
Pf9YPT3/WT09/1k9Pf9ZPT3RWT09/lo+Pv9hRkb/Y0hI/2NHRP9jRkP/Y0ZD/2NGQ/9jRkP/Y0ZD/2NG
Q/9jRkP/Y0ZD/2NGQ/9jRkP/Y0ZD/2NGQ/9jRkP/Y0ZD/2NGQ/9jRkP/Y0ZD/2NGQ/9eQUD/WT09/1w+
PP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BA
PP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BAPP9gQDz/YEA8/2BA
PP9gQDz/YEA8/2BAPP9gQDz/YEA8/18/PP9ZPT3/WT09/lg8PP9hRkb/w7m5/9/Z2f/dw6H/3bqI/926
iv/duor/3bqK/926iv/duor/3bqK/926iv/duor/3bqK/926iv/duor/3bqK/926iv/duor/3bqK/926
iv/evIv/l3hh/1U6PP+BTDX/umIr/7piK/+6Yiv/umIr/7piK/+6Yiv/umIr/7piK/+6Yiv/umIr/7pi
K/+6Yiv/umIr/7piK/+6Yiv/umIr/7piK/+6Yiv/umIr/7piK/+6Yiv/umIr/7piK/+6Yiv/umIr/7pi
K/+6Yiv/umIr/7piK/+6Yiv/umIr/7piK/+6Yiv/umIr/7tiKv+mWi7/Xz88/1k9Pf9YPDz/Y0hI/97Y
2P///////+e7///bnf//3J7//9ye///cnv//3J7//9ye///cnv//3J7//9ye///cnv//3J7//9ye///c
nv//3J7//9ye///cnv//3J7//96f/6eIa/9UOjz/i1Az/9RsJv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9Rs
Jv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9Rs
Jv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9RsJv/UbCb/1Gwm/9RsJv/VbCX/u2Iq/2BA
PP9YPT3/WDw8/2NISP/d2Nj///////7lu//+2Zv//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3djY///////+5bv//tmb//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf//3J7/p4dq/1Q6
PP+LUDT/02sm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/93Y2P///////uW7//7Z
m//+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NI
SP/d2Nj///////7lu//+2Zv//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/1Gwm/7pi
K/9gQDz/WD09/1g8PP9jSEj/3djY///////+5bv//tmb//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf//3J7/p4dq/1Q6PP+LUDT/02sm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/93Y2P///////uW7//7Zm//+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//9ye/6eH
av9UOjz/i1A0/9NrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d2Nj///////7l
u//+2Zv//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/1Gwm/7piK/9gQDz/WD09/1g8
PP9jSEj/3djY///////+5bv//tmb//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Rs
Jv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/93Y2P///////uW7//7Zm//+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//9ye/6eHav9UOjz/i1A0/9Nr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d2Nj///////7lu//+2Zv//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd///c
nv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3djY////
///+5bv//tmb//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9RsJv+6Yiv/YEA8/1g9
Pf9YPDz/Y0hI/93Y2P///////uW7//7Zm//+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d2Nj///////7lu//+2Zv//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd///cnv+nh2r/VDo8/4tQ
NP/Tayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3djY////////5rv//9yd///d
n///3J7//tud//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Tayb/02sm/9Jr
Jv/Sayb/1Gwm/9RsJv/Tayb/0Wsm/85qJ//Rayb/0msm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/93Y
2P//////xa+Z/6yMbP/Do3z/2beI//PQl//+253//9ue///cnv//3Z///9ye//7bnf/+2p3//tqd//7a
nf/+2p3//tqd//7anf/+2p3//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/02sm/9NrJv/UbCb/02sm/9JrJv/Tayb/0msm/89q
J//LaCf/xWYp/8VmKP/Rayb/0Wsm/7BeLP+YVTL/jFE0/4JNNf95STf/rV0t/9NsJv/UbCb/umIr/2BA
PP9YPT3/WDw8/2NISP/e2Nj//v7+/4p2d/9vQjT/eko4/2pHP/+yknH//dmc/7qZdf+pim3/waF7/9i2
iP/10pj//tud//7bnf//3J7//92f///cnv/+253//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/9RsJv/UbCb/0msm/9JrJv/Rayb/zGkn/8ZnKP+/ZCr/t2Er/8Zm
KP/UbCb/vGMq/4hPNP99Szb/dkc2/3BEN/93SDf/yGco/8tpJ/9zRzf/ekMq/5BHH/+aSRn/c0Eu/5hV
Mf/UbCb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3tjY//7+/v+Ld3f/pFcr/9BqJv+KTjH/pYZq//bT
mf97XE//eUc0/31LN/9qSED/w6J7///bnv+6mXX/o4Vp/72def/Vs4b/89CX//7anf//3J7/p4dq/1Q6
PP+LUDT/02sm/9JrJv/Sayb/0msm/9BqJv/CZSn/uGEr/65eLf+jWS//pVov/81pJ//Qaib/lVQy/3ZI
N/9yRTb/cUQ0/2VAOP+YVTH/1mwl/6RaL/9sQDL/oEoW/6xMEP+jShT/b0Q2/8RmKf/LaCf/dUc2/69N
D//OUwD/zVIA/4ZFJf+YVjL/1Gwm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/97Y2P/+/v7/i3d3/6RX
K//WbCX/kFAx/6WHa//205n/f15P/7JeKv/Qaib/gEs0/7iYdv/82Jz/g2RV/3RENP97Sjf/aEY+/7iX
dP//3J7//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9RsJv+0YCz/bEQ4/29CNP9zQjD/dEIv/2hC
Of/AZCn/zmon/3ZIN/+QRh7/s00N/7tPCP+GRST/kVMz/9ZsJf+kWi//fUQq/8tSAf/OUwD/uE4K/3JF
Nf/EZin/y2gn/3VHNv+uTA//zVIA/8tSAP+FRSX/mVYy/9RsJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NI
SP/e2Nj//v7+/4t3d/+kVyv/1mwl/49QMf+lh2v/9tOZ/39eT/+yXir/02wm/4NMNP+4mXb/+9ic/4Vm
Vf+qWiz/0Wsm/4ZNMv+sjW///9ye///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/UbCb/qlwu/3NC
L/+7Twn/xVED/7lPCf9xRDT/v2Qq/85qJ/94SDb/qksS/85TAP/NUgD/jEYh/5FTM//WbCX/pFov/31E
Kv/JUgH/zFIA/7dOCv9yRTX/xGYp/8toJ/91Rzb/rkwP/81SAP/LUgD/hUUl/5lWMv/UbCb/1Gwm/7pi
K/9gQDz/WD09/1g8PP9jSEj/3tjY//7+/v+Ld3f/pFcr/9ZsJf+PUDH/pYdr//bTmf9/Xk//sl4q/9Nr
Jv+DTDT/uJl2//vYnP+FZlX/qlos/9VsJf+KTzL/rI5v///cnv//3J7/p4dq/1Q6PP+LUDT/02sm/9Jr
Jv/Sayb/1Gwm/6tcLv95Qy3/yFEC/81SAP+8Twj/cUQ0/79kKv/Oaif/eEg2/6hLEv/NUgD/zFIA/4tG
If+SUzP/1mwl/6RaL/99RCr/yVIB/8xSAP+3Tgr/ckU1/8RmKf/LaCf/dUc2/65MD//NUgD/y1IA/4VF
Jf+ZVjL/1Gwm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/97Y2P/+/v7/i3d3/6RXK//WbCX/j1Ax/6WH
a//205n/f15P/7JeKv/Tayb/g0w0/7iZdv/72Jz/hWZV/6paLP/VbCX/ik4y/6yOb///3J7//9ye/6eH
av9UOjz/i1A0/9NrJv/Sayb/0msm/9RsJv+rXC7/eEMt/8dRAv/MUgD/vE8I/3FENP+/ZCr/zmon/3hI
Nv+oSxL/zVIA/8xSAP+LRiH/klMz/9ZsJf+kWi//fUQq/8lSAf/MUgD/t04K/3JFNf/EZin/y2gn/3VH
Nv+uTA//zVIA/8tSAP+FRSX/mVYy/9RsJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/e2Nj//v7+/4t3
d/+kVyv/1mwl/49QMf+lh2v/9tOZ/39eT/+yXir/02sm/4NMNP+4mXb/+9ic/4VmVf+qWiz/1Wwl/4pO
Mv+sjm///9ye///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/UbCb/q1wu/3hDLf/HUQL/zFIA/7xP
CP9xRDT/v2Qq/85qJ/94SDb/qEsS/81SAP/MUgD/i0Yh/5JTM//WbCX/pFov/31EKv/JUgH/zFIA/7dO
Cv9yRTX/xGYp/8toJ/91Rzb/rkwP/81SAP/LUgD/hUUl/5lWMv/UbCb/1Gwm/7piK/9gQDz/WD09/1g8
PP9jSEj/3tjY//7+/v+Ld3f/pVgr/9ZsJf+PUDH/pYdr//bTmf9/Xk//sl4q/9NrJv+DTDT/uJl2//vY
nP+FZlX/qlos/9VsJf+KTjL/rI5v///cnv//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/1Gwm/6tc
Lv94Qy3/x1EC/8xSAP+8Twj/cUQ0/79kKv/Oaif/eEg2/6hLEv/NUgD/zFIA/4tGIf+SUzP/1mwl/6Ra
L/99RCr/yVIB/8xSAP+3Tgr/ckU1/8RmKf/LaCf/dUc2/69MD//NUgD/zVIA/4ZFJf+YVjL/1Gwm/9Rs
Jv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/97Y2P/+/v7/inZ2/5xULP/Sayb/kFAx/6WHa//205n/f15P/7Je
Kv/Tayb/g0w0/7iZdv/72Jz/hWZV/6paLP/VbCX/ik4y/6yOb///3J7//9ye/6eHav9UOjz/i1A0/9Nr
Jv/Sayb/0msm/9RsJv+rXC7/eEMt/8dRAv/MUgD/vE8I/3FENP+/ZCr/zmon/3hINv+oSxL/zVIA/8xS
AP+LRiH/klMz/9ZsJf+kWi//fUQq/8lSAf/NUgD/uE4K/3JFNf/EZin/y2gn/3VHNv+qTBH/wFAG/7NN
DP93Qiz/mFUx/9RsJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d2Nj//////6SPhv9wTED/fkw3/2xB
Nf+lhmr/9tOZ/35eT/+zXir/1Wwl/4NNNP+4mXb/+9ic/4VmVf+qWiz/1Wwl/4pOMv+sjm///9ye///c
nv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/UbCb/q1wu/3hDLf/HUQL/zFIA/7xPCP9xRDT/v2Qq/85q
J/94SDb/qEsS/81SAP/NUgD/jEYh/5FTM//WbCX/pFov/3xEKv/GUQP/w1AE/6hLEv9vRDb/xGYp/8xp
J/9zRzj/bkEy/3JDM/9zRTb/ekk2/7FeLP/TbCb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3djY////
///33rb/372K/7+fev+cfWX/y6l///bTmf99X1H/hEsx/6tbLP95SDX/uJl2//zYnP+FZlX/qlss/9Vs
Jf+KTjL/rI5v///cnv//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/1Gwm/6tcLv94Qy3/x1EC/8xS
AP+8Twj/cUQ0/79kKv/Oaif/eEg2/6lLEv/NUgD/x1EC/4dFJP+RUzP/1mwl/6VaL/9lPzf/eUMs/3ND
Mf9wRDX/gEw1/8loKP/Rayb/sV8s/6xdLv+7Yyv/xmco/85pJ//Sayb/0msm/9RsJv+6Yiv/YEA8/1g9
Pf9YPDz/Y0hI/93Y2P///////+e8///env//3p///tud//7anf/82Zz/zqyB/55/Zv+BYlP/a01F/8Kh
ev/715v/g2VV/6BWLf/Raib/ik8y/6yNb///3J7//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9Rs
Jv+rXC7/eUMt/8lSAv/NUgD/uU8J/3BDNP+/ZCr/zmon/3ZIN/98Qyn/hEUm/3pELf9tQzb/n1gw/9Rs
Jv/BZCn/nFcw/6dbL/+2YSz/wmUp/8xpJ//Sayb/0msm/9RsJv/UbCb/1Gwm/9RsJv/UbCb/02sm/9Jr
Jv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d2Nj//////9S9ov/KqH7/6seR//vXm///257//tqd///c
nv/+253/9dKY/+XCjv/00Zf//Nic/6ODaP90UET/fk04/2lBN/+tjW7//9ye///cnv+nh2r/VDo8/4tQ
NP/Tayb/0msm/9JrJv/UbCb/q1wu/2tAM/+TRx3/h0Uk/3hDLf9wRTj/w2Up/9FrJv+gWC//klMz/6JZ
MP+xXy3/vmQq/81pJ//Sayb/02sm/9RsJv/UbCb/1Gwm/9RsJv/TbCb/0msm/9JrJv/Sayb/zWkn/8Rm
Kf+4YSv/rF0t/8NlKf/Tayb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3tjY//7+/v+MeHj/Z0I5/3dV
SP+Ob1z/1bOF///bnv/82Jz//dqd///dn///3Z///tue//7anf/41Zr/5cKP/8enf/+oiGv/1bOF///b
nv//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/02sm/7tiKv+ATDX/ilA0/5pWMf+qXC7/vWMq/9Bq
Jv/Sayb/02sm/9NsJv/UbCb/1Gwm/9RsJv/Tayb/0msm/9NrJv/TbCb/0Wsm/8xpJ//DZSj/wWQp/9Fr
Jv/Paif/llQx/3dIN/9xRTb/cUMz/2M/OP+cVzD/1Gwm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/97Y
2P/+/v7/i3d3/55VLP+6YSr/eUYz/6WGav/82Jz/p4dq/5p7Yf/CoXf/48CN//rWm//+2p3//9ue///d
n///3Z///9ye//7bnf/+2p3//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9JrJv/Sayb/0Gom/9Jr
Jv/UbCb/1Gwm/9NsJv/Sayb/0msm/9NsJv/UbCb/02sm/89qJ//JaCj/zmkn/9NrJv/CZSn/lVQx/4NN
NP90Rzz/ZkJF/3JGOv/HZyj/y2gn/3JGN/+TRx3/tU4M/79QBv+CRCb/mVYy/9RsJv/UbCb/umIr/2BA
PP9YPT3/WDw8/2NISP/e2Nj//v7+/4t3d/+lWCv/120l/5BRMP+lh2v/9tKY/3lcU/9fSXz/Y0xz/2pP
Uf/KqH7//9ye/+3Kk//syZP//Nic///cnv/+257//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9Jr
Jv/Sayb/0msm/9RsJv/UbCb/1Gwm/9NrJv/Rayb/0msm/9FrJv+3YSv/m1cx/4tQNP99Szb/cEU4/6FY
L//WbCX/plot/1c7Wf9SNaX/UjTB/1I0uf9nQkf/xWYo/8toJ/91Rzb/sE0P/85TAP/MUgD/hUUl/5lW
Mv/UbCb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3tjY//7+/v+Ld3f/pFcr/9ZsJf+PUDH/pYdr//bT
mP97Xlf/cGHO/3lu+v9iS3r/uZhy//3Znf+Sc17/clNK/5FzXv+3l3T/68iS///bnf//3J7/p4dq/1Q6
PP+LUDT/02sm/9JrJv/Sayb/0msm/85qJ/+7Yir/q10u/5tWMf+KUDT/i1A0/8hnKP/Oaif/eUk3/3VC
Lf+PRx//oEoW/3tDKv+RUzP/1mwl/6ZaK/9XOXf/UTH0/1Ex+f9RM9j/aEJJ/8VmKP/LaCf/dUc2/65M
D//NUgD/y1IA/4VFJf+ZVjL/1Gwm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/97Y2P/+/v7/i3d3/6RX
K//WbCX/j1Ax/6WHa//205j/e15X/3Bhzv96cP//ZE6B/7qZcv/72Jz/hGVV/5JQL/+aVC//a0M4/7KS
cf//3J7//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9RsJv+yXyz/aUI4/3ZDLv+DRSb/iEUj/2pC
N/+/ZCr/zmon/3hINv+oSxL/zlMA/85TAP+MRiH/kVMz/9ZsJf+mWiv/Vzl2/1Ex8f9RMfb/UTPW/2hC
Sf/FZij/y2gn/3VHNv+uTA//zVIA/8tSAP+FRSX/mVYy/9RsJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NI
SP/e2Nj//v7+/4t3d/+kVyv/1mwl/49QMf+lh2v/9tOY/3teV/9wYc7/enD//2ROgf+6mXL/+9ic/4Vm
Vf+rWyv/120l/4pOMv+sjW///9ye///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/UbCb/qlwu/3ZD
Lv/DUAT/zFIA/71PCP9xRDT/v2Qq/85qJ/94SDb/qEsS/81SAP/MUgD/i0Yh/5JTM//WbCX/plor/1c5
dv9RMfH/UTH2/1Ez1v9oQkn/xWYo/8toJ/91Rzb/rkwP/81SAP/LUgD/hUUl/5lWMv/UbCb/1Gwm/7pi
K/9gQDz/WD09/1g8PP9jSEj/3tjY//7+/v+Ld3f/pFcr/9ZsJf+PUDH/pYdr//bTmP97Xlf/cGHO/3pw
//9kToH/uply//vYnP+FZlX/qlos/9VsJf+KTjL/rI5v///cnv//3J7/p4dq/1Q6PP+LUDT/02sm/9Jr
Jv/Sayb/1Gwm/6tcLv94Qy3/yFEC/8xSAP+8Twj/cUQ0/79kKv/Oaif/eEg2/6hLEv/NUgD/zFIA/4tG
If+SUzP/1mwl/6ZaK/9XOXb/UTHx/1Ex9v9RM9b/aEJJ/8VmKP/LaCf/dUc2/65MD//NUgD/y1IA/4VF
Jf+ZVjL/1Gwm/9RsJv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/97Y2P/+/v7/i3d3/6VYK//WbCX/j1Ax/6WH
a//205j/e15X/3Bhzv96cP//ZE6B/7qZcv/72Jz/hWZV/6paLP/VbCX/ik4y/6yOb///3J7//9ye/6eH
av9UOjz/i1A0/9NrJv/Sayb/0msm/9RsJv+rXC7/eEMt/8dRAv/MUgD/vE8I/3FENP+/ZCr/zmon/3hI
Nv+oSxL/zVIA/8xSAP+LRiH/klMz/9ZsJf+mWiv/Vzl2/1Ex8f9RMfb/UTPW/2hCSf/FZij/y2gn/3VH
Nv+uTA//zVIA/8xSAP+GRSX/mVYy/9RsJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/e2Nj//v7+/4p3
d/+iViv/120l/5BRMf+lh2v/9tOY/3teV/9wYc7/enD//2ROgf+6mXL/+9ic/4VmVf+qWiz/1Wwl/4pO
Mv+sjm///9ye///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/UbCb/q1wu/3hDLf/HUQL/zFIA/7xP
CP9xRDT/v2Qq/85qJ/94SDb/qEsS/81SAP/MUgD/i0Yh/5JTM//WbCX/plor/1c5dv9RMfH/UTH2/1Ez
1v9oQkn/xWYo/8toJ/91Rzb/r00P/8xSAP/CUAT/fkMo/5hVMv/UbCb/1Gwm/7piK/9gQDz/WD09/1g8
PP9jSEj/3tjY//////+YhH//b0Q3/5ZTL/9+STP/podq//bTmP97Xlf/cGHO/3pw//9kToH/uply//vY
nP+FZlX/qlos/9VsJf+KTjL/rI5v///cnv//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/1Gwm/6tc
Lv94Qy3/x1EC/8xSAP+8Twj/cUQ0/79kKv/Oaif/eEg2/6hLEv/NUgD/zFIA/4tGIf+SUzP/1mwl/6Za
K/9XOXb/UTHz/1Ex+f9RMtj/aEJJ/8VmKP/LaCf/ckY3/4FEJv+BRCf/dEMw/29FN/+qXC7/1Gwm/9Rs
Jv+6Yiv/YEA8/1g9Pf9YPDz/Y0hI/93Y2P//////7tWx/8CfeP+PcV3/akxG/66Ob//20pj/e15X/29g
y/97cP//ZE6B/7qZcv/72Jz/hWZV/6paLP/VbCX/ik4y/6yOb///3J7//9ye/6eHav9UOjz/i1A0/9Nr
Jv/Sayb/0msm/9RsJv+rXC7/eEMt/8dRAv/MUgD/vE8I/3FENP+/ZCr/zmon/3hINv+oSxL/zVIA/8xS
AP+MRiH/kVMz/9ZsJf+mWiz/Vzpy/1Ey2v9SNMX/UjaY/2hCQv/FZij/z2on/5FSMv+ITzT/n1gw/7Rg
LP/FZin/0Gom/9JrJv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d2Nj////////mu///3J3/+9eb/+XC
jv/uy5T/99OZ/4VnWP9fSG7/aliu/2BIcP+6mXP//Nic/4VmVf+qWiz/1Wwl/4pOMv+sjm///9ye///c
nv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/UbCb/q1wu/3hDLf/HUQL/zFIA/7xPCP9xRDT/v2Qq/85q
J/94SDb/qkwS/85TAP/JUgH/h0Uk/5FTM//WbCX/qFst/1w+R/9jQFD/cUY//4RNNP+iWS//zmkn/9Jr
Jv/Rayb/0msm/9RsJv/UbCb/02sm/9JrJv/Sayb/1Gwm/7piK/9gQDz/WD09/1g8PP9jSEj/3djY////
///+5bv//tmb//7anf//257//9ue//7anf/lwo7/t5Zx/4lrWv9pTUn/waB6//vXm/+FZlX/qlos/9dt
Jf+LTzL/rI1v///cnv//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/1Gwm/6tcLv94Qy3/yFEC/81S
AP+9Twj/cUQ0/79kKv/Oaif/dkg3/4dFI/+MRiH/ekMs/2pBN/+eVzD/1Gwm/8dnKP+vXiz/vmMp/8po
J//Rayb/02wm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9RsJv+6Yiv/YEA8/1g9
Pf9YPDz/Y0hI/93Y2P///////uW7//7Zm//+2p3//tqd//7anf/+2p3//9ue///cnv/51Zr/5MKO//PQ
l//615v/imxa/3lHNP+oWiz/gUoz/6yNb///3J7//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9Rs
Jv+rXC7/eEMt/8BQBv+5Twn/nkkX/2tCN/+/ZCr/0Gom/4xQM/96Sjf/j1Iz/6VaL/+6Yiv/zWkn/9Jr
Jv/Tayb/1Gwm/9NrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/UbCb/umIr/2BAPP9YPT3/WDw8/2NISP/d19j///////7lu//+2Zv//tqd//7anf/+2p3//tqd//7a
nf/+2p3//tqd///cnv/+253//tqd/+C+jP+sjW7/g2RU/2ZHQf+zk3H//9ye///cnv+nh2r/VDo8/4tQ
NP/Tayb/0msm/9JrJv/UbCb/rF0t/2M/OP90QzD/cUQ1/3dINv+QUjP/ymgo/9NrJv/NaSf/zmon/9Nr
Jv/UbCb/02wm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Wwl/7hhK/9gQDz/WT09/1k9Pf9cQED/mYiI/9nS0f/537X//9yd///b
nv/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf//3J7//9ye//XSmP/buYn/7MmS///b
nf//3J7/p4dq/1Q6PP+LUDT/02sm/9JrJv/Sayb/02sm/8VmKf+hWS//r14t/8BkKv/MaSf/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf95STf/Wz49/1k9Pf9ZPT3UWT09/Fc7
O/9jSUn/iW1e/8Ggef/typP//tue///cnv/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7a
nf/+253//9ye//7bnv/+2p3//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9JrJv/Tayb/1Gwm/9Rs
Jv/Tayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1k9
PfhZPT3KWT09IFk9PWhZPT2+WDw881c7O/9bPz7/dVdN/6iIa//duor/+tab///cnv//257//tqd//7a
nf/+2p3//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9Jr
Jv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1HWT09GVk9PQBZPT0AWT09DVk9PURZPT2aWT094Vc7PP5XOzz/ZklE/49w
XP/HpX3/8c2V///cnv//3J7//tqd//7anf/+2p3//tqd//7anf/+2p3//tqd//7anf//3J7/p4dq/1Q6
PP+LUDT/02sm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZYPj4AWjw8AAAAAAAAAAAAAAAAAAAAAABZPT0AWT09A1k9
PSZZPT1zWT09xlg8PPdXOzz/XEA//3lcUP+ujm7/4b+M//vYnP//3J7//9ud//7anf/+2p3//tqd//7a
nf/+2p3//9ye/6eHav9UOjz/i1A0/9NrJv/Sayb/0msm/9JrJv/Sayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZYPj4AWzs7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABZPT0AWT8/AFk9PRFZPT1NWT09o1k9PedXOzz+WDw8/2lMRv+VdmD/zKuA//PQ
l///3J7//9ue//7anf/+2p3//tqd///cnv+nh2r/VDo8/4tQNP/Tayb/0msm/9JrJv/Sayb/0msm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZZPT0AWT09AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZPT0AWT09AFk9PQVZPT0tWT09fVk9
Pc5YPDz5Vzs8/15CQP9+YFP/tJRy/+XDj//92Zz//9ye//7bnf//3J7/p4dq/1Q6PP+LUDT/02sm/9Jr
Jv/Sayb/0msm/9NrJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZXPj4AWzw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAWT09AFo9PQBZPT0VWT09Vlk9Pa1ZPT3sVzs8/1k9Pf9sT0j/m3tj/9Kwg//20pj//96g/6eI
a/9UOjz/i1A0/9RsJv/UbCb/1Gwm/89qJ//EZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZXPT0AWz09AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWz8/AFk9PQBZPT0HWT09NFk9PYZZPT3VWDw8+1c7
PP9gREH/g2VV/7ybd/+YeGH/VTo8/4hPNP/FZin/sF4s/5dVMf9+Szb/aUM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZZPT0AWj09AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFk9
PQBZPT0BWT09Glk9PWBZPT22WDw98Fc7PP9aPj7/XkJA/1g9Pf9kQTv/akM6/10+PP9YPT3/Vzw9/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZYPj4AWjw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFo+PgBZPT0AWT09Clk9PTxZPT2QWT0921k9Pf1ZPT3/WD09/1g9
PfdZPT3eWT09s1k9PX1ZPT1IWT09Hlk9PQZZPT0AWT09AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZPT0AWT09Alk9
PSBZPT1qWT09oFk9PX5ZPT1IWT09Hlk9PQZYPj4AWjw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABZPT0AWT09AFk9PQFZPDwAWjs7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAH8AAAAAAA
AH/+AAAAAAAH//+AAAAAAH///+AAAAAH/////AAAAH//////AAAH///////gAH////////gH////////
/j////////////////////////////////////////////////8=
</value>
</data>
</root>
\ No newline at end of file
......@@ -69,6 +69,8 @@
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.标签编辑ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.清空日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
this.复制日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
......@@ -429,37 +431,39 @@
// 二维码学习ToolStripMenuItem
//
this.二维码学习ToolStripMenuItem.Name = "二维码学习ToolStripMenuItem";
this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.二维码学习ToolStripMenuItem.Text = "二维码学习";
this.二维码学习ToolStripMenuItem.Click += new System.EventHandler(this.二维码学习ToolStripMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(157, 6);
this.toolStripSeparator7.Size = new System.Drawing.Size(177, 6);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(160, 26);
this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 26);
this.toolStripMenuItem2.Text = "AGV调试";
this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(157, 6);
this.toolStripSeparator6.Size = new System.Drawing.Size(177, 6);
//
// 标签编辑ToolStripMenuItem
//
this.标签编辑ToolStripMenuItem.Name = "标签编辑ToolStripMenuItem";
this.标签编辑ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
this.标签编辑ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.标签编辑ToolStripMenuItem.Text = "标签编辑";
this.标签编辑ToolStripMenuItem.Click += new System.EventHandler(this.标签编辑ToolStripMenuItem_Click);
//
// 帮助ToolStripMenuItem
//
this.帮助ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem3,
this.toolStripSeparator5,
this.清空日志ToolStripMenuItem,
this.toolStripSeparator10,
this.复制日志ToolStripMenuItem,
......@@ -469,34 +473,46 @@
this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(69, 25);
this.帮助ToolStripMenuItem.Text = " 系统 ";
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 26);
this.toolStripMenuItem3.Text = "历史记录";
this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6);
//
// 清空日志ToolStripMenuItem
//
this.清空日志ToolStripMenuItem.Name = "清空日志ToolStripMenuItem";
this.清空日志ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.清空日志ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.清空日志ToolStripMenuItem.Text = "清空日志";
this.清空日志ToolStripMenuItem.Click += new System.EventHandler(this.清空日志ToolStripMenuItem_Click);
//
// toolStripSeparator10
//
this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(141, 6);
this.toolStripSeparator10.Size = new System.Drawing.Size(177, 6);
//
// 复制日志ToolStripMenuItem
//
this.复制日志ToolStripMenuItem.Name = "复制日志ToolStripMenuItem";
this.复制日志ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.复制日志ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.复制日志ToolStripMenuItem.Text = "复制日志";
this.复制日志ToolStripMenuItem.Click += new System.EventHandler(this.复制日志ToolStripMenuItem_Click);
//
// toolStripSeparator11
//
this.toolStripSeparator11.Name = "toolStripSeparator11";
this.toolStripSeparator11.Size = new System.Drawing.Size(141, 6);
this.toolStripSeparator11.Size = new System.Drawing.Size(177, 6);
//
// 版本号ToolStripMenuItem
//
this.版本号ToolStripMenuItem.Name = "版本号ToolStripMenuItem";
this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.版本号ToolStripMenuItem.Text = "关于软件";
this.版本号ToolStripMenuItem.Click += new System.EventHandler(this.版本号ToolStripMenuItem_Click);
//
......@@ -609,6 +625,8 @@
private System.Windows.Forms.Label lblCurrTray;
private System.Windows.Forms.Label lblOutTray;
private System.Windows.Forms.CheckBox chbOpenX;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
}
}
......@@ -54,6 +54,8 @@ namespace OnlineStore.AutoCountClient
FrmOutputEquip frm2 = new FrmOutputEquip(robot.outputEquip);
AddForm(" " + robot.outputEquip.Name + " ", frm2);
robot.XrayBean.GetImageEvent += EquipBean_GetImageEvent;
}
private void AddForm(string text, Form form)
{
......@@ -92,10 +94,7 @@ namespace OnlineStore.AutoCountClient
int autoValue = ConfigAppSettings.GetIntValue(Setting_Init.App_AutoRun);
chbAutoRun.Checked = autoValue.Equals(1);
LoadStoreData();
LoadListView();
LoadListView();
LogUtil.logBox = this.logBox;
LoadOk = true;
// HideForm();
......@@ -211,12 +210,13 @@ namespace OnlineStore.AutoCountClient
{
Camera._cam.CloseAll();
}
System.Environment.Exit(System.Environment.ExitCode);
robot.sQLite.Close();
}
catch (Exception ex)
{
LogUtil.error("退出出错:", ex);
}
System.Environment.Exit(System.Environment.ExitCode);
//this.Close();
}
}
......@@ -725,5 +725,11 @@ namespace OnlineStore.AutoCountClient
robot.XrayBean.OpenXLine = chbOpenX.Checked;
LogUtil.info("勾选:启用X射线点料 =" + chbOpenX.Checked);
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
FrmAnalyze frm = new FrmAnalyze();
frm.ShowDialog();
}
}
}
......@@ -85,5 +85,7 @@ namespace OnlineStore.Common
public static string ThresholdValue = "ThresholdValue";
public static string CounParamConfig = "CounParamConfig";
public static string DataPath = "DataPath";
}
}
......@@ -77,6 +77,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\log4net.dll</HintPath>
</Reference>
<Reference Include="Retrospect">
<HintPath>..\..\dll\database\Retrospect.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
......
......@@ -26,7 +26,7 @@ namespace OnlineStore.DeviceLibrary
public BatchMoveBean RightBatchMove = null;
public bool AutoInput = ConfigAppSettings.GetIntValue(Setting_Init.AutoInput).Equals(1);
public int DefautTargetP = 0;
public int DefautTargetP = 1;
public InputEquip(string cid, InputEquip_Config config)
{
......
......@@ -203,28 +203,29 @@ namespace OnlineStore.DeviceLibrary
// MoveInfo.MoveParam.TargetPosType = 1;
// WorkLog(" 右侧入口入料,直接放到XRay:" + MoveInfo.MoveParam.ToStr());
//}
else if (SServerManager.CanConnect())
{
Task task = Task.Factory.StartNew(delegate
{
int needPosition = 0;
string msg = SServerManager.Get_VMICheckRLC(Name, MoveInfo.MoveParam.WareCode, out needPosition);
if (needPosition >= 1 && needPosition <= 3)
{
MoveInfo.MoveParam.TargetPosType = needPosition;
WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】通过接口获取目标位置:" + needPosition);
}
// else if (!msg.Equals("") || needPosition.Equals(0))
else
{
WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】获取是否测值失败:" + msg);
MoveInfo.MoveParam.TargetPosType = 1;
MoveInfo.MoveParam.IsNgReel = true;
MoveInfo.MoveParam.NgMsg = msg;
}
});
}
//else if (SServerManager.CanConnect())
//{
// Task task = Task.Factory.StartNew(delegate
// {
// int needPosition = 0;
// string msg = SServerManager.Get_VMICheckRLC(Name, MoveInfo.MoveParam.WareCode, out needPosition);
// if (needPosition >= 1 && needPosition <= 3)
// {
// MoveInfo.MoveParam.TargetPosType = needPosition;
// WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】通过接口获取目标位置:" + needPosition);
// }
// // else if (!msg.Equals("") || needPosition.Equals(0))
// else
// {
// WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】获取是否测值失败:" + msg);
// MoveInfo.MoveParam.TargetPosType = 1;
// MoveInfo.MoveParam.IsNgReel = true;
// MoveInfo.MoveParam.NgMsg = msg;
// }
// });
//}
else
{
if (MoveInfo.MoveParam.TargetPosType.Equals(0))
......@@ -251,16 +252,14 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType);
Alarm(AlarmType.IoSingleTimeOut);
}
return;
}
else
{
//随机目标地址
Random r = new Random();
int targetP = r.Next(1, 100) % 3 + 1;
MoveInfo.MoveParam.TargetPosType = targetP;
WorkLog(" 随机放料目标:" + targetP);
////随机目标地址
//Random r = new Random();
//int targetP = r.Next(1, 100) % 3 + 1;
MoveInfo.MoveParam.TargetPosType = 1;
WorkLog(" 随机放料目标:" + 1);
}
}
if (MoveInfo.MoveParam.TargetPosType.Equals(1))
......
using log4net;
using BLL;
using log4net;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
......@@ -28,7 +29,7 @@ namespace OnlineStore.DeviceLibrary
public Robot_Config Config = null;
private bool canStart = false;
public SQLite sQLite = null;
public RobotBean(Robot_Config lineConfig, InputEquip_Config fconfig, XRay_Config xconfig, OutputEquip_Config pconfig)
{
equipsMap = new Dictionary<int, EquipBase>();
......@@ -46,7 +47,7 @@ namespace OnlineStore.DeviceLibrary
IsDebug = Config.IsDebug.Equals(1);
List<string> ioList = new List<string>();
ioList = new List<string>(DeviceConfig.ProIOIpMap.Values);
......@@ -71,6 +72,10 @@ namespace OnlineStore.DeviceLibrary
mainTimer.Enabled = true;
canStart = true;
AgvClient.Init();
string dataFile =Application.StartupPath+ ConfigAppSettings.GetValue(Setting_Init.DataPath);
sQLite = new SQLite(dataFile);
bool result = sQLite.Connect();
LogUtil.info(Name + "连接【" + dataFile + "】结果: " + result+","+sQLite.ErrInfo);
});
}
......
......@@ -338,7 +338,7 @@ namespace OnlineStore.DeviceLibrary
}
int count = 99999;
WorkLog("点料:开始调用 countImage.GetCount ");
bool result = countImage.GetCount(lastTh, out count);
bool result = countImage.GetCount(lastTh, out count);
WorkLog("点料:获取点料结果[" + lastTh + "]=【" + count + "】,result=" + result + ",保存并上传结果");
if (Work_ReelInfo.WareCount <= 0)
......@@ -360,6 +360,8 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil.error("点料:未找到结果图片【" + outF + "】");
}
int c = RobotManager.robot.sQLite.Insert(Work_ReelInfo.WareCode, Work_ReelInfo.PlateW, Work_ReelInfo.PlateH, count, outF);
LogUtil.info("插入数据【" + Work_ReelInfo.WareCode + "】【" + count + "】结果:" + c + " ," + RobotManager.robot.sQLite.ErrInfo);
}
catch (Exception ex)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!