添加项目文件。
This commit is contained in:
parent
211b35114c
commit
60d5ed7712
122
FlyDockTool.csproj
Normal file
122
FlyDockTool.csproj
Normal file
@ -0,0 +1,122 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{038F3E03-92BE-44E8-B672-69312A8CF19F}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>FlyDockTool</RootNamespace>
|
||||
<AssemblyName>FlyDockTool</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>logo.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="apiOptions.cs" />
|
||||
<Compile Include="baseMsgModel.cs" />
|
||||
<Compile Include="commonOptions.cs" />
|
||||
<Compile Include="deviceAnalysis.cs" />
|
||||
<Compile Include="deviceInfo.cs" />
|
||||
<Compile Include="examImageParaModel.cs" />
|
||||
<Compile Include="examResultMode.cs" />
|
||||
<Compile Include="mainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="mainForm.Designer.cs">
|
||||
<DependentUpon>mainForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="serialPortOption.cs" />
|
||||
<Compile Include="accessOptions.cs" />
|
||||
<EmbeddedResource Include="mainForm.resx">
|
||||
<DependentUpon>mainForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="logo.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
31
FlyDockTool.sln
Normal file
31
FlyDockTool.sln
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.9.34723.18
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlyDockTool", "FlyDockTool.csproj", "{038F3E03-92BE-44E8-B672-69312A8CF19F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Debug|x86.Build.0 = Debug|x86
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Release|x86.ActiveCfg = Release|x86
|
||||
{038F3E03-92BE-44E8-B672-69312A8CF19F}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4EBBBB63-17F4-466F-909A-A502565AFE4F}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
21
Program.cs
Normal file
21
Program.cs
Normal file
@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// 应用程序的主入口点。
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new mainForm()); ;
|
||||
}
|
||||
}
|
||||
}
|
36
Properties/AssemblyInfo.cs
Normal file
36
Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("FlyDockTool")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("FlyDockTool")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2024")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("038f3e03-92be-44e8-b672-69312a8cf19f")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
63
Properties/Resources.Designer.cs
generated
Normal file
63
Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,63 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FlyDockTool.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
/// </summary>
|
||||
// 此类是由 StronglyTypedResourceBuilder
|
||||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回此类使用的缓存的 ResourceManager 实例。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FlyDockTool.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
117
Properties/Resources.resx
Normal file
117
Properties/Resources.resx
Normal file
@ -0,0 +1,117 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
26
Properties/Settings.Designer.cs
generated
Normal file
26
Properties/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FlyDockTool.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
7
Properties/Settings.settings
Normal file
7
Properties/Settings.settings
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
226
accessOptions.cs
Normal file
226
accessOptions.cs
Normal file
@ -0,0 +1,226 @@
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using System.Drawing;
|
||||
using System.Data.SqlClient;
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Data.OleDb;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class accessOptions
|
||||
{
|
||||
public OleDbConnection SqlConn = null;
|
||||
/// <summary>
|
||||
/// 让此类创建一个单例类
|
||||
/// </summary>
|
||||
public static accessOptions Instance = null;//申明一个EcgDrawing对象,复制Null
|
||||
private static readonly object LockHelper = new object();
|
||||
|
||||
public static accessOptions CreateInstance(string accessDbPath)
|
||||
{
|
||||
if (Instance == null)
|
||||
{
|
||||
lock (LockHelper)
|
||||
{
|
||||
if (Instance == null)
|
||||
Instance = new accessOptions(accessDbPath);
|
||||
}
|
||||
}
|
||||
return Instance;
|
||||
}
|
||||
|
||||
public accessOptions(string accessDbPath)
|
||||
{
|
||||
GetSqlConnection(accessDbPath);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获得sqlite数据库连接
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool GetSqlConnection(string accessDbPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
string ConnectionStr = "Provider=Microsoft.Jet.OleDb.4.0;";
|
||||
ConnectionStr += @"Data Source="+ accessDbPath + "";
|
||||
OleDbConnection conn = new OleDbConnection(ConnectionStr);
|
||||
SqlConn = conn;
|
||||
}
|
||||
catch { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行sqlite查询语句,并返回一个 DataTable
|
||||
/// </summary>
|
||||
/// <param name="sqliteStr"></param>
|
||||
/// <returns></returns>
|
||||
public DataTable ExcuteSql(string sqliteStr)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (SqlConn.State == ConnectionState.Closed)
|
||||
{
|
||||
SqlConn.Open();
|
||||
}
|
||||
|
||||
|
||||
var sqliteDp = new OleDbDataAdapter(sqliteStr, SqlConn) {SelectCommand = {CommandTimeout = 600000}};
|
||||
var sqliteds = new DataSet();
|
||||
sqliteDp.Fill(sqliteds);
|
||||
return sqliteds.Tables[0];
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
//byte[] ecgDataArray = Encoding.UTF8.GetBytes(sqliteStr.ToString() + "\r\n"+ex.ToString()+"\r\n");
|
||||
//ecgFileWrite(ecgDataArray, @"d:\log.txt");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void ecgFileWrite(byte[] ecgDataArray, string FilePath)
|
||||
{
|
||||
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate);
|
||||
fs.Position = fs.Length;
|
||||
//开始写入
|
||||
fs.Write(ecgDataArray, 0, ecgDataArray.Length);
|
||||
//清空缓冲区、关闭流
|
||||
fs.Flush();
|
||||
fs.Close();
|
||||
}
|
||||
/// <summary>
|
||||
/// Sqlite 添加数据的操作函数
|
||||
/// </summary>
|
||||
/// <param name="sqliteSQL"></param>
|
||||
/// <returns></returns>
|
||||
public bool SqlAdd(string sqliteSQL)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (SqlConn.State == ConnectionState.Closed)
|
||||
SqlConn.Open();
|
||||
var sqliteCmd = new OleDbCommand(sqliteSQL, SqlConn);
|
||||
sqliteCmd.ExecuteNonQuery();
|
||||
sqliteCmd.Dispose();
|
||||
SqlConn.Close();
|
||||
}
|
||||
catch { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sqlite 删除数据的操作函数
|
||||
/// </summary>
|
||||
/// <param name="sqliteSQL"></param>
|
||||
/// <returns></returns>
|
||||
public bool SqlDelete(string sqliteSQL)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (SqlConn.State == ConnectionState.Closed)
|
||||
SqlConn.Open();
|
||||
var sqliteCmd = new OleDbCommand(sqliteSQL, SqlConn);
|
||||
sqliteCmd.ExecuteNonQuery();
|
||||
sqliteCmd.Dispose();
|
||||
SqlConn.Close();
|
||||
}
|
||||
catch { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sqlite 更新数据的操作函数
|
||||
/// </summary>
|
||||
/// <param name="sqliteSQL"></param>
|
||||
/// <returns></returns>
|
||||
public bool SqlUpdate(string sqliteSQL)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (SqlConn.State == ConnectionState.Closed)
|
||||
SqlConn.Open();
|
||||
var sqliteCmd = new OleDbCommand(sqliteSQL, SqlConn);
|
||||
sqliteCmd.ExecuteNonQuery();
|
||||
sqliteCmd.Dispose();
|
||||
SqlConn.Close();
|
||||
}
|
||||
catch { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL语句函数
|
||||
/// </summary>
|
||||
/// <param name="sqlcmd">SQL语句</param>
|
||||
/// <param name="paras">SQL语句中的参数组</param>
|
||||
/// <returns>返回受影响记录条数</returns>
|
||||
public int ExecuteSql(string sqlcmd, params SqlParameter[] paras)
|
||||
{
|
||||
|
||||
var cmd = new OleDbCommand(sqlcmd, SqlConn);
|
||||
if (SqlConn.State == ConnectionState.Closed)
|
||||
{
|
||||
SqlConn.Open();
|
||||
}
|
||||
|
||||
foreach (SqlParameter p in paras)
|
||||
{
|
||||
cmd.Parameters.Add(p);
|
||||
}
|
||||
|
||||
int cnt = cmd.ExecuteNonQuery();
|
||||
SqlConn.Close();
|
||||
return cnt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Sqlite 执行数据库的多条语句,
|
||||
/// </summary>
|
||||
/// <param name="sqliteSQL"></param>
|
||||
/// <returns></returns>
|
||||
public bool SqlExecuteNonQuery(string[] sqliteSQL)
|
||||
{
|
||||
|
||||
if (SqlConn.State == ConnectionState.Closed)
|
||||
{
|
||||
SqlConn.Open();
|
||||
}
|
||||
|
||||
OleDbTransaction sqlTran = SqlConn.BeginTransaction();
|
||||
try
|
||||
{
|
||||
foreach (string sql in sqliteSQL)
|
||||
{
|
||||
var sqliteCmd = new OleDbCommand(sql, SqlConn, sqlTran);
|
||||
int i = sqliteCmd.ExecuteNonQuery();
|
||||
sqliteCmd.Dispose();
|
||||
}
|
||||
sqlTran.Commit();
|
||||
}
|
||||
catch
|
||||
{
|
||||
sqlTran.Rollback();
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
SqlConn.Close();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public Image GetImg(byte[] imgBytes)
|
||||
{
|
||||
var ms = new MemoryStream(imgBytes);
|
||||
Image img = Image.FromStream(ms);
|
||||
return img;
|
||||
}
|
||||
}
|
||||
}
|
89
apiOptions.cs
Normal file
89
apiOptions.cs
Normal file
@ -0,0 +1,89 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.IO.Ports;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
|
||||
internal class apiOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 让此类创建一个API操作的单例类
|
||||
/// </summary>
|
||||
public static apiOptions Instance; //申明一个EcgDrawing对象,复制Null
|
||||
private static readonly object LockHelper = new object();
|
||||
public static string MacAddress;//计算机名称 设备唯一代码,这个代码是LIS系统里添加设备时,给设备生成的唯一设备码
|
||||
public static string MachineCode;//设备型号
|
||||
public static string MachineID;//设备编码
|
||||
public static string CurrentDevice;//当前设备
|
||||
|
||||
public static apiOptions CreateInstance()
|
||||
{
|
||||
if (Instance == null)
|
||||
lock (LockHelper)
|
||||
{
|
||||
if (Instance == null)
|
||||
Instance = new apiOptions();
|
||||
}
|
||||
return Instance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 1.根据MacAddress获取设备信息,请求方式:get
|
||||
/// </summary>
|
||||
/// <param name="MacAddress">计算机名称</param>
|
||||
/// <param name="MachineCode">设备型号</param>
|
||||
/// <returns></returns>
|
||||
public baseMsgModel getMacAddressInfo()
|
||||
{
|
||||
string apiUrl = ConfigurationManager.AppSettings["getMacAddressInfo"];//获取设备信息URL
|
||||
if (MacAddress.Trim().Length > 0)
|
||||
apiUrl += "?MacAddress="+ apiOptions.MacAddress;
|
||||
if (MachineCode.Trim().Length > 0)
|
||||
apiUrl += "&MachineCode=" + apiOptions.MachineCode;
|
||||
|
||||
//string returnDeviceInfoJson=commonOptions.HttpGet(apiUrl);
|
||||
string returnDeviceInfoJson = commonOptions.HttpGet(apiUrl);
|
||||
|
||||
baseMsgModel bmm=JsonConvert.DeserializeObject<baseMsgModel>(returnDeviceInfoJson);
|
||||
return bmm;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传检查结果到LIS系统
|
||||
/// </summary>
|
||||
/// <param name="ermList"></param>
|
||||
/// <returns></returns>
|
||||
public baseMsgModel upLoadExamResult(List<examResultMode> ermList)
|
||||
{
|
||||
string apiUrl = ConfigurationManager.AppSettings["upLoadExamResult"];
|
||||
string examListJson = JsonConvert.SerializeObject(ermList);
|
||||
string returnJson = commonOptions.PostMoths(apiUrl, examListJson);
|
||||
baseMsgModel bmm = JsonConvert.DeserializeObject<baseMsgModel>(returnJson);
|
||||
return bmm;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传图片结果到LIS系统
|
||||
/// </summary>
|
||||
/// <param name="EIPM"></param>
|
||||
/// <returns></returns>
|
||||
public baseMsgModel uploadExamImage(List<examImageParaModel> EIPM)
|
||||
{
|
||||
string apiUrl = ConfigurationManager.AppSettings["upLoadExamImage"];
|
||||
string examImageListJson = JsonConvert.SerializeObject(EIPM);
|
||||
string returnJson = commonOptions.PostMoths(apiUrl, examImageListJson);
|
||||
baseMsgModel bmm = JsonConvert.DeserializeObject<baseMsgModel>(returnJson);
|
||||
return bmm;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
65
app.config
Normal file
65
app.config
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
|
||||
<appSettings>
|
||||
<!--根据MacAddress获取设备信息,请求方式:get-->
|
||||
<add key="getMacAddressInfo" value="https://wlcblis.gw12320.com:8443/interFace/list" />
|
||||
<!--上传检查结果到LIS系统-->
|
||||
<add key="upLoadExamResult" value="https://wlcblis.gw12320.com:8443/interFace/result" />
|
||||
<!--上传图片结果到LIS系统-->
|
||||
<add key="upLoadExamImage" value="https://wlcblis.gw12320.com:8443/interFace/acceptImgList" />
|
||||
<!--华晟源尿常规H-II : 串口:COM1 波特率:9600 校验位:NONE 数据位:8 停止位:1-->
|
||||
<add key="HSYH-II" value="User-2024H-II,H-II,86,COM1,9600,NONE,8,1" />
|
||||
<!--盛世东唐BT-200尿常规-->
|
||||
<add key="BT-200" value="user-PC,BT-200,89,COM1,4800,NONE,8,1" />
|
||||
<!--编码方式枚举:Unicode UTF-8 GB18030 GB2312 UTF-8 ASCII UTF-7 UTF-32-->
|
||||
<!--优利特血常规URIT-5181-->
|
||||
<add key="URIT-5181" value="User-2024H-II,URIT-5181,87,127.0.0.1,6688,GB18030" />
|
||||
<!--优利特血常规URIT-1500-->
|
||||
<add key="URIT-1500" value="User-2024H-II,URIT-1500,87,127.0.0.1,6688,GB18030" />
|
||||
<!--帝迈血常规DF55-->
|
||||
<add key="DF55" value="User-2024H-II,DF55,90,127.0.0.1,6688,GB18030" />
|
||||
<!--迪瑞全自动生化分析仪 CS-480-->
|
||||
<add key="CS-480" value="User-2024H-II,CS-480,88,127.0.0.1,6688,GB18030" />
|
||||
<!--Senlo生化SL300C-->
|
||||
<add key="SL300C" value="User-2024H-II,SL300C,91,127.0.0.1,6688,GB18030" />
|
||||
<!--BK600全自动生化分析仪 读access数据库-->
|
||||
<add key="BK600" value="User-2024H-II,SL300C,92,C:\\Users\\Administrator\\Desktop\\乌兰察布察右前旗设备\\平地泉中心卫生院\\生化\\20230926.mdb" />
|
||||
<!--尿常规 GeniusBA600 -->
|
||||
<add key="BA600" value="User-2024H-II,H-II,86,COM1,19200,NONE,8,1,Unicode" />
|
||||
<!--血常规MAC-600 -->
|
||||
<add key="MC-600" value="User-2024H-II,H-II,86,COM1,115200,NONE,8,1" />
|
||||
<!--TCP 数据接收测试-->
|
||||
<add key="TCPTEST" value="User-2024H-II,H-II,87,127.0.0.1,6688,GB18030" />
|
||||
<!--迪瑞全自动生化分析仪 CS-1300B-->
|
||||
<add key="CS-1300B" value="User-2019DLKLHT,CS-1300B,88,192.168.24.113,1234,GB18030" />
|
||||
<!--煤窑中心卫生院的尿常规 GeniusBA600 -->
|
||||
<add key="BA600MY" value="User-2024H-II,H-II,86,COM1,19200,NONE,8,1,Unicode" />
|
||||
<!--优利特血常规URIT-5180-->
|
||||
<add key="URIT-5180" value="User-2024H-II,URIT-5180,87,127.0.0.1,6688,GB18030" />
|
||||
<!--BS-430-->
|
||||
<add key="BS-430" value="User-2024H-II,BS-430,91,127.0.0.1,6688,GB18030" />
|
||||
<!--尿常规 URIT-1600 -->
|
||||
<add key="URIT-1600" value="User-2024H-II,URIT-1600,86,COM1,19200,NONE,8,1,Unicode" />
|
||||
<!--HTSH-4000全自动生化分析仪 读access数据库-->
|
||||
<add key="HTSH-4000" value="2012-0825-0909,HTSH-4000,115,C:\Users\Administrator\Desktop\察哈尔右翼中旗\宏盘卫生院\HTSH4000\KY_300.MDB" />
|
||||
<!--帝迈血常规DH56-->
|
||||
<add key="DH56" value="User-2024H-II,DH56,90,127.0.0.1,6688,GB18030" />
|
||||
<!--优利特血常规URIT-5380-->
|
||||
<add key="URIT-5380" value="User-2024H-II,URIT-5181,87,127.0.0.1,6688,GB18030" />
|
||||
<!--艾康生物尿常规U500-->
|
||||
<add key="U500" value="user-PC,U500,89,COM1,4800,NONE,8,1" />
|
||||
<!--血常规 BC-5130-->
|
||||
<add key="BC-5130" value="wstwsy-PC,BC-5130,90,127.0.0.1,6688,GB18030" />
|
||||
<!--斯玛特生化分析仪SD1-->
|
||||
<add key="SD1" value="User-2019DLKLHT,SD1,88,127.0.0.1,1234,GB18030" />
|
||||
<!--hhh5-->
|
||||
<add key="hhh5" value="wstwsy-PC,hhh5,90,127.0.0.1,6688,GB18030" />
|
||||
<!--帝迈血常规DF55-->
|
||||
<add key="DF55-2" value="PC-202106061449,DF55-2,121,127.0.0.1,5600,GB18030" />
|
||||
|
||||
<add key="MA-4210" value="wstwsy-PC,MA-4210,90,COM1,9600,NONE,8,1" />
|
||||
<add key="CurrentDevice" value="BC-5130" />
|
||||
|
||||
</appSettings>
|
||||
</configuration>
|
14
baseMsgModel.cs
Normal file
14
baseMsgModel.cs
Normal file
@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class baseMsgModel
|
||||
{
|
||||
public string msg { get; set; }//
|
||||
public int code { get; set; }
|
||||
public object data { get; set; }
|
||||
}
|
||||
}
|
797
commonOptions.cs
Normal file
797
commonOptions.cs
Normal file
@ -0,0 +1,797 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class commonOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取验证码文本
|
||||
/// </summary>
|
||||
/// <param name="lengths"></param>
|
||||
/// <returns></returns>
|
||||
public static string RandomVerificationCode(int lengths)
|
||||
{
|
||||
string[] chars = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "P", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
|
||||
string code = "";
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < lengths; i++)
|
||||
{
|
||||
code += chars[random.Next(chars.Length)];
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 生成验证码图片
|
||||
/// </summary>
|
||||
/// <param name="code"></param>
|
||||
/// <returns></returns>
|
||||
public static Bitmap VerificationCodeImg(string code)
|
||||
{
|
||||
Color[] colors = {
|
||||
Color.Red, Color.OrangeRed,Color.SaddleBrown,
|
||||
Color.LimeGreen,Color.Green,Color.MediumAquamarine,
|
||||
Color.Blue,Color.MediumOrchid,Color.Black,
|
||||
Color.DarkBlue,Color.Orange,Color.Brown,
|
||||
Color.DarkCyan,Color.Purple
|
||||
};
|
||||
string[] fonts = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体" };
|
||||
Random random = new Random();
|
||||
// 创建一个 Bitmap 图片类型对象
|
||||
//Bitmap bitmap = new Bitmap(code.Length * 18, 32);
|
||||
Bitmap bitmap = new Bitmap(80, 33);
|
||||
// 创建一个图形画笔
|
||||
Graphics graphics = Graphics.FromImage(bitmap);
|
||||
// 将图片背景填充成白色
|
||||
graphics.Clear(Color.White);
|
||||
// 绘制验证码噪点
|
||||
//for (int i = 0; i < random.Next(60, 80); i++)
|
||||
//{
|
||||
// int pointX = random.Next(bitmap.Width);
|
||||
// int pointY = random.Next(bitmap.Height);
|
||||
// graphics.DrawLine(new Pen(Color.LightGray, 1), pointX, pointY, pointX + 1, pointY);
|
||||
//}
|
||||
// 绘制随机线条 1 条
|
||||
//graphics.DrawLine(
|
||||
// new Pen(colors[random.Next(colors.Length)], random.Next(3)),
|
||||
// new Point(
|
||||
// random.Next(bitmap.Width),
|
||||
// random.Next(bitmap.Height)),
|
||||
// new Point(random.Next(bitmap.Width),
|
||||
// random.Next(bitmap.Height)));
|
||||
// 绘制验证码
|
||||
for (int i = 0; i < code.Length; i++)
|
||||
{
|
||||
graphics.DrawString(
|
||||
code.Substring(i, 1),
|
||||
new System.Drawing.Font(fonts[random.Next(fonts.Length)], 17, FontStyle.Bold),
|
||||
new SolidBrush(colors[random.Next(colors.Length)]),
|
||||
16 * i + 1,
|
||||
random.Next(0, 5)
|
||||
);
|
||||
}
|
||||
// 绘制验证码噪点
|
||||
//for (int i = 0; i < random.Next(30, 50); i++)
|
||||
//{
|
||||
// int pointX = random.Next(bitmap.Width);
|
||||
// int pointY = random.Next(bitmap.Height);
|
||||
// graphics.DrawLine(new Pen(colors[random.Next(colors.Length)], 1), pointX, pointY, pointX, pointY + 1);
|
||||
//}
|
||||
// 绘制随机线条 1 条
|
||||
//graphics.DrawLine(
|
||||
// new Pen(colors[random.Next(colors.Length)], random.Next(3)),
|
||||
// new Point(
|
||||
// random.Next(bitmap.Width),
|
||||
// random.Next(bitmap.Height)),
|
||||
// new Point(random.Next(bitmap.Width),
|
||||
// random.Next(bitmap.Height)));
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
///// <summary>
|
||||
///// 获取福乐云HIS系统的token
|
||||
///// </summary>
|
||||
///// <param name="username"></param>
|
||||
///// <param name="pwd"></param>
|
||||
///// <returns></returns>
|
||||
//public static string getHisToken(string url1,string appkey, string appsecret)
|
||||
//{
|
||||
// Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
// dic.Add("appkey", appkey);
|
||||
// dic.Add("appsecret", appsecret);
|
||||
|
||||
// string resultV = commonOptions.PostFile3(url1, dic);
|
||||
// FlyHisTokenMsgModel tm = JsonConvert.DeserializeObject<FlyHisTokenMsgModel>(resultV);
|
||||
// return tm.data.access_token;
|
||||
//}
|
||||
|
||||
///// <summary>
|
||||
///// 获取福乐云HIS系统的患者基本信息
|
||||
///// </summary>
|
||||
///// <param name="username"></param>
|
||||
///// <param name="pwd"></param>
|
||||
///// <returns></returns>
|
||||
//public static FlyHisEcgDataModel GetHisEcgData(string url1, string Yiyuanid, string kaifangsj,string token)
|
||||
//{
|
||||
// Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
// dic.Add("Yiyuanid", Yiyuanid);
|
||||
// dic.Add("kaifangsj", kaifangsj);
|
||||
// dic.Add("token", token);
|
||||
// string resultV = commonOptions.PostFile3(url1, dic);
|
||||
// FlyHisEcgDataModel tm = JsonConvert.DeserializeObject<FlyHisEcgDataModel>(resultV);
|
||||
// return tm;
|
||||
//}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// post form-data 参数
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="items"></param>
|
||||
/// <returns></returns>
|
||||
//public static string PostFile3(string url, Dictionary<string, object> items)
|
||||
//{
|
||||
// string boundary = DateTime.Now.Ticks.ToString("x");
|
||||
// HttpWebRequest request = null;
|
||||
// //如果是发送HTTPS请求
|
||||
// if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
||||
// {
|
||||
// //处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)
|
||||
// ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
|
||||
// ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
|
||||
|
||||
// //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
|
||||
// request = WebRequest.Create(url) as HttpWebRequest;
|
||||
// request.ProtocolVersion = HttpVersion.Version10;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// request = WebRequest.Create(url) as HttpWebRequest;
|
||||
// }
|
||||
|
||||
// request.ContentType = "multipart/form-data; boundary=" + boundary;
|
||||
// request.Method = "POST";
|
||||
// // request.Headers.Add("Authorization", "Bearer " + token);
|
||||
// // 最后的结束符
|
||||
// var endBoundary = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
|
||||
|
||||
// //文件数据
|
||||
// string fileFormdataTemplate =
|
||||
// "--" + boundary +
|
||||
// "\r\nContent-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"" +
|
||||
// "\r\nContent-Type: application/octet-stream" +
|
||||
// "\r\n\r\n";
|
||||
|
||||
// //文本数据
|
||||
// string dataFormdataTemplate =
|
||||
// "\r\n--" + boundary +
|
||||
// "\r\nContent-Disposition: form-data; name=\"{0}\"" +
|
||||
// "\r\n\r\n{1}";
|
||||
// //FileInfo fi = new FileInfo(filePath);
|
||||
// //string fileHeader = string.Format(fileFormdataTemplate, "file", fi.Name);
|
||||
// //var fileBytes = Encoding.UTF8.GetBytes(fileHeader);
|
||||
|
||||
// using (var postStream = new MemoryStream())
|
||||
// {
|
||||
// ////写入文件格式串
|
||||
// //postStream.Write(fileBytes, 0, fileBytes.Length);
|
||||
|
||||
// //#region 写入文件流
|
||||
// //using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
|
||||
// //{
|
||||
// // byte[] buffer = new byte[1024];
|
||||
// // int bytesRead = 0;
|
||||
// // while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
|
||||
// // {
|
||||
// // postStream.Write(buffer, 0, bytesRead);
|
||||
// // }
|
||||
// //}
|
||||
// //#endregion
|
||||
|
||||
// #region 写入其他表单参数
|
||||
// foreach (KeyValuePair<string, object> key in items)
|
||||
// {
|
||||
// var p = string.Format(dataFormdataTemplate, key.Key, key.Value);
|
||||
// var bp = Encoding.UTF8.GetBytes(p);
|
||||
// postStream.Write(bp, 0, bp.Length);
|
||||
// }
|
||||
// #endregion
|
||||
|
||||
// //写入结束边界
|
||||
// postStream.Write(endBoundary, 0, endBoundary.Length);
|
||||
|
||||
// #region 写入流
|
||||
|
||||
// request.ContentLength = postStream.Length;
|
||||
// postStream.Position = 0;
|
||||
// using (Stream ds = request.GetRequestStream())
|
||||
// {
|
||||
// byte[] buffer = new byte[1024];
|
||||
// int bytesRead = 0;
|
||||
// while ((bytesRead = postStream.Read(buffer, 0, buffer.Length)) != 0)
|
||||
// {
|
||||
// ds.Write(buffer, 0, bytesRead);
|
||||
// }
|
||||
// }
|
||||
// #endregion
|
||||
|
||||
// #region 获取返回值
|
||||
|
||||
// string result = string.Empty;
|
||||
// using (HttpWebResponse rep = (HttpWebResponse)request.GetResponse())
|
||||
// {
|
||||
// using (Stream ds = rep.GetResponseStream())
|
||||
// {
|
||||
// using (StreamReader sr = new StreamReader(ds))
|
||||
// {
|
||||
// result = sr.ReadToEnd();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return result;
|
||||
|
||||
// #endregion
|
||||
// }
|
||||
//}
|
||||
|
||||
// 非对称公钥加密 使用公钥加密数据
|
||||
public static string Encrypt(string plainText)
|
||||
{
|
||||
string base64EncryptedData = string.Empty;
|
||||
// 创建 RSA 密钥对
|
||||
using (var rsa = new RSACryptoServiceProvider())
|
||||
{
|
||||
// 获取公钥
|
||||
string publicKey = rsa.ToXmlString(false);
|
||||
// 加载公钥
|
||||
rsa.FromXmlString("<RSAKeyValue><Modulus>gMIre8vicEqHjwhyrMUSMbwyR+STy9vGDyqmOd9xA4JI9/ghqAQAl5T9R8z87gwKMosPsEaRf4/1tg8taa/q2g0xwcZZ3dZlBzDSQ7k7I7t/Cv+m3YUZDp1U1TooSw8NzX3MQ36u1uiniWAUMvA0PT17dR6dxsQmMdDN4xSJO/0=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>");
|
||||
// 将待加密数据转换成字节数组
|
||||
byte[] dataToEncrypt = Encoding.UTF8.GetBytes(plainText);
|
||||
// 使用公钥加密数据
|
||||
byte[] encryptedData = rsa.Encrypt(dataToEncrypt, false);
|
||||
// 将加密后的数据转换为 Base64 编码的字符串
|
||||
base64EncryptedData = Convert.ToBase64String(encryptedData);
|
||||
string aaa = "公钥:" + publicKey;
|
||||
|
||||
}
|
||||
return base64EncryptedData;
|
||||
//byte[] encryptedData = Encoding.UTF8.GetBytes(plainText);
|
||||
//using (RSA rsa = RSA.Create())
|
||||
//{
|
||||
// rsa.ImportParameters(publicKey);
|
||||
// // return rsa.Encrypt(data, RSAEncryptionPadding.Pkcs1);
|
||||
// return Encoding.UTF8.GetString(rsa.Encrypt(encryptedData, RSAEncryptionPadding.Pkcs1));
|
||||
//}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 非对称公钥加密 使用公钥加密数据
|
||||
//public static string Encrypt(string plainText, RSAParameters publicKey)
|
||||
//{
|
||||
// byte[] encryptedData = Encoding.UTF8.GetBytes(plainText);
|
||||
// using (RSA rsa = RSA.Create())
|
||||
// {
|
||||
// rsa.ImportParameters(publicKey);
|
||||
// // return rsa.Encrypt(data, RSAEncryptionPadding.Pkcs1);
|
||||
// return Encoding.UTF8.GetString(rsa.Encrypt(encryptedData, RSAEncryptionPadding.Pkcs1));
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// DES加密
|
||||
/// </summary>
|
||||
/// <param name="data">加密数据</param>
|
||||
/// <param name="key">8位字符的密钥字符串</param>
|
||||
/// <param name="iv">8位字符的初始化向量字符串</param>
|
||||
/// <returns></returns>
|
||||
public static string DESEncrypt(string data, string key, string iv)
|
||||
{
|
||||
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
|
||||
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv);
|
||||
|
||||
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
|
||||
int i = cryptoProvider.KeySize;
|
||||
MemoryStream ms = new MemoryStream();
|
||||
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
|
||||
|
||||
StreamWriter sw = new StreamWriter(cst);
|
||||
sw.Write(data);
|
||||
sw.Flush();
|
||||
cst.FlushFinalBlock();
|
||||
sw.Flush();
|
||||
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DES解密
|
||||
/// </summary>
|
||||
/// <param name="data">解密数据</param>
|
||||
/// <param name="key">8位字符的密钥字符串(需要和加密时相同)</param>
|
||||
/// <param name="iv">8位字符的初始化向量字符串(需要和加密时相同)</param>
|
||||
/// <returns></returns>
|
||||
public static string DESDecrypt(string data, string key, string iv)
|
||||
{
|
||||
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
|
||||
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv);
|
||||
|
||||
byte[] byEnc;
|
||||
try
|
||||
{
|
||||
byEnc = Convert.FromBase64String(data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
|
||||
MemoryStream ms = new MemoryStream(byEnc);
|
||||
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
|
||||
StreamReader sr = new StreamReader(cst);
|
||||
return sr.ReadToEnd();
|
||||
}
|
||||
|
||||
public static string PostMoths(string url, string param)
|
||||
{
|
||||
string strURL = url;
|
||||
HttpWebRequest request;
|
||||
request = (HttpWebRequest)WebRequest.Create(strURL);
|
||||
request.Method = "POST";
|
||||
request.ContentType = "application/json;charset=UTF-8";
|
||||
string paraUrlCoded = param;
|
||||
byte[] payload;
|
||||
payload = Encoding.UTF8.GetBytes(paraUrlCoded);
|
||||
request.ContentLength = payload.Length;
|
||||
Stream writer = request.GetRequestStream();
|
||||
writer.Write(payload, 0, payload.Length);
|
||||
writer.Close();
|
||||
System.Net.HttpWebResponse response;
|
||||
response = (System.Net.HttpWebResponse)request.GetResponse();
|
||||
System.IO.Stream s;
|
||||
s = response.GetResponseStream();
|
||||
string StrDate = "";
|
||||
string strValue = "";
|
||||
StreamReader Reader = new StreamReader(s, Encoding.UTF8);
|
||||
while ((StrDate = Reader.ReadLine()) != null)
|
||||
{
|
||||
strValue += StrDate + "\r\n";
|
||||
}
|
||||
return strValue;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <param name="jsonContent"></param>
|
||||
/// <returns></returns>
|
||||
public static string PostByParas(string url, string token, string jsonContent)
|
||||
{
|
||||
string result = "";
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
||||
req.Method = "POST";
|
||||
req.ContentType = "application/json";
|
||||
req.Headers.Add("Authorization", "Bearer " + token);
|
||||
byte[] data = Encoding.UTF8.GetBytes(jsonContent);
|
||||
req.ContentLength = data.Length;
|
||||
using (Stream reqStream = req.GetRequestStream())
|
||||
{
|
||||
reqStream.Write(data, 0, data.Length);
|
||||
reqStream.Close();
|
||||
}
|
||||
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
|
||||
Stream stream = resp.GetResponseStream();
|
||||
//获取响应内容
|
||||
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
||||
{
|
||||
result = reader.ReadToEnd();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// http 上传文件 好用版
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <param name="items"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
public static string PostFile2(string url, string filePath, Dictionary<string, object> items)
|
||||
{
|
||||
string boundary = DateTime.Now.Ticks.ToString("x");
|
||||
HttpWebRequest request = null;
|
||||
//如果是发送HTTPS请求
|
||||
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
////处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)
|
||||
//ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
|
||||
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
|
||||
|
||||
////ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
|
||||
//request = WebRequest.Create(url) as HttpWebRequest;
|
||||
//request.ProtocolVersion = HttpVersion.Version10;
|
||||
}
|
||||
else
|
||||
{
|
||||
request = WebRequest.Create(url) as HttpWebRequest;
|
||||
}
|
||||
|
||||
request.ContentType = "multipart/form-data; boundary=" + boundary;
|
||||
request.Method = "POST";
|
||||
// request.Headers.Add("Authorization", "Bearer " + token);
|
||||
// 最后的结束符
|
||||
var endBoundary = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
|
||||
|
||||
//文件数据
|
||||
string fileFormdataTemplate =
|
||||
"--" + boundary +
|
||||
"\r\nContent-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"" +
|
||||
"\r\nContent-Type: application/octet-stream" +
|
||||
"\r\n\r\n";
|
||||
|
||||
//文本数据
|
||||
string dataFormdataTemplate =
|
||||
"\r\n--" + boundary +
|
||||
"\r\nContent-Disposition: form-data; name=\"{0}\"" +
|
||||
"\r\n\r\n{1}";
|
||||
FileInfo fi = new FileInfo(filePath);
|
||||
string fileHeader = string.Format(fileFormdataTemplate, "img", fi.Name);
|
||||
var fileBytes = Encoding.UTF8.GetBytes(fileHeader);
|
||||
|
||||
using (var postStream = new MemoryStream())
|
||||
{
|
||||
//写入文件格式串
|
||||
postStream.Write(fileBytes, 0, fileBytes.Length);
|
||||
|
||||
#region 写入文件流
|
||||
using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
|
||||
{
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead = 0;
|
||||
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
|
||||
{
|
||||
postStream.Write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 写入其他表单参数
|
||||
foreach (KeyValuePair<string, object> key in items)
|
||||
{
|
||||
var p = string.Format(dataFormdataTemplate, key.Key, key.Value);
|
||||
var bp = Encoding.UTF8.GetBytes(p);
|
||||
postStream.Write(bp, 0, bp.Length);
|
||||
|
||||
//System.Diagnostics.Debug.WriteLine(p);
|
||||
}
|
||||
#endregion
|
||||
|
||||
//写入结束边界
|
||||
postStream.Write(endBoundary, 0, endBoundary.Length);
|
||||
|
||||
#region 写入流
|
||||
|
||||
request.ContentLength = postStream.Length;
|
||||
postStream.Position = 0;
|
||||
using (Stream ds = request.GetRequestStream())
|
||||
{
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead = 0;
|
||||
while ((bytesRead = postStream.Read(buffer, 0, buffer.Length)) != 0)
|
||||
{
|
||||
ds.Write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取返回值
|
||||
|
||||
string result = string.Empty;
|
||||
using (HttpWebResponse rep = (HttpWebResponse)request.GetResponse())
|
||||
{
|
||||
using (Stream ds = rep.GetResponseStream())
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(ds))
|
||||
{
|
||||
result = sr.ReadToEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 图片转base64
|
||||
/// </summary>
|
||||
/// <param name="fileName"></param>
|
||||
/// <returns></returns>
|
||||
public static string DocumentToBase64Str(string fileName)
|
||||
{
|
||||
FileStream filestream = new FileStream(fileName, FileMode.Open);
|
||||
byte[] bt = new byte[filestream.Length];
|
||||
//调用read读取方法
|
||||
filestream.Read(bt, 0, bt.Length);
|
||||
string base64Str = Convert.ToBase64String(bt);
|
||||
filestream.Close();
|
||||
return base64Str;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 海军给的 http 上传文件 好用版
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <param name="items"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
//public static string PostFile2(string url, string filePath, Dictionary<string, object> items, string token)
|
||||
//{
|
||||
// string boundary = DateTime.Now.Ticks.ToString("x");
|
||||
// HttpWebRequest request = null;
|
||||
// //如果是发送HTTPS请求
|
||||
// if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
||||
// {
|
||||
// //处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道。)
|
||||
// ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
|
||||
// ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
|
||||
|
||||
// //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
|
||||
// request = WebRequest.Create(url) as HttpWebRequest;
|
||||
// request.ProtocolVersion = HttpVersion.Version10;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// request = WebRequest.Create(url) as HttpWebRequest;
|
||||
// }
|
||||
|
||||
// request.ContentType = "multipart/form-data; boundary=" + boundary;
|
||||
// request.Method = "POST";
|
||||
// request.Headers.Add("Authorization", "Bearer " + token);
|
||||
// // 最后的结束符
|
||||
// var endBoundary = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
|
||||
|
||||
// //文件数据
|
||||
// string fileFormdataTemplate =
|
||||
// "--" + boundary +
|
||||
// "\r\nContent-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"" +
|
||||
// "\r\nContent-Type: application/octet-stream" +
|
||||
// "\r\n\r\n";
|
||||
|
||||
// //文本数据
|
||||
// string dataFormdataTemplate =
|
||||
// "\r\n--" + boundary +
|
||||
// "\r\nContent-Disposition: form-data; name=\"{0}\"" +
|
||||
// "\r\n\r\n{1}";
|
||||
// FileInfo fi = new FileInfo(filePath);
|
||||
// string fileHeader = string.Format(fileFormdataTemplate, "file", fi.Name);
|
||||
// var fileBytes = Encoding.UTF8.GetBytes(fileHeader);
|
||||
|
||||
// using (var postStream = new MemoryStream())
|
||||
// {
|
||||
// //写入文件格式串
|
||||
// postStream.Write(fileBytes, 0, fileBytes.Length);
|
||||
|
||||
// #region 写入文件流
|
||||
// using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
|
||||
// {
|
||||
// byte[] buffer = new byte[1024];
|
||||
// int bytesRead = 0;
|
||||
// while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
|
||||
// {
|
||||
// postStream.Write(buffer, 0, bytesRead);
|
||||
// }
|
||||
// }
|
||||
// #endregion
|
||||
|
||||
// #region 写入其他表单参数
|
||||
// foreach (KeyValuePair<string, object> key in items)
|
||||
// {
|
||||
// var p = string.Format(dataFormdataTemplate, key.Key, key.Value);
|
||||
// var bp = Encoding.UTF8.GetBytes(p);
|
||||
// postStream.Write(bp, 0, bp.Length);
|
||||
|
||||
// //System.Diagnostics.Debug.WriteLine(p);
|
||||
// }
|
||||
// #endregion
|
||||
|
||||
// //写入结束边界
|
||||
// postStream.Write(endBoundary, 0, endBoundary.Length);
|
||||
|
||||
// #region 写入流
|
||||
|
||||
// request.ContentLength = postStream.Length;
|
||||
// postStream.Position = 0;
|
||||
// using (Stream ds = request.GetRequestStream())
|
||||
// {
|
||||
// byte[] buffer = new byte[1024];
|
||||
// int bytesRead = 0;
|
||||
// while ((bytesRead = postStream.Read(buffer, 0, buffer.Length)) != 0)
|
||||
// {
|
||||
// ds.Write(buffer, 0, bytesRead);
|
||||
// }
|
||||
// }
|
||||
// #endregion
|
||||
|
||||
// #region 获取返回值
|
||||
|
||||
// string result = string.Empty;
|
||||
// using (HttpWebResponse rep = (HttpWebResponse)request.GetResponse())
|
||||
// {
|
||||
// using (Stream ds = rep.GetResponseStream())
|
||||
// {
|
||||
// using (StreamReader sr = new StreamReader(ds))
|
||||
// {
|
||||
// result = sr.ReadToEnd();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return result;
|
||||
|
||||
// #endregion
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 指定Post地址使用Get 方式获取全部字符串
|
||||
/// </summary>
|
||||
/// <param name="url">请求后台地址</param>
|
||||
/// <returns></returns>
|
||||
public static string PostByParas(string url, Dictionary<string, string> dic)
|
||||
{
|
||||
string result = "";
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
||||
req.Method = "POST";
|
||||
req.ContentType = "application/x-www-form-urlencoded";
|
||||
#region 添加Post 参数
|
||||
StringBuilder builder = new StringBuilder();
|
||||
int i = 0;
|
||||
foreach (var item in dic)
|
||||
{
|
||||
if (i > 0)
|
||||
builder.Append("&");
|
||||
builder.AppendFormat("{0}={1}", item.Key, item.Value);
|
||||
i++;
|
||||
}
|
||||
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
|
||||
req.ContentLength = data.Length;
|
||||
using (Stream reqStream = req.GetRequestStream())
|
||||
{
|
||||
reqStream.Write(data, 0, data.Length);
|
||||
reqStream.Close();
|
||||
}
|
||||
#endregion
|
||||
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
|
||||
Stream stream = resp.GetResponseStream();
|
||||
//获取响应内容
|
||||
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
||||
{
|
||||
result = reader.ReadToEnd();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
///// <summary>
|
||||
///// 发送HttpGet请求
|
||||
///// </summary>
|
||||
///// <param name="Url"></param>
|
||||
///// <returns></returns>
|
||||
//public static string HttpGet1(string Url)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
|
||||
// HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
|
||||
// //response.Cookies = cookie.GetCookies(response.ResponseUri);
|
||||
// Stream myResponseStream = response.GetResponseStream();
|
||||
// StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
|
||||
// string retString = myStreamReader.ReadToEnd();
|
||||
// myStreamReader.Close();
|
||||
// myResponseStream.Close();
|
||||
// return retString;
|
||||
// }
|
||||
// catch (Exception e)
|
||||
// {
|
||||
|
||||
// return "error:" + e.ToString();
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
|
||||
|
||||
public static string HttpGet(string url)
|
||||
{
|
||||
//ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
|
||||
try
|
||||
{
|
||||
// MessageBox.Show(url);
|
||||
// Encoding encoding = Encoding.UTF8;
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
request.Method = "GET";
|
||||
request.Accept = "text/html, application/xhtml+xml, */*";
|
||||
request.ContentType = "application/json";
|
||||
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
|
||||
{
|
||||
return reader.ReadToEnd();
|
||||
}
|
||||
}catch (Exception ex) { MessageBox.Show(ex.ToString()); }
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 格式化磁盘
|
||||
/// </summary>
|
||||
/// <param name="DiskName">盘符名称:C:、D:、E:、F:</param>
|
||||
/// <returns></returns>
|
||||
public static bool FormatDisk(string DiskName)
|
||||
{
|
||||
ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd.exe");
|
||||
processStartInfo.RedirectStandardInput = true;
|
||||
processStartInfo.RedirectStandardOutput = true;
|
||||
processStartInfo.UseShellExecute = false;
|
||||
Process process = Process.Start(processStartInfo);
|
||||
if (process != null)
|
||||
{
|
||||
process.StandardInput.WriteLine($"FORMAT {DiskName} /y /FS:FAT32 /V:BMECG /Q");
|
||||
process.StandardInput.Close();
|
||||
string outputString = process.StandardOutput.ReadToEnd();
|
||||
if (outputString.Contains("已完成"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
2897
deviceAnalysis.cs
Normal file
2897
deviceAnalysis.cs
Normal file
File diff suppressed because it is too large
Load Diff
36
deviceInfo.cs
Normal file
36
deviceInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO.Ports;
|
||||
using System.Linq;
|
||||
using System.Net.Mail;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.AccessControl;
|
||||
using System.Text;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class deviceInfo
|
||||
{
|
||||
public string MachineCode { get; set; }// 设备型号
|
||||
public string MachineID { get; set; }// 设备后台编号
|
||||
public string MacAddress { get; set; }// 绑定的电脑标志信息
|
||||
public string MacConfigID { get; set; }// 后台设备接口配置编号
|
||||
public string InterFaceCode { get; set; }// 接口类型代码
|
||||
public string ChatSet { get; set; }// 字符集
|
||||
public string AckFlag { get; set; }// 应答ACK = 06H标志
|
||||
public string ResultPath { get; set; }// 结果存储路径
|
||||
public string DbCon { get; set; }// 数据库链接
|
||||
public string DbSql { get; set; }// 数据库Sql语句
|
||||
public string HL7TYPE { get; set; }//HL7协议类型标志
|
||||
public string ChatRoom { get; set; }// HL7协议方式(UDP/TCP)
|
||||
public string HL7IP { get; set; }// HL7协议服务启动IP地址
|
||||
public string HL7Port { get; set; }// HL7协议服务监听端口
|
||||
public string PortName { get; set; }// 串口号
|
||||
public string BaudRate { get; set; }// 波特率
|
||||
public string DataBit { get; set; }//数据位
|
||||
public string Parity { get; set; }//校验位
|
||||
public string StopBits { get; set; }// 停止位
|
||||
public string HexFlag { get; set; }// 数据接收方式
|
||||
public string ImgPath { get; set; }//图像存储路径
|
||||
}
|
||||
}
|
16
examImageParaModel.cs
Normal file
16
examImageParaModel.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class examImageParaModel
|
||||
{
|
||||
public string machineCode { get; set; }//设备型号
|
||||
public string machineID { get; set; }//设备id
|
||||
public string testDate { get; set; }//检验时间
|
||||
public string sampleNo { get; set; }// 样本号
|
||||
public string img { get; set; }//图片文件
|
||||
}
|
||||
}
|
28
examResultMode.cs
Normal file
28
examResultMode.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class examResultMode
|
||||
{
|
||||
public string machineCode { get; set; }// 设备代码 varchar(50)
|
||||
public string machineID { get; set; }// 设备后台编号 varchar(50) 不能为空
|
||||
public string testDate { get; set; }// 检验日期 Varchar(50)
|
||||
public string sampleNo { get; set; }//样本号 Varchar(50)
|
||||
public string barCode { get; set; }//条码号 Varchar(50)
|
||||
public string itemName { get; set; }//项目名称 Varchar(50)
|
||||
public string itemCode { get; set; }//项目代码 Varchar(50)
|
||||
public string chanelNo { get; set; }//通道号 Varchar(50)
|
||||
public string itemValue { get; set; }//项目结果 Varchar(50)
|
||||
public string itemTips { get; set; }//项目提示 Varchar(50)
|
||||
public string itemRange { get; set; }//参考范围 Varchar(200)
|
||||
public string yangFlag { get; set; }//阳性标志 Tinyint default 0
|
||||
public string itemUnit { get; set; }//项目单位 Varchar(50)
|
||||
public string lowValue { get; set; }//参考下限 Varchar(50)
|
||||
public string highValue { get; set; }//参考上限 Varchar(50)
|
||||
|
||||
}
|
||||
}
|
219
mainForm.Designer.cs
generated
Normal file
219
mainForm.Designer.cs
generated
Normal file
@ -0,0 +1,219 @@
|
||||
namespace FlyDockTool
|
||||
{
|
||||
partial class mainForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 必需的设计器变量。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 清理所有正在使用的资源。
|
||||
/// </summary>
|
||||
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows 窗体设计器生成的代码
|
||||
|
||||
/// <summary>
|
||||
/// 设计器支持所需的方法 - 不要修改
|
||||
/// 使用代码编辑器修改此方法的内容。
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(mainForm));
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.lb_currentDeviceInfo = new System.Windows.Forms.Label();
|
||||
this.lb_info = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btn_start_or_stop = new System.Windows.Forms.Button();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.txt_msg = new System.Windows.Forms.TextBox();
|
||||
this.timer_dataShow = new System.Windows.Forms.Timer(this.components);
|
||||
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.button1);
|
||||
this.groupBox2.Controls.Add(this.lb_currentDeviceInfo);
|
||||
this.groupBox2.Controls.Add(this.lb_info);
|
||||
this.groupBox2.Controls.Add(this.label1);
|
||||
this.groupBox2.Controls.Add(this.btn_start_or_stop);
|
||||
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.groupBox2.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(1107, 144);
|
||||
this.groupBox2.TabIndex = 1;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "操作";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(840, 82);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(198, 41);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "获取设备编号";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// lb_currentDeviceInfo
|
||||
//
|
||||
this.lb_currentDeviceInfo.AutoSize = true;
|
||||
this.lb_currentDeviceInfo.Location = new System.Drawing.Point(191, 39);
|
||||
this.lb_currentDeviceInfo.Name = "lb_currentDeviceInfo";
|
||||
this.lb_currentDeviceInfo.Size = new System.Drawing.Size(17, 18);
|
||||
this.lb_currentDeviceInfo.TabIndex = 1;
|
||||
this.lb_currentDeviceInfo.Text = "-";
|
||||
//
|
||||
// lb_info
|
||||
//
|
||||
this.lb_info.AutoSize = true;
|
||||
this.lb_info.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.lb_info.ForeColor = System.Drawing.Color.Blue;
|
||||
this.lb_info.Location = new System.Drawing.Point(212, 82);
|
||||
this.lb_info.Name = "lb_info";
|
||||
this.lb_info.Size = new System.Drawing.Size(18, 24);
|
||||
this.lb_info.TabIndex = 1;
|
||||
this.lb_info.Text = "-";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(78, 39);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(98, 18);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "当前设备:";
|
||||
//
|
||||
// btn_start_or_stop
|
||||
//
|
||||
this.btn_start_or_stop.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btn_start_or_stop.Location = new System.Drawing.Point(81, 76);
|
||||
this.btn_start_or_stop.Name = "btn_start_or_stop";
|
||||
this.btn_start_or_stop.Size = new System.Drawing.Size(112, 47);
|
||||
this.btn_start_or_stop.TabIndex = 0;
|
||||
this.btn_start_or_stop.Text = "启动";
|
||||
this.btn_start_or_stop.UseVisualStyleBackColor = true;
|
||||
this.btn_start_or_stop.Click += new System.EventHandler(this.btn_start_or_stop_Click);
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.txt_msg);
|
||||
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBox3.Location = new System.Drawing.Point(0, 144);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(1107, 593);
|
||||
this.groupBox3.TabIndex = 2;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "数据接收";
|
||||
//
|
||||
// txt_msg
|
||||
//
|
||||
this.txt_msg.BackColor = System.Drawing.Color.Black;
|
||||
this.txt_msg.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.txt_msg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.txt_msg.ForeColor = System.Drawing.Color.GreenYellow;
|
||||
this.txt_msg.Location = new System.Drawing.Point(3, 24);
|
||||
this.txt_msg.Multiline = true;
|
||||
this.txt_msg.Name = "txt_msg";
|
||||
this.txt_msg.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.txt_msg.Size = new System.Drawing.Size(1101, 566);
|
||||
this.txt_msg.TabIndex = 0;
|
||||
//
|
||||
// timer_dataShow
|
||||
//
|
||||
this.timer_dataShow.Enabled = true;
|
||||
this.timer_dataShow.Interval = 1000;
|
||||
//
|
||||
// notifyIcon1
|
||||
//
|
||||
this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
|
||||
this.notifyIcon1.Text = "福乐云软硬件数据对接工具正在运行中......请勿关闭";
|
||||
this.notifyIcon1.Visible = true;
|
||||
this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.显示ToolStripMenuItem,
|
||||
this.退出ToolStripMenuItem});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(133, 80);
|
||||
//
|
||||
// 显示ToolStripMenuItem
|
||||
//
|
||||
this.显示ToolStripMenuItem.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.显示ToolStripMenuItem.Name = "显示ToolStripMenuItem";
|
||||
this.显示ToolStripMenuItem.Size = new System.Drawing.Size(132, 38);
|
||||
this.显示ToolStripMenuItem.Text = "显示";
|
||||
this.显示ToolStripMenuItem.Click += new System.EventHandler(this.显示ToolStripMenuItem_Click);
|
||||
//
|
||||
// 退出ToolStripMenuItem
|
||||
//
|
||||
this.退出ToolStripMenuItem.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
|
||||
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(132, 38);
|
||||
this.退出ToolStripMenuItem.Text = "退出";
|
||||
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
|
||||
//
|
||||
// mainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1107, 737);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "mainForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "福乐云软硬件数据对接工具V1.1(2024121101)";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.mainForm_FormClosing);
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.TextBox txt_msg;
|
||||
private System.Windows.Forms.Button btn_start_or_stop;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label lb_currentDeviceInfo;
|
||||
private System.Windows.Forms.Label lb_info;
|
||||
private System.Windows.Forms.Timer timer_dataShow;
|
||||
private System.Windows.Forms.NotifyIcon notifyIcon1;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem 显示ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
||||
|
145
mainForm.cs
Normal file
145
mainForm.cs
Normal file
@ -0,0 +1,145 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Mail;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Windows.Forms;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public partial class mainForm : Form
|
||||
{
|
||||
public mainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
string CurrentDevice= ConfigurationManager.AppSettings["CurrentDevice"];
|
||||
apiOptions.CurrentDevice = CurrentDevice;
|
||||
apiOptions.MacAddress = ConfigurationManager.AppSettings[CurrentDevice].Split(',')[0];
|
||||
apiOptions.MachineCode = ConfigurationManager.AppSettings[CurrentDevice].Split(',')[1];
|
||||
apiOptions.MachineID = ConfigurationManager.AppSettings[CurrentDevice].Split(',')[2];
|
||||
lb_currentDeviceInfo.Text = CurrentDevice;
|
||||
btn_start_or_stop_Click(null,null);//启动数据接收
|
||||
|
||||
////测试代码 测试完毕后注释调一下两行代码
|
||||
//string resultDataStr = File.ReadAllText(@"C:\Users\Administrator\Desktop\察哈尔右翼中旗\黄羊城\尿常规MA-4210\尿常规MA-4210.txt", Encoding.GetEncoding("GB18030"));
|
||||
//deviceAnalysis.CreateInstance().deviceAnalysisOption(resultDataStr);
|
||||
}
|
||||
|
||||
private void btn_start_or_stop_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (btn_start_or_stop.Text == "启动")
|
||||
{
|
||||
//if (MessageBox.Show("确定启动数据接收?","提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
|
||||
//{
|
||||
deviceAnalysis.CreateInstance().startDataReceive();
|
||||
deviceAnalysis.CreateInstance().dataOutPutShow += new EventHandler(onReData);
|
||||
btn_start_or_stop.Text = "停止";
|
||||
timer_dataShow.Enabled = true;
|
||||
//txt_msg.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+" | 设备:"+ apiOptions.MacAddress+ " 数据接收已启动...\r\n");
|
||||
DoData("设备:" + apiOptions.MacAddress + " 数据接收已启动...\r\n");
|
||||
lb_info.Text = "数据接收已启动...";
|
||||
//}
|
||||
}
|
||||
else if (btn_start_or_stop.Text == "停止")
|
||||
{
|
||||
if (MessageBox.Show("确定停止数据接收?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
|
||||
{
|
||||
deviceAnalysis.CreateInstance().stopDataReceive();
|
||||
btn_start_or_stop.Text = "启动";
|
||||
timer_dataShow.Enabled = false;
|
||||
// txt_msg.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " | "+ apiOptions.MacAddress+ " 数据接收已停止...\r\n");
|
||||
DoData("设备:" + apiOptions.MacAddress + " 数据接收已停止...\r\n");
|
||||
lb_info.Text = "数据接收已停止...";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private delegate void DoDataDelegate(object txtContent);
|
||||
/// <summary>
|
||||
/// 异步赋值
|
||||
/// </summary>
|
||||
/// <param name="number"></param>
|
||||
private void DoData(object txtContent)
|
||||
{
|
||||
if (txt_msg.InvokeRequired)
|
||||
{
|
||||
DoDataDelegate d = DoData;
|
||||
txt_msg.Invoke(d, txtContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
txt_msg.AppendText("\r\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "接收到数据 : " + txtContent.ToString() + "\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示串口或者TCP接收到的数据
|
||||
/// </summary>
|
||||
/// <param name="o"></param>
|
||||
/// <param name="e"></param>
|
||||
void onReData(object o, EventArgs e)
|
||||
{
|
||||
//txt_msg.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "接收到数据 : " + o.ToString()+ "\r\n");
|
||||
DoData(o);
|
||||
}
|
||||
|
||||
bool isClose = false;
|
||||
private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (!isClose)
|
||||
{
|
||||
e.Cancel = true;
|
||||
this.Hide();
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
this.Show();
|
||||
}
|
||||
|
||||
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("确定退出该软件?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
|
||||
{
|
||||
isClose = true;
|
||||
Application.Exit();
|
||||
}
|
||||
}
|
||||
|
||||
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Show();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
baseMsgModel bmm = apiOptions.CreateInstance().getMacAddressInfo();
|
||||
if (bmm.code == 200)
|
||||
{
|
||||
List<deviceInfo> diList = JsonConvert.DeserializeObject<List<deviceInfo>>(bmm.data.ToString());
|
||||
string showStr= "计算机名称(MacAddress):" + diList[0].MacAddress+"\r\n";
|
||||
showStr += "设备型号(MachineCode):" + diList[0].MachineCode + "\r\n";
|
||||
showStr += "设备编号(MachineID):" + diList[0].MachineID + "\r\n";
|
||||
MessageBox.Show(showStr);
|
||||
}
|
||||
else
|
||||
MessageBox.Show("未查到设备编号,请先在配置文件中配置MacAddress和MachineCode");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
704
mainForm.resx
Normal file
704
mainForm.resx
Normal file
@ -0,0 +1,704 @@
|
||||
<?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="timer_dataShow.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>248, 17</value>
|
||||
</metadata>
|
||||
<metadata name="notifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>452, 17</value>
|
||||
</metadata>
|
||||
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>611, 14</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAMMOAADDDgAAAAAAAAAA
|
||||
AACtra3/////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////7+
|
||||
//95dO//JR3m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ycf5v+alvP/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////ra2t////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////x8X4/zUu5/8oIOb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8mHub/Xljs//f3/v//////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////62trf//////////////////////////////
|
||||
///////////////////////////////////////////////////y8f3/r6z2/6ai9f+mo/X/pqP1/6aj
|
||||
9f+mo/X/pqP1/6aj9f+mo/X/paL0/7+89//7+/////////X1/v9ZU+z/Jh7m/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zUu5//Hxfn/////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////+tra3/////////
|
||||
////////////////////////////////////////////////////////////////////////+fn+/3Jt
|
||||
7/8kHOX/Jx/m/ycf5v8nH+b/Jx/m/ycf5v8nH+b/Jx/m/yUd5v88Nej/3t37////////////o6D0/ysj
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8lHeb/fHfw////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////+
|
||||
/P/88tz/ra2t////////////////////////////////////////////////////////////////////
|
||||
//////////////////+8uvf/KyPm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KiLm/6Sh
|
||||
9P///////////+Tj/P9BOun/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/0lC
|
||||
6v/k4/z/////////////////////////////////////////////////////////////////////////
|
||||
///////////////////++vL/77tE/62trf//////////////////////////////////////////////
|
||||
////////////////////////////////////////6+r9/1NN6/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/yYe5v9UTev/8O/9///////8+///fXjw/yce5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8oIOb/l5Pz////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////vrx/+62OP+tra3///////////////////////n5
|
||||
/v+sqfX/kIzy/5GN8v+RjfL/kY3y/5GN8v+RjfL/kY3y/5GM8v+emvT/8/L+//////+bl/P/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/NCzn/8fF+P///////////8rI+f8xKef/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx7m/01H6v/u7f3/////////////////////////
|
||||
//////////////////////////////////////////////////////////////768f/utjj/ra2t////
|
||||
////////////////////////nJjz/yYe5v8lHeb/JR3m/yUd5v8lHeb/JR3m/yUd5v8kHOX/LCXm/7m2
|
||||
9///////0tD6/zs06P8oIOb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe5v9zbe//+/v/////
|
||||
///v7/3/WlTs/yYe5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8xKef/vbv3////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///++vH/7rY4/62trf///////////////////////////97c+/88NOj/KCDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/yYe5v9lX+3/+fj+//39//94c+//JR3m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8nH+b/RT7p/+Lh/P///////////6qn9f8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jh3m/2pk7v/6+v7/////////////////////////////////////////////////////////
|
||||
/////////////////////////vrx/+62OP+tra3////////////////////////////7+/7/eXTv/yce
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/Pjbo/9jX+v//////sa72/y0l5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v+Xk/P////////////a2fv/QDjp/ygg5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ycf5v9AOen/3Nr7////////////////////////////////////
|
||||
//////////////////////////////////////////////768f/utjj/ra2t////////////////////
|
||||
/////////////8PA+P8tJuf/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe5v+Ig/H///////Dw
|
||||
/f9ZU+z/Jh7m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8mHub/Xljs//X0/v///////v7//4aC
|
||||
8f8mHub/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx7m/4yI8v//////////////
|
||||
///////////////////////////////////////////////////////////////////++vH/7rY4/62t
|
||||
rf/////////////////////////////////t7f3/VlDr/ycf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8mHub/VE7r/+7t/f//////jYny/yYe5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/zAo
|
||||
5/+8uff///////////+9u/f/Lyjn/ygg5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe
|
||||
5v9YUuv/8PD9////////////////////////////////////////////////////////////////////
|
||||
/////////vrx/+62OP+tra3//////////////////////////////////////6Ke9P8nH+b/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ysk5v+sqfX//////9zb+/9BOun/KB/m/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8lHeb/fnnw//7+////////9fX+/2Vf7f8mHub/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/LSXm/7Gu9v//////////////////////////////////////////////
|
||||
//////////////////////////////768f/utjj/ra2t////////////////////////////////////
|
||||
///W1Pr/PTbo/ygf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8lHeb/cm3v//v7///7+///a2Xu/yYd
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/0I76f/b2fv///////////+5tvf/Libn/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yUd5v93cu///Pz/////////////////////
|
||||
///////////////////////////////////////////////////++vH/7rY4/62trf//////////////
|
||||
/////////////////////////f3//4R/8f8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zkx
|
||||
6P/OzPn//////7279/8xKef/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/oJz0////
|
||||
////////5eT8/0dB6v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/OzTo/9LQ
|
||||
+v///////////////////////////////////////////////////////////////////////vrx/+62
|
||||
OP+tra3////////////////////////////////////////////S0Pr/Ni7o/ygg5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8mHub/k4/y///////v7/3/T0jq/yYe5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jh7m/11X7P/x8P3///////////+VkfP/KB/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/yYe5v+ZlfP/////////////////////////////////////////////////////////
|
||||
//////////////768f/utjj/ra2t////////////////////////////////////////////8/L+/2Ba
|
||||
7P8mHub/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/1BK6//o6Pz//////5iU8/8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8tJuf/wb74////////////zsz5/zQs5/8oIOb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/VE3r/+vq/f//////////////////////////////
|
||||
///////////////////////////////////++vH/7rU4/62trf//////////////////////////////
|
||||
//////////////////+ysPb/KyPm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8qIub/tbP2////
|
||||
///a2fv/OTLo/ygg5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx7m/4B78P/9/f////////n5
|
||||
/v9wa+7/Jh7m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KCDm/ygg5v+3tPf/////////
|
||||
/////////////////////////////////////////////////////////vv1//PMc/+tra3/////////
|
||||
////////////////////////////////////////4N/7/0Q96f8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jh7m/3Br7v/5+f7/+fn+/3Jt7/8mHub/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg
|
||||
5v88NOj/29n7////////////sa72/yoi5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/JR3m/y8o
|
||||
5/9jXe3/urf3////////////////////////////////////////////////////////////////////
|
||||
////////ra2t//////////////////////////////////////////////////////+Pi/L/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v81Lef/09H6//////++vPf/LCXm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/6Og9P///////////+jo/P9RSuv/Jx/m/ykh5v8pIeb/KSHm/yce
|
||||
5v8oIOb/QDnp/4SA8f+8uvf/9PT+////////////////////////////////////////////////////
|
||||
/////////////////////v7/+ea6/62trf//////////////////////////////////////////////
|
||||
////////xsT4/zIq5/8oIOb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KCDm/5aS8///////6un9/1FK
|
||||
6/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/Jx/m/y8n5/99efD/9vb+////////////j4vy/yUd
|
||||
5v8oIOb/Jx/m/y8n5/9aVOz/p6T1/9rZ+//8/P//////////////////////////////////////////
|
||||
////////////////////////////////////////+unD/+uqGf+tra3/////////////////////////
|
||||
//////////////////////////////j4/v9sZu7/Jh7m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe
|
||||
5v9EPen/4N/7//////+dmfT/Jx/m/ykh5v8pIeb/KCDm/yYe5v8sJOb/QTrp/4WA8f/Myvn/8fH9////
|
||||
/////////////87M+f83L+j/ODHo/3558P/Ixvn/8O/9////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////rqxv/rqBX/ra2t////
|
||||
////////////////////////////////////////////////////////p6T1/ygg5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KB/m/yUd5v8xKef/UUvr/8vJ+f//////0c/6/zoy6P8mHub/Jh7m/zcw6P9bVOz/q6j1/+Tj
|
||||
/P/8+//////////////////////////////6+v7/tbP2/87M+f/7+///////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///+/Pj/99ye/62trf///////////////////////////////////////////////////////////+bl
|
||||
/P9NRur/Jx/m/ykh5v8mHub/Jh7m/0E66f9taO7/vbv3//Dw/f/9/f////////z8//99ePD/SEHq/3x3
|
||||
8P/Pzfn/9PT+//7+////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+tra3/////////////////////////////////////////
|
||||
////////////////////////hYHx/yIa5f8tJeb/W1Ts/5CM8v/d2/v//Pz/////////////////////
|
||||
////////4+L8/9jX+v/v7v3/9PT+//79////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////ra2t////////////////////
|
||||
/////////////////////////////////////////////8zK+f9/evD/s7D2//Hx/f//////////////
|
||||
////////9PP+/9TT+v+cmPP/l5Pz/42J8v9TTev/SkPq/1VO6/+Pi/L/l5Pz/5+b9P/Y1/r/9vX+////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////62t
|
||||
rf/////////////////////////////////////////////////////////////////7+///+vr+////
|
||||
//////////////7+///j4vz/mJXz/2Jc7f83MOj/Jx/m/yUd5v8lHeb/Jx7m/ycf5v8mHub/JR3m/yUd
|
||||
5v8oIOb/OTHo/2di7f+FgPH/y8n5//v6/v//////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////+tra3/////////////////////////////////////////////////////////
|
||||
/////////////////////////v7//+Ph/P+VkfP/R0Dp/ycf5v8mHub/KCDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8mHub/JR3m/zYu6P95dO//5OP8//7+////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////ra2t////////////////////////////////////
|
||||
/////////////////////////////////////////v7//7Ct9v9GP+n/KB/m/ycf5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/Jx/m/0xF
|
||||
6v+dmfT/8fD9////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////62trf//////////////
|
||||
////////////////////////////////////////////////////////7Oz9/4qG8f83MOj/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8nH+b/KCDm/3x38P/y8v7/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+tra3/////////////////////////////////////////////////////////////////7ez9/3Fr
|
||||
7v8mHub/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8mHub/JR3m/yUd5v8lHeb/JR3m/yUd
|
||||
5v8nHub/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/d3Lv/9rY+///////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////ra2t////////////////////////////////////////////////////
|
||||
////////7Oz9/3Fs7v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/yYe5v82Luf/W1Xs/4eD
|
||||
8f+HgvH/h4Lx/4eC8f+GgvH/VlDr/zQs5/8mHub/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYd
|
||||
5v9TTOv/6un9////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////62trf//////////////////////////////
|
||||
////////////////////////+fn+/3hz7/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/KSHm/1BJ
|
||||
6/+WkvP/zsz5//Hx/f///////////////////////////+/v/f/Jx/n/ko7y/0tE6v8oIOb/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KiLm/3x38P/y8v7/////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////+tra3/////////
|
||||
/////////////////////////////////////////v7//66r9v8yKuf/KCDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8mHub/NS7n/52a9P/q6f3//v7///////////////////////////////////////////////////7+
|
||||
///m5fz/mpbz/0hB6v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8oH+b/jIjy////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////ra2t/////////////////////////////////////////////////8/O+f85Muj/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8oIOb/U03r/7Wy9v/9/f//////////////////////////////////////////
|
||||
///////////////////////////////////Y1vr/Ukzr/yYe5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zoz
|
||||
6P/Bv/j/////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////62trf////////////////////////////////////////////v7
|
||||
//96dvD/Jh7m/ykh5v8pIeb/KSHm/ykh5v8mHub/TEbq/9/e+///////////////////////////////
|
||||
/////////////////////////////////////////////////////////////9jW+v9STOv/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8lHeb/ZF7t//X1/v//////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////+tra3/////////////////////////
|
||||
///////////////////OzPn/ODHo/ygg5v8pIeb/KSHm/ykh5v8oIOb/NS7n/6+s9v//////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////2Nb6/09J6v8nH+b/KSHm/ykh5v8pIeb/KCDm/y8o5/+7uPf/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////ra2t////
|
||||
///////////////////////////////////7+///enXv/yYe5v8pIeb/KSHm/ykh5v8pIeb/KCDm/5SQ
|
||||
8v////////////////////////////////////////////b29//t7e3/7e3u/+3t7v/4+Pj/////////
|
||||
//////////////////////////////////+tqvX/KyTm/ykh5v8pIeb/KSHm/ykh5v8mHub/aGLt//r5
|
||||
/v//////////////////////////////////////////////////////////////////////////////
|
||||
/////////////62trf//////////////////////////////////////7+/9/0tE6v8nH+b/KSHm/ykh
|
||||
5v8pIeb/Jx/m/0hB6v/h4Pz/////////////////////////////////+Pj4/8TExv9ub3T/SElP/0lK
|
||||
UP9JSU//c3N4/62usP/4+Pj/////////////////////////////////7+79/1hS7P8mHub/KSHm/ykh
|
||||
5v8pIeb/KB/m/z846f/a2fv/////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+tra3//////////////////////////////////////8jG
|
||||
+f81Lef/KCDm/ykh5v8pIeb/KSHm/y4m5/+zsfb/////////////////////////////////9vb2/4qL
|
||||
j/8zNDr/KCkw/ykqMf8pKjH/KSox/ycoL/8wMTf/dXV6/93e3///////////////////////////////
|
||||
//+sqfX/LCTm/ykh5v8pIeb/KSHm/ykh5v8pIeb/qqf1////////////////////////////////////
|
||||
////////////////////////////////////////////////////////ra2t////////////////////
|
||||
//////////////////+SjvL/Jh7m/ykh5v8pIeb/KSHm/ygg5v84MOj/2Nf6////////////////////
|
||||
////////9vb2/4mKjf8sLTT/Kisy/yssM/8rLDP/Kywz/yssM/8rLDP/Kisy/yYnLv9mZ2z/9PT1////
|
||||
////////////////////////7u39/1FL6/8mHub/KSHm/ykh5v8pIeb/JR3m/29q7v/+/v//////////
|
||||
/////////////////////////////////////////////////////////////////////////////62t
|
||||
rf/////////////////////////////////6+v7/X1ns/yYe5v8pIeb/KSHm/ykh5v8mHeb/Y13t//j3
|
||||
/v///////////////////////////6usrv8tLjX/Kisy/yssM/8rLDP/Kywz/yssM/8rLDP/Kywz/yss
|
||||
M/8rLDP/LzA3/52doP////////////////////////////////+HgvH/Jx/m/ykh5v8pIeb/KSHm/yUd
|
||||
5v9taO7//v7/////////////////////////////////////////////////////////////////////
|
||||
//////////////////+tra3/////////////////////////////////+vr+/19Z7P8mHub/KSHm/ykh
|
||||
5v8pIeb/Jh7m/4B88P////////////////////////////n5+f9iYmj/KCkw/yssM/8rLDP/Kywz/yss
|
||||
M/8rLDP/Kywz/yssM/8rLDP/Kywz/ygpMP9bXGH/8/Pz////////////////////////////sa72/ygg
|
||||
5v8pIeb/KSHm/ykh5v8nH+b/SkPq/+Xk/P//////////////////////////////////////////////
|
||||
////////////////////////////////////////ra2t//////////////////////////////////f3
|
||||
/v9cVuz/Jh7m/ykh5v8pIeb/KSHm/ysj5v+9u/f////////////////////////////T09X/OjtC/yor
|
||||
Mv8rLDP/Kisy/ykqMf8rLDP/Kywz/yssM/8rLDP/Kywz/yssM/8rLDP/NTY9/9PT1f//////////////
|
||||
/////////////7Gu9v8oIOb/KSHm/ykh5v8pIeb/KSDm/zIr5//U0/r/////////////////////////
|
||||
/////////////////////////////////////////////////////////////62trf//////////////
|
||||
///////////////////Y1vr/PTbo/ygg5v8pIeb/KSHm/ykh5v8rI+b/wL34////////////////////
|
||||
////////xMTG/y0uNf8rLDP/Kisy/zQ1PP9CQ0n/LS41/yssM/8rLDP/Kywz/yssM/8rLDP/Kywz/zM0
|
||||
O//S0tP///////////////////////////+xrvb/KCDm/ykh5v8pIeb/KSHm/ygg5v8zLOf/1dT6////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+tra3/////////////////////////////////9fT+/1pU7P8mHub/KSHm/ykh5v8pIeb/KyPm/7+8
|
||||
+P///////////////////////////8XGx/8vMDb/Kywz/ywtNP+io6b/1NTV/zs8Q/8qKzL/Kywz/yss
|
||||
M/8rLDP/Kywz/yssM/8yMzr/0dHT////////////////////////////sa72/ygg5v8pIeb/KSHm/ykh
|
||||
5v8oIOb/Myzn/9XU+v//////////////////////////////////////////////////////////////
|
||||
//////////////7//v/9/v3/ra2t//////////////////////////////////r6/v9fWez/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ycf5v+GgfH////////////////////////////p6er/TU1T/ygpMf8rLDP/e3yA/6mp
|
||||
rP83OD//Kisy/yssM/8rLDP/Kywz/yssM/8qKzL/REVL/+Dg4f///////////////////////////7Gu
|
||||
9v8oIOb/KSHm/ykh5v8pIeb/KCDm/zYv6P/X1vr/////////////////////////////////////////
|
||||
///////////////////////////////////V6MP/gblL/62trf//////////////////////////////
|
||||
///19P7/WlPs/yYe5v8pIeb/KSHm/ykh5v8lHeb/bGbu//7+/////////////////////////f39/4aH
|
||||
i/8rLDP/Kywz/yorMv8sLTT/Kywz/yssM/8rLDP/Kywz/yssM/8rLDP/Jicu/3Jyd//+/v7/////////
|
||||
//////////////////+NifL/Jx/m/ykh5v8pIeb/KSHm/yYe5v9iXO3/9vb+////////////////////
|
||||
////////////////////////////////////////////////////////2erJ/1miGP+tra3/////////
|
||||
////////////////////////vrz3/zIq5/8pIeb/KSHm/ykh5v8pIeb/Jx/m/01G6v/n5vz/////////
|
||||
///////////////////q6uv/VFRa/ygpMP8rLDP/Kywz/yssM/8rLDP/Kywz/yssM/8rLDP/KCkw/1FS
|
||||
WP/V1df////////////////////////////6+v7/Xljs/yYe5v8pIeb/KSHm/ykh5v8lHeb/bmju//7+
|
||||
//////////////////////////////////////////////////////////////////////////////v9
|
||||
+f/C3aj/ra2t/////////////////////////////////3hz7/8lHeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8uJuf/vbv3/////////////////////////////////8zMzv9JSlD/Jygv/yorMv8rLDP/Kywz/yss
|
||||
M/8qKzL/Jicv/1FSWP/V1df/////////////////////////////////1dT6/z026P8oIOb/KSHm/ykh
|
||||
5v8pIeb/KSHm/6Wi9P//////////////////////////////////////////////////////////////
|
||||
/////////////////////////////62trf///////////////////////////93c+/9EPen/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/Jh7m/2tl7v/39v7/////////////////////////////////z8/R/2ts
|
||||
cf88PUP/Kisy/ygpMP8nKDD/Njc+/3JzeP/X19j//////////////////////////////////f3//4J9
|
||||
8P8mHub/KSHm/ykh5v8pIeb/KSHm/y8n5//Fw/j/////////////////////////////////////////
|
||||
//////////////////////////////////////////////////+tra3/////////////////////////
|
||||
//+NifL/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8yKuf/wb/4////////////////////
|
||||
///////////////////29vb/2trb/6Ojpv+cnaD/nJ2g/8fHyf/4+Pn/////////////////////////
|
||||
/////////////9TS+v88Nej/KCDm/ykh5v8pIeb/KSHm/yYe5v9RSuv/8O/9////////////////////
|
||||
////////////////////////////////////////////////////////////////////////ra2t////
|
||||
///////////////////r6v3/SULq/ycf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jh7m/2Fb
|
||||
7f/n5vz/////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////Ly/v9kXu3/Jx/m/ykh5v8pIeb/KSHm/ykh5v8nH+b/jYny////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////62trf//////////////////////1tT6/0dA6v8mHub/Jh7m/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8mHub/eHLv//v7////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////r6/v+Xk/P/LSXm/ygg5v8pIeb/KSHm/ykh
|
||||
5v8nH+b/Qjvp/9zb+///////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+tra3///////////////////////39///Z1/v/mpbz/1tV
|
||||
7P8sJeb/Jh7m/ygg5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zMs5/+IhPH/5+b8////////////////////
|
||||
//////////////////////////////////////////////////////////////r6/v+YlPP/Libn/ygg
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/Libn/6mm9f/+/v//////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////ra2t////////////////////
|
||||
///////////////////v7v3/u7n3/3558P85Muj/Jx/m/ykh5v8pIeb/KSHm/ykh5v8oIOb/JR3m/2Vg
|
||||
7f/T0fr//Pz//////////////////////////////////////////////////////////////////9/d
|
||||
+/92ce//Lyfn/ygg5v8pIeb/KSHm/ykh5v8pIeb/JR3m/11X7P/x8f3/////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////62t
|
||||
rf/////////////////////////////////////////////////8/P//09H6/19Z7P8mHub/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8nH+b/OTLo/3148P/R0Pr/9fT+////////////////////////////////////
|
||||
///5+f7/5eT8/52Z9P9KROr/Jh7m/ygg5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/0A56f/Dwfj/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////+tra3/////////////////////////////////////////////////////////
|
||||
///Dwfj/OjPo/ycf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8mHub/OTHo/19Z7P+UkPL/u7j3/+Lg
|
||||
/P/g3/v/4eD8/7Wy9v+Xk/P/dnHv/0M86f8pIeb/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jh7m/0A5
|
||||
6f/Cv/j/////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////ra2t////////////////////////////////////
|
||||
/////////////////////////////7e09/85Muj/Jh3m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg
|
||||
5v8mHub/JR3m/zAo5/87NOj/OzTo/zs06P8uJuf/JR3m/yYe5v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jx/m/zkx6P+lovT/////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////62trf//////////////
|
||||
////////////////////////////////////////////////////////u7n3/1VP6/8nH+b/KCDm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/KCDm/ygg5v8oIOb/KSDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/JR3m/0A46f/Cv/j//f3/////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+tra3/////////////////////////////////////////////////////////////////////////
|
||||
///n5vz/bGbu/y4m5/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/KCDm/2Re7f/Ixvn/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////ra2t////////////////////////////////////////////////////
|
||||
//////////////////////////////T0/v+lofT/RD3p/ycf5v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ycf5v8oIOb/SkPq/5qW8//s7P3/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////62trf//////////////////////////////
|
||||
/////////////////////////////////////////////////////////v7//+Hg/P+UkPL/R0Dq/zMr
|
||||
5/8pIOb/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/y8n5/9MRer/m5fz/+bl
|
||||
/P/+/v//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////+tra3/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////+Df+//Ixvn/hYDx/0U+6f8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/Mirn/29q
|
||||
7v+zsfb/5eT8////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAMMOAADDDgAAAAAAAAAA
|
||||
AACtra3/////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////7+
|
||||
//95dO//JR3m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ycf5v+alvP/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////ra2t////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////x8X4/zUu5/8oIOb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8mHub/Xljs//f3/v//////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////62trf//////////////////////////////
|
||||
///////////////////////////////////////////////////y8f3/r6z2/6ai9f+mo/X/pqP1/6aj
|
||||
9f+mo/X/pqP1/6aj9f+mo/X/paL0/7+89//7+/////////X1/v9ZU+z/Jh7m/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zUu5//Hxfn/////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////+tra3/////////
|
||||
////////////////////////////////////////////////////////////////////////+fn+/3Jt
|
||||
7/8kHOX/Jx/m/ycf5v8nH+b/Jx/m/ycf5v8nH+b/Jx/m/yUd5v88Nej/3t37////////////o6D0/ysj
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8lHeb/fHfw////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////+
|
||||
/P/88tz/ra2t////////////////////////////////////////////////////////////////////
|
||||
//////////////////+8uvf/KyPm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KiLm/6Sh
|
||||
9P///////////+Tj/P9BOun/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/0lC
|
||||
6v/k4/z/////////////////////////////////////////////////////////////////////////
|
||||
///////////////////++vL/77tE/62trf//////////////////////////////////////////////
|
||||
////////////////////////////////////////6+r9/1NN6/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/yYe5v9UTev/8O/9///////8+///fXjw/yce5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8oIOb/l5Pz////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////vrx/+62OP+tra3///////////////////////n5
|
||||
/v+sqfX/kIzy/5GN8v+RjfL/kY3y/5GN8v+RjfL/kY3y/5GM8v+emvT/8/L+//////+bl/P/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/NCzn/8fF+P///////////8rI+f8xKef/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx7m/01H6v/u7f3/////////////////////////
|
||||
//////////////////////////////////////////////////////////////768f/utjj/ra2t////
|
||||
////////////////////////nJjz/yYe5v8lHeb/JR3m/yUd5v8lHeb/JR3m/yUd5v8kHOX/LCXm/7m2
|
||||
9///////0tD6/zs06P8oIOb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe5v9zbe//+/v/////
|
||||
///v7/3/WlTs/yYe5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8xKef/vbv3////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///++vH/7rY4/62trf///////////////////////////97c+/88NOj/KCDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/yYe5v9lX+3/+fj+//39//94c+//JR3m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8nH+b/RT7p/+Lh/P///////////6qn9f8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jh3m/2pk7v/6+v7/////////////////////////////////////////////////////////
|
||||
/////////////////////////vrx/+62OP+tra3////////////////////////////7+/7/eXTv/yce
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/Pjbo/9jX+v//////sa72/y0l5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v+Xk/P////////////a2fv/QDjp/ygg5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ycf5v9AOen/3Nr7////////////////////////////////////
|
||||
//////////////////////////////////////////////768f/utjj/ra2t////////////////////
|
||||
/////////////8PA+P8tJuf/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe5v+Ig/H///////Dw
|
||||
/f9ZU+z/Jh7m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8mHub/Xljs//X0/v///////v7//4aC
|
||||
8f8mHub/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx7m/4yI8v//////////////
|
||||
///////////////////////////////////////////////////////////////////++vH/7rY4/62t
|
||||
rf/////////////////////////////////t7f3/VlDr/ycf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8mHub/VE7r/+7t/f//////jYny/yYe5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/zAo
|
||||
5/+8uff///////////+9u/f/Lyjn/ygg5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe
|
||||
5v9YUuv/8PD9////////////////////////////////////////////////////////////////////
|
||||
/////////vrx/+62OP+tra3//////////////////////////////////////6Ke9P8nH+b/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ysk5v+sqfX//////9zb+/9BOun/KB/m/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8lHeb/fnnw//7+////////9fX+/2Vf7f8mHub/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/LSXm/7Gu9v//////////////////////////////////////////////
|
||||
//////////////////////////////768f/utjj/ra2t////////////////////////////////////
|
||||
///W1Pr/PTbo/ygf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8lHeb/cm3v//v7///7+///a2Xu/yYd
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/0I76f/b2fv///////////+5tvf/Libn/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yUd5v93cu///Pz/////////////////////
|
||||
///////////////////////////////////////////////////++vH/7rY4/62trf//////////////
|
||||
/////////////////////////f3//4R/8f8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zkx
|
||||
6P/OzPn//////7279/8xKef/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/oJz0////
|
||||
////////5eT8/0dB6v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/OzTo/9LQ
|
||||
+v///////////////////////////////////////////////////////////////////////vrx/+62
|
||||
OP+tra3////////////////////////////////////////////S0Pr/Ni7o/ygg5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8mHub/k4/y///////v7/3/T0jq/yYe5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jh7m/11X7P/x8P3///////////+VkfP/KB/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/yYe5v+ZlfP/////////////////////////////////////////////////////////
|
||||
//////////////768f/utjj/ra2t////////////////////////////////////////////8/L+/2Ba
|
||||
7P8mHub/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/1BK6//o6Pz//////5iU8/8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8tJuf/wb74////////////zsz5/zQs5/8oIOb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/VE3r/+vq/f//////////////////////////////
|
||||
///////////////////////////////////++vH/7rU4/62trf//////////////////////////////
|
||||
//////////////////+ysPb/KyPm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8qIub/tbP2////
|
||||
///a2fv/OTLo/ygg5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx7m/4B78P/9/f////////n5
|
||||
/v9wa+7/Jh7m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KCDm/ygg5v+3tPf/////////
|
||||
/////////////////////////////////////////////////////////vv1//PMc/+tra3/////////
|
||||
////////////////////////////////////////4N/7/0Q96f8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jh7m/3Br7v/5+f7/+fn+/3Jt7/8mHub/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg
|
||||
5v88NOj/29n7////////////sa72/yoi5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/JR3m/y8o
|
||||
5/9jXe3/urf3////////////////////////////////////////////////////////////////////
|
||||
////////ra2t//////////////////////////////////////////////////////+Pi/L/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v81Lef/09H6//////++vPf/LCXm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/6Og9P///////////+jo/P9RSuv/Jx/m/ykh5v8pIeb/KSHm/yce
|
||||
5v8oIOb/QDnp/4SA8f+8uvf/9PT+////////////////////////////////////////////////////
|
||||
/////////////////////v7/+ea6/62trf//////////////////////////////////////////////
|
||||
////////xsT4/zIq5/8oIOb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KCDm/5aS8///////6un9/1FK
|
||||
6/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/Jx/m/y8n5/99efD/9vb+////////////j4vy/yUd
|
||||
5v8oIOb/Jx/m/y8n5/9aVOz/p6T1/9rZ+//8/P//////////////////////////////////////////
|
||||
////////////////////////////////////////+unD/+uqGf+tra3/////////////////////////
|
||||
//////////////////////////////j4/v9sZu7/Jh7m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYe
|
||||
5v9EPen/4N/7//////+dmfT/Jx/m/ykh5v8pIeb/KCDm/yYe5v8sJOb/QTrp/4WA8f/Myvn/8fH9////
|
||||
/////////////87M+f83L+j/ODHo/3558P/Ixvn/8O/9////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////rqxv/rqBX/ra2t////
|
||||
////////////////////////////////////////////////////////p6T1/ygg5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KB/m/yUd5v8xKef/UUvr/8vJ+f//////0c/6/zoy6P8mHub/Jh7m/zcw6P9bVOz/q6j1/+Tj
|
||||
/P/8+//////////////////////////////6+v7/tbP2/87M+f/7+///////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///+/Pj/99ye/62trf///////////////////////////////////////////////////////////+bl
|
||||
/P9NRur/Jx/m/ykh5v8mHub/Jh7m/0E66f9taO7/vbv3//Dw/f/9/f////////z8//99ePD/SEHq/3x3
|
||||
8P/Pzfn/9PT+//7+////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+tra3/////////////////////////////////////////
|
||||
////////////////////////hYHx/yIa5f8tJeb/W1Ts/5CM8v/d2/v//Pz/////////////////////
|
||||
////////4+L8/9jX+v/v7v3/9PT+//79////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////ra2t////////////////////
|
||||
/////////////////////////////////////////////8zK+f9/evD/s7D2//Hx/f//////////////
|
||||
////////9PP+/9TT+v+cmPP/l5Pz/42J8v9TTev/SkPq/1VO6/+Pi/L/l5Pz/5+b9P/Y1/r/9vX+////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////62t
|
||||
rf/////////////////////////////////////////////////////////////////7+///+vr+////
|
||||
//////////////7+///j4vz/mJXz/2Jc7f83MOj/Jx/m/yUd5v8lHeb/Jx7m/ycf5v8mHub/JR3m/yUd
|
||||
5v8oIOb/OTHo/2di7f+FgPH/y8n5//v6/v//////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////+tra3/////////////////////////////////////////////////////////
|
||||
/////////////////////////v7//+Ph/P+VkfP/R0Dp/ycf5v8mHub/KCDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8mHub/JR3m/zYu6P95dO//5OP8//7+////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////ra2t////////////////////////////////////
|
||||
/////////////////////////////////////////v7//7Ct9v9GP+n/KB/m/ycf5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/Jx/m/0xF
|
||||
6v+dmfT/8fD9////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////62trf//////////////
|
||||
////////////////////////////////////////////////////////7Oz9/4qG8f83MOj/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8nH+b/KCDm/3x38P/y8v7/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+tra3/////////////////////////////////////////////////////////////////7ez9/3Fr
|
||||
7v8mHub/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8mHub/JR3m/yUd5v8lHeb/JR3m/yUd
|
||||
5v8nHub/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/d3Lv/9rY+///////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////ra2t////////////////////////////////////////////////////
|
||||
////////7Oz9/3Fs7v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/yYe5v82Luf/W1Xs/4eD
|
||||
8f+HgvH/h4Lx/4eC8f+GgvH/VlDr/zQs5/8mHub/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/yYd
|
||||
5v9TTOv/6un9////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////62trf//////////////////////////////
|
||||
////////////////////////+fn+/3hz7/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/KSHm/1BJ
|
||||
6/+WkvP/zsz5//Hx/f///////////////////////////+/v/f/Jx/n/ko7y/0tE6v8oIOb/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KiLm/3x38P/y8v7/////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////+tra3/////////
|
||||
/////////////////////////////////////////v7//66r9v8yKuf/KCDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8mHub/NS7n/52a9P/q6f3//v7///////////////////////////////////////////////////7+
|
||||
///m5fz/mpbz/0hB6v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8oH+b/jIjy////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////ra2t/////////////////////////////////////////////////8/O+f85Muj/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8oIOb/U03r/7Wy9v/9/f//////////////////////////////////////////
|
||||
///////////////////////////////////Y1vr/Ukzr/yYe5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zoz
|
||||
6P/Bv/j/////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////62trf////////////////////////////////////////////v7
|
||||
//96dvD/Jh7m/ykh5v8pIeb/KSHm/ykh5v8mHub/TEbq/9/e+///////////////////////////////
|
||||
/////////////////////////////////////////////////////////////9jW+v9STOv/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8lHeb/ZF7t//X1/v//////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////+tra3/////////////////////////
|
||||
///////////////////OzPn/ODHo/ygg5v8pIeb/KSHm/ykh5v8oIOb/NS7n/6+s9v//////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////2Nb6/09J6v8nH+b/KSHm/ykh5v8pIeb/KCDm/y8o5/+7uPf/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////ra2t////
|
||||
///////////////////////////////////7+///enXv/yYe5v8pIeb/KSHm/ykh5v8pIeb/KCDm/5SQ
|
||||
8v////////////////////////////////////////////b29//t7e3/7e3u/+3t7v/4+Pj/////////
|
||||
//////////////////////////////////+tqvX/KyTm/ykh5v8pIeb/KSHm/ykh5v8mHub/aGLt//r5
|
||||
/v//////////////////////////////////////////////////////////////////////////////
|
||||
/////////////62trf//////////////////////////////////////7+/9/0tE6v8nH+b/KSHm/ykh
|
||||
5v8pIeb/Jx/m/0hB6v/h4Pz/////////////////////////////////+Pj4/8TExv9ub3T/SElP/0lK
|
||||
UP9JSU//c3N4/62usP/4+Pj/////////////////////////////////7+79/1hS7P8mHub/KSHm/ykh
|
||||
5v8pIeb/KB/m/z846f/a2fv/////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+tra3//////////////////////////////////////8jG
|
||||
+f81Lef/KCDm/ykh5v8pIeb/KSHm/y4m5/+zsfb/////////////////////////////////9vb2/4qL
|
||||
j/8zNDr/KCkw/ykqMf8pKjH/KSox/ycoL/8wMTf/dXV6/93e3///////////////////////////////
|
||||
//+sqfX/LCTm/ykh5v8pIeb/KSHm/ykh5v8pIeb/qqf1////////////////////////////////////
|
||||
////////////////////////////////////////////////////////ra2t////////////////////
|
||||
//////////////////+SjvL/Jh7m/ykh5v8pIeb/KSHm/ygg5v84MOj/2Nf6////////////////////
|
||||
////////9vb2/4mKjf8sLTT/Kisy/yssM/8rLDP/Kywz/yssM/8rLDP/Kisy/yYnLv9mZ2z/9PT1////
|
||||
////////////////////////7u39/1FL6/8mHub/KSHm/ykh5v8pIeb/JR3m/29q7v/+/v//////////
|
||||
/////////////////////////////////////////////////////////////////////////////62t
|
||||
rf/////////////////////////////////6+v7/X1ns/yYe5v8pIeb/KSHm/ykh5v8mHeb/Y13t//j3
|
||||
/v///////////////////////////6usrv8tLjX/Kisy/yssM/8rLDP/Kywz/yssM/8rLDP/Kywz/yss
|
||||
M/8rLDP/LzA3/52doP////////////////////////////////+HgvH/Jx/m/ykh5v8pIeb/KSHm/yUd
|
||||
5v9taO7//v7/////////////////////////////////////////////////////////////////////
|
||||
//////////////////+tra3/////////////////////////////////+vr+/19Z7P8mHub/KSHm/ykh
|
||||
5v8pIeb/Jh7m/4B88P////////////////////////////n5+f9iYmj/KCkw/yssM/8rLDP/Kywz/yss
|
||||
M/8rLDP/Kywz/yssM/8rLDP/Kywz/ygpMP9bXGH/8/Pz////////////////////////////sa72/ygg
|
||||
5v8pIeb/KSHm/ykh5v8nH+b/SkPq/+Xk/P//////////////////////////////////////////////
|
||||
////////////////////////////////////////ra2t//////////////////////////////////f3
|
||||
/v9cVuz/Jh7m/ykh5v8pIeb/KSHm/ysj5v+9u/f////////////////////////////T09X/OjtC/yor
|
||||
Mv8rLDP/Kisy/ykqMf8rLDP/Kywz/yssM/8rLDP/Kywz/yssM/8rLDP/NTY9/9PT1f//////////////
|
||||
/////////////7Gu9v8oIOb/KSHm/ykh5v8pIeb/KSDm/zIr5//U0/r/////////////////////////
|
||||
/////////////////////////////////////////////////////////////62trf//////////////
|
||||
///////////////////Y1vr/PTbo/ygg5v8pIeb/KSHm/ykh5v8rI+b/wL34////////////////////
|
||||
////////xMTG/y0uNf8rLDP/Kisy/zQ1PP9CQ0n/LS41/yssM/8rLDP/Kywz/yssM/8rLDP/Kywz/zM0
|
||||
O//S0tP///////////////////////////+xrvb/KCDm/ykh5v8pIeb/KSHm/ygg5v8zLOf/1dT6////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+tra3/////////////////////////////////9fT+/1pU7P8mHub/KSHm/ykh5v8pIeb/KyPm/7+8
|
||||
+P///////////////////////////8XGx/8vMDb/Kywz/ywtNP+io6b/1NTV/zs8Q/8qKzL/Kywz/yss
|
||||
M/8rLDP/Kywz/yssM/8yMzr/0dHT////////////////////////////sa72/ygg5v8pIeb/KSHm/ykh
|
||||
5v8oIOb/Myzn/9XU+v//////////////////////////////////////////////////////////////
|
||||
//////////////7//v/9/v3/ra2t//////////////////////////////////r6/v9fWez/Jh7m/ykh
|
||||
5v8pIeb/KSHm/ycf5v+GgfH////////////////////////////p6er/TU1T/ygpMf8rLDP/e3yA/6mp
|
||||
rP83OD//Kisy/yssM/8rLDP/Kywz/yssM/8qKzL/REVL/+Dg4f///////////////////////////7Gu
|
||||
9v8oIOb/KSHm/ykh5v8pIeb/KCDm/zYv6P/X1vr/////////////////////////////////////////
|
||||
///////////////////////////////////V6MP/gblL/62trf//////////////////////////////
|
||||
///19P7/WlPs/yYe5v8pIeb/KSHm/ykh5v8lHeb/bGbu//7+/////////////////////////f39/4aH
|
||||
i/8rLDP/Kywz/yorMv8sLTT/Kywz/yssM/8rLDP/Kywz/yssM/8rLDP/Jicu/3Jyd//+/v7/////////
|
||||
//////////////////+NifL/Jx/m/ykh5v8pIeb/KSHm/yYe5v9iXO3/9vb+////////////////////
|
||||
////////////////////////////////////////////////////////2erJ/1miGP+tra3/////////
|
||||
////////////////////////vrz3/zIq5/8pIeb/KSHm/ykh5v8pIeb/Jx/m/01G6v/n5vz/////////
|
||||
///////////////////q6uv/VFRa/ygpMP8rLDP/Kywz/yssM/8rLDP/Kywz/yssM/8rLDP/KCkw/1FS
|
||||
WP/V1df////////////////////////////6+v7/Xljs/yYe5v8pIeb/KSHm/ykh5v8lHeb/bmju//7+
|
||||
//////////////////////////////////////////////////////////////////////////////v9
|
||||
+f/C3aj/ra2t/////////////////////////////////3hz7/8lHeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8uJuf/vbv3/////////////////////////////////8zMzv9JSlD/Jygv/yorMv8rLDP/Kywz/yss
|
||||
M/8qKzL/Jicv/1FSWP/V1df/////////////////////////////////1dT6/z026P8oIOb/KSHm/ykh
|
||||
5v8pIeb/KSHm/6Wi9P//////////////////////////////////////////////////////////////
|
||||
/////////////////////////////62trf///////////////////////////93c+/9EPen/Jx/m/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/Jh7m/2tl7v/39v7/////////////////////////////////z8/R/2ts
|
||||
cf88PUP/Kisy/ygpMP8nKDD/Njc+/3JzeP/X19j//////////////////////////////////f3//4J9
|
||||
8P8mHub/KSHm/ykh5v8pIeb/KSHm/y8n5//Fw/j/////////////////////////////////////////
|
||||
//////////////////////////////////////////////////+tra3/////////////////////////
|
||||
//+NifL/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8yKuf/wb/4////////////////////
|
||||
///////////////////29vb/2trb/6Ojpv+cnaD/nJ2g/8fHyf/4+Pn/////////////////////////
|
||||
/////////////9TS+v88Nej/KCDm/ykh5v8pIeb/KSHm/yYe5v9RSuv/8O/9////////////////////
|
||||
////////////////////////////////////////////////////////////////////////ra2t////
|
||||
///////////////////r6v3/SULq/ycf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jh7m/2Fb
|
||||
7f/n5vz/////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////Ly/v9kXu3/Jx/m/ykh5v8pIeb/KSHm/ykh5v8nH+b/jYny////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////62trf//////////////////////1tT6/0dA6v8mHub/Jh7m/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8mHub/eHLv//v7////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////r6/v+Xk/P/LSXm/ygg5v8pIeb/KSHm/ykh
|
||||
5v8nH+b/Qjvp/9zb+///////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+tra3///////////////////////39///Z1/v/mpbz/1tV
|
||||
7P8sJeb/Jh7m/ygg5v8pIeb/KSHm/ykh5v8pIeb/KCDm/zMs5/+IhPH/5+b8////////////////////
|
||||
//////////////////////////////////////////////////////////////r6/v+YlPP/Libn/ygg
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/Libn/6mm9f/+/v//////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////ra2t////////////////////
|
||||
///////////////////v7v3/u7n3/3558P85Muj/Jx/m/ykh5v8pIeb/KSHm/ykh5v8oIOb/JR3m/2Vg
|
||||
7f/T0fr//Pz//////////////////////////////////////////////////////////////////9/d
|
||||
+/92ce//Lyfn/ygg5v8pIeb/KSHm/ykh5v8pIeb/JR3m/11X7P/x8f3/////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////62t
|
||||
rf/////////////////////////////////////////////////8/P//09H6/19Z7P8mHub/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8nH+b/OTLo/3148P/R0Pr/9fT+////////////////////////////////////
|
||||
///5+f7/5eT8/52Z9P9KROr/Jh7m/ygg5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/0A56f/Dwfj/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////+tra3/////////////////////////////////////////////////////////
|
||||
///Dwfj/OjPo/ycf5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg5v8mHub/OTHo/19Z7P+UkPL/u7j3/+Lg
|
||||
/P/g3/v/4eD8/7Wy9v+Xk/P/dnHv/0M86f8pIeb/Jx/m/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jh7m/0A5
|
||||
6f/Cv/j/////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////ra2t////////////////////////////////////
|
||||
/////////////////////////////7e09/85Muj/Jh3m/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ygg
|
||||
5v8mHub/JR3m/zAo5/87NOj/OzTo/zs06P8uJuf/JR3m/yYe5v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/Jx/m/zkx6P+lovT/////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////62trf//////////////
|
||||
////////////////////////////////////////////////////////u7n3/1VP6/8nH+b/KCDm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/KCDm/ygg5v8oIOb/KSDm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/JR3m/0A46f/Cv/j//f3/////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+tra3/////////////////////////////////////////////////////////////////////////
|
||||
///n5vz/bGbu/y4m5/8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8nH+b/KCDm/2Re7f/Ixvn/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////ra2t////////////////////////////////////////////////////
|
||||
//////////////////////////////T0/v+lofT/RD3p/ycf5v8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh
|
||||
5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ycf5v8oIOb/SkPq/5qW8//s7P3/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////62trf//////////////////////////////
|
||||
/////////////////////////////////////////////////////////v7//+Hg/P+UkPL/R0Dq/zMr
|
||||
5/8pIOb/KCDm/ykh5v8pIeb/KSHm/ykh5v8pIeb/KSHm/ykh5v8pIeb/Jx/m/y8n5/9MRer/m5fz/+bl
|
||||
/P/+/v//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////+tra3/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////+Df+//Ixvn/hYDx/0U+6f8nH+b/KSHm/ykh5v8pIeb/KSHm/ykh5v8oIOb/Mirn/29q
|
||||
7v+zsfb/5eT8////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
4
packages.config
Normal file
4
packages.config
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net40" />
|
||||
</packages>
|
156
serialPortOption.cs
Normal file
156
serialPortOption.cs
Normal file
@ -0,0 +1,156 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.IO.Ports;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FlyDockTool
|
||||
{
|
||||
public class SerialPortOption
|
||||
{
|
||||
/// <summary>
|
||||
/// 让此类创建一个串口操作的单例类
|
||||
/// </summary>
|
||||
public static SerialPortOption Instance; //申明一个EcgDrawing对象,复制Null
|
||||
public static int BufferBytesLength = 0;
|
||||
private Thread _thSerialPortDataRead; //串口数据读取线程
|
||||
public SerialPort DataReadSerialPort;
|
||||
public DateTime SerialTime;
|
||||
private static readonly object LockHelper = new object();
|
||||
public EventHandler dataOutPutShow;
|
||||
public static SerialPortOption CreateInstance()
|
||||
{
|
||||
if (Instance == null)
|
||||
lock (LockHelper)
|
||||
{
|
||||
if (Instance == null)
|
||||
Instance = new SerialPortOption();
|
||||
}
|
||||
return Instance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化串口
|
||||
/// </summary>
|
||||
public void IniserialPortOption()
|
||||
{
|
||||
//数据读取串口 初始化
|
||||
//CcgDataReadSerialPort = new SerialPort(ConfigHelper.EcgDataComPort, 1500000, Parity.None, 8, StopBits.One)
|
||||
|
||||
// string CurrentDevice = ConfigurationManager.AppSettings["CurrentDevice"];//获取设备信息URL
|
||||
string comName= ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[3];
|
||||
int baudRate= int.Parse(ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[4]);
|
||||
string parity1= ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[5];
|
||||
Parity parity = Parity.None;
|
||||
if (parity1.ToUpper()== "NONE")
|
||||
parity= Parity.None;
|
||||
if (parity1.ToUpper() == "EVEN")
|
||||
parity = Parity.Even;
|
||||
int databits= int.Parse(ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[6]);
|
||||
StopBits SB = StopBits.One;
|
||||
string sb1 = ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[7];
|
||||
if (sb1== "1")
|
||||
SB = StopBits.One;
|
||||
if (sb1.ToUpper() == "NONE")
|
||||
SB = StopBits.None;
|
||||
if (sb1.ToUpper() == "2")
|
||||
SB = StopBits.Two;
|
||||
DataReadSerialPort = new SerialPort(comName, baudRate, parity, databits, SB)
|
||||
{
|
||||
RtsEnable = false,
|
||||
ReadBufferSize = 4096000,
|
||||
ReadTimeout = 3000,
|
||||
ReceivedBytesThreshold = 1
|
||||
};
|
||||
SerialTime = DateTime.Now;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下发AD启动指令
|
||||
/// </summary>
|
||||
public void writeStartAD_Command()
|
||||
{
|
||||
byte[] EcgStart = { 0xBB, 0x44, 0xAA, 0x55, 0xCC, 0x01, 0x00, 0x00, 0xCB, 0x02 };
|
||||
if (!DataReadSerialPort.IsOpen)
|
||||
DataReadSerialPort.Open();
|
||||
DataReadSerialPort.Write(EcgStart, 0, EcgStart.Length);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下发AD停止命令
|
||||
/// </summary>
|
||||
public void writeStopAD_Command()
|
||||
{
|
||||
byte[] EcgEnd = { 0xBB, 0x44, 0xAA, 0x55, 0x02, 0x00, 0x00, 0xCC, 0x02 };
|
||||
if (!DataReadSerialPort.IsOpen)
|
||||
{
|
||||
DataReadSerialPort.Open();
|
||||
}
|
||||
DataReadSerialPort.Write(EcgEnd, 0, EcgEnd.Length);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 终止串口数据读取的线程
|
||||
/// </summary>
|
||||
public void StopDataReadThread()
|
||||
{
|
||||
_thSerialPortDataRead.Abort();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 开启串口数据读取的线程
|
||||
/// </summary>
|
||||
public void StartDataReadThread()
|
||||
{
|
||||
_thSerialPortDataRead = new Thread(DataRead)
|
||||
{
|
||||
IsBackground = true,
|
||||
Priority = ThreadPriority.Highest
|
||||
};
|
||||
_thSerialPortDataRead.Start();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 读取串口数据
|
||||
/// </summary>
|
||||
private void DataRead()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!DataReadSerialPort.IsOpen)
|
||||
{
|
||||
DataReadSerialPort.Open();
|
||||
}
|
||||
BufferBytesLength = DataReadSerialPort.BytesToRead;
|
||||
if (BufferBytesLength > 0)
|
||||
{
|
||||
var buffer = new byte[BufferBytesLength];
|
||||
DataReadSerialPort.Read(buffer, 0, BufferBytesLength);
|
||||
string encodingStr = "UTF-8";
|
||||
try
|
||||
{
|
||||
encodingStr = ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[8];
|
||||
}
|
||||
catch { }
|
||||
string ReDataStr = Encoding.GetEncoding(encodingStr).GetString(buffer);
|
||||
dataOutPutShow(ReDataStr, null);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
Thread.Sleep(1000);//睡眠1秒
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user