diff --git a/AndroidTemplate/.idea/caches/build_file_checksums.ser b/AndroidTemplate/.idea/caches/build_file_checksums.ser new file mode 100644 index 0000000..459a9ac Binary files /dev/null and b/AndroidTemplate/.idea/caches/build_file_checksums.ser differ diff --git a/AndroidTemplate/.idea/codeStyles/Project.xml b/AndroidTemplate/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..30aa626 --- /dev/null +++ b/AndroidTemplate/.idea/codeStyles/Project.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AndroidTemplate/.idea/gradle.xml b/AndroidTemplate/.idea/gradle.xml index f44e04a..7ac24c7 100644 --- a/AndroidTemplate/.idea/gradle.xml +++ b/AndroidTemplate/.idea/gradle.xml @@ -3,9 +3,8 @@ - + diff --git a/AndroidTemplate/app/build.gradle b/AndroidTemplate/app/build.gradle index 915ea80..a0ad1a0 100644 --- a/AndroidTemplate/app/build.gradle +++ b/AndroidTemplate/app/build.gradle @@ -2,6 +2,11 @@ apply plugin: 'com.android.application' android { compileSdkVersion 26 + sourceSets{ + main { + jniLibs.srcDirs = ['libs'] + } + } defaultConfig { applicationId "com.example.UserSoftwareAndroidTemplate" minSdkVersion 19 @@ -16,7 +21,7 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - buildToolsVersion '27.0.0' + buildToolsVersion '27.0.3' } dependencies { @@ -29,4 +34,5 @@ dependencies { androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' implementation 'com.google.code.gson:gson:2.8.2' + implementation files('libs/HslCommunication.jar') } diff --git a/AndroidTemplate/app/libs/HslCommunication.jar b/AndroidTemplate/app/libs/HslCommunication.jar new file mode 100644 index 0000000..9788da9 Binary files /dev/null and b/AndroidTemplate/app/libs/HslCommunication.jar differ diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/BasicFramework/SoftBasic.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/BasicFramework/SoftBasic.java deleted file mode 100644 index 190c047..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/BasicFramework/SoftBasic.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.HslCommunication.BasicFramework; - -/** - * Created by hsl20 on 2017年11月4日. - * 静态类,提供许多程序运行的方法 - */ - -public class SoftBasic { - - - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/BasicFramework/SystemVersion.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/BasicFramework/SystemVersion.java deleted file mode 100644 index 238f6d9..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/BasicFramework/SystemVersion.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.example.HslCommunication.BasicFramework; - -/** - * Created by hsl20 on 2017年11月4日. - */ - -public class SystemVersion { - - /// - /// 根据格式化字符串的版本号初始化 - /// - /// 格式化的字符串,例如:1.0.0或1.0.0.0503 - public SystemVersion(String VersionString) - { - String[] temp = VersionString.split("\\."); - if (temp.length>= 3) - { - m_MainVersion = Integer.parseInt(temp[0]); - m_SecondaryVersion = Integer.parseInt(temp[1]); - m_EditVersion = Integer.parseInt(temp[2]); - - if (temp.length>= 4) - { - m_InnerVersion = Integer.parseInt(temp[3]); - } - } - } - /// - /// 根据指定的数字实例化一个对象 - /// - /// 主版本 - /// 次版本 - /// 修订版 - public SystemVersion(int main, int sec, int edit) - { - m_MainVersion = main; - m_SecondaryVersion = sec; - m_EditVersion = edit; - } - /// - /// 根据指定的数字实例化一个对象 - /// - /// 主版本 - /// 次版本 - /// 修订版 - /// 内部版本号 - public SystemVersion(int main, int sec, int edit, int inner) - { - m_MainVersion = main; - m_SecondaryVersion = sec; - m_EditVersion = edit; - m_InnerVersion = inner; - } - private int m_MainVersion = 2; - /// - /// 主版本 - /// - public int MainVersion() - { - return m_MainVersion; - } - private int m_SecondaryVersion = 0; - /// - /// 次版本 - /// - public int SecondaryVersion() { - return m_SecondaryVersion; - } - - private int m_EditVersion = 0; - /// - /// 修订版 - /// - public int EditVersion() { - return m_EditVersion; - } - private int m_InnerVersion = 0; - /// - /// 内部版本号,或者是版本号表示为年月份+内部版本的表示方式 - /// - public int InnerVersion() - { - return m_InnerVersion; - } - - /// - /// 根据格式化为支持返回的不同信息的版本号 - /// C返回1.0.0.0 - /// N返回1.0.0 - /// S返回1.0 - /// - /// 格式化信息 - /// - public String toString(String format) - { - if(format == "C") - { - return MainVersion()+"."+SecondaryVersion()+"."+EditVersion()+"."+InnerVersion(); - } - - if(format == "N") - { - return MainVersion()+"."+SecondaryVersion()+"."+EditVersion(); - } - - if(format == "S") - { - return MainVersion()+"."+SecondaryVersion(); - } - - return toString(); - } - - - - @Override - public String toString() { - if(InnerVersion() == 0) - { - return MainVersion()+"."+SecondaryVersion()+"."+EditVersion(); - } - else - { - return MainVersion()+"."+SecondaryVersion()+"."+EditVersion()+"."+InnerVersion(); - } - } - - - public boolean IsSameVersion(SystemVersion sv) { - if (this.m_MainVersion != sv.m_MainVersion) { - return false; - } - - if (this.m_SecondaryVersion != sv.m_SecondaryVersion) { - return false; - } - - if (this.m_EditVersion != sv.m_EditVersion) { - return false; - } - - if (this.m_InnerVersion != sv.m_InnerVersion) { - return false; - } - - return true; - } - - public boolean IsSmallerThan(SystemVersion sv) { - if (this.m_MainVersion < sv.m_MainVersion) { - return true; - } - else if(this.m_MainVersion> sv.m_MainVersion) { - return false; - } - - if (this.m_SecondaryVersion < sv.m_SecondaryVersion) { - return true; - } - else if (this.m_SecondaryVersion> sv.m_SecondaryVersion) { - return false; - - } - - if (this.m_EditVersion < sv.m_EditVersion) { - return true; - } - else if (this.m_EditVersion> sv.m_EditVersion) { - return false; - } - - if (this.m_InnerVersion < sv.m_InnerVersion) { - return true; - } - else if (this.m_InnerVersion> sv.m_InnerVersion) { - return false; - } - - return false; - } - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslCommunicationCode.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslCommunicationCode.java deleted file mode 100644 index 0c9d55b..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslCommunicationCode.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.example.HslCommunication.Core.Net; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class HslCommunicationCode { - - - /// - /// 规定所有的网络传输指令头都为32字节 - /// - public static final int HeadByteLength = 32; - - - /// - /// 用于心跳程序的暗号信息 - /// - public static final int Hsl_Protocol_Check_Secends = 1; - /// - /// 客户端退出消息 - /// - public static final int Hsl_Protocol_Client_Quit = 2; - /// - /// 因为客户端达到上限而拒绝登录 - /// - public static final int Hsl_Protocol_Client_Refuse_Login = 3; - /// - /// 允许客户端登录到服务器 - /// - public static final int Hsl_Protocol_Client_Allow_Login = 4; - - - - - /// - /// 说明发送的只是文本信息 - /// - public static final int Hsl_Protocol_User_String = 1001; - /// - /// 发送的数据就是普通的字节数组 - /// - public static final int Hsl_Protocol_User_Bytes = 1002; - /// - /// 发送的数据就是普通的图片数据 - /// - public static final int Hsl_Protocol_User_Bitmap = 1003; - /// - /// 发送的数据是一条异常的数据,字符串为异常消息 - /// - public static final int Hsl_Protocol_User_Exception = 1004; - - - - - /// - /// 请求文件下载的暗号 - /// - public static final int Hsl_Protocol_File_Download = 2001; - /// - /// 请求文件上传的暗号 - /// - public static final int Hsl_Protocol_File_Upload = 2002; - /// - /// 请求删除文件的暗号 - /// - public static final int Hsl_Protocol_File_Delete = 2003; - /// - /// 文件校验成功 - /// - public static final int Hsl_Protocol_File_Check_Right = 2004; - /// - /// 文件校验失败 - /// - public static final int Hsl_Protocol_File_Check_Error = 2005; - /// - /// 文件保存失败 - /// - public static final int Hsl_Protocol_File_Save_Error = 2006; - /// - /// 请求文件列表的暗号 - /// - public static final int Hsl_Protocol_File_Directory_Files = 2007; - /// - /// 请求子文件的列表暗号 - /// - public static final int Hsl_Protocol_File_Directories = 2008; - - - - - /// - /// 不压缩数据字节 - /// - public static final int Hsl_Protocol_NoZipped = 3001; - /// - /// 压缩数据字节 - /// - public static final int Hsl_Protocol_Zipped = 3002; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslSecurity.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslSecurity.java deleted file mode 100644 index 6bcb592..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslSecurity.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.example.HslCommunication.Core.Net; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class HslSecurity { - - - /// - /// 加密方法,只对当前的程序集开放 - /// - /// 等待加密的数据 - /// 加密后的数据 - public static byte[] ByteEncrypt(byte[] enBytes) { - if (enBytes == null) return null; - byte[] result = new byte[enBytes.length]; - for (int i = 0; i < enBytes.length; i++) { - result[i] = (byte) (enBytes[i] ^ 0xB5); - } - return result; - } - - - /// - /// 解密方法,只对当前的程序集开放 - /// - /// 等待解密的数据 - /// 解密后的数据 - public static byte[] ByteDecrypt(byte[] deBytes) { - return ByteEncrypt(deBytes); - } - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslZipped.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslZipped.java deleted file mode 100644 index 6e46f33..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/HslZipped.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.example.HslCommunication.Core.Net; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class HslZipped { - - - /*** - * 压缩GZip - * - * @param data - * @return - */ - public static byte[] CompressBytes(byte[] data) { - byte[] b = null; - try { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - GZIPOutputStream gzip = new GZIPOutputStream(bos); - gzip.write(data); - gzip.finish(); - gzip.close(); - b = bos.toByteArray(); - bos.close(); - } catch (Exception ex) { - ex.printStackTrace(); - } - return b; - } - - /*** - * 解压GZip - * - * @param data - * @return - */ - public static byte[] Decompress(byte[] data) { - byte[] b = null; - try { - ByteArrayInputStream bis = new ByteArrayInputStream(data); - GZIPInputStream gzip = new GZIPInputStream(bis); - byte[] buf = new byte[1024]; - int num = -1; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - while ((num = gzip.read(buf, 0, buf.length)) != -1) { - baos.write(buf, 0, num); - } - b = baos.toByteArray(); - baos.flush(); - baos.close(); - gzip.close(); - bis.close(); - } catch (Exception ex) { - ex.printStackTrace(); - } - return b; - } -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetBase.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetBase.java deleted file mode 100644 index 178a153..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetBase.java +++ /dev/null @@ -1,320 +0,0 @@ -package com.example.HslCommunication.Core.Net; -import android.util.Log; - -import com.example.HslCommunication.Core.Types.HslTimeOut; -import com.example.HslCommunication.Core.Types.OperateResult; -import com.example.HslCommunication.Core.Utilities.boolWithBytes; -import com.example.HslCommunication.Core.Utilities.boolWithSocket; -import com.example.HslCommunication.Log.LogUtil; -import com.example.HslCommunication.Resources.StringResources; - - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.DataOutputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.Socket; -import java.util.UUID; - - -/** - * Created by DATHLIN on 2017年11月1日. - * 该类提供基础的网络操作服务,读写字节流,读写文件流 - */ - - - -public abstract class NetBase { - - /// - /// 用于通信工作的核心对象 - /// - protected Socket WorkSocket = null; - /// - /// 分次接收的数据长度 - /// - public int SegmentationLength = 1024; - - /// - /// 检查超时的子线程 - /// - /// - public void ThreadPoolCheckConnect(Object obj) { - HslTimeOut timeout = (HslTimeOut) obj; - if (timeout != null) { - NetSupport.ThreadPoolCheckConnect(timeout, ConnectTimeout); - } - } - - - /// - /// 网络访问中的超时时间,单位:毫秒,默认值5000 - /// - public int ConnectTimeout = 5000; - - /// - /// 当前对象的身份令牌,用来在网络通信中双向认证的依据 - /// - public UUID KeyToken = UUID.randomUUID(); - - - /**************************************************************************** - * - * 1. 创建并连接套接字 - * 2. 接收指定长度的字节数据 - * 3. 发送字节数据到套接字 - * 4. 检查对方是否接收完成 - * 5. 检查头子节令牌是否通过 - * 6. 将文件流写入套接字 - * 7. 从套接字接收文件流 - * - ****************************************************************************/ - - - /// - /// 创建socket对象并尝试连接终结点,如果异常,则结束通信 - /// - /// 网络套接字 - /// 网络终结点 - /// 结果对象 - /// - /// - protected boolWithSocket CreateSocketAndConnect( - String ipAddress, - int port, - OperateResult result - ) { - boolWithSocket value = new boolWithSocket(); - try { - // create the socket object - value.Socket = new Socket(ipAddress, port); - value.Result = true; - return value; - } catch (Exception ex) { - result.Message = StringResources.ConnectedFailed; - LogUtil.LogE("CreateSocketAndConnect", StringResources.ConnectedFailed, ex); - CloseSocket(value.Socket); - return value; - } - } - - - /// - /// 仅仅接收一定长度的字节数据,如果异常,则结束通信 - /// - /// 套接字 - /// 字节数据 - /// 长度 - /// 结果对象 - /// 接收状态 - /// 是否根据百分比报告进度 - /// 是否回发进度 - /// 是否进行超时检查 - /// 假设发生异常,应该携带什么信息 - /// - protected boolWithBytes ReceiveBytesFromSocket( - Socket socket, - int length, - OperateResult result, - ProgressReport receiveStatus, - boolean reportByPercent, - boolean response, - boolean checkTimeOut, - String exceptionMessage - ) { - boolWithBytes value = new boolWithBytes(); - - try { - value.Content = NetSupport.ReadBytesFromSocket(socket, length, receiveStatus, reportByPercent, response); - } catch (Exception ex) { - CloseSocket(socket); - result.Message = CombineExceptionString(exceptionMessage, ex.getMessage()); - LogUtil.LogE("ReceiveBytesFromSocket", exceptionMessage, ex); - Log.e("接收数据异常", "ReceiveBytesFromSocket: ", ex); - return value; - } - value.Result = true; - return value; - } - - /// - /// 仅仅将数据发送到socket对象上去,如果异常,则结束通信 - /// - /// - /// - /// - /// - /// - protected boolean SendBytesToSocket( - Socket socket, - byte[] send, - OperateResult result, - String exceptionMessage - ) { - try { - DataOutputStream output = new DataOutputStream(socket.getOutputStream()); - output.write(send); - } catch (Exception ex) { - result.Message = CombineExceptionString(exceptionMessage, ex.getLocalizedMessage()); - LogUtil.LogE("SendBytesToSocket", exceptionMessage, ex); - CloseSocket(socket); - send = null; - return false; - } - return true; - } - - - /// - /// 确认对方是否已经接收完成数据,如果异常,则结束通信 - /// - /// - /// - /// - /// - /// - /// - protected boolean CheckRomoteReceived( - Socket socket, - long length, - ProgressReport report, - OperateResult result, - String exceptionMessage - ) { - try { - NetSupport.CheckSendBytesReceived(socket, length, report, true); - return true; - } catch (Exception ex) { - result.Message = CombineExceptionString(exceptionMessage, ex.getLocalizedMessage()); - LogUtil.LogE("CheckRomoteReceived", exceptionMessage, ex); - CloseSocket(socket); - return false; - } - } - - - /// - /// 检查令牌是否正确,如果不正确,结束网络通信 - /// - /// 套接字 - /// 头子令 - /// 令牌 - /// 结果对象 - /// - protected boolean CheckTokenPermission( - Socket socket, - byte[] head, - UUID token, - OperateResult result - ) { - if (NetSupport.CheckTokenEquel(head, KeyToken)) { - return true; - } else { - result.Message = StringResources.TokenCheckFailed; - LogUtil.LogE("CheckTokenPermission", StringResources.TokenCheckFailed + " Ip:" + socket.getInetAddress().toString()); - CloseSocket(socket); - return false; - } - } - - /// - /// 将文件数据发送至套接字,如果结果异常,则结束通讯 - /// - /// - /// - /// - /// - /// - /// - /// - protected boolean SendFileStreamToSocket( - Socket socket, - String filename, - long filelength, - OperateResult result, - ProgressReport report, - String exceptionMessage - ) { - try { - InputStream inputStream = new BufferedInputStream(new FileInputStream(filename)); - NetSupport.WriteSocketFromStream(socket, inputStream, filelength, report, true); - inputStream.close(); - return true; - } catch (Exception ex) { - CloseSocket(socket); - LogUtil.LogE("SendFileStreamToSocket", exceptionMessage, ex); - result.Message = CombineExceptionString(exceptionMessage, ex.getLocalizedMessage()); - return false; - } - } - - - /// - /// 从套接字中接收一个文件数据,如果结果异常,则结束通讯 - /// - /// - /// - /// - /// - /// - /// - /// - protected boolean ReceiveFileSteamFromSocket( - Socket socket, - String filename, - long receive, - ProgressReport report, - OperateResult result, - String exceptionMessage - ) { - try { - OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(filename)); - NetSupport.WriteStreamFromSocket(socket, outputStream, receive, report, true); - outputStream.close(); - return true; - } catch (Exception ex) { - result.Message = CombineExceptionString(exceptionMessage, ex.getLocalizedMessage()); - LogUtil.LogE("ReceiveFileSteamFromSocket", exceptionMessage, ex); - CloseSocket(socket); - return false; - } - } - - /// - /// 获取错误的用于显示的信息 - /// - /// - /// - /// - protected String CombineExceptionString(String message, String exception) { - return message + "\r\n原因:" + exception; - } - - - - protected void CloseSocket(Socket socket) { - if (socket != null) { - try { - socket.close(); - } catch (Exception ex2) { - LogUtil.LogE("CloseSocket","",ex2); - } - } - } - - - protected void ThreadSleep(int milltime) - { - try - { - Thread.sleep(milltime); - } - catch (Exception ex) - { - - } - } -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetShareBase.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetShareBase.java deleted file mode 100644 index 4855159..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetShareBase.java +++ /dev/null @@ -1,681 +0,0 @@ -package com.example.HslCommunication.Core.Net; - -import android.util.Log; - -import com.example.HslCommunication.Core.Types.OperateResult; -import com.example.HslCommunication.Core.Utilities.boolWith2Bytes; -import com.example.HslCommunication.Core.Utilities.boolWithBytes; -import com.example.HslCommunication.Core.Utilities.boolWithIntByte; -import com.example.HslCommunication.Core.Utilities.boolWithIntString; -import com.example.HslCommunication.Core.Utilities.Utilities; -import com.example.HslCommunication.Log.LogUtil; -import com.example.HslCommunication.Resources.StringResources; - - -import java.net.Socket; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public abstract class NetShareBase extends NetBase { - - - /// - /// [自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯 - /// - /// 网络套接字 - /// 头指令 - /// 用户指令 - /// 发送的数据 - /// 用于返回的结果 - /// 发送的进度报告 - /// 失败时存储的额外描述信息 - /// - protected boolean SendBaseAndCheckReceive( - Socket socket, - int headcode, - int customer, - byte[] send, - OperateResult result, - ProgressReport sendReport, - String failedString - ) - { - // 数据处理 - send = NetSupport.CommandBytes(headcode, customer, KeyToken, send); - - Log.i(Utilities.bytes2HexString(send), "SendBaseAndCheckReceive: "); - - // 发送数据 - if (!SendBytesToSocket( - socket, // 套接字 - send, // 发送的字节数据 - result, // 结果信息对象 - failedString // 异常附加对象 - )) - { - send = null; - return false; - } - - // 确认对方是否接收完成 - int remoteReceive = send.length - HslCommunicationCode.HeadByteLength; - Log.i("等待接收数据", "SendBaseAndCheckReceive: "); - - if (!CheckRomoteReceived( - socket, // 套接字 - remoteReceive, // 对方需要接收的长度 - sendReport, // 发送进度报告 - result, // 结果信息对象 - failedString // 异常附加信息 - )) - { - send = null; - return false; - } - - Log.i("对方接收成功", "SendBaseAndCheckReceive: "); - // 对方接收成功 - send = null; - return true; - } - - /// - /// [自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯 - /// - /// 网络套接字 - /// 用户指令 - /// 发送的数据 - /// 用于返回的结果 - /// 发送的进度报告 - /// 异常时记录到日志的附加信息 - /// - protected boolean SendBytesAndCheckReceive( - Socket socket, - int customer, - byte[] send, - OperateResult result, - ProgressReport sendReport, - String failedString - ) - { - if (SendBaseAndCheckReceive( - socket, // 套接字 - HslCommunicationCode.Hsl_Protocol_User_Bytes, // 指示字节数组 - customer, // 用户数据 - send, // 发送数据,该数据还要经过处理 - result, // 结果消息对象 - sendReport, // 发送的进度报告 - failedString // 错误的额外描述 - )) - { - return true; - } - else - { - LogUtil.LogE("SendBytesAndCheckReceive",failedString); - return false; - } - } - - /// - /// [自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯 - /// - /// 网络套接字 - /// 用户指令 - /// 发送的数据 - /// 用于返回的结果 - /// 发送的进度报告 - /// - /// - protected boolean SendStringAndCheckReceive( - Socket socket, - int customer, - String send, - OperateResult result, - ProgressReport sendReport, - String failedString - ) - { - byte[] data =null; - - if(send == null ||send.length() <= 0) - { - - } - else - { - data = send.getBytes(); - } - - if (!SendBaseAndCheckReceive( - socket, // 套接字 - HslCommunicationCode.Hsl_Protocol_User_String, // 指示字符串数据 - customer, // 用户数据 - data, // 字符串的数据 - result, // 结果消息对象 - sendReport, // 发送的进度报告 - failedString // 错误的额外描述 - )) - { - return false; - } - return true; - } - -/* - /// - /// [自校验] 将文件数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯 - /// - /// 套接字 - /// 文件名称,文件必须存在 - /// 远程端的文件名称 - /// 文件的额外标签 - /// 文件的上传人 - /// 操作结果对象 - /// 发送进度报告 - /// - /// - protected boolean SendFileAndCheckReceive( - Socket socket, - String filename, - String servername, - String filetag, - String fileupload, - OperateResult result, - ProgressReport sendReport, - String failedString - ) - { - // 发送文件名,大小,标签 - File info = new File(filename); - - //FileInfo info = new FileInfo(filename); - - if (!info.exists()) - { - // 如果文件不存在 - if (!SendStringAndCheckReceive(socket, 0, "", result, null, failedString)) return false; - else - { - result.Message = "找不到该文件,请重新确认文件!"; - CloseSocket(socket); - return false; - } - } - - // 文件存在的情况 - Newtonsoft.Json.Linq.JObject json = new Newtonsoft.Json.Linq.JObject - { - { "FileName", new Newtonsoft.Json.Linq.JValue(servername) }, - { "FileSize", new Newtonsoft.Json.Linq.JValue(info.Length) }, - { "FileTag", new Newtonsoft.Json.Linq.JValue(filetag) }, - { "FileUpload", new Newtonsoft.Json.Linq.JValue(fileupload) } - }; - - if (!SendStringAndCheckReceive(socket, 1, json.ToString(), result, null, failedString)) return false; - - - if (!SendFileStreamToSocket(socket, filename, info.Length, result, sendReport, failedString)) - { - return false; - } - - // 检查接收 - // if (!CheckRomoteReceived(socket, info.Length, sendReport, result, failedString)) - // { - // return false; - // } - - return true; - } - - /// - /// [自校验] 将流数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯 - /// - /// 套接字 - /// 文件名称,文件必须存在 - /// 远程端的文件名称 - /// 文件的额外标签 - /// 文件的上传人 - /// 操作结果对象 - /// 发送进度报告 - /// - /// - protected boolean SendFileAndCheckReceive( - Socket socket, - Stream stream, - String servername, - String filetag, - String fileupload, - OperateResult result, - ProgressReport sendReport, - String failedString - ) - { - // 文件存在的情况 - Newtonsoft.Json.Linq.JObject json = new Newtonsoft.Json.Linq.JObject - { - { "FileName", new Newtonsoft.Json.Linq.JValue(servername) }, - { "FileSize", new Newtonsoft.Json.Linq.JValue(stream.Length) }, - { "FileTag", new Newtonsoft.Json.Linq.JValue(filetag) }, - { "FileUpload", new Newtonsoft.Json.Linq.JValue(fileupload) } - }; - - if (!SendStringAndCheckReceive(socket, 1, json.ToString(), result, null, failedString)) return false; - - - try - { - NetSupport.WriteSocketFromStream(socket, stream, stream.Length, sendReport, true); - } - catch(Exception ex) - { - CloseSocket(socket); - if(LogNet!=null) LogNet.WriteException(failedString, ex); - result.Message = CombineExceptionString(failedString, ex.getLocalizedMessage()); - return false; - } - - // 检查接收 - // if (!CheckRomoteReceived(socket, info.Length, sendReport, result, failedString)) - // { - // return false; - // } - - return true; - }*/ - - - - - /// - /// [自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯 - /// - /// 套接字 - /// 头子节 - /// 内容字节 - /// 结果 - /// 接收进度反馈 - /// 失败时用于显示的字符串 - /// - /// result - protected boolWith2Bytes ReceiveAndCheckBytes( - Socket socket, - OperateResult result, - ProgressReport receiveReport, - String failedString - ) - { - boolWith2Bytes value2=new boolWith2Bytes(); - - // 30秒超时接收验证 -// HslTimeOut hslTimeOut = new HslTimeOut() -// { -// DelayTime = 30000, -// IsSuccessful = false, -// StartTime = DateTime.Now, -// WorkSocket = socket, -// }; -// -// ThreadPool.QueueUserWorkItem(new WaitCallback(NetSupport.ThreadPoolCheckTimeOut), hslTimeOut); - - Log.i("准备接收头指令", "ReceiveAndCheckBytes: "); - - boolWithBytes value = ReceiveBytesFromSocket( - socket, // 套接字 - HslCommunicationCode.HeadByteLength, // 头指令长度 - result, // 结果消息对象 - null, // 不报告进度 - false, // 报告是否按照百分比报告 - false, // 不回发接收长度 - true, // 检查是否超时 - failedString // 异常时的附加文本描述 - ); - - if(!value.Result) - { - return value2; - } - - value2.Content = value.Content; - - Log.i("准备检查令牌", "ReceiveAndCheckBytes: "); - - // 检查令牌 - if (!CheckTokenPermission(socket, value.Content, KeyToken, result)) - { - Log.i("令牌检查失败", "ReceiveAndCheckBytes: "); - result.Message = StringResources.TokenCheckFailed; - return value2; - } - - // 接收内容 - byte[] buffer = new byte[4]; - buffer[0]=value.Content[28]; - buffer[1]=value.Content[29]; - buffer[2]=value.Content[30]; - buffer[3]=value.Content[31]; - int contentLength = Utilities.bytes2Int(buffer); - - Log.i("准备接收内容,长度为:"+contentLength, "ReceiveAndCheckBytes: "); - - value =ReceiveBytesFromSocket( - socket, // 套接字 - contentLength, // 内容数据长度 - result, // 结果消息对象 - receiveReport, // 接收进度报告委托 - true, // 按照百分比进行报告数据 - true, // 回发已经接收的数据长度 - false, // 不进行超时检查 - failedString // 异常时附加的文本描述 - ); - - if(!value.Result) - { - return value2; - } - Log.i("内容接收成功", "ReceiveAndCheckBytes: "); - - value2.Content2 = NetSupport.CommandAnalysis(value2.Content, value.Content); - value2.Result=true; - return value2; - } - - - - /// - /// [自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯 - /// - /// 套接字 - /// 接收的用户数据 - /// 接收的字节数据 - /// 结果信息对象 - /// 接收数据时的进度报告 - /// 失败时记录日志的字符串 - /// - protected boolWithIntString ReceiveStringFromSocket( - Socket socket, - OperateResult result, - ProgressReport receiveReport, - String failedString - ) - { - boolWithIntString valueString = new boolWithIntString(); - - boolWith2Bytes value2Bytes = ReceiveAndCheckBytes(socket,result, receiveReport, failedString); - - if (!value2Bytes.Result) - { - return valueString; - } - - // check - - byte[] buffer = new byte[4]; - buffer[0]=value2Bytes.Content[0]; - buffer[1]=value2Bytes.Content[1]; - buffer[2]=value2Bytes.Content[2]; - buffer[3]=value2Bytes.Content[3]; - if (Utilities.bytes2Int(buffer) != HslCommunicationCode.Hsl_Protocol_User_String) - { - result.Message = "数据头校验失败!"; - LogUtil.LogE("ReceiveStringFromSocket","数据头校验失败!"); - CloseSocket(socket); - return valueString; - } - - buffer[0]=value2Bytes.Content[4]; - buffer[1]=value2Bytes.Content[5]; - buffer[2]=value2Bytes.Content[6]; - buffer[3]=value2Bytes.Content[7]; - // 分析数据 - valueString.DataInt = Utilities.bytes2Int(buffer); - valueString.DataString = Utilities.byte2String(value2Bytes.Content2); - valueString.Result = true; - return valueString; - } - - /// - /// [自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯 - /// - /// 套接字 - /// 接收的用户数据 - /// 接收的字节数据 - /// 结果信息对象 - /// 失败时记录日志的字符串 - /// - protected boolWithIntByte ReceiveContentFromSocket( - Socket socket, - OperateResult result, - ProgressReport receiveReport, - String failedString - ) - { - - boolWithIntByte value = new boolWithIntByte(); - - boolWith2Bytes value2Bytes = ReceiveAndCheckBytes(socket,result,null, failedString); - - if (!value2Bytes.Result) - { - return value; - } - - byte[] buffer = new byte[4]; - buffer[0]=value2Bytes.Content[0]; - buffer[1]=value2Bytes.Content[1]; - buffer[2]=value2Bytes.Content[2]; - buffer[3]=value2Bytes.Content[3]; - if (Utilities.bytes2Int(buffer) != HslCommunicationCode.Hsl_Protocol_User_String) - { - result.Message = "数据头校验失败!"; - LogUtil.LogE("ReceiveContentFromSocket","数据头校验失败!"); - CloseSocket(socket); - return value; - } - - buffer[0]=value2Bytes.Content[4]; - buffer[1]=value2Bytes.Content[5]; - buffer[2]=value2Bytes.Content[6]; - buffer[3]=value2Bytes.Content[7]; - // 分析数据 - value.DataInt = Utilities.bytes2Int(buffer); - value.Content = value2Bytes.Content2; - value.Result = true; - return value; - } - -/* - - /// - /// [自校验] 从套接字中接收文件头信息 - /// - /// - /// - /// - /// - /// - /// - /// - /// - protected bool ReceiveFileHeadFromSocket( - Socket socket, - out string filename, - out long size, - out string filetag, - out string fileupload, - OperateResult result, - string failedString = null - ) - { - // 先接收文件头信息 - if (!ReceiveStringFromSocket(socket, out int customer, out string filehead, result, null, failedString)) - { - filename = null; - size = 0; - filetag = null; - fileupload = null; - return false; - } - - // 判断文件是否存在 - if (customer == 0) - { - LogNet?.WriteWarn("对方文件不存在,无法接收!"); - result.Message = StringResources.FileNotExist; - filename = null; - size = 0; - filetag = null; - fileupload = null; - socket?.Close(); - return false; - } - - // 提取信息 - Newtonsoft.Json.Linq.JObject json = Newtonsoft.Json.Linq.JObject.Parse(filehead); - filename = SoftBasic.GetValueFromJsonObject(json, "FileName", ""); - size = SoftBasic.GetValueFromJsonObject(json, "FileSize", 0L); - filetag = SoftBasic.GetValueFromJsonObject(json, "FileTag", ""); - fileupload = SoftBasic.GetValueFromJsonObject(json, "FileUpload", ""); - - return true; - } - - - /// - /// [自校验] 从网络中接收一个文件,如果结果异常,则结束通讯 - /// - /// 网络套接字 - /// 接收文件后保存的文件名 - /// 文件在对方电脑上的文件名 - /// 文件大小 - /// 文件的标识 - /// 文件的上传人 - /// 结果信息对象 - /// 接收进度报告 - /// 失败时的记录日志字符串 - /// - protected bool ReceiveFileFromSocket( - Socket socket, - string savename, - out string filename, - out long size, - out string filetag, - out string fileupload, - OperateResult result, - Action receiveReport, - string failedString = null - ) - { - // 先接收文件头信息 - if (!ReceiveFileHeadFromSocket( - socket, - out filename, - out size, - out filetag, - out fileupload, - result, - failedString - )) - { - return false; - } - - //// 先接收文件头信息 - //if (!ReceiveStringFromSocket(socket, out int customer, out string filehead, result, null, failedString)) - //{ - // filename = null; - // size = 0; - // filetag = null; - // fileupload = null; - // return false; - //} - - //// 判断文件是否存在 - //if (customer == 0) - //{ - // LogNet?.WriteWarn("对方文件不存在,无法接收!"); - // result.Message = StringResources.FileNotExist; - // filename = null; - // size = 0; - // filetag = null; - // fileupload = null; - // socket?.Close(); - // return false; - //} - - //// 提取信息 - //Newtonsoft.Json.Linq.JObject json = Newtonsoft.Json.Linq.JObject.Parse(filehead); - //filename = SoftBasic.GetValueFromJsonObject(json, "FileName", ""); - //size = SoftBasic.GetValueFromJsonObject(json, "FileSize", 0L); - //filetag = SoftBasic.GetValueFromJsonObject(json, "FileTag", ""); - //fileupload = SoftBasic.GetValueFromJsonObject(json, "FileUpload", ""); - - // 接收文件消息 - if (!ReceiveFileSteamFromSocket(socket, savename, size, receiveReport, result, failedString)) - { - return false; - } - - return true; - } - - /// - /// [自校验] 从网络中接收一个文件,写入数据流,如果结果异常,则结束通讯 - /// - /// 网络套接字 - /// 等待写入的数据流 - /// 文件在对方电脑上的文件名 - /// 文件大小 - /// 文件的标识 - /// 文件的上传人 - /// 结果信息对象 - /// 接收进度报告 - /// 失败时的记录日志字符串 - /// - protected bool ReceiveFileFromSocket( - Socket socket, - Stream stream, - out string filename, - out long size, - out string filetag, - out string fileupload, - OperateResult result, - Action receiveReport, - string failedString = null - ) - { - // 先接收文件头信息 - if (!ReceiveFileHeadFromSocket( - socket, - out filename, - out size, - out filetag, - out fileupload, - result, - failedString - )) - { - return false; - } - - - try - { - NetSupport.WriteStreamFromSocket(socket, stream, size, receiveReport, true); - return true; - } - catch (Exception ex) - { - result.Message = ex.Message; - socket?.Close(); - return false; - } - } -*/ - - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetSupport.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetSupport.java deleted file mode 100644 index 1a528d8..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/NetSupport.java +++ /dev/null @@ -1,338 +0,0 @@ -package com.example.HslCommunication.Core.Net; - -import com.example.HslCommunication.Core.Types.HslTimeOut; -import com.example.HslCommunication.Core.Utilities.Utilities; - -import java.io.DataOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.Socket; -import java.util.Date; -import java.io.DataInputStream; -import java.util.UUID; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class NetSupport { - - private static final int SocketBufferSize = 4096; - - - - public static void ThreadPoolCheckConnect(HslTimeOut timeout, int millisecond) { - while (!timeout.IsSuccessful) { - if ((new Date().getTime() - timeout.StartTime.getTime())> millisecond) { - // 连接超时或是验证超时 - if (!timeout.IsSuccessful) { - try { - if (timeout.WorkSocket != null) { - timeout.WorkSocket.close(); - } - } catch (java.io.IOException ex) { - // 不处理,放弃 - } - } - break; - } - } - } - - public static boolean IsTwoBytesEquel(byte[] b1, int start1, byte[] b2, int start2, int length) { - if (b1 == null || b2 == null) return false; - for (int i = 0; i < length; i++) { - if (b1[i + start1] != b2[i + start2]) { - return false; - } - } - return true; - } - - public static boolean CheckTokenEquel(byte[] head, UUID token) - { - return IsTwoBytesEquel(head, 12, Utilities.UUID2Byte(token), 0, 16); - } - - - - public static byte[] ReadBytesFromSocket(Socket socket, int receive, ProgressReport report, boolean reportByPercent, boolean response) throws java.io.IOException - { - byte[] bytes_receive = new byte[receive]; - int count_receive = 0; - long percent = 0; - - DataInputStream input = new DataInputStream(socket.getInputStream()); - DataOutputStream output = new DataOutputStream(socket.getOutputStream()); - - while (count_receive < receive) { - // 分割成4KB来接收数据 - int receive_length = 0; - if ((receive - count_receive)>= SocketBufferSize) { - receive_length = SocketBufferSize; - } else { - receive_length = (receive - count_receive); - } - - count_receive += input.read(bytes_receive, count_receive, receive_length); - - if (reportByPercent) { - long percentCurrent = (long) count_receive * 100 / receive; - if (percent != percentCurrent) { - percent = percentCurrent; - // 报告进度 - if (report != null) report.Report(count_receive, receive); - } - } else { - // 报告进度 - if (report != null) report.Report(count_receive, receive); - } - - // 回发进度 - if (response) output.write(Utilities.long2Bytes((long) count_receive)); - } - - return bytes_receive; - } - - - - public static byte[] ReadBytesFromSocket(Socket socket, int receive) throws java.io.IOException { - return ReadBytesFromSocket(socket, receive, null, false, false); - } - - - - /// - /// 读取套接字并且写入流 - /// - /// 文件流 - /// 连接的套接字 - /// 返回的文件长度 - /// 发送的进度报告 - /// - public static void WriteStreamFromSocket(Socket socket, OutputStream stream, long receive, ProgressReport report, boolean reportByPercent) throws java.io.IOException - { - byte[] buffer = new byte[SocketBufferSize]; - long count_receive = 0; - long percent = 0; - - DataInputStream input = new DataInputStream(socket.getInputStream()); - DataOutputStream output = new DataOutputStream(socket.getOutputStream()); - - while (count_receive < receive) - { - // 分割成4KB来接收数据 - int current = input.read(buffer, 0, SocketBufferSize); - - count_receive += current; - stream.write(buffer, 0, current); - if (reportByPercent) - { - long percentCurrent = count_receive * 100 / receive; - if (percent != percentCurrent) - { - percent = percentCurrent; - // 报告进度 - if (report != null) report.Report(count_receive, receive); - } - } - else - { - // 报告进度 - if (report != null) report.Report(count_receive, receive); - } - // 回发进度 - output.write(Utilities.long2Bytes(count_receive)); - } - buffer = null; - } - - - - - /// - /// 读取流并将数据写入socket - /// - /// 文件流 - /// 连接的套接字 - /// 返回的文件长度 - /// 发送的进度报告 - /// - public static void WriteSocketFromStream(Socket socket, InputStream stream, long length, ProgressReport report, boolean reportByPercent) throws java.io.IOException - { - byte[] buffer = new byte[SocketBufferSize]; - long count_send = 0; - long percent = 0; - - DataInputStream input = new DataInputStream(socket.getInputStream()); - DataOutputStream output = new DataOutputStream(socket.getOutputStream()); - - while (count_send < length) - { - int count = stream.read(buffer, 0, SocketBufferSize); - count_send += count; - - - output.write(buffer, 0, count); - - while (count_send != Utilities.bytes2Long(ReadBytesFromSocket(socket, 8))); - - long received = count_send; - - if (reportByPercent) - { - long percentCurrent = received * 100 / length; - if (percent != percentCurrent) - { - percent = percentCurrent; - // 报告进度 - if (report != null) report.Report(received, length); - } - } - else - { - // 报告进度 - if (report != null) report.Report(received, length); - } - - // 双重接收验证 - if (count == 0) - { - break; - } - } - - buffer = null; - } - - - - public static void CheckSendBytesReceived(Socket socket, long length, ProgressReport report, boolean reportByPercent) throws java.io.IOException - { - long remoteNeedReceive = 0; - long percent = 0; - - // 确认服务器的数据是否接收完成 - while (remoteNeedReceive < length) - { - remoteNeedReceive = Utilities.bytes2Long(ReadBytesFromSocket(socket, 8)); - if (reportByPercent) - { - long percentCurrent = remoteNeedReceive * 100 / length; - if (percent != percentCurrent) - { - percent = percentCurrent; - // 报告进度 - if (report != null) report.Report(remoteNeedReceive, length); - } - } - else - { - // 报告进度 - if (report != null) report.Report(remoteNeedReceive, length); - } - } - } - - - /* - - 发送字节数据的最终命令 - - */ - - public static byte[] CommandBytes(int customer, UUID token, byte[] data) - { - return CommandBytes(HslCommunicationCode.Hsl_Protocol_User_Bytes, customer, token, data); - } - - - /* - - 生成发送文本数据的最终命令 - - */ - - public static byte[] CommandBytes(int customer, UUID token, String data) - { - if (data == null) return CommandBytes(HslCommunicationCode.Hsl_Protocol_User_String, customer, token, null); - else return CommandBytes(HslCommunicationCode.Hsl_Protocol_User_String, customer, token, Utilities.string2Byte(data)); - } - - /* - - 生成最终的发送命令 - - */ - - public static byte[] CommandBytes(int command, int customer, UUID token, byte[] data) - { - byte[] _temp = null; - int _zipped = HslCommunicationCode.Hsl_Protocol_NoZipped; - int _sendLength = 0; - if (data == null) - { - _temp = new byte[HslCommunicationCode.HeadByteLength]; - } - else - { - // 加密 - data = HslSecurity.ByteEncrypt(data); - if (data.length> 10240) - { - // 10K以上的数据,进行数据压缩 - data = HslZipped.CompressBytes(data); - _zipped = HslCommunicationCode.Hsl_Protocol_Zipped; - } - _temp = new byte[HslCommunicationCode.HeadByteLength + data.length]; - _sendLength = data.length; - } - - Utilities.int2Bytes(command); - - System.arraycopy(Utilities.int2Bytes(command),0,_temp,0,4); - System.arraycopy(Utilities.int2Bytes(customer),0,_temp,4,4); - System.arraycopy(Utilities.int2Bytes(_zipped),0,_temp,8,4); - System.arraycopy(Utilities.UUID2Byte(token),0,_temp,12,16); - System.arraycopy(Utilities.int2Bytes(_sendLength),0,_temp,28,4); - if (_sendLength> 0) - { - System.arraycopy(data,0,_temp,32,_sendLength); - } - return _temp; - } - - - /* - - 从接收的数据命令开始解析 - - */ - - public static byte[] CommandAnalysis(byte[] head, byte[] content) - { - if (content != null) - { - byte[] buffer = new byte[4]; - buffer[0] = head[8]; - buffer[1] = head[9]; - buffer[2] = head[10]; - buffer[3] = head[11]; - - int _zipped = Utilities.bytes2Int(buffer); - // 先进行解压 - if (_zipped == HslCommunicationCode.Hsl_Protocol_Zipped) - { - content = HslZipped.Decompress(content); - } - // 进行解密 - return HslSecurity.ByteDecrypt(content); - } - else - { - return null; - } - } - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/ProgressReport.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/ProgressReport.java deleted file mode 100644 index 29b7a7e..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Net/ProgressReport.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.HslCommunication.Core.Net; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - - -public abstract class ProgressReport { - - - public void Report(long current,long totle) - { - - } - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/HslTimeOut.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/HslTimeOut.java deleted file mode 100644 index 83db408..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/HslTimeOut.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.example.HslCommunication.Core.Types; - -import java.net.Socket; -import java.util.Date; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class HslTimeOut { - - - public HslTimeOut() - { - StartTime = new Date(); - IsSuccessful = false; - } - - public Date StartTime=null; - - public boolean IsSuccessful=false; - - public int DelayTime=5000; - - public Socket WorkSocket=null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/NetHandle.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/NetHandle.java deleted file mode 100644 index 4ddad35..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/NetHandle.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.example.HslCommunication.Core.Types; - -import com.example.HslCommunication.Core.Utilities.Utilities; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public final class NetHandle { - - - /// - /// 初始化一个暗号对象 - /// - public NetHandle(int value) - { - byte[] buffer = Utilities.int2Bytes(value); - - m_CodeMajor = buffer[3]; - m_CodeMinor = buffer[2]; - m_CodeIdentifier = Utilities.byte2Short(buffer,0); - - - m_CodeValue = value; - } - - - /// - /// 根据三个值来初始化暗号对象 - /// - /// 主暗号 - /// 次暗号 - /// 暗号编号 - public NetHandle(int major, int minor, int identifier) - { - m_CodeValue = 0; - - byte[] buffer_major=Utilities.int2Bytes(major); - byte[] buffer_minor=Utilities.int2Bytes(minor); - byte[] buffer_identifier=Utilities.int2Bytes(identifier); - - m_CodeMajor = buffer_major[0]; - m_CodeMinor = buffer_minor[0]; - m_CodeIdentifier = Utilities.byte2Short(buffer_identifier,0); - - byte[] buffer = new byte[4]; - buffer[3] = m_CodeMajor; - buffer[2] = m_CodeMinor; - buffer[1] = buffer_identifier[1]; - buffer[0] = buffer_identifier[0]; - - m_CodeValue = Utilities.bytes2Int(buffer); - } - - - /// - /// 完整的暗号值 - /// - private int m_CodeValue; - - /// - /// 主暗号分类0-255 - /// - private byte m_CodeMajor; - - /// - /// 次要的暗号分类0-255 - /// - private byte m_CodeMinor; - - /// - /// 暗号的编号分类0-65535 - /// - private short m_CodeIdentifier; - - - - /// - /// 完整的暗号值 - /// - public int get_CodeValue(){ - return m_CodeValue; - } - - /// - /// 主暗号分类0-255 - /// - public byte get_CodeMajor() { - return m_CodeMajor; - } - - /// - /// 次要的暗号分类0-255 - /// - public byte get_CodeMinor() { - return m_CodeMinor; - } - - /// - /// 暗号的编号分类0-65535 - /// - public short get_CodeIdentifier() { - return m_CodeIdentifier; - } - - - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResult.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResult.java deleted file mode 100644 index d5d8874..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResult.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.example.HslCommunication.Core.Types; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class OperateResult { - - /// - /// 指示本次访问是否成功 - /// - public boolean IsSuccess =false; - - - /// - /// 具体的错误描述 - /// - public String Message = "Unknown Errors"; - /// - /// 具体的错误代码 - /// - public int ErrorCode = 10000; - - /// - /// 消息附带的额外信息 - /// - public Object Tag =null; - - /// - /// 获取错误代号及文本描述 - /// - /// - public String ToMessageShowString() - { - return "错误代码:"+ErrorCode +"\r\n错误信息:"+Message; - } - -} \ No newline at end of file diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResultBytes.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResultBytes.java deleted file mode 100644 index bc2d1ba..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResultBytes.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.HslCommunication.Core.Types; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - -public class OperateResultBytes extends OperateResult { - public byte[] Content =null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResultString.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResultString.java deleted file mode 100644 index 7f7bea9..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Types/OperateResultString.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.HslCommunication.Core.Types; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - - - -public class OperateResultString extends OperateResult { - public String Content = null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/Utilities.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/Utilities.java deleted file mode 100644 index ed2d9b1..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/Utilities.java +++ /dev/null @@ -1,175 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -import com.example.HslCommunication.Log.LogUtil; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.UUID; - -/** - * Created by DATHLIN on 2017年11月1日. - */ - - - -public class Utilities { - - public static byte[] int2Bytes(int num) { - byte[] byteNum = new byte[4]; - for (int ix = 0; ix < 4; ++ix) { - int offset = 32 - (ix + 1) * 8; - byteNum[3-ix] = (byte) ((num>> offset) & 0xff); - } - return byteNum; - } - - public static int bytes2Int(byte[] byteNum) { - int num = 0; - for (int ix = 0; ix < 4; ++ix) { - num <<= 8; - num |= (byteNum[3-ix] & 0xff); - } - return num; - } - - public static byte int2OneByte(int num) { - return (byte) (num & 0x000000ff); - } - - public static int oneByte2Int(byte byteNum) { - //针对正数的int - return byteNum> 0 ? byteNum : (128 + (128 + byteNum)); - } - - public static byte[] long2Bytes(long num) { - byte[] byteNum = new byte[8]; - for (int ix = 0; ix < 8; ++ix) { - int offset = 64 - (ix + 1) * 8; - byteNum[7-ix] = (byte) ((num>> offset) & 0xff); - } - return byteNum; - } - - public static long bytes2Long(byte[] byteNum) { - long num = 0; - for (int ix = 0; ix < 8; ++ix) { - num <<= 8; - num |= (byteNum[7-ix] & 0xff); - } - return num; - } - - public static UUID Byte2UUID(byte[] data) { - if (data.length != 16) { - throw new IllegalArgumentException("Invalid UUID byte[]"); - } - long msb = 0; - long lsb = 0; - for (int i = 0; i < 8; i++) - msb = (msb << 8) | (data[i] & 0xff); - for (int i = 8; i < 16; i++) - lsb = (lsb << 8) | (data[i] & 0xff); - - return new UUID(msb, lsb); - } - - public static byte[] UUID2Byte(UUID uuid) { - ByteArrayOutputStream ba = new ByteArrayOutputStream(16); - DataOutputStream da = new DataOutputStream(ba); - try { - da.writeLong(uuid.getMostSignificantBits()); - da.writeLong(uuid.getLeastSignificantBits()); - } - catch (IOException e) { - e.printStackTrace(); - } - byte[] buffer = ba.toByteArray(); - // 进行错位 - byte temp=buffer[0]; - buffer[0] = buffer[3]; - buffer[3] =temp; - temp=buffer[1]; - buffer[1]=buffer[2]; - buffer[2]=temp; - - temp = buffer[4]; - buffer[4]=buffer[5]; - buffer[5] =temp; - - temp = buffer[6]; - buffer[6]=buffer[7]; - buffer[7] =temp; - - return buffer; - } - - public static short byte2Short(byte[] b, int index) { - return (short) (((b[index + 0] << 8) | b[index + 1] & 0xff)); - } - - - public static byte[] short2Byte(short s) { - byte[] targets = new byte[2]; - for (int i = 0; i < 2; i++) { - int offset = (targets.length - 1 - i) * 8; - targets[1-i] = (byte) ((s>>> offset) & 0xff); - } - return targets; - } - - public static byte[] string2Byte(String str) { - if (str == null) { - return null; - } - byte[] byteArray; - try { - byteArray = str.getBytes("unicode"); - } catch (Exception ex) { - byteArray = str.getBytes(); - LogUtil.LogE("string2Byte","unicode编码转换错误",ex); - } -// -// for(int i=0;i>> 4 & 0xf]; - buf[index++] = HEX_CHAR[b & 0xf]; - } - - return new String(buf); - } -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWith2Bytes.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWith2Bytes.java deleted file mode 100644 index e036dd1..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWith2Bytes.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public class boolWith2Bytes extends boolWithBytes { - public byte[] Content2=null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithBytes.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithBytes.java deleted file mode 100644 index 63d3173..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithBytes.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - - -public class boolWithBytes extends boolWithNone { - - - public byte[] Content=null; - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithIntByte.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithIntByte.java deleted file mode 100644 index 70b0d63..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithIntByte.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public class boolWithIntByte extends boolWithBytes { - public int DataInt=0; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithIntString.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithIntString.java deleted file mode 100644 index 733e027..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithIntString.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public class boolWithIntString extends boolWithNone { - - - public int DataInt=0; - - - public String DataString=null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithNone.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithNone.java deleted file mode 100644 index 139ba50..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithNone.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月3日. - */ - - - - -/* -* -* 结果类的基础,提供一个boolen -* -* -* */ - -public class boolWithNone { - - /* - 返回真还是否 - */ - public boolean Result = false; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithSiemens.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithSiemens.java deleted file mode 100644 index 10bf9cc..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithSiemens.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月3日. - */ - -public class boolWithSiemens extends boolWithNone { - - - public byte type=0; - - public int startAddress=0; - - public short dbAddress=0; - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithSocket.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithSocket.java deleted file mode 100644 index adc5303..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithSocket.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -import java.net.Socket; - -/** - * Created by hsl20 on 2017年11月4日. - */ - -public class boolWithSocket extends boolWithNone { - public Socket Socket=null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithString.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithString.java deleted file mode 100644 index cab278b..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Core/Utilities/boolWithString.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.HslCommunication.Core.Utilities; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public class boolWithString extends boolWithNone { - - public String Content=null; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/AsyncStateOne.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/AsyncStateOne.java deleted file mode 100644 index 4edfd73..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/AsyncStateOne.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.example.HslCommunication.Enthernet; - -import com.example.HslCommunication.Core.Net.HslCommunicationCode; - -import java.net.Socket; -import java.util.Date; -import java.util.UUID; - -/** - * Created by hsl20 on 2017年11月4日. - */ - -public class AsyncStateOne { - - - /// - /// 实例化一个对象 - /// - public AsyncStateOne() { - ClientUniqueID = UUID.randomUUID().toString(); - } - - /// - /// IP地址 - /// - private String IpAddress = ""; - - public String getIpAddress() { - return IpAddress; - } - - private void setIpAddress(String ipAddress) { - IpAddress = ipAddress; - } - - - /* - 端口号 - */ - private int IpPort = 10000; - - public int getIpPort() { - return IpPort; - } - - private void setIpPort(int ipPort) { - IpPort = ipPort; - } - - - /* - 登录的别名 - */ - private String LoginAlias = ""; - - public String getLoginAlias() { - return LoginAlias; - } - - public void setLoginAlias(String loginAlias) { - LoginAlias = loginAlias; - } - - - /* - 心跳验证的时间点 - */ - private Date HeartTime=new Date(); - public Date getHeartTime() { - return HeartTime; - } - - public void setHeartTime(Date heartTime) { - HeartTime = heartTime; - } - - - /* - 客户端类别 - */ - private String ClientType=""; - public void setClientType(String clientType) { - ClientType = clientType; - } - - - public String getClientType() { - return ClientType; - } - - - /* - 客户端的唯一标识 - */ - private String ClientUniqueID=""; - public String getClientUniqueID() { - return ClientUniqueID; - } - - public void setClientUniqueID(String clientUniqueID) { - ClientUniqueID = clientUniqueID; - } - - - - /// - /// 指令头缓存 - /// - byte[] BytesHead = new byte[HslCommunicationCode.HeadByteLength]; - /// - /// 已经接收的指令头长度 - /// - int AlreadyReceivedHead = 0; - /// - /// 数据内容缓存 - /// - byte[] BytesContent = null; - /// - /// 已经接收的数据内容长度 - /// - int AlreadyReceivedContent = 0; - - /// - /// 清除本次的接收内容 - /// - void Clear() { - BytesHead = new byte[HslCommunicationCode.HeadByteLength]; - AlreadyReceivedHead = 0; - BytesContent = null; - AlreadyReceivedContent = 0; - } - - - Socket WorkSocket=null; -} \ No newline at end of file diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/NetComplexClient.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/NetComplexClient.java deleted file mode 100644 index 5a3f41b..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/NetComplexClient.java +++ /dev/null @@ -1,442 +0,0 @@ -package com.example.HslCommunication.Enthernet; - -import com.example.HslCommunication.Core.Net.HslCommunicationCode; -import com.example.HslCommunication.Core.Net.NetShareBase; -import com.example.HslCommunication.Core.Net.NetSupport; -import com.example.HslCommunication.Core.Types.NetHandle; -import com.example.HslCommunication.Core.Types.OperateResult; -import com.example.HslCommunication.Core.Utilities.Utilities; -import com.example.HslCommunication.Core.Utilities.boolWith2Bytes; -import com.example.HslCommunication.Core.Utilities.boolWithSocket; -import com.example.HslCommunication.Log.LogUtil; -import com.example.HslCommunication.Resources.StringResources; - -import java.net.Socket; -import java.util.Date; - -/** - * Created by hsl20 on 2017年11月4日. - */ - -public class NetComplexClient extends NetShareBase { - - - - /// - /// 客户端的核心连接块 - /// - private AsyncStateOne stateone = new AsyncStateOne(); - /// - /// 客户端系统是否启动 - /// - public boolean Is_Client_Start = false; - - /// - /// 重连接失败的次数 - /// - public int Connect_Failed_Count = 0; - /// - /// 指示客户端是否处于正在连接服务器中 - /// - private boolean Is_Client_Connecting = false; - /// - /// 登录服务器的判断锁 - /// - private Object lock_connecting = new Object(); - /// - /// 客户端登录的标识名称,可以为ID号,也可以为登录名 - /// - public String ClientAlias = ""; - /// - /// 远程服务器的IP地址和端口 - /// - public String ServerIp = "127.0.0.1"; - /* - 远程服务器的端口 - */ - public int ServerPort = 10000; - - /// - /// 服务器的时间,自动实现和服务器同步 - /// - private Date ServerTime = new Date(); - /// - /// 系统与服务器的延时时间,单位毫秒 - /// - private int DelayTime =0; - - - - public void LoginSuccess() - { - - } - - public void LoginFailed(int times) - { - - } - - public void MessageAlerts(String msg) - { - - } - - public void BeforReConnected() - { - - } - - public void AcceptString(NetHandle handle, String msg) - { - - } - - public void AcceptByte( NetHandle handle, byte[] msg) - { - - } - - - private boolean IsQuie = false; - - /// - /// 关闭该客户端引擎 - /// - public void ClientClose() { - IsQuie = true; - if (Is_Client_Start) - SendBytes(stateone, NetSupport.CommandBytes(HslCommunicationCode.Hsl_Protocol_Client_Quit, 0, KeyToken, null)); - - if (thread_heart_check != null) thread_heart_check.interrupt(); - Is_Client_Start = false; - - - ThreadSleep(10); - - CloseSocket(stateone.WorkSocket); - LogUtil.LogD("ClientClose","Client Close."); - } - /// - /// 启动客户端引擎,连接服务器系统 - /// - public void ClientStart() - { - if (Is_Client_Start) return; - Thread thread_login = new Thread(new Runnable() { - @Override - public void run() { - ThreadLogin(); - } - }); - thread_login.start(); - LogUtil.LogD("ClientStart","Client Start."); - - if (thread_heart_check == null) - { - thread_heart_check = new Thread(new Runnable() { - @Override - public void run() { - ThreadHeartCheck(); - } - }); - thread_heart_check.start(); - } - } - private void ThreadLogin() - { - synchronized (lock_connecting) - { - if (Is_Client_Connecting) return; - Is_Client_Connecting = true; - } - - - if (Connect_Failed_Count == 0) - { - MessageAlerts("正在连接服务器..."); - } - else - { - int count = 10; - while (count> 0) - { - if (IsQuie) return; - MessageAlerts("连接断开,等待" + count-- + "秒后重新连接"); - ThreadSleep(1000); - } - MessageAlerts("正在尝试第" + Connect_Failed_Count + "次连接服务器..."); - } - - - stateone.setHeartTime(new Date()); - LogUtil.LogD("ThreadLogin","Begin Connect Server, Times: " + Connect_Failed_Count); - - - OperateResult result = new OperateResult(); - - Socket socket=null; - boolWithSocket valueSocket = CreateSocketAndConnect(ServerIp,ServerPort,result); - if(!valueSocket.Result) - { - Connect_Failed_Count++; - Is_Client_Connecting = false; - LoginFailed(Connect_Failed_Count); - LogUtil.LogW("ThreadLogin","Connected Failed, Times: " + Connect_Failed_Count); - // 连接失败,重新连接服务器 - ReconnectServer(); - return; - } - - socket = valueSocket.Socket; - - // 连接成功,发送数据信息 - if(!SendStringAndCheckReceive( - socket, - 2, - ClientAlias, - result, - null, - null - )) - { - Connect_Failed_Count++; - Is_Client_Connecting = false; - LogUtil.LogD("ThreadLogin","Login Server Failed, Times: " + Connect_Failed_Count); - LoginFailed(Connect_Failed_Count); - // 连接失败,重新连接服务器 - ReconnectServer(); - return; - } - - // 登录成功 - Connect_Failed_Count = 0; - //stateone.IpEndPoint = (IPEndPoint)socket.RemoteEndPoint; - stateone.setClientType(ClientAlias); - stateone.WorkSocket = socket; - //stateone.WorkSocket.BeginReceive(stateone.BytesHead, stateone.AlreadyReceivedHead, - //stateone.BytesHead.Length - stateone.AlreadyReceivedHead, SocketFlags.None, - //new AsyncCallback(HeadReceiveCallback), stateone); - - Thread receive = new Thread(new Runnable() { - @Override - public void run() { - ThreadReceiveBackground(); - } - }); - receive.start(); - - - - // 发送一条验证消息 - byte[] bytesTemp = new byte[16]; - - //BitConverter.GetBytes(DateTime.Now.Ticks).CopyTo(bytesTemp, 0); - SendBytes(stateone, NetSupport.CommandBytes(HslCommunicationCode.Hsl_Protocol_Check_Secends, 0, KeyToken, bytesTemp)); - - - stateone.setHeartTime(new Date()); - Is_Client_Start = true; - LoginSuccess(); - - LogUtil.LogD("ThreadLogin","Login Server Success, Times: " + Connect_Failed_Count); - - Is_Client_Connecting = false; - - ThreadSleep(1000); - } - - - - private void ThreadReceiveBackground() - { - while (true) - { - OperateResult result = new OperateResult(); - boolWith2Bytes value = ReceiveAndCheckBytes(stateone.WorkSocket, result, null,null); - - if (!value.Result) - { - continue; - } - - // 数据处理 - byte[] buffer1= new byte[4]; - buffer1[0] = value.Content[0]; - buffer1[1] = value.Content[1]; - buffer1[2] = value.Content[2]; - buffer1[3] = value.Content[3]; - - byte[] buffer2= new byte[4]; - buffer2[0] = value.Content[4]; - buffer2[1] = value.Content[5]; - buffer2[2] = value.Content[6]; - buffer2[3] = value.Content[7]; - - int protocol = Utilities.bytes2Int(buffer1); - int customer = Utilities.bytes2Int(buffer2); - - DataProcessingCenter(null,protocol,customer,value.Content2); - } - } - - - // private bool Is_reconnect_server = false; - // private object lock_reconnect_server = new object(); - - - private void ReconnectServer() - { - // 是否连接服务器中,已经在连接的话,则不再连接 - if (Is_Client_Connecting) return; - // 是否退出了系统,退出则不再重连 - if (IsQuie) return; - - LogUtil.LogI("ReconnectServer","Prepare ReConnect Server."); - - // 触发连接失败,重连系统前错误 - BeforReConnected(); - CloseSocket(stateone.WorkSocket); - - Thread thread_login = new Thread(new Runnable() { - @Override - public void run() { - ThreadLogin(); - } - }); - thread_login.start(); - } - - - /// - /// 通信出错后的处理 - /// - /// - /// - void SocketReceiveException(AsyncStateOne receive, Exception ex) - { - if (ex.getMessage().contains(StringResources.SocketRemoteCloseException)) - { - // 异常掉线 - ReconnectServer(); - } - else - { - // MessageAlerts?.Invoke("数据接收出错:" + ex.Message); - } - - LogUtil.LogD("SocketReceiveException","Socket Excepiton Occured."); - } - - - /// - /// 服务器端用于数据发送文本的方法 - /// - /// 用户自定义的命令头 - /// 发送的文本 - public void Send(NetHandle customer, String str) - { - if (Is_Client_Start) - { - SendBytes(stateone, NetSupport.CommandBytes(customer.get_CodeValue(), KeyToken, str)); - } - } - /// - /// 服务器端用于发送字节的方法 - /// - /// 用户自定义的命令头 - /// 实际发送的数据 - public void Send(NetHandle customer, byte[] bytes) - { - if (Is_Client_Start) - { - SendBytes(stateone, NetSupport.CommandBytes(customer.get_CodeValue(), KeyToken, bytes)); - } - } - - private void SendBytes(final AsyncStateOne stateone, final byte[] content) - { - Thread thread_login = new Thread(new Runnable() { - @Override - public void run() { - try { - stateone.WorkSocket.getOutputStream().write(content); - } catch (Exception ex) { - - } - } - }); - thread_login.start(); - //SendBytesAsync(stateone, content); - } - - /// - /// 客户端的数据处理中心 - /// - /// - /// - /// - /// - void DataProcessingCenter(AsyncStateOne receive, int protocol, int customer, byte[] content) - { - if (protocol == HslCommunicationCode.Hsl_Protocol_Check_Secends) - { - //Date dt = new Date(BitConverter.ToInt64(content, 0)); - //ServerTime = new Date(BitConverter.ToInt64(content, 8)); - //DelayTime = (int)(new Date() - dt).TotalMilliseconds; - stateone.setHeartTime(new Date()); - // MessageAlerts?.Invoke("心跳时间:" + DateTime.Now.ToString()); - } - else if (protocol == HslCommunicationCode.Hsl_Protocol_Client_Quit) - { - // 申请了退出 - } - else if (protocol == HslCommunicationCode.Hsl_Protocol_User_Bytes) - { - // 接收到字节数据 - AcceptByte(new NetHandle(customer), content); - } - else if (protocol == HslCommunicationCode.Hsl_Protocol_User_String) - { - // 接收到文本数据 - String str = Utilities.byte2String(content); - AcceptString(new NetHandle(customer), str); - } - } - - - private Thread thread_heart_check = null; - - /// - /// 心跳线程的方法 - /// - private void ThreadHeartCheck() - { - - ThreadSleep(2000); - while (true) - { - ThreadSleep(1000); - - if (!IsQuie) - { - byte[] send = new byte[16]; - System.arraycopy(Utilities.long2Bytes(new Date().getTime()),0,send,0,8); - SendBytes(stateone, NetSupport.CommandBytes(HslCommunicationCode.Hsl_Protocol_Check_Secends, 0, KeyToken, send)); - double timeSpan = (new Date().getTime() - stateone.getHeartTime().getTime())/1000; - if (timeSpan> 1 * 8)//8次没有收到失去联系 - { - LogUtil.LogD("ThreadHeartCheck","Heart Check Failed int "+timeSpan+" Seconds."); - ReconnectServer(); - ThreadSleep(1000); - } - } - else - { - break; - } - } - } - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/NetSimplifyClient.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/NetSimplifyClient.java deleted file mode 100644 index 1b0d31e..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Enthernet/NetSimplifyClient.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.example.HslCommunication.Enthernet; - -import com.example.HslCommunication.Core.Net.HslCommunicationCode; -import com.example.HslCommunication.Core.Net.NetShareBase; -import com.example.HslCommunication.Core.Net.ProgressReport; -import com.example.HslCommunication.Core.Utilities.boolWith2Bytes; -import com.example.HslCommunication.Core.Utilities.Utilities; -import com.example.HslCommunication.Core.Types.NetHandle; -import com.example.HslCommunication.Core.Types.OperateResultBytes; -import com.example.HslCommunication.Core.Types.OperateResultString; -import com.example.HslCommunication.Core.Utilities.boolWithSocket; -import com.example.HslCommunication.Resources.StringResources; - -import java.io.InputStream; -import java.net.Socket; -import java.util.UUID; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public final class NetSimplifyClient extends NetShareBase { - - - - /// - /// 实例化一个客户端的对象,用于和服务器通信 - /// - public NetSimplifyClient(String ipAddress, int port, UUID token) - { - m_ipAddress = ipAddress; - m_port = port; - KeyToken = token; - } - - private String m_ipAddress="127.0.0.1"; - private int m_port=10000; - - /// - /// 客户端向服务器进行请求,请求字符串数据 - /// - /// 用户的指令头 - /// 发送数据 - /// 发送数据时的进度报告 - /// 接收数据时的进度报告 - /// - public OperateResultString ReadFromServer( - NetHandle customer, - String send, - ProgressReport sendStatus, - ProgressReport receiveStatus - ) - { - OperateResultString result = new OperateResultString(); - byte[] data = Utilities.string2Byte(send); - OperateResultBytes temp = ReadFromServerBase(HslCommunicationCode.Hsl_Protocol_User_String, customer.get_CodeValue(), data, sendStatus, receiveStatus); - result.IsSuccess = temp.IsSuccess; - result.ErrorCode = temp.ErrorCode; - result.Message = temp.Message; - if (temp.IsSuccess) - { - result.Content = Utilities.byte2String(temp.Content); - } - temp = null; - return result; - } - - - /// - /// 客户端向服务器进行请求,请求字节数据 - /// - /// 用户的指令头 - /// - /// 发送数据的进度报告 - /// 接收数据的进度报告 - /// - public OperateResultBytes ReadFromServer( - NetHandle customer, - byte[] send, - ProgressReport sendStatus, - ProgressReport receiveStatus - ) - { - return ReadFromServerBase(HslCommunicationCode.Hsl_Protocol_User_Bytes, customer.get_CodeValue(), send, sendStatus, receiveStatus); - } - - /// - /// 需要发送的底层数据 - /// - /// 数据的指令头 - /// 用户的指令头 - /// 需要发送的底层数据 - /// 发送状态的进度报告,用于显示上传进度 - /// 接收状态的进度报告,用于显示下载进度 - /// - private OperateResultBytes ReadFromServerBase( - int headcode, - int customer, - byte[] send, - ProgressReport sendStatus, - ProgressReport receiveStatus) - { - OperateResultBytes result = new OperateResultBytes(); - - // 创建并连接套接字 - Socket socket=null; - boolWithSocket valueSocket=CreateSocketAndConnect(m_ipAddress, m_port,result); - if(!valueSocket.Result) - { - return result; - } - - socket = valueSocket.Socket; - - // 发送并检查数据是否发送完成 - if (!SendBaseAndCheckReceive(socket, headcode, customer, send, result, sendStatus,null)) - { - return result; - } - - // 接收头数据和内容数据 - - boolWith2Bytes value = ReceiveAndCheckBytes(socket, result, receiveStatus,null); - - if (!value.Result) - { - return result; - } - - CloseSocket(socket); - result.Content = value.Content2; - result.IsSuccess = true; - return result; - } - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/PlcNetBase.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/PlcNetBase.java deleted file mode 100644 index 90a403e..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/PlcNetBase.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.example.HslCommunication.Profinet; - -import com.example.HslCommunication.Core.Net.NetBase; - -/** - * Created by DATHLIN on 2017年11月3日. - */ - -public abstract class PlcNetBase extends NetBase { - - - protected int m_PortRead = 1000; - protected int m_PortReadBackup = -1; - protected boolean m_IsPortNormal = true; - protected int m_PortWrite = 1001; - - - - /// - /// 获取访问的端口号 - /// - /// - protected int GetPort() - { - if (m_PortReadBackup <= 0) return m_PortRead; - return m_IsPortNormal ? m_PortRead : m_PortReadBackup; - } - /// - /// 更换端口号 - /// - protected void ChangePort() - { - m_IsPortNormal = !m_IsPortNormal; - } - - - public void setPortRead(int value) { - m_PortRead = value; - } - - - public int getPortRead() - { - return m_PortRead; - } - - - /// - /// 控制字节长度,超出选择截断,不够补零 - /// - /// 字节数据 - /// 最终需要的目标长度 - /// 处理后的数据 - protected byte[] ManageBytesLength(byte[] bytes, int length) - { - if (bytes == null) return null; - byte[] temp = new byte[length]; - if (length> bytes.length) - { - System.arraycopy(bytes, 0, temp, 0, bytes.length); - } - else - { - System.arraycopy(bytes, 0, temp, 0, length); - } - return temp; - } - - - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/SiemensPLCS.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/SiemensPLCS.java deleted file mode 100644 index d5dd1b1..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/SiemensPLCS.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.HslCommunication.Profinet; - -/** - * Created by DATHLIN on 2017年11月3日. - */ - -public enum SiemensPLCS { - S1200, - S300, - Smart200, -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/SiemensTcpNet.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/SiemensTcpNet.java deleted file mode 100644 index 4ef28f6..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Profinet/SiemensTcpNet.java +++ /dev/null @@ -1,780 +0,0 @@ -package com.example.HslCommunication.Profinet; - -import com.example.HslCommunication.Core.Net.NetSupport; -import com.example.HslCommunication.Core.Types.OperateResult; -import com.example.HslCommunication.Core.Types.OperateResultBytes; -import com.example.HslCommunication.Core.Utilities.Utilities; -import com.example.HslCommunication.Core.Utilities.boolWithBytes; -import com.example.HslCommunication.Core.Utilities.boolWithSiemens; -import com.example.HslCommunication.Core.Utilities.boolWithSocket; - -import java.io.OutputStream; -import java.net.Socket; -import java.util.ArrayList; - -/** - * Created by DATHLIN on 2017年11月3日. - */ - -public final class SiemensTcpNet extends PlcNetBase { - - /// - /// 实例化一个数据通信的对象,需要指定访问哪种Plc - /// - /// - public SiemensTcpNet(SiemensPLCS siemens) - { - m_PortRead = 102; - m_PortWrite = 102; - CurrentPlc = siemens; - - switch (siemens) - { - case S1200: plcHead1[18] = 1; break; - case S300: plcHead1[18] = 2; break; - case Smart200:plcHead1[18] = 1; break; - default: plcHead1[18] = 3; break; - } - } - - - /// - /// 可以手动设置PLC类型,用来测试原本不支持的数据访问功能 - /// - /// - public void SetPlcType(byte type) - { - plcHead1[18] = type; - } - - private String ipAddress=""; - - public String getIpAddress() { - return ipAddress; - } - - public void setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - } - - - private boolWithBytes ReceiveBytesFromSocket(Socket socket) - { - boolWithBytes value =new boolWithBytes(); - try - { - // 先接收4个字节的数据 - byte[] head = NetSupport.ReadBytesFromSocket(socket, 4); - int receive = head[2] * 256 + head[3]; - value.Content = new byte[receive]; - System.arraycopy(head,0,value.Content,0, 4); - byte[] data = NetSupport.ReadBytesFromSocket(socket, receive - 4); - System.arraycopy(data,0,value.Content,4,data.length); - value.Result=true; - return value; - } - catch(Exception ex) - { - CloseSocket(socket); - return value; - } - } - - private boolean SendBytesToSocket(Socket socket, byte[] data) - { - try - { - if (data != null) - { - OutputStream outputStream = socket.getOutputStream(); - outputStream.write(data); - } - return true; - } - catch(Exception ex) - { - CloseSocket(socket); - return false; - } - } - - - private int CalculateAddressStarted(String address) - { - if (address.indexOf('.') < 0) - { - return Integer.parseInt(address) * 8; - } - else - { - String[] temp = address.split("\\."); - return Integer.parseInt(temp[0]) * 8 + Integer.parseInt(temp[1]); - } - } - - /// - /// 解析数据地址 - /// - /// 数据地址 - /// 类型 - /// 其实地址 - /// DB块地址 - /// 结果数据对象 - /// - private boolWithSiemens AnalysisAddress(String address, OperateResult result) - { - boolWithSiemens value = new boolWithSiemens(); - try - { - value.dbAddress = 0; - if (address.charAt(0) == 'I') - { - value.type = -127; - value.startAddress = CalculateAddressStarted(address.substring(1)); - } - else if (address.charAt(0) == 'Q') - { - value.type = -126; - value.startAddress = CalculateAddressStarted(address.substring(1)); - } - else if (address.charAt(0) == 'M') - { - value.type = -125; - value.startAddress = CalculateAddressStarted(address.substring(1)); - } - else if (address.charAt(0) == 'D' || address.substring(0, 2) == "DB") - { - value.type = -124; - String[] adds = address.split("\\."); - if (address.charAt(1) == 'B') - { - value.dbAddress = Short.parseShort(adds[0].substring(2)); - } - else - { - value.dbAddress = Short.parseShort(adds[0].substring(1)); - } - - value.startAddress = CalculateAddressStarted(address.substring(address.indexOf('.') + 1)); - } - else - { - result.Message = "不支持的数据类型"; - value.type = 0; - value.startAddress = 0; - value.dbAddress = 0; - return value; - } - } - catch (Exception ex) - { - result.Message = ex.getMessage(); - return value; - } - - value.Result=true; - return value; - } - - private boolean InitilizationConnect(Socket socket,OperateResult result) - { - // 发送初始化信息 - if(!SendBytesToSocket(socket,plcHead1)) - { - result.Message = "初始化信息发送失败"; - return false; - } - - if(!ReceiveBytesFromSocket(socket).Result) - { - result.Message = "初始化信息接收失败"; - return false; - } - - if(!SendBytesToSocket(socket,plcHead2)) - { - result.Message = "初始化信息发送失败"; - return false; - } - - if(!ReceiveBytesFromSocket(socket).Result) - { - result.Message = "初始化信息接收失败"; - return false; - } - - return true; - } - - - /// - /// 从PLC读取数据,地址格式为I100,Q100,DB20.100,M100,以字节为单位 - /// - /// 起始地址,格式为I100,M100,Q100,DB20.100 - /// 读取的数量,以字节为单位 - /// - public OperateResultBytes ReadFromPLC(String address, short count) - { - return ReadFromPLC(new String[] { address }, new short[] { count }); - } - - - /// - /// 一次性从PLC获取所有的数据,按照先后顺序返回一个统一的Buffer,需要按照顺序处理,两个数组长度必须一致 - /// - /// 起始地址数组 - /// 数据长度数组 - /// - public OperateResultBytes ReadFromPLC(String[] address, short[] count) - { - OperateResultBytes result = new OperateResultBytes(); - - if (address == null) - { - result.Message = "地址不能为空"; - return result; - } - - - if (count == null) - { - result.Message = "数量不能为空"; - return result; - } - if (address.length != count.length) { - result.Message = "两个参数的个数不统一"; - return result; - } - - Socket socket; - boolWithSocket value = CreateSocketAndConnect(ipAddress,getPortRead(), result); - if (!value.Result) - { - ChangePort(); - return result; - } - - socket = value.Socket; - if (!InitilizationConnect(socket, result)) - { - return result; - } - - - // 分批次进行读取,计算总批次 - int times = address.length / 255; - if (address.length % 255> 0) - { - times++; - } - - // 缓存所有批次的结果 - ArrayList arrays_bytes = new ArrayList(); - - for (int jj = 0; jj < times; jj++) - { - // 计算本批次需要读取的数据 - int startIndex = jj * 255; - int readCount = address.length - startIndex; - if (readCount> 255) - { - readCount = 255; - } - - byte[] _PLCCommand = new byte[19 + readCount * 12]; - // 报文头 - _PLCCommand[0] = 0x03; - _PLCCommand[1] = 0x00; - // 长度 - _PLCCommand[2] = (byte)(_PLCCommand.length / 256); - _PLCCommand[3] = (byte)(_PLCCommand.length % 256); - // 固定 - _PLCCommand[4] = 0x02; - _PLCCommand[5] = -16; - _PLCCommand[6] = -128; - _PLCCommand[7] = 0x32; - // 命令:发 - _PLCCommand[8] = 0x01; - // 标识序列号 - _PLCCommand[9] = 0x00; - _PLCCommand[10] = 0x00; - _PLCCommand[11] = 0x00; - _PLCCommand[12] = 0x01; - // 命令数据总长度 - _PLCCommand[13] = (byte)((_PLCCommand.length - 17) / 256); - _PLCCommand[14] = (byte)((_PLCCommand.length - 17) % 256); - - _PLCCommand[15] = 0x00; - _PLCCommand[16] = 0x00; - - // 命令起始符 - _PLCCommand[17] = 0x04; - // 读取数据块个数 - _PLCCommand[18] = (byte)readCount; - - int receiveCount = 0; - for (int ii = 0; ii < readCount; ii++) - { - receiveCount += count[ii + 255 * jj]; - - boolWithSiemens siemens = AnalysisAddress(address[ii + 255 * jj], result); - // 填充数据 - if (!siemens.Result) - { - CloseSocket(socket); - return result; - } - - // 读取地址的前缀 - _PLCCommand[19 + ii * 12] = 0x12; - _PLCCommand[20 + ii * 12] = 0x0A; - _PLCCommand[21 + ii * 12] = 0x10; - _PLCCommand[22 + ii * 12] = 0x02; - // 访问数据的个数 - _PLCCommand[23 + ii * 12] = (byte)(count[ii + 255 * jj] / 256); - _PLCCommand[24 + ii * 12] = (byte)(count[ii + 255 * jj] % 256); - // DB块编号,如果访问的是DB块的话 - _PLCCommand[25 + ii * 12] = (byte)(siemens.dbAddress / 256); - _PLCCommand[26 + ii * 12] = (byte)(siemens.dbAddress % 256); - // 访问数据类型 - _PLCCommand[27 + ii * 12] = siemens.type; - // 偏移位置 - _PLCCommand[28 + ii * 12] = (byte)(siemens.startAddress / 256 / 256); - _PLCCommand[29 + ii * 12] = (byte)(siemens.startAddress / 256); - _PLCCommand[30 + ii * 12] = (byte)(siemens.startAddress % 256); - } - - - if (!SendBytesToSocket(socket, _PLCCommand)) - { - result.Message = "发送读取信息失败"; - return result; - } - - boolWithBytes content=ReceiveBytesFromSocket(socket); - if (!content.Result) - { - result.Message = "接收信息失败"; - return result; - } - - if (content.Content.length != receiveCount + readCount * 4 + 21) - { - CloseSocket(socket); - result.Message = "数据长度校验失败"; - result.Content = content.Content; - return result; - } - - // 分次读取成功 - byte[] buffer = new byte[receiveCount]; - int kk = 21; - int ll = 0; - for (int ii = 0; ii < readCount; ii++) - { - // 将数据挪回正确的地方 - System.arraycopy(content, kk + 4, buffer, ll, count[ii + 255 * jj]); - kk += count[ii + 255 * jj] + 4; - ll += count[ii + 255 * jj]; - } - arrays_bytes.add(buffer); - } - - - if (arrays_bytes.size() == 1) - { - result.Content = arrays_bytes.get(0); - } - else - { - int length = 0; - int offset = 0; - - // 获取长度并生成缓冲数据 - - for(int ii=0;ii - /// 将数据写入到PLC数据,地址格式为I100,Q100,DB20.100,M100,以字节为单位 - /// - /// 起始地址,格式为I100,M100,Q100,DB20.100 - /// 写入的数据,长度根据data的长度来指示 - /// - public OperateResult WriteIntoPLC(String address, byte[] data) - { - OperateResult result = new OperateResult(); - - - Socket socket; - boolWithSocket value = CreateSocketAndConnect(ipAddress,getPortRead(), result); - if (!value.Result) - { - ChangePort(); - return result; - } - - socket = value.Socket; - if (!InitilizationConnect(socket, result)) - { - return result; - } - - - if (data == null) data = new byte[0]; - - boolWithSiemens siemens = AnalysisAddress(address, result); - // 填充数据 - if (!siemens.Result) - { - CloseSocket(socket); - return result; - } - - - byte[] _PLCCommand = new byte[35 + data.length]; - _PLCCommand[0] = 0x03; - _PLCCommand[1] = 0x00; - // 长度 - _PLCCommand[2] = (byte)((35 + data.length) / 256); - _PLCCommand[3] = (byte)((35 + data.length) % 256); - // 固定 - _PLCCommand[4] = 0x02; - _PLCCommand[5] = -16; - _PLCCommand[6] = -128; - _PLCCommand[7] = 0x32; - // 命令 发 - _PLCCommand[8] = 0x01; - // 标识序列号 - _PLCCommand[9] = 0x00; - _PLCCommand[10] = 0x00; - _PLCCommand[11] = 0x00; - _PLCCommand[12] = 0x01; - // 固定 - _PLCCommand[13] = 0x00; - _PLCCommand[14] = 0x0E; - // 写入长度+4 - _PLCCommand[15] = (byte)((4 + data.length) / 256); - _PLCCommand[16] = (byte)((4 + data.length) % 256); - // 命令起始符 - _PLCCommand[17] = 0x05; - // 写入数据块个数 - _PLCCommand[18] = 0x01; - // 固定,返回数据长度 - _PLCCommand[19] = 0x12; - _PLCCommand[20] = 0x0A; - _PLCCommand[21] = 0x10; - // 写入方式,1是按位,2是按字 - _PLCCommand[22] = 0x02; - // 写入数据的个数 - _PLCCommand[23] = (byte)(data.length / 256); - _PLCCommand[24] = (byte)(data.length % 256); - // DB块编号,如果访问的是DB块的话 - _PLCCommand[25] = (byte)(siemens.dbAddress / 256); - _PLCCommand[26] = (byte)(siemens.dbAddress % 256); - // 写入数据的类型 - _PLCCommand[27] = siemens.type; - // 偏移位置 - _PLCCommand[28] = (byte)(siemens.startAddress / 256 / 256);; - _PLCCommand[29] = (byte)(siemens.startAddress / 256); - _PLCCommand[30] = (byte)(siemens.startAddress % 256); - // 按字写入 - _PLCCommand[31] = 0x00; - _PLCCommand[32] = 0x04; - // 按位计算的长度 - _PLCCommand[33] = (byte)(data.length * 8 / 256); - _PLCCommand[34] = (byte)(data.length * 8 % 256); - - System.arraycopy(data,0,_PLCCommand,35,data.length); - - if(!SendBytesToSocket(socket,_PLCCommand)) - { - result.Message = "发送写入信息失败"; - return result; - } - - boolWithBytes value2=ReceiveBytesFromSocket(socket); - if (!value2.Result) - { - result.Message = "接收信息失败"; - return result; - } - - if (value2.Content[value2.Content.length - 1] != 0xFF) - { - // 写入异常 - CloseSocket(socket); - result.Message = "写入数据异常"; - return result; - } - - CloseSocket(socket); - result.IsSuccess = true; - return result; - } - - - /// - /// 写入PLC的一个位,例如"M100.6","I100.7","Q100.0","DB20.100.0",如果只写了"M100"默认为"M100.0 - /// - /// - /// - /// - public OperateResult WriteIntoPLC(String address, boolean data) - { - OperateResult result = new OperateResult(); - - Socket socket; - boolWithSocket value = CreateSocketAndConnect(getIpAddress(),m_PortWrite, result); - if (!value.Result) - { - ChangePort(); - return result; - } - - socket = value.Socket; - if (!InitilizationConnect(socket, result)) - { - return result; - } - - - - byte[] buffer = new byte[1]; - buffer[0] = data ? (byte)0x01 : (byte)0x00; - - boolWithSiemens siemens = AnalysisAddress(address, result); - // 填充数据 - if (!siemens.Result) - { - CloseSocket(socket); - return result; - } - - - - byte[] _PLCCommand = new byte[35 + buffer.length]; - _PLCCommand[0] = 0x03; - _PLCCommand[1] = 0x00; - // 长度 - _PLCCommand[2] = (byte)((35 + buffer.length) / 256); - _PLCCommand[3] = (byte)((35 + buffer.length) % 256); - // 固定 - _PLCCommand[4] = 0x02; - _PLCCommand[5] = -16; - _PLCCommand[6] = -128; - _PLCCommand[7] = 0x32; - // 命令 发 - _PLCCommand[8] = 0x01; - // 标识序列号 - _PLCCommand[9] = 0x00; - _PLCCommand[10] = 0x00; - _PLCCommand[11] = 0x00; - _PLCCommand[12] = 0x01; - // 固定 - _PLCCommand[13] = 0x00; - _PLCCommand[14] = 0x0E; - // 写入长度+4 - _PLCCommand[15] = (byte)((4 + buffer.length) / 256); - _PLCCommand[16] = (byte)((4 + buffer.length) % 256); - // 命令起始符 - _PLCCommand[17] = 0x05; - // 写入数据块个数 - _PLCCommand[18] = 0x01; - _PLCCommand[19] = 0x12; - _PLCCommand[20] = 0x0A; - _PLCCommand[21] = 0x10; - // 写入方式,1是按位,2是按字 - _PLCCommand[22] = 0x01; - // 写入数据的个数 - _PLCCommand[23] = (byte)(buffer.length / 256); - _PLCCommand[24] = (byte)(buffer.length % 256); - // DB块编号,如果访问的是DB块的话 - _PLCCommand[25] = (byte)(siemens.dbAddress / 256); - _PLCCommand[26] = (byte)(siemens.dbAddress % 256); - // 写入数据的类型 - _PLCCommand[27] = siemens.type; - // 偏移位置 - _PLCCommand[28] = (byte)(siemens.startAddress / 256 / 256); - _PLCCommand[29] = (byte)(siemens.startAddress / 256); - _PLCCommand[30] = (byte)(siemens.startAddress % 256); - // 按位写入 - _PLCCommand[31] = 0x00; - _PLCCommand[32] = 0x03; - // 按位计算的长度 - _PLCCommand[33] = (byte)(buffer.length / 256); - _PLCCommand[34] = (byte)(buffer.length % 256); - - System.arraycopy(buffer,0,_PLCCommand,35,buffer.length); - - if(!SendBytesToSocket(socket,_PLCCommand)) - { - result.Message = "发送写入信息失败"; - return result; - } - - boolWithBytes value2=ReceiveBytesFromSocket(socket); - if (!value2.Result) - { - result.Message = "接收信息失败"; - return result; - } - - if (value2.Content[value2.Content.length - 1] != 0xFF) - { - // 写入异常 - CloseSocket(socket); - result.Message = "写入数据异常"; - return result; - } - - CloseSocket(socket); - result.IsSuccess = true; - return result; - } - - /// - /// 从返回的西门子数组中获取short数组数据,已经内置高地位转换 - /// - /// - /// - public short[] GetArrayFromBytes(byte[] bytes) - { - short[] temp = new short[bytes.length / 2]; - for (int i = 0; i < temp.length; i++) - { - byte[] buffer = new byte[2]; - buffer[0] = bytes[i * 2 + 1]; - buffer[1] = bytes[i * 2]; - temp[i] = Utilities.byte2Short(buffer, 0); - } - return temp; - } - - /// - /// 从返回的西门子数组中获取int数组数据,已经内置高地位转换 - /// - /// - /// - public int[] GetIntArrayFromBytes(byte[] bytes) - { - int[] temp = new int[bytes.length / 4]; - for (int i = 0; i < temp.length; i++) - { - byte[] buffer = new byte[4]; - buffer[0] = bytes[i * 4 + 0]; - buffer[1] = bytes[i * 4 + 1]; - buffer[2] = bytes[i * 4 + 2]; - buffer[3] = bytes[i * 4 + 3]; - temp[i] = Utilities.bytes2Int(buffer); - } - return temp; - } - - /// - /// 根据索引位转换获取short数据 - /// - /// - /// - /// - public short GetShortFromBytes(byte[] content, int index) - { - byte[] buffer = new byte[2]; - buffer[0] = content[index + 0]; - buffer[1] = content[index + 1]; - return Utilities.byte2Short(buffer,0); - } - - - /// - /// 根据索引位转换获取int数据 - /// - /// - /// - /// - public int GetIntFromBytes(byte[] content, int index) - { - byte[] buffer = new byte[4]; - buffer[0] = content[index + 0]; - buffer[1] = content[index + 1]; - buffer[2] = content[index + 2]; - buffer[3] = content[index + 3]; - return Utilities.bytes2Int(buffer); - } - - private byte[] plcHead1 = - { - 0x03, // 报文头 - 0x00, - 0x00, // 数据长度 - 0x16, - 0x11, - -32, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - -63, - 0x02, - 0x10, - 0x00, - -62, - 0x02, - 0x03, - 0x01, // 指示cpu - -64, - 0x01, - 0x0A - }; - private byte[] plcHead2 = - { - 0x03, - 0x00, - 0x00, - 0x19, - 0x02, - -16, - -128, - 0x32, - 0x01, - 0x00, - 0x00, - -52, - -63, - 0x00, - 0x08, - 0x00, - 0x00, - -16, - 0x00, - 0x00, - 0x01, - 0x00, - 0x01, - 0x03, - -64 - }; - - private SiemensPLCS CurrentPlc = SiemensPLCS.S1200; - - -} diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Resources/StringResources.java b/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Resources/StringResources.java deleted file mode 100644 index f005a31..0000000 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Resources/StringResources.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.example.HslCommunication.Resources; - -/** - * Created by DATHLIN on 2017年11月2日. - */ - -public class StringResources { - - - /*********************************************************************************** - * - * 一般的错误信息 - * - ************************************************************************************/ - - - public static final String ConnectedFailed = "连接失败"; - public static final String UnknownError = "未知错误"; - public static final String ErrorCode = "错误代号"; - public static final String TextDescription = "文本描述"; - public static final String ExceptionMessage = "错误信息:"; - public static final String ExceptionStackTrace = "错误堆栈:"; - public static final String ExceptopnTargetSite = "错误方法:"; - public static final String ExceprionCustomer = "用户自定义方法出错:"; - - - - /*********************************************************************************** - * - * 系统相关的错误信息 - * - ************************************************************************************/ - - public static final String SystemInstallOperater = "安装新系统:IP为"; - public static final String SystemUpdateOperater = "更新新系统:IP为"; - - - /*********************************************************************************** - * - * 套接字相关的信息描述 - * - ************************************************************************************/ - - public static final String SocketIOException = "套接字传送数据异常:"; - public static final String SocketSendException = "同步数据发送异常:"; - public static final String SocketHeadReceiveException = "指令头接收异常:"; - public static final String SocketContentReceiveException = "内容数据接收异常:"; - public static final String SocketContentRemoteReceiveException = "对方内容数据接收异常:"; - public static final String SocketAcceptCallbackException = "异步接受传入的连接尝试"; - public static final String SocketReAcceptCallbackException = "重新异步接受传入的连接尝试"; - public static final String SocketSendAsyncException = "异步数据发送出错:"; - public static final String SocketEndSendException = "异步数据结束挂起发送出错"; - public static final String SocketReceiveException = "异步数据发送出错:"; - public static final String SocketEndReceiveException = "异步数据结束接收指令头出错"; - public static final String SocketRemoteCloseException = "远程主机强迫关闭了一个现有的连接"; - - - /*********************************************************************************** - * - * 文件相关的信息 - * - ************************************************************************************/ - - - public static final String FileDownloadSuccess = "文件下载成功"; - public static final String FileDownloadFailed = "文件下载异常"; - public static final String FileUploadFailed = "文件上传异常"; - public static final String FileUploadSuccess = "文件上传成功"; - public static final String FileDeleteFailed = "文件删除异常"; - public static final String FileDeleteSuccess = "文件删除成功"; - public static final String FileReceiveFailed = "确认文件接收异常"; - public static final String FileNotExist = "文件不存在"; - public static final String FileSaveFailed = "文件存储失败"; - public static final String FileLoadFailed = "文件加载失败"; - public static final String FileSendClientFailed = "文件发送的时候发生了异常"; - public static final String FileWriteToNetFailed = "文件写入网络异常"; - public static final String FileReadFromNetFailed = "从网络读取文件异常"; - - /*********************************************************************************** - * - * 服务器的引擎相关数据 - * - ************************************************************************************/ - - public static final String TokenCheckFailed = "接收验证令牌不一致"; - public static final String TokenCheckTimeout = "接收验证超时:"; - public static final String NetClientAliasFailed = "客户端的别名接收失败:"; - public static final String NetEngineStart = "启动引擎"; - public static final String NetEngineClose = "关闭引擎"; - public static final String NetClientOnline = "上线"; - public static final String NetClientOffline = "下线"; - public static final String NetClientBreak = "异常掉线"; - public static final String NetClientFull = "服务器承载上限,收到超出的请求连接。"; - public static final String NetClientLoginFailed = "客户端登录中错误:"; -} diff --git a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/CommonLibrary/SimplifyHeadCode.java b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/CommonLibrary/SimplifyHeadCode.java index 4b053f6..1cad16d 100644 --- a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/CommonLibrary/SimplifyHeadCode.java +++ b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/CommonLibrary/SimplifyHeadCode.java @@ -1,6 +1,7 @@ package com.example.UserSoftwareAndroidTemplate.CommonLibrary; -import com.example.HslCommunication.Core.Types.NetHandle; + +import HslCommunication.Core.Net.NetHandle; /** * Created by hsl20 on 2017年11月5日. diff --git a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Log/LogUtil.java b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LogUtil.java similarity index 86% rename from AndroidTemplate/app/src/main/java/com/example/HslCommunication/Log/LogUtil.java rename to AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LogUtil.java index bf11119..237adef 100644 --- a/AndroidTemplate/app/src/main/java/com/example/HslCommunication/Log/LogUtil.java +++ b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LogUtil.java @@ -1,14 +1,8 @@ -package com.example.HslCommunication.Log; +package com.example.UserSoftwareAndroidTemplate; import android.util.Log; -/** - * Created by hsl20 on 2017年11月4日. - * 一个扩展的日志工具,用来实现对记录日志的特殊处理,屏蔽操作 - */ - public class LogUtil { - public static final int VerBose = 1; public static final int Debug = 2; @@ -23,9 +17,9 @@ public class LogUtil { public static int Level = VerBose; - /* + /** 记录零碎的日志 - */ + **/ public static void LogV(String tag, String msg) { if (Level <= VerBose) Log.v(tag, msg); } @@ -64,5 +58,4 @@ public static void LogE(String tag, String msg) { public static void LogE(String tag, String msg, Exception ex) { if (Level <= Error) Log.e(tag, msg, ex); } - } diff --git a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/LoginActivity.java b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/LoginActivity.java index f854d87..e32f65f 100644 --- a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/LoginActivity.java +++ b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/LoginActivity.java @@ -22,12 +22,10 @@ import android.widget.TextView; import android.widget.Toast; -import com.example.HslCommunication.BasicFramework.SystemVersion; -import com.example.HslCommunication.Core.Types.NetHandle; -import com.example.HslCommunication.Core.Types.OperateResultString; -import com.example.HslCommunication.Log.LogUtil; + import com.example.UserSoftwareAndroidTemplate.CommonLibrary.SimplifyHeadCode; import com.example.UserSoftwareAndroidTemplate.CommonLibrary.UserAccount; +import com.example.UserSoftwareAndroidTemplate.LogUtil; import com.example.UserSoftwareAndroidTemplate.MainActivity; import com.example.UserSoftwareAndroidTemplate.R; import com.example.UserSoftwareAndroidTemplate.UserClient; @@ -39,6 +37,10 @@ import java.util.Date; +import HslCommunication.BasicFramework.SystemVersion; +import HslCommunication.Core.Net.NetHandle; +import HslCommunication.Core.Types.OperateResultExOne; + import static com.example.UserSoftwareAndroidTemplate.CommonLibrary.UserAccount.FrameworkVersion; public class LoginActivity extends AppCompatActivity { @@ -205,7 +207,7 @@ public void run() { LogUtil.LogD("loginSystem","开始请求维护检查"); // 第一步请求维护状态 - OperateResultString result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.维护检查, "", null, null); + OperateResultExOne result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.维护检查, ""); if (!result.IsSuccess) { MessageShow(result.ToMessageShowString()); return; @@ -226,7 +228,7 @@ public void run() { jsonObject.addProperty(FrameworkVersion, UserClient.FrameworkVersion.toString()); LogUtil.LogD("loginSystem",jsonObject.toString()); - result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.账户检查, jsonObject.toString(), null, null); + result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.账户检查, jsonObject.toString()); if (!result.IsSuccess) { MessageShow(result.ToMessageShowString()); return; @@ -249,7 +251,7 @@ public void run() { LogUtil.LogD("loginSystem","开始请求版本检查"); // 第三步检查版本 - result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.更新检查, "", null, null); + result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.更新检查, ""); if (!result.IsSuccess) { MessageShow(result.ToMessageShowString()); return; @@ -276,7 +278,7 @@ public void run() { LogUtil.LogD("loginSystem","开始请求数据下载"); // 下载服务器数据 - result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.参数下载,"",null,null); + result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.参数下载,""); if (result.IsSuccess) { // 服务器返回初始化的数据,此处进行数据的提取,有可能包含了多个数据 JsonBeanPara para = new Gson().fromJson(result.Content, JsonBeanPara.class); diff --git a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/SplashActivity.java b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/SplashActivity.java index 14fde53..eabeb1e 100644 --- a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/SplashActivity.java +++ b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/LoginSupport/SplashActivity.java @@ -10,17 +10,18 @@ import android.widget.TextView; import android.widget.Toast; -import com.example.HslCommunication.BasicFramework.SystemVersion; -import com.example.HslCommunication.Core.Types.OperateResultString; -import com.example.HslCommunication.Log.LogUtil; import com.example.UserSoftwareAndroidTemplate.CommonLibrary.SimplifyHeadCode; import com.example.UserSoftwareAndroidTemplate.CommonLibrary.UserAccount; +import com.example.UserSoftwareAndroidTemplate.LogUtil; import com.example.UserSoftwareAndroidTemplate.MainActivity; import com.example.UserSoftwareAndroidTemplate.R; import com.example.UserSoftwareAndroidTemplate.UserClient; import com.google.gson.Gson; import com.google.gson.JsonObject; +import HslCommunication.BasicFramework.SystemVersion; +import HslCommunication.Core.Types.OperateResultExOne; + import static com.example.UserSoftwareAndroidTemplate.CommonLibrary.UserAccount.FrameworkVersion; @@ -139,7 +140,7 @@ private int loadingCache() { // 第一步请求维护状态 - OperateResultString result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.维护检查, "", null, null); + OperateResultExOne result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.维护检查, ""); if (!result.IsSuccess) { MessageShow(result.ToMessageShowString()); return FAILURE; @@ -167,7 +168,7 @@ private int loadingCache() { jsonObject.addProperty(FrameworkVersion, UserClient.FrameworkVersion.toString()); LogUtil.LogD("loginSystem",jsonObject.toString()); - result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.账户检查, jsonObject.toString(), null, null); + result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.账户检查, jsonObject.toString()); if (!result.IsSuccess) { MessageShow(result.ToMessageShowString()); return FAILURE; @@ -184,7 +185,7 @@ private int loadingCache() { LogUtil.LogD("loginSystem","开始请求版本检查"); // 第三步检查版本 - result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.更新检查, "", null, null); + result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.更新检查, ""); if (!result.IsSuccess) { MessageShow(result.ToMessageShowString()); return FAILURE; @@ -211,7 +212,7 @@ private int loadingCache() { LogUtil.LogD("loginSystem","开始请求数据下载"); // 下载服务器数据 - result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.参数下载,"",null,null); + result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.参数下载,""); if (result.IsSuccess) { // 服务器返回初始化的数据,此处进行数据的提取,有可能包含了多个数据 JsonBeanPara para = new Gson().fromJson(result.Content, JsonBeanPara.class); diff --git a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/MainActivity.java b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/MainActivity.java index cae796b..49f6b5c 100644 --- a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/MainActivity.java +++ b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/MainActivity.java @@ -13,9 +13,7 @@ import android.widget.TextView; import android.widget.Toast; -import com.example.HslCommunication.Core.Types.NetHandle; -import com.example.HslCommunication.Core.Types.OperateResultString; -import com.example.HslCommunication.Enthernet.NetSimplifyClient; +import com.example.UserSoftwareAndroidTemplate.CommonLibrary.SimplifyHeadCode; import com.example.UserSoftwareAndroidTemplate.CommonLibrary.UserAccount; import com.example.UserSoftwareAndroidTemplate.LoginSupport.LoginActivity; import com.example.UserSoftwareAndroidTemplate.LoginSupport.SplashActivity; @@ -23,6 +21,9 @@ import java.util.UUID; +import HslCommunication.Core.Net.NetHandle; +import HslCommunication.Core.Types.OperateResultExOne; + public class MainActivity extends AppCompatActivity { public MainActivity() @@ -39,7 +40,7 @@ public void handleMessage(Message msg) { if (msg.arg1 == 1) { // 说明是一个网络的请求访问 - OperateResultString result = (OperateResultString) msg.obj; + OperateResultExOne result = (OperateResultExOne) msg.obj; if (result.IsSuccess) { TextView textView = (TextView) findViewById(R.id.textViewMain); textView.setText(result.Content); @@ -60,9 +61,10 @@ public void handleMessage(Message msg) { public void run() { // 在这里进行网络请求相关操作 Message msg = new Message(); - OperateResultString result = UserClient.Net_simplify_client.ReadFromServer(new NetHandle(1,2, 15),"",null,null); + OperateResultExOne result = UserClient.Net_simplify_client.ReadFromServer(SimplifyHeadCode.获取账户,""); + + msg.obj = result; msg.arg1=1; - msg.obj = result; handler.sendMessage(msg); } }; diff --git a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/UserClient.java b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/UserClient.java index 2fad12c..491bcc0 100644 --- a/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/UserClient.java +++ b/AndroidTemplate/app/src/main/java/com/example/UserSoftwareAndroidTemplate/UserClient.java @@ -1,9 +1,12 @@ package com.example.UserSoftwareAndroidTemplate; -import com.example.HslCommunication.BasicFramework.SystemVersion; -import com.example.HslCommunication.Enthernet.NetSimplifyClient; + import com.example.UserSoftwareAndroidTemplate.CommonLibrary.UserAccount; +import HslCommunication.BasicFramework.SystemVersion; +import HslCommunication.Enthernet.SimplifyNet.NetSimplifyClient; + + import java.util.List; import java.util.UUID; @@ -13,18 +16,19 @@ public class UserClient { + public static SystemVersion FrameworkVersion = new SystemVersion("1.7.5"); public static SystemVersion CurrentVersion = new SystemVersion("1.0.0.171026"); public static String SettingsFileName = "Settings"; - public static String ServerIp = "117.48.203.204"; + public static String ServerIp = "192.168.1.110"; public static int PortSecondary = 14568; public static UUID Token = UUID.fromString("1275BB9A-14B2-4A96-9673-B0AF0463D474"); public static List SystemFactories = null; // 分厂 public static String Announcement = ""; // 公告 - public static NetSimplifyClient Net_simplify_client = new NetSimplifyClient(ServerIp, PortSecondary, Token); + public static NetSimplifyClient Net_simplify_client = new NetSimplifyClient(ServerIp, PortSecondary,Token); public static UserAccount UserAccount = null; } diff --git a/AndroidTemplate/build.gradle b/AndroidTemplate/build.gradle index 020eae2..43c0708 100644 --- a/AndroidTemplate/build.gradle +++ b/AndroidTemplate/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.1.3' // NOTE: Do not place your application dependencies here; they belong diff --git a/AndroidTemplate/gradle/wrapper/gradle-wrapper.properties b/AndroidTemplate/gradle/wrapper/gradle-wrapper.properties index 3a32211..c89bbd7 100644 --- a/AndroidTemplate/gradle/wrapper/gradle-wrapper.properties +++ b/AndroidTemplate/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Oct 29 15:00:29 CST 2017 +#Sun Jul 29 09:58:11 CST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-4.3-rc-4-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip diff --git a/ClientsLibrary/AccountSupport/FormAccountDetails.Designer.cs b/ClientsLibrary/AccountSupport/FormAccountDetails.Designer.cs index 0743b45..17e1257 100644 --- a/ClientsLibrary/AccountSupport/FormAccountDetails.Designer.cs +++ b/ClientsLibrary/AccountSupport/FormAccountDetails.Designer.cs @@ -128,6 +128,7 @@ private void InitializeComponent() // // textBox_LoginFailedCount // + this.textBox_LoginFailedCount.BackColor = System.Drawing.Color.White; this.textBox_LoginFailedCount.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_LoginFailedCount.Location = new System.Drawing.Point(153, 459); this.textBox_LoginFailedCount.Name = "textBox_LoginFailedCount"; @@ -146,6 +147,7 @@ private void InitializeComponent() // // textBox_LastLoginWay // + this.textBox_LastLoginWay.BackColor = System.Drawing.Color.White; this.textBox_LastLoginWay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_LastLoginWay.Location = new System.Drawing.Point(153, 428); this.textBox_LastLoginWay.Name = "textBox_LastLoginWay"; @@ -164,6 +166,7 @@ private void InitializeComponent() // // textBox_LastLoginIpAddress // + this.textBox_LastLoginIpAddress.BackColor = System.Drawing.Color.White; this.textBox_LastLoginIpAddress.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_LastLoginIpAddress.Location = new System.Drawing.Point(153, 398); this.textBox_LastLoginIpAddress.Name = "textBox_LastLoginIpAddress"; @@ -182,6 +185,7 @@ private void InitializeComponent() // // textBox_LastLoginTime // + this.textBox_LastLoginTime.BackColor = System.Drawing.Color.White; this.textBox_LastLoginTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_LastLoginTime.Location = new System.Drawing.Point(153, 368); this.textBox_LastLoginTime.Name = "textBox_LastLoginTime"; @@ -200,6 +204,7 @@ private void InitializeComponent() // // textBox_LoginFrequency // + this.textBox_LoginFrequency.BackColor = System.Drawing.Color.White; this.textBox_LoginFrequency.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_LoginFrequency.Location = new System.Drawing.Point(153, 338); this.textBox_LoginFrequency.Name = "textBox_LoginFrequency"; @@ -218,6 +223,7 @@ private void InitializeComponent() // // textBox_LoginEnable // + this.textBox_LoginEnable.BackColor = System.Drawing.Color.White; this.textBox_LoginEnable.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_LoginEnable.Location = new System.Drawing.Point(153, 308); this.textBox_LoginEnable.Name = "textBox_LoginEnable"; @@ -236,6 +242,7 @@ private void InitializeComponent() // // textBox_RegisterTime // + this.textBox_RegisterTime.BackColor = System.Drawing.Color.White; this.textBox_RegisterTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_RegisterTime.Location = new System.Drawing.Point(153, 279); this.textBox_RegisterTime.Name = "textBox_RegisterTime"; @@ -254,6 +261,7 @@ private void InitializeComponent() // // textBox_GradeDescription // + this.textBox_GradeDescription.BackColor = System.Drawing.Color.White; this.textBox_GradeDescription.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_GradeDescription.Location = new System.Drawing.Point(153, 251); this.textBox_GradeDescription.Name = "textBox_GradeDescription"; @@ -272,6 +280,7 @@ private void InitializeComponent() // // textBox_Factory // + this.textBox_Factory.BackColor = System.Drawing.Color.White; this.textBox_Factory.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_Factory.Location = new System.Drawing.Point(153, 223); this.textBox_Factory.Name = "textBox_Factory"; @@ -290,6 +299,7 @@ private void InitializeComponent() // // textBox_NameAlias // + this.textBox_NameAlias.BackColor = System.Drawing.Color.White; this.textBox_NameAlias.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_NameAlias.Location = new System.Drawing.Point(153, 194); this.textBox_NameAlias.Name = "textBox_NameAlias"; @@ -308,6 +318,7 @@ private void InitializeComponent() // // textBox_UserName // + this.textBox_UserName.BackColor = System.Drawing.Color.White; this.textBox_UserName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_UserName.Location = new System.Drawing.Point(153, 164); this.textBox_UserName.Name = "textBox_UserName"; @@ -348,6 +359,7 @@ private void InitializeComponent() // textBox_file_uploadTime // this.textBox_file_uploadTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.textBox_file_uploadTime.BackColor = System.Drawing.Color.White; this.textBox_file_uploadTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_file_uploadTime.Location = new System.Drawing.Point(252, 432); this.textBox_file_uploadTime.Name = "textBox_file_uploadTime"; @@ -368,6 +380,7 @@ private void InitializeComponent() // textBox_file_size // this.textBox_file_size.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.textBox_file_size.BackColor = System.Drawing.Color.White; this.textBox_file_size.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_file_size.Location = new System.Drawing.Point(66, 432); this.textBox_file_size.Name = "textBox_file_size"; @@ -389,6 +402,7 @@ private void InitializeComponent() // this.textBox_file_name.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.textBox_file_name.BackColor = System.Drawing.Color.White; this.textBox_file_name.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.textBox_file_name.Location = new System.Drawing.Point(66, 405); this.textBox_file_name.Name = "textBox_file_name"; @@ -474,6 +488,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(706, 516); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); diff --git a/ClientsLibrary/AccountSupport/FormAccountSelect.Designer.cs b/ClientsLibrary/AccountSupport/FormAccountSelect.Designer.cs index e512429..a6da701 100644 --- a/ClientsLibrary/AccountSupport/FormAccountSelect.Designer.cs +++ b/ClientsLibrary/AccountSupport/FormAccountSelect.Designer.cs @@ -118,6 +118,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(721, 480); this.Controls.Add(this.dataGridView1); this.Controls.Add(this.userButton_login); diff --git a/ClientsLibrary/AccountSupport/FormInputNewRole.Designer.cs b/ClientsLibrary/AccountSupport/FormInputNewRole.Designer.cs index 3441538..164e2a3 100644 --- a/ClientsLibrary/AccountSupport/FormInputNewRole.Designer.cs +++ b/ClientsLibrary/AccountSupport/FormInputNewRole.Designer.cs @@ -104,6 +104,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(445, 142); this.Controls.Add(this.userButton_login); this.Controls.Add(this.textBox3); diff --git a/ClientsLibrary/AccountSupport/FormRegisterAccount.Designer.cs b/ClientsLibrary/AccountSupport/FormRegisterAccount.Designer.cs index 2910c88..01dd7ed 100644 --- a/ClientsLibrary/AccountSupport/FormRegisterAccount.Designer.cs +++ b/ClientsLibrary/AccountSupport/FormRegisterAccount.Designer.cs @@ -219,6 +219,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(382, 394); this.Controls.Add(this.textBox6); this.Controls.Add(this.label9); diff --git a/ClientsLibrary/BasicSupport/FormDownloading.Designer.cs b/ClientsLibrary/BasicSupport/FormDownloading.Designer.cs index 06a0a1e..57648ee 100644 --- a/ClientsLibrary/BasicSupport/FormDownloading.Designer.cs +++ b/ClientsLibrary/BasicSupport/FormDownloading.Designer.cs @@ -44,6 +44,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(300, 56); this.Controls.Add(this.label1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); diff --git a/ClientsLibrary/BasicSupport/FormGetInputString.Designer.cs b/ClientsLibrary/BasicSupport/FormGetInputString.Designer.cs index 2715219..d912d16 100644 --- a/ClientsLibrary/BasicSupport/FormGetInputString.Designer.cs +++ b/ClientsLibrary/BasicSupport/FormGetInputString.Designer.cs @@ -67,6 +67,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(434, 133); this.Controls.Add(this.label1); this.Controls.Add(this.userButton_login); diff --git a/ClientsLibrary/BasicSupport/FormShowMachineId.Designer.cs b/ClientsLibrary/BasicSupport/FormShowMachineId.Designer.cs index b3627e6..08cd7a8 100644 --- a/ClientsLibrary/BasicSupport/FormShowMachineId.Designer.cs +++ b/ClientsLibrary/BasicSupport/FormShowMachineId.Designer.cs @@ -60,6 +60,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(356, 105); this.Controls.Add(this.userButton_login); this.Controls.Add(this.textBox1); diff --git a/ClientsLibrary/BasicSupport/NetClientItem.Designer.cs b/ClientsLibrary/BasicSupport/NetClientItem.Designer.cs index e92e8a2..d819105 100644 --- a/ClientsLibrary/BasicSupport/NetClientItem.Designer.cs +++ b/ClientsLibrary/BasicSupport/NetClientItem.Designer.cs @@ -36,31 +36,34 @@ private void InitializeComponent() // pictureBox1 // this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pictureBox1.Location = new System.Drawing.Point(4, 1); + this.pictureBox1.Location = new System.Drawing.Point(4, 3); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(34, 34); + this.pictureBox1.Size = new System.Drawing.Size(32, 32); this.pictureBox1.TabIndex = 0; this.pictureBox1.TabStop = false; // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(45, 4); + this.label1.Location = new System.Drawing.Point(43, 3); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(41, 12); + this.label1.Size = new System.Drawing.Size(43, 17); this.label1.TabIndex = 1; this.label1.Text = "label1"; // // NetClientItem // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.BackColor = System.Drawing.Color.Lavender; this.Controls.Add(this.label1); this.Controls.Add(this.pictureBox1); - this.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.Name = "NetClientItem"; - this.Size = new System.Drawing.Size(185, 36); + this.Size = new System.Drawing.Size(186, 40); + this.Load += new System.EventHandler(this.NetClientItem_Load); this.Paint += new System.Windows.Forms.PaintEventHandler(this.NetClientItem_Paint); this.MouseEnter += new System.EventHandler(this.NetClientItem_MouseEnter); this.MouseLeave += new System.EventHandler(this.NetClientItem_MouseLeave); diff --git a/ClientsLibrary/BasicSupport/NetClientItem.cs b/ClientsLibrary/BasicSupport/NetClientItem.cs index 87cab20..df619cd 100644 --- a/ClientsLibrary/BasicSupport/NetClientItem.cs +++ b/ClientsLibrary/BasicSupport/NetClientItem.cs @@ -25,8 +25,10 @@ private void NetClientItem_Paint(object sender, PaintEventArgs e) // 绘制角色名称 if (m_NetAccount.Roles?.Length> 0) { + e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; int m_x = 45; - int m_y = 20; + int m_y = 22; for (int i = 0; i < m_NetAccount.Roles.Length; i++) { @@ -100,6 +102,9 @@ private void NetClientItem_MouseLeave(object sender, EventArgs e) { } + private void NetClientItem_Load( object sender, EventArgs e ) + { + } } } diff --git a/ClientsLibrary/BasicSupport/NetClientOnline.Designer.cs b/ClientsLibrary/BasicSupport/NetClientOnline.Designer.cs index cdb892f..13b7ecb 100644 --- a/ClientsLibrary/BasicSupport/NetClientOnline.Designer.cs +++ b/ClientsLibrary/BasicSupport/NetClientOnline.Designer.cs @@ -71,6 +71,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.panel1); this.Controls.Add(this.label2); this.Controls.Add(this.label1); diff --git a/ClientsLibrary/ClientsLibrary.csproj b/ClientsLibrary/ClientsLibrary.csproj index 5a69f09..024c07d 100644 --- a/ClientsLibrary/ClientsLibrary.csproj +++ b/ClientsLibrary/ClientsLibrary.csproj @@ -33,11 +33,11 @@ ..\CommonLibrary\bin\Debug\CommonLibrary.dll - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net35\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net35\Newtonsoft.Json.dll diff --git a/ClientsLibrary/Configuration/ClientConfiguration.Designer.cs b/ClientsLibrary/Configuration/ClientConfiguration.Designer.cs index f41bfb8..6d4f26b 100644 --- a/ClientsLibrary/Configuration/ClientConfiguration.Designer.cs +++ b/ClientsLibrary/Configuration/ClientConfiguration.Designer.cs @@ -143,6 +143,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.userButton3); this.Controls.Add(this.userButton2); this.Controls.Add(this.userButton1); diff --git a/ClientsLibrary/Configuration/FormConfiguration.Designer.cs b/ClientsLibrary/Configuration/FormConfiguration.Designer.cs index a6a010a..c40a653 100644 --- a/ClientsLibrary/Configuration/FormConfiguration.Designer.cs +++ b/ClientsLibrary/Configuration/FormConfiguration.Designer.cs @@ -62,6 +62,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(866, 593); this.Controls.Add(this.treeView1); this.Controls.Add(this.panel1); diff --git a/ClientsLibrary/Configuration/GeneralConfiguration.Designer.cs b/ClientsLibrary/Configuration/GeneralConfiguration.Designer.cs index 01ec083..bb35989 100644 --- a/ClientsLibrary/Configuration/GeneralConfiguration.Designer.cs +++ b/ClientsLibrary/Configuration/GeneralConfiguration.Designer.cs @@ -87,6 +87,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.userButton2); this.Controls.Add(this.panel1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); diff --git a/ClientsLibrary/Configuration/ListConfiguration.Designer.cs b/ClientsLibrary/Configuration/ListConfiguration.Designer.cs index 13bb8ac..31e4151 100644 --- a/ClientsLibrary/Configuration/ListConfiguration.Designer.cs +++ b/ClientsLibrary/Configuration/ListConfiguration.Designer.cs @@ -109,6 +109,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.userButton_save); this.Controls.Add(this.userButton_delete); this.Controls.Add(this.userButton_add); diff --git a/ClientsLibrary/Configuration/RolesConfiguration.Designer.cs b/ClientsLibrary/Configuration/RolesConfiguration.Designer.cs index e2fad92..1f7bdf3 100644 --- a/ClientsLibrary/Configuration/RolesConfiguration.Designer.cs +++ b/ClientsLibrary/Configuration/RolesConfiguration.Designer.cs @@ -237,6 +237,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.userButton5); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.userButton4); diff --git a/ClientsLibrary/FileSupport/FileItemShow.Designer.cs b/ClientsLibrary/FileSupport/FileItemShow.Designer.cs index 756a264..3bdc6ac 100644 --- a/ClientsLibrary/FileSupport/FileItemShow.Designer.cs +++ b/ClientsLibrary/FileSupport/FileItemShow.Designer.cs @@ -156,6 +156,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.label_download_times); this.Controls.Add(this.label_upload_name); this.Controls.Add(this.progressBar1); diff --git a/ClientsLibrary/FileSupport/FileOperateControl.designer.cs b/ClientsLibrary/FileSupport/FileOperateControl.designer.cs index ca7de2d..67ea12c 100644 --- a/ClientsLibrary/FileSupport/FileOperateControl.designer.cs +++ b/ClientsLibrary/FileSupport/FileOperateControl.designer.cs @@ -130,6 +130,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.label_filesize); this.Controls.Add(this.label5); this.Controls.Add(this.button1); diff --git a/ClientsLibrary/FileSupport/FormFileOperate.Designer.cs b/ClientsLibrary/FileSupport/FormFileOperate.Designer.cs index 7d13bd3..7ad75a9 100644 --- a/ClientsLibrary/FileSupport/FormFileOperate.Designer.cs +++ b/ClientsLibrary/FileSupport/FormFileOperate.Designer.cs @@ -89,6 +89,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(531, 432); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.label_finish); diff --git a/ClientsLibrary/FileSupport/FormSimplyFileUpload.designer.cs b/ClientsLibrary/FileSupport/FormSimplyFileUpload.designer.cs index 79cfd9a..61b423b 100644 --- a/ClientsLibrary/FileSupport/FormSimplyFileUpload.designer.cs +++ b/ClientsLibrary/FileSupport/FormSimplyFileUpload.designer.cs @@ -59,6 +59,7 @@ private void InitializeComponent() // // statusStrip1 // + this.statusStrip1.BackColor = System.Drawing.Color.Transparent; this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1, this.toolStripStatusLabel2}); @@ -185,6 +186,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(563, 331); this.Controls.Add(this.userButton2); this.Controls.Add(this.userButton1); diff --git a/ClientsLibrary/LogsSupport/FormLogView.Designer.cs b/ClientsLibrary/LogsSupport/FormLogView.Designer.cs index 09fb4a0..e110df2 100644 --- a/ClientsLibrary/LogsSupport/FormLogView.Designer.cs +++ b/ClientsLibrary/LogsSupport/FormLogView.Designer.cs @@ -301,6 +301,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(1023, 713); this.Controls.Add(this.logNetAnalysisControl1); this.Controls.Add(this.userButton15); diff --git a/ClientsLibrary/SoftUpdateSupport/FormUpdateLog.designer.cs b/ClientsLibrary/SoftUpdateSupport/FormUpdateLog.designer.cs index f6d9954..a414029 100644 --- a/ClientsLibrary/SoftUpdateSupport/FormUpdateLog.designer.cs +++ b/ClientsLibrary/SoftUpdateSupport/FormUpdateLog.designer.cs @@ -91,6 +91,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(651, 448); this.Controls.Add(this.richTextBox1); this.Controls.Add(this.listBox1); diff --git a/ClientsLibrary/SoftUpdateSupport/FormUpdateRemote.Designer.cs b/ClientsLibrary/SoftUpdateSupport/FormUpdateRemote.Designer.cs index 4749f6f..6c15991 100644 --- a/ClientsLibrary/SoftUpdateSupport/FormUpdateRemote.Designer.cs +++ b/ClientsLibrary/SoftUpdateSupport/FormUpdateRemote.Designer.cs @@ -31,10 +31,10 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); - this.userButton_file = new UserButton(); + this.userButton_file = new HslCommunication.Controls.UserButton(); this.textBox1 = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); - this.userButton_version = new UserButton(); + this.userButton_version = new HslCommunication.Controls.UserButton(); this.SuspendLayout(); // // label1 @@ -96,6 +96,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(569, 311); this.Controls.Add(this.userButton_version); this.Controls.Add(this.label2); diff --git a/ClientsLibrary/app.config b/ClientsLibrary/app.config index 2bbe771..e936cc1 100644 --- a/ClientsLibrary/app.config +++ b/ClientsLibrary/app.config @@ -4,7 +4,7 @@ - + diff --git a/ClientsLibrary/packages.config b/ClientsLibrary/packages.config index df1de47..dc90fdd 100644 --- a/ClientsLibrary/packages.config +++ b/ClientsLibrary/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/CommonLibrary/AccountSupport/FormAccountManage.designer.cs b/CommonLibrary/AccountSupport/FormAccountManage.designer.cs index 0da2ef8..76142a7 100644 --- a/CommonLibrary/AccountSupport/FormAccountManage.designer.cs +++ b/CommonLibrary/AccountSupport/FormAccountManage.designer.cs @@ -32,8 +32,8 @@ private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); - this.userButton2 = new UserButton(); - this.userButton1 = new UserButton(); + this.userButton2 = new HslCommunication.Controls.UserButton(); + this.userButton1 = new HslCommunication.Controls.UserButton(); this.SuspendLayout(); // // textBox1 @@ -91,6 +91,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(564, 471); this.Controls.Add(this.userButton2); this.Controls.Add(this.userButton1); diff --git a/CommonLibrary/AccountSupport/FormMaintenance.designer.cs b/CommonLibrary/AccountSupport/FormMaintenance.designer.cs index ffd165f..899a4a4 100644 --- a/CommonLibrary/AccountSupport/FormMaintenance.designer.cs +++ b/CommonLibrary/AccountSupport/FormMaintenance.designer.cs @@ -30,11 +30,11 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.userButton1 = new UserButton(); - this.userButton2 = new UserButton(); + this.userButton1 = new HslCommunication.Controls.UserButton(); + this.userButton2 = new HslCommunication.Controls.UserButton(); this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); - this.userButton3 = new UserButton(); + this.userButton3 = new HslCommunication.Controls.UserButton(); this.SuspendLayout(); // // userButton1 @@ -100,6 +100,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(435, 209); this.Controls.Add(this.userButton3); this.Controls.Add(this.textBox1); diff --git a/CommonLibrary/AccountSupport/FormPasswordModify.designer.cs b/CommonLibrary/AccountSupport/FormPasswordModify.designer.cs index 68c2547..2d7332e 100644 --- a/CommonLibrary/AccountSupport/FormPasswordModify.designer.cs +++ b/CommonLibrary/AccountSupport/FormPasswordModify.designer.cs @@ -33,10 +33,10 @@ private void InitializeComponent() this.components = new System.ComponentModel.Container(); this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); - this.userButton1 = new UserButton(); + this.userButton1 = new HslCommunication.Controls.UserButton(); this.panel1 = new System.Windows.Forms.Panel(); this.label4 = new System.Windows.Forms.Label(); - this.userButton2 = new UserButton(); + this.userButton2 = new HslCommunication.Controls.UserButton(); this.textBox3 = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.textBox2 = new System.Windows.Forms.TextBox(); @@ -157,6 +157,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(396, 407); this.Controls.Add(this.panel1); this.Controls.Add(this.userButton1); diff --git a/CommonLibrary/BasicSupport/FormAbout.designer.cs b/CommonLibrary/BasicSupport/FormAbout.designer.cs index b8bb40f..94c7e7b 100644 --- a/CommonLibrary/BasicSupport/FormAbout.designer.cs +++ b/CommonLibrary/BasicSupport/FormAbout.designer.cs @@ -28,7 +28,6 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout)); this.label3 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); @@ -93,7 +92,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.WhiteSmoke; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(405, 159); this.Controls.Add(this.label5); this.Controls.Add(this.label4); diff --git a/CommonLibrary/BasicSupport/FormAbout.resx b/CommonLibrary/BasicSupport/FormAbout.resx index 1ab60f6..7080a7d 100644 --- a/CommonLibrary/BasicSupport/FormAbout.resx +++ b/CommonLibrary/BasicSupport/FormAbout.resx @@ -117,178 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA - CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA - AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA - /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////8AD///////////////// - //AA/3d3d3d3d3d3d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d//////////////3f/AA/3f///////// - ////93/wAP93//////d3d3d3f/d/8AD/d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//// - //d3d3d3f/d/8AD/d//////////////3f/AA/3f/////////////93/wAP93//////d3d3d3f/d/8AD/ - d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//////d3d3d3f/d/8AD/d//////////////3 - f/AA/3f/////////////93/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA/3d3d3d3d3d3 - d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA///////////////////wAP////// - ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA - gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAP// - ////////93d3d3d3d3/3////////f/f///d3d39/9/d39///f3/3///3d3d/f/f///////9/9///93d3 - f3/393f3//9/f/f///d3d39/9////////3/3d3d3d3d3f/d3d3d3d3d/93d3d3d3d3////////////// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgDx7/AA9vb2AAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMD - AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAA - AwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgICAgICAgICAgICAgIC - AgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEBAQEBAQIBAgICAgIC - AgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEBAgICAgICAgICAQEB - AQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgIC - AgICAgICAgICAgICAgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEB - AQEBAQIBAgICAgICAgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEB - AgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAA - AwMBAQICAgICAgICAgICAgICAgICAgICAgEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMDAAAAAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAQEBAQMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// - ////////wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAf///////////////ygA - AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAPHv8AD29vYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAMD - AwMDAwMDAwMDAwMDAwMDAQEBAQEBAQEBAQEBAQEDAwECAgICAgICAgICAgIBAwMBAgICAgIBAQEBAQEC - AQMDAQIBAQECAQICAgIBAgEDAwECAgICAgEBAQEBAQIBAwMBAgICAgICAgICAgICAQMDAQICAgICAQEB - AQEBAgEDAwECAQEBAgECAgICAQIBAwMBAgICAgIBAQEBAQECAQMDAQICAgICAgICAgICAgEDAwEBAQEB - AQEBAQEBAQEBAwMBAQEBAQEBAQEBAQEBAQMDAQEBAQEBAQEBAQEBAQEDAwMDAwMDAwMDAwMDAwMDA/// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JC - Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb2 - 9v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAA - AAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JCQv9CQkL/9vb2//b2 - 9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv8P/x7/D/QkJC/0JC - Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv - 8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2 - 9v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b2 - 9v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/29vb/9vb2/0JCQv/x7/D/QkJC/0JCQv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P9CQkL/9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/0JCQv9CQkL/QkJC//Hv8P9CQkL/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v///wAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - - \ No newline at end of file diff --git a/CommonLibrary/BasicSupport/FormAboutVersion.designer.cs b/CommonLibrary/BasicSupport/FormAboutVersion.designer.cs index 687741f..3eacf74 100644 --- a/CommonLibrary/BasicSupport/FormAboutVersion.designer.cs +++ b/CommonLibrary/BasicSupport/FormAboutVersion.designer.cs @@ -28,7 +28,6 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAboutVersion)); this.label7 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); @@ -115,7 +114,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.WhiteSmoke; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(438, 190); this.Controls.Add(this.label7); this.Controls.Add(this.label6); diff --git a/CommonLibrary/BasicSupport/FormAboutVersion.resx b/CommonLibrary/BasicSupport/FormAboutVersion.resx index 1ab60f6..7080a7d 100644 --- a/CommonLibrary/BasicSupport/FormAboutVersion.resx +++ b/CommonLibrary/BasicSupport/FormAboutVersion.resx @@ -117,178 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA - CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA - AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA - /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////8AD///////////////// - //AA/3d3d3d3d3d3d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d//////////////3f/AA/3f///////// - ////93/wAP93//////d3d3d3f/d/8AD/d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//// - //d3d3d3f/d/8AD/d//////////////3f/AA/3f/////////////93/wAP93//////d3d3d3f/d/8AD/ - d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//////d3d3d3f/d/8AD/d//////////////3 - f/AA/3f/////////////93/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA/3d3d3d3d3d3 - d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA///////////////////wAP////// - ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA - gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAP// - ////////93d3d3d3d3/3////////f/f///d3d39/9/d39///f3/3///3d3d/f/f///////9/9///93d3 - f3/393f3//9/f/f///d3d39/9////////3/3d3d3d3d3f/d3d3d3d3d/93d3d3d3d3////////////// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgDx7/AA9vb2AAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMD - AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAA - AwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgICAgICAgICAgICAgIC - AgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEBAQEBAQIBAgICAgIC - AgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEBAgICAgICAgICAQEB - AQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgIC - AgICAgICAgICAgICAgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEB - AQEBAQIBAgICAgICAgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEB - AgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAA - AwMBAQICAgICAgICAgICAgICAgICAgICAgEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMDAAAAAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAQEBAQMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// - ////////wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAf///////////////ygA - AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAPHv8AD29vYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAMD - AwMDAwMDAwMDAwMDAwMDAQEBAQEBAQEBAQEBAQEDAwECAgICAgICAgICAgIBAwMBAgICAgIBAQEBAQEC - AQMDAQIBAQECAQICAgIBAgEDAwECAgICAgEBAQEBAQIBAwMBAgICAgICAgICAgICAQMDAQICAgICAQEB - AQEBAgEDAwECAQEBAgECAgICAQIBAwMBAgICAgIBAQEBAQECAQMDAQICAgICAgICAgICAgEDAwEBAQEB - AQEBAQEBAQEBAwMBAQEBAQEBAQEBAQEBAQMDAQEBAQEBAQEBAQEBAQEDAwMDAwMDAwMDAwMDAwMDA/// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JC - Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb2 - 9v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAA - AAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JCQv9CQkL/9vb2//b2 - 9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv8P/x7/D/QkJC/0JC - Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv - 8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2 - 9v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b2 - 9v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/29vb/9vb2/0JCQv/x7/D/QkJC/0JCQv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P9CQkL/9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/0JCQv9CQkL/QkJC//Hv8P9CQkL/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v///wAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - - \ No newline at end of file diff --git a/CommonLibrary/BasicSupport/FormInputAndAction.designer.cs b/CommonLibrary/BasicSupport/FormInputAndAction.designer.cs index 09ce440..88666fc 100644 --- a/CommonLibrary/BasicSupport/FormInputAndAction.designer.cs +++ b/CommonLibrary/BasicSupport/FormInputAndAction.designer.cs @@ -28,7 +28,6 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormInputAndAction)); this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); @@ -94,6 +93,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(531, 280); this.Controls.Add(this.userButton1); this.Controls.Add(this.label3); diff --git a/CommonLibrary/BasicSupport/FormInputAndAction.resx b/CommonLibrary/BasicSupport/FormInputAndAction.resx index 1ab60f6..7080a7d 100644 --- a/CommonLibrary/BasicSupport/FormInputAndAction.resx +++ b/CommonLibrary/BasicSupport/FormInputAndAction.resx @@ -117,178 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA - CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA - AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA - /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////8AD///////////////// - //AA/3d3d3d3d3d3d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d//////////////3f/AA/3f///////// - ////93/wAP93//////d3d3d3f/d/8AD/d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//// - //d3d3d3f/d/8AD/d//////////////3f/AA/3f/////////////93/wAP93//////d3d3d3f/d/8AD/ - d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//////d3d3d3f/d/8AD/d//////////////3 - f/AA/3f/////////////93/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA/3d3d3d3d3d3 - d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA///////////////////wAP////// - ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA - gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAP// - ////////93d3d3d3d3/3////////f/f///d3d39/9/d39///f3/3///3d3d/f/f///////9/9///93d3 - f3/393f3//9/f/f///d3d39/9////////3/3d3d3d3d3f/d3d3d3d3d/93d3d3d3d3////////////// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgDx7/AA9vb2AAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMD - AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAA - AwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgICAgICAgICAgICAgIC - AgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEBAQEBAQIBAgICAgIC - AgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEBAgICAgICAgICAQEB - AQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgIC - AgICAgICAgICAgICAgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEB - AQEBAQIBAgICAgICAgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEB - AgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAA - AwMBAQICAgICAgICAgICAgICAgICAgICAgEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMDAAAAAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAQEBAQMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// - ////////wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAf///////////////ygA - AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAPHv8AD29vYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAMD - AwMDAwMDAwMDAwMDAwMDAQEBAQEBAQEBAQEBAQEDAwECAgICAgICAgICAgIBAwMBAgICAgIBAQEBAQEC - AQMDAQIBAQECAQICAgIBAgEDAwECAgICAgEBAQEBAQIBAwMBAgICAgICAgICAgICAQMDAQICAgICAQEB - AQEBAgEDAwECAQEBAgECAgICAQIBAwMBAgICAgIBAQEBAQECAQMDAQICAgICAgICAgICAgEDAwEBAQEB - AQEBAQEBAQEBAwMBAQEBAQEBAQEBAQEBAQMDAQEBAQEBAQEBAQEBAQEDAwMDAwMDAwMDAwMDAwMDA/// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JC - Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb2 - 9v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAA - AAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JCQv9CQkL/9vb2//b2 - 9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv8P/x7/D/QkJC/0JC - Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv - 8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2 - 9v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b2 - 9v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/29vb/9vb2/0JCQv/x7/D/QkJC/0JCQv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P9CQkL/9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/0JCQv9CQkL/QkJC//Hv8P9CQkL/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v///wAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - - \ No newline at end of file diff --git a/CommonLibrary/BasicSupport/FormMatterRemind.designer.cs b/CommonLibrary/BasicSupport/FormMatterRemind.designer.cs index e5beac1..abc222d 100644 --- a/CommonLibrary/BasicSupport/FormMatterRemind.designer.cs +++ b/CommonLibrary/BasicSupport/FormMatterRemind.designer.cs @@ -40,10 +40,11 @@ private void InitializeComponent() this.label1.TabIndex = 0; this.label1.Text = "label1"; // - // FormDownloading + // FormMatterRemind // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(300, 56); this.Controls.Add(this.label1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); @@ -51,7 +52,7 @@ private void InitializeComponent() this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.MaximizeBox = false; this.MinimizeBox = false; - this.Name = "FormDownloading"; + this.Name = "FormMatterRemind"; this.ShowIcon = false; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; diff --git a/CommonLibrary/BasicSupport/FormPasswordCheck.designer.cs b/CommonLibrary/BasicSupport/FormPasswordCheck.designer.cs index 2c53ac1..568e011 100644 --- a/CommonLibrary/BasicSupport/FormPasswordCheck.designer.cs +++ b/CommonLibrary/BasicSupport/FormPasswordCheck.designer.cs @@ -28,7 +28,6 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormPasswordCheck)); this.userButton1 = new HslCommunication.Controls.UserButton(); this.textBox2 = new System.Windows.Forms.TextBox(); this.SuspendLayout(); @@ -61,6 +60,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(407, 109); this.Controls.Add(this.userButton1); this.Controls.Add(this.textBox2); diff --git a/CommonLibrary/BasicSupport/FormPasswordCheck.resx b/CommonLibrary/BasicSupport/FormPasswordCheck.resx index 1ab60f6..7080a7d 100644 --- a/CommonLibrary/BasicSupport/FormPasswordCheck.resx +++ b/CommonLibrary/BasicSupport/FormPasswordCheck.resx @@ -117,178 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA - CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA - AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA - /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////8AD///////////////// - //AA/3d3d3d3d3d3d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d//////////////3f/AA/3f///////// - ////93/wAP93//////d3d3d3f/d/8AD/d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//// - //d3d3d3f/d/8AD/d//////////////3f/AA/3f/////////////93/wAP93//////d3d3d3f/d/8AD/ - d/93d3f3/////3/3f/AA/3f/d3d39/////9/93/wAP93//////d3d3d3f/d/8AD/d//////////////3 - f/AA/3f/////////////93/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA/3d3d3d3d3d3 - d3d3d3/wAP93d3d3d3d3d3d3d3d/8AD/d3d3d3d3d3d3d3d3f/AA///////////////////wAP////// - ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA - gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAP// - ////////93d3d3d3d3/3////////f/f///d3d39/9/d39///f3/3///3d3d/f/f///////9/9///93d3 - f3/393f3//9/f/f///d3d39/9////////3/3d3d3d3d3f/d3d3d3d3d/93d3d3d3d3////////////// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgDx7/AA9vb2AAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMD - AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAA - AwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgICAgICAgICAgICAgIC - AgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEBAQEBAQIBAgICAgIC - AgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEBAgICAgICAgICAQEB - AQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAAAwMBAQICAgICAgIC - AgICAgICAgICAgICAgEBAwMAAAADAwEBAgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgEB - AQEBAQIBAgICAgICAgIBAgIBAQMDAAAAAwMBAQICAQEBAQEBAgECAgICAgICAgECAgEBAwMAAAADAwEB - AgICAgICAgICAQEBAQEBAQEBAQICAQEDAwAAAAMDAQECAgICAgICAgICAgICAgICAgICAgIBAQMDAAAA - AwMBAQICAgICAgICAgICAgICAgICAgICAgEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQED - AwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMDAAAAAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAwMAAAADAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAwAAAAMDAQEBAQEBAQEBAQEBAQEBAQEB - AQEBAQEBAQMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// - ////////wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAf///////////////ygA - AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAPHv8AD29vYAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAMD - AwMDAwMDAwMDAwMDAwMDAQEBAQEBAQEBAQEBAQEDAwECAgICAgICAgICAgIBAwMBAgICAgIBAQEBAQEC - AQMDAQIBAQECAQICAgIBAgEDAwECAgICAgEBAQEBAQIBAwMBAgICAgICAgICAgICAQMDAQICAgICAQEB - AQEBAgEDAwECAQEBAgECAgICAQIBAwMBAgICAgIBAQEBAQECAQMDAQICAgICAgICAgICAgEDAwEBAQEB - AQEBAQEBAQEBAwMBAQEBAQEBAQEBAQEBAQMDAQEBAQEBAQEBAQEBAQEDAwMDAwMDAwMDAwMDAwMDA/// - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JC - Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb2 - 9v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/AAAAAAAA - AAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/x7/D/8e/w/0JCQv9CQkL/9vb2//b2 - 9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv8P/x7/D/QkJC/0JC - Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv - 8P9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2 - 9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA - AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAA - AAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2 - 9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - ///////////////////AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA - AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB//////// - ////////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2 - 9v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b2 - 9v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JC - Qv/29vb/9vb2/0JCQv/x7/D/QkJC/0JCQv9CQkL/8e/w/0JCQv/x7/D/8e/w//Hv8P/x7/D/QkJC//Hv - 8P9CQkL/9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/0JCQv9CQkL/QkJC//Hv8P9CQkL/8e/w//Hv - 8P/x7/D/8e/w/0JCQv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv - 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC - Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2 - 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v///wAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - - \ No newline at end of file diff --git a/CommonLibrary/BasicSupport/FormVersionControl.designer.cs b/CommonLibrary/BasicSupport/FormVersionControl.designer.cs index b2ea3ad..137b875 100644 --- a/CommonLibrary/BasicSupport/FormVersionControl.designer.cs +++ b/CommonLibrary/BasicSupport/FormVersionControl.designer.cs @@ -88,6 +88,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(397, 158); this.Controls.Add(this.userButton1); this.Controls.Add(this.textBox2); diff --git a/CommonLibrary/CommonLibrary.csproj b/CommonLibrary/CommonLibrary.csproj index e688d62..0f190b4 100644 --- a/CommonLibrary/CommonLibrary.csproj +++ b/CommonLibrary/CommonLibrary.csproj @@ -30,11 +30,11 @@ 4 - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net35\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net35\Newtonsoft.Json.dll @@ -166,6 +166,7 @@ + diff --git a/CommonLibrary/app.config b/CommonLibrary/app.config new file mode 100644 index 0000000..e936cc1 --- /dev/null +++ b/CommonLibrary/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/CommonLibrary/packages.config b/CommonLibrary/packages.config index df1de47..dc90fdd 100644 --- a/CommonLibrary/packages.config +++ b/CommonLibrary/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/HslCommunicationNetTestTool/Form1.cs b/HslCommunicationNetTestTool/Form1.cs index f0c4952..0c09502 100644 --- a/HslCommunicationNetTestTool/Form1.cs +++ b/HslCommunicationNetTestTool/Form1.cs @@ -46,11 +46,11 @@ private void Form1_Load(object sender, EventArgs e) string name = $"{m.IpAddress} [{m.IpPort}]"; TreeNode node = new TreeNode(name); node.Tag = new HslCommunication.Enthernet.NetSimplifyClient( - new System.Net.IPEndPoint(System.Net.IPAddress.Parse(m.IpAddress), - int.Parse(m.IpPort))) + m.IpAddress, + int.Parse(m.IpPort)) { - ConnectTimeout = int.Parse(m.TimeOut), - KeyToken = new Guid(m.Token), + ConnectTimeOut = int.Parse(m.TimeOut), + Token = new Guid(m.Token), }; node.ToolTipText = m.Guid; diff --git a/HslCommunicationNetTestTool/FormCreateClient.cs b/HslCommunicationNetTestTool/FormCreateClient.cs index 22f013f..273a9b9 100644 --- a/HslCommunicationNetTestTool/FormCreateClient.cs +++ b/HslCommunicationNetTestTool/FormCreateClient.cs @@ -27,10 +27,10 @@ private void userButton1_Click(object sender, EventArgs e) try { Client = new HslCommunication.Enthernet.NetSimplifyClient( - new System.Net.IPEndPoint(System.Net.IPAddress.Parse(textBox1.Text), int.Parse(textBox2.Text))) + textBox1.Text, int.Parse(textBox2.Text)) { - KeyToken = new Guid(textBox3.Text), - ConnectTimeout = int.Parse(textBox4.Text), + Token = new Guid(textBox3.Text), + ConnectTimeOut = int.Parse(textBox4.Text), }; IpAddress = textBox1.Text; diff --git a/HslCommunicationNetTestTool/HslCommunicationNetTestTool.csproj b/HslCommunicationNetTestTool/HslCommunicationNetTestTool.csproj index 05522c4..daac9e2 100644 --- a/HslCommunicationNetTestTool/HslCommunicationNetTestTool.csproj +++ b/HslCommunicationNetTestTool/HslCommunicationNetTestTool.csproj @@ -31,11 +31,11 @@ 4 - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net35\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net35\Newtonsoft.Json.dll diff --git a/HslCommunicationNetTestTool/app.config b/HslCommunicationNetTestTool/app.config index 0800cd6..6490ec1 100644 --- a/HslCommunicationNetTestTool/app.config +++ b/HslCommunicationNetTestTool/app.config @@ -1,7 +1,7 @@ - + - +
@@ -12,4 +12,12 @@ + + + + + + + + \ No newline at end of file diff --git a/HslCommunicationNetTestTool/packages.config b/HslCommunicationNetTestTool/packages.config index df1de47..dc90fdd 100644 --- a/HslCommunicationNetTestTool/packages.config +++ b/HslCommunicationNetTestTool/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/README.md b/README.md index 0cbffbe..f3200ed 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # C-S架构的服务器客户端模版 [![Visual Studio](https://img.shields.io/badge/Visual%20Studio-2017-red.svg)](https://www.visualstudio.com/zh-hans/) [![Language](https://img.shields.io/badge/Language-C%23%207.0-orange.svg)](https://blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/dathlin/ClientServerProject/blob/master/LICENSE) -[![Android Studio](https://img.shields.io/badge/Android%20Studio-2.3-green.svg)](https://www.visualstudio.com/zh-hans/) +[![Android Studio](https://img.shields.io/badge/Android%20Studio-3.1-green.svg)](https://www.visualstudio.com/zh-hans/) ## Summary 一个基于中小型提炼的C-S开发框架,覆盖电脑端,web端,手机端的全平台系统模版,在大多数的一对多的系统设计中会包含一些常用的重复的功能代码, diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/App.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/App.config" index 49dfe5d..81ed2a4 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/App.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/App.config" @@ -19,7 +19,7 @@ - + diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/MainWindow.xaml.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/MainWindow.xaml.cs" index 1633e8c..ca575cd 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/MainWindow.xaml.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/MainWindow.xaml.cs" @@ -24,12 +24,13 @@ using System.Windows.Media.Animation; using MaterialDesignThemes.Wpf; using HslCommunication.Core.Net; +using HslCommunication.LogNet; namespace 软件系统客户端Wpf { - + /*************************************************************************************** * @@ -66,51 +67,52 @@ public partial class MainWindow : Window { #region Constructor - public MainWindow() + public MainWindow( ) { - InitializeComponent(); + InitializeComponent( ); - UserClient.PortraitManager = new UserPortrait(AppDomain.CurrentDomain.BaseDirectory + @"\Portrait\" + UserClient.UserAccount.UserName); + UserClient.PortraitManager = new UserPortrait( AppDomain.CurrentDomain.BaseDirectory + @"\Portrait\" + UserClient.UserAccount.UserName ); } #endregion #region 窗口相关方法 + /// /// 指示窗口是否显示的标志 /// private bool IsWindowShow { get; set; } = false; - private void Window_Activated(object sender, EventArgs e) + private void Window_Activated( object sender, EventArgs e ) { // 窗口激活就触发,不应把初始代码放这里 } - private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) + private void Window_Closing( object sender, System.ComponentModel.CancelEventArgs e ) { IsWindowShow = false; // 通知服务器退出网络服务 - net_socket_client.ClientClose(); + net_socket_client.ClientClose( ); // 保存当前的颜色选择 - var p = new PaletteHelper().QueryPalette(); - using (StreamWriter sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + @"Palette.txt", false, Encoding.UTF8)) + var p = new PaletteHelper( ).QueryPalette( ); + using (StreamWriter sw = new StreamWriter( AppDomain.CurrentDomain.BaseDirectory + @"Palette.txt", false, Encoding.UTF8 )) { - sw.Write(JObject.FromObject(p).ToString()); + sw.Write( JObject.FromObject( p ).ToString( ) ); } // 等待一秒退出 - using (FormWaitInfomation fwm = new FormWaitInfomation("正在退出程序...", 1000)) + using (FormWaitInfomation fwm = new FormWaitInfomation( "正在退出程序...", 1000 )) { - fwm.ShowDialog(); + fwm.ShowDialog( ); } } - private void Window_ContentRendered(object sender, EventArgs e) + private void Window_ContentRendered( object sender, EventArgs e ) { - //窗口呈现完成触发,已经显示了 - //窗口显示 + // 窗口呈现完成触发,已经显示了 + // 窗口显示 IsWindowShow = true; // udp测试 @@ -120,15 +122,15 @@ private void Window_ContentRendered(object sender, EventArgs e) if (!UserClient.JsonSettings.IsNewVersionRunning) { UserClient.JsonSettings.IsNewVersionRunning = false; - UserClient.JsonSettings.SaveToFile(); - MenuItem更新日志_Click(null, new RoutedEventArgs()); + UserClient.JsonSettings.SaveToFile( ); + MenuItem更新日志_Click( null, new RoutedEventArgs( ) ); } // 根据权限使能菜单 - if(UserClient.UserAccount.Grade < AccountGrade.Admin) + if (UserClient.UserAccount.Grade < AccountGrade.Admin) { MenuItem公告管理.IsEnabled = false; MenuItem账户管理.IsEnabled = false; @@ -146,38 +148,38 @@ private void Window_ContentRendered(object sender, EventArgs e) // 启动网络服务 - Net_Socket_Client_Initialization(); + Net_Socket_Client_Initialization( ); // 启动定时器 - TimeTickInitilization(); + TimeTickInitilization( ); // 显示名称和加载头像 AccountChip.Content = UserClient.UserAccount.UserName; AccountPortrait.Source = AppWpfHelper.TranslateImageToBitmapImage( - UserClient.PortraitManager.GetSmallPortraitByUserName(UserClient.UserAccount.UserName)); + UserClient.PortraitManager.GetSmallPortraitByUserName( UserClient.UserAccount.UserName ) ); - SetShowRenderControl(UIControl_Home); + SetShowRenderControl( UIControl_Home ); } - private void Window_Initialized(object sender, EventArgs e) + private void Window_Initialized( object sender, EventArgs e ) { - //在窗口实例化之后触发 + // 在窗口实例化之后触发 } - private void Window_Loaded(object sender, RoutedEventArgs e) + private void Window_Loaded( object sender, RoutedEventArgs e ) { - //在窗体加载时触发,窗体还不显示任何东西 - //窗口载入 - Account_grade.Text = AccountGrade.GetDescription(UserClient.UserAccount.Grade); + // 在窗体加载时触发,窗体还不显示任何东西 + // 窗口载入 + Account_grade.Text = AccountGrade.GetDescription( UserClient.UserAccount.Grade ); Account_factory.Text = UserClient.UserAccount.Factory; - Account_register.Text = UserClient.UserAccount.RegisterTime.ToString(); - Account_last.Text = UserClient.UserAccount.LastLoginTime.ToString(); - Account_times.Text = UserClient.UserAccount.LoginFrequency.ToString(); + Account_register.Text = UserClient.UserAccount.RegisterTime.ToString( ); + Account_last.Text = UserClient.UserAccount.LastLoginTime.ToString( ); + Account_times.Text = UserClient.UserAccount.LoginFrequency.ToString( ); Account_address.Text = UserClient.UserAccount.LastLoginIpAddress; - //状态栏设置 + // 状态栏设置 TextBlock_CopyRight.Text = $"本软件著作权归{SoftResources.StringResouce.SoftCopyRight}所有"; - //绑定事件,仅执行一次,不能放到show方法里 + // 绑定事件,仅执行一次,不能放到show方法里 net_socket_client.MessageAlerts += Net_socket_client_MessageAlerts; net_socket_client.LoginFailed += Net_socket_client_LoginFailed; net_socket_client.LoginSuccess += Net_socket_client_LoginSuccess; @@ -187,94 +189,94 @@ private void Window_Loaded(object sender, RoutedEventArgs e) TextBlock_Announcement.Text = UserClient.Announcement; - TextBlock_Version.Text = UserClient.CurrentVersion.ToString(); + TextBlock_Version.Text = UserClient.CurrentVersion.ToString( ); - //初始化窗口 - MainRenderInitialization(); + // 初始化窗口 + MainRenderInitialization( ); - //加载主题 - new PaletteHelper().SetLightDark(UserClient.JsonSettings.IsThemeDark); + // 加载主题 + new PaletteHelper( ).SetLightDark( UserClient.JsonSettings.IsThemeDark ); } - private void AddStringRenderShow(string str) + private void AddStringRenderShow( string str ) { var messageQueue = SoftSnackbar.MessageQueue; - //the message queue can be called from any thread - Task.Factory.StartNew(() => SoftSnackbar.MessageQueue.Enqueue(str)); + // the message queue can be called from any thread + Task.Factory.StartNew( ( ) => SoftSnackbar.MessageQueue.Enqueue( str ) ); } #endregion - + #region 菜单逻辑块 - private void MenuItem公告管理_Click(object sender, RoutedEventArgs e) + private void MenuItem公告管理_Click( object sender, RoutedEventArgs e ) { - using (FormInputAndAction fiaa = new FormInputAndAction(str => UserClient.Net_simplify_client.ReadFromServer( - CommonHeadCode.SimplifyHeadCode.更新公告, str).IsSuccess, UserClient.Announcement, "请输入公告内容")) + using (FormInputAndAction fiaa = new FormInputAndAction( str => UserClient.Net_simplify_client.ReadFromServer( + CommonHeadCode.SimplifyHeadCode.更新公告, str ).IsSuccess, UserClient.Announcement, "请输入公告内容" )) { - fiaa.ShowDialog(); + fiaa.ShowDialog( ); } } - private void MenuItem账户管理_Click(object sender, RoutedEventArgs e) + private void MenuItem账户管理_Click( object sender, RoutedEventArgs e ) { - FormAccountManage fam = new FormAccountManage(() => - { - OperateResult result = UserClient.Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode.获取账户); - if (result.IsSuccess) return result.Content; - else return result.ToMessageShowString(); - }, m => UserClient.Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode.更细账户, m).IsSuccess); - fam.ShowDialog(); - fam.Dispose(); + FormAccountManage fam = new FormAccountManage( ( ) => + { + OperateResult result = UserClient.Net_simplify_client.ReadFromServer( CommonHeadCode.SimplifyHeadCode.获取账户 ); + if (result.IsSuccess) return result.Content; + else return result.ToMessageShowString( ); + }, m => UserClient.Net_simplify_client.ReadFromServer( CommonHeadCode.SimplifyHeadCode.更细账户, m ).IsSuccess ); + fam.ShowDialog( ); + fam.Dispose( ); } - private void MenuItem注册账户_Click(object sender, RoutedEventArgs e) + private void MenuItem注册账户_Click( object sender, RoutedEventArgs e ) { - using (FormRegisterAccount fra = new FormRegisterAccount(UserClient.SystemFactories.ToArray())) + using (FormRegisterAccount fra = new FormRegisterAccount( UserClient.SystemFactories.ToArray( ) )) { - fra.ShowDialog(); + fra.ShowDialog( ); } } - private void MenuItem日志查看_Click(object sender, RoutedEventArgs e) + private void MenuItem日志查看_Click( object sender, RoutedEventArgs e ) { - using (FormLogView flg = new FormLogView()) + using (FormLogView flg = new FormLogView( )) { - flg.ShowDialog(); + flg.ShowDialog( ); } } - private void MenuItem远程更新_Click(object sender, RoutedEventArgs e) + private void MenuItem远程更新_Click( object sender, RoutedEventArgs e ) { if (UserClient.UserAccount.UserName == "admin") { - using (FormUpdateRemote fur = new FormUpdateRemote()) + using (FormUpdateRemote fur = new FormUpdateRemote( )) { - fur.ShowDialog(); + fur.ShowDialog( ); } } else { - MessageBox.Show("权限不足!"); + MessageBox.Show( "权限不足!" ); } } - private void MenuItem消息发送_Click(object sender, RoutedEventArgs e) + private void MenuItem消息发送_Click( object sender, RoutedEventArgs e ) { - using (FormInputAndAction fiaa = new FormInputAndAction(str => UserClient.Net_simplify_client.ReadFromServer( - CommonHeadCode.SimplifyHeadCode.群发消息, UserClient.UserAccount.UserName + ":" + str).IsSuccess, "", "请输入群发的消息:")) + using (FormInputAndAction fiaa = new FormInputAndAction( str => UserClient.Net_simplify_client.ReadFromServer( + CommonHeadCode.SimplifyHeadCode.群发消息, UserClient.UserAccount.UserName + ":" + str ).IsSuccess, "", "请输入群发的消息:" )) { - fiaa.ShowDialog(); + fiaa.ShowDialog( ); } } - - private void MenuItem密码更改_Click(object sender, RoutedEventArgs e) + + private void MenuItem密码更改_Click( object sender, RoutedEventArgs e ) { - using (FormPasswordModify fpm = new FormPasswordModify(UserClient.UserAccount.Password, + using (FormPasswordModify fpm = new FormPasswordModify( UserClient.UserAccount.Password, p => { JObject json = new JObject @@ -282,133 +284,134 @@ private void AddStringRenderShow(string str) { UserAccount.UserNameText, UserClient.UserAccount.UserName }, { UserAccount.PasswordText, p } }; - return UserClient.Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode.密码修改, json.ToString()).IsSuccess; - }, 6, 8)) + return UserClient.Net_simplify_client.ReadFromServer( CommonHeadCode.SimplifyHeadCode.密码修改, json.ToString( ) ).IsSuccess; + }, 6, 8 )) { - fpm.ShowDialog(); + fpm.ShowDialog( ); } } - - private void MenuItem聊天信息_Click(object sender, RoutedEventArgs e) + + private void MenuItem聊天信息_Click( object sender, RoutedEventArgs e ) { - //var messageQueue = SoftSnackbar.MessageQueue; - //var message = "这是一条测试数据这是一条测试数据这是一条测试数据这是一条测试数据这是一条测试数据" + index++; + // var messageQueue = SoftSnackbar.MessageQueue; + // var message = "这是一条测试数据这是一条测试数据这是一条测试数据这是一条测试数据这是一条测试数据" + index++; - ////the message queue can be called from any thread - //Task.Factory.StartNew(() => messageQueue.Enqueue(message)); + //// the message queue can be called from any thread + // Task.Factory.StartNew(() => messageQueue.Enqueue(message)); - SetShowRenderControl(UIControls_Chat); - UIControls_Chat.ScrollToDown(); + SetShowRenderControl( UIControls_Chat ); + UIControls_Chat.ScrollToDown( ); } - private void MenuItem我的信息_Click(object sender, RoutedEventArgs e) + private void MenuItem我的信息_Click( object sender, RoutedEventArgs e ) { - using (FormAccountDetails form = new FormAccountDetails()) + using (FormAccountDetails form = new FormAccountDetails( )) { - form.ShowDialog(); + form.ShowDialog( ); } } - private void MenuItem主题色调_Click(object sender, RoutedEventArgs e) + private void MenuItem主题色调_Click( object sender, RoutedEventArgs e ) { - SetShowRenderControl(UIControl_Palette); + SetShowRenderControl( UIControl_Palette ); } - private void MenuItem关于本软件_Click(object sender, RoutedEventArgs e) + private void MenuItem关于本软件_Click( object sender, RoutedEventArgs e ) { - using (FormAbout fa = new FormAbout(SoftResources.StringResouce.SoftName, - UserClient.CurrentVersion, 2017, SoftResources.StringResouce.SoftCopyRight)) + using (FormAbout fa = new FormAbout( SoftResources.StringResouce.SoftName, + UserClient.CurrentVersion, 2017, SoftResources.StringResouce.SoftCopyRight )) { - fa.ShowDialog(); + fa.ShowDialog( ); } } - private void MenuItem更新日志_Click(object sender, RoutedEventArgs e) + private void MenuItem更新日志_Click( object sender, RoutedEventArgs e ) { - //更新情况复位 + // 更新情况复位 if (UserClient.JsonSettings.IsNewVersionRunning) { UserClient.JsonSettings.IsNewVersionRunning = false; - UserClient.JsonSettings.SaveToFile(); + UserClient.JsonSettings.SaveToFile( ); } - using (FormUpdateLog ful = new FormUpdateLog(UserClient.HistoryVersions)) + using (FormUpdateLog ful = new FormUpdateLog( UserClient.HistoryVersions )) { - ful.ShowDialog(); + ful.ShowDialog( ); } } - private void MenuItem版本号说明_Click(object sender, RoutedEventArgs e) + private void MenuItem版本号说明_Click( object sender, RoutedEventArgs e ) { - using (FormAboutVersion fav = new FormAboutVersion(UserClient.CurrentVersion)) + using (FormAboutVersion fav = new FormAboutVersion( UserClient.CurrentVersion )) { - fav.ShowDialog(); + fav.ShowDialog( ); } } - private void MenuItem意见反馈_Click(object sender, RoutedEventArgs e) + private void MenuItem意见反馈_Click( object sender, RoutedEventArgs e ) { - using (FormInputAndAction fiaa = new FormInputAndAction(str => UserClient.Net_simplify_client.ReadFromServer( - CommonHeadCode.SimplifyHeadCode.意见反馈, UserClient.UserAccount.UserName + ":" + str).IsSuccess, "", "请输入意见反馈:")) + using (FormInputAndAction fiaa = new FormInputAndAction( str => UserClient.Net_simplify_client.ReadFromServer( + CommonHeadCode.SimplifyHeadCode.意见反馈, UserClient.UserAccount.UserName + ":" + str ).IsSuccess, "", "请输入意见反馈:" )) { - fiaa.ShowDialog(); + fiaa.ShowDialog( ); } } - private void Button_Quit_Click(object sender, RoutedEventArgs e) + private void Button_Quit_Click( object sender, RoutedEventArgs e ) { App.QuitCode = 1; - Close(); + Close( ); } - private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) + private void Border_MouseLeftButtonDown( object sender, MouseButtonEventArgs e ) { - //点击了文件查看 - SetShowRenderControl(UIControl_Files); - UIControl_Files.UpdateFiles(); + // 点击了文件查看 + SetShowRenderControl( UIControl_Files ); + UIControl_Files.UpdateFiles( ); } - private void MenuItem系统配置_Click(object sender, RoutedEventArgs e) + private void MenuItem系统配置_Click( object sender, RoutedEventArgs e ) { - using (FormConfiguration fc = new FormConfiguration()) + using (FormConfiguration fc = new FormConfiguration( )) { - fc.ShowDialog(); + fc.ShowDialog( ); } } - private void AccountChip_Click(object sender, RoutedEventArgs e) + private void AccountChip_Click( object sender, RoutedEventArgs e ) { // 点击了头像,请求查看高清版本头像 - using (FormMatterRemind fmr = new FormMatterRemind("正在下载图片", UserClient.PortraitManager.ThreadPoolDownloadSizeLarge)) + using (FormMatterRemind fmr = new FormMatterRemind( "正在下载图片", UserClient.PortraitManager.ThreadPoolDownloadSizeLarge )) { - fmr.ShowDialog(); + fmr.ShowDialog( ); } } - + #endregion #region 异步网络块 - private NetComplexClient net_socket_client = new NetComplexClient(); + private NetComplexClient net_socket_client = new NetComplexClient( ); - private void Net_Socket_Client_Initialization() + private void Net_Socket_Client_Initialization( ) { try { net_socket_client.Token = UserSystem.KeyToken; // 新增的身份令牌 net_socket_client.EndPointServer = new System.Net.IPEndPoint( - System.Net.IPAddress.Parse(UserClient.ServerIp), - UserSystem.Port_Main_Net); + System.Net.IPAddress.Parse( UserClient.ServerIp ), + UserSystem.Port_Main_Net ); + net_socket_client.LogNet = UserClient.LogNet; net_socket_client.ClientAlias = UserClient.UserAccount.UserName; // 传入账户名 - net_socket_client.ClientStart(); + net_socket_client.ClientStart( ); } catch (Exception ex) { - SoftBasic.ShowExceptionMessage(ex); + SoftBasic.ShowExceptionMessage( ex ); } } /// @@ -417,173 +420,173 @@ private void Net_Socket_Client_Initialization() /// 网络连接对象 /// 用户自定义的指令头,用来区分数据用途 /// 数据 - private void Net_socket_client_AcceptString(AppSession session, NetHandle customer, string data) + private void Net_socket_client_AcceptString( AppSession session, NetHandle customer, string data ) { if (customer == CommonHeadCode.MultiNetHeadCode.弹窗新消息) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - FormPopup fpp = new FormPopup(data, System.Drawing.Color.DodgerBlue, 10000); - fpp.Show(); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + FormPopup fpp = new FormPopup( data, System.Drawing.Color.DodgerBlue, 10000 ); + fpp.Show( ); + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.总在线信息) { - + } else if (customer == CommonHeadCode.MultiNetHeadCode.关闭客户端) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - Close(); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + Close( ); + } ) ); } else if (customer == CommonHeadCode.SimplifyHeadCode.更新公告) { //此处应用到了同步类的指令头 - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - UserClient.Announcement = data; - TextBlock_Announcement.Text = data; - FormPopup fpp = new FormPopup(data, System.Drawing.Color.DodgerBlue, 10000); - fpp.Show(); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + UserClient.Announcement = data; + TextBlock_Announcement.Text = data; + FormPopup fpp = new FormPopup( data, System.Drawing.Color.DodgerBlue, 10000 ); + fpp.Show( ); + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.初始化数据) { //收到服务器的数据 - JObject json = JObject.Parse(data); - UserClient.DateTimeServer = json["Time"].ToObject(); - List chats = JArray.Parse(json["chats"].ToString()).ToObject>(); - StringBuilder sb = new StringBuilder(); - chats.ForEach(m => { sb.Append(m + Environment.NewLine); }); + JObject json = JObject.Parse( data ); + UserClient.DateTimeServer = json["Time"].ToObject( ); + List chats = JArray.Parse( json["chats"].ToString( ) ).ToObject>( ); + StringBuilder sb = new StringBuilder( ); + chats.ForEach( m => { sb.Append( m + Environment.NewLine ); } ); - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - TextBlock_ServerTime.Text = UserClient.DateTimeServer.ToString("yyyy-MM-dd HH:mm:ss"); - TextBlock_FileCount.Text = json["FileCount"].ToObject().ToString(); - UIControls_Chat.AddChatsHistory(sb.ToString()); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + TextBlock_ServerTime.Text = UserClient.DateTimeServer.ToString( "yyyy-MM-dd HH:mm:ss" ); + TextBlock_FileCount.Text = json["FileCount"].ToObject( ).ToString( ); + UIControls_Chat.AddChatsHistory( sb.ToString( ) ); - NetAccount[] accounts = JArray.Parse(json["ClientsOnline"].ToString()).ToObject(); + NetAccount[] accounts = JArray.Parse( json["ClientsOnline"].ToString( ) ).ToObject( ); - foreach (var m in accounts) - { - Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem(); - userClient.SetClientRender(m); - ClientsOnline.Children.Add(userClient); - } - })); + foreach (var m in accounts) + { + Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem( ); + userClient.SetClientRender( m ); + ClientsOnline.Children.Add( userClient ); + } + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.文件总数量) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - TextBlock_FileCount.Text = data; - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + TextBlock_FileCount.Text = data; + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.留言版消息) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - UIControls_Chat?.DealwithReceive(data); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + UIControls_Chat?.DealwithReceive( data ); + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.新用户上线) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem(); - userClient.SetClientRender(JObject.Parse(data).ToObject()); - ClientsOnline.Children.Add(userClient); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem( ); + userClient.SetClientRender( JObject.Parse( data ).ToObject( ) ); + ClientsOnline.Children.Add( userClient ); + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.用户下线) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - Views.Controls.UserClientRenderItem item = null; - foreach (Views.Controls.UserClientRenderItem m in ClientsOnline.Children) - { - if (m?.UniqueId == data) - { - item = m; - } - } - if (item != null) ClientsOnline.Children.Remove(item); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + Views.Controls.UserClientRenderItem item = null; + foreach (Views.Controls.UserClientRenderItem m in ClientsOnline.Children) + { + if (m?.UniqueId == data) + { + item = m; + } + } + if (item != null) ClientsOnline.Children.Remove( item ); + } ) ); } else if (customer == CommonHeadCode.MultiNetHeadCode.新头像更新) { - UserClient.PortraitManager.UpdateSmallPortraitByName(data); - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - if (data == UserClient.UserAccount.UserName) - { - AccountPortrait.Source = AppWpfHelper.TranslateImageToBitmapImage( - UserClient.PortraitManager.GetSmallPortraitByUserName(data)); - } - foreach (Views.Controls.UserClientRenderItem m in ClientsOnline.Children) - { - m.UpdatePortrait(data); - } - })); + UserClient.PortraitManager.UpdateSmallPortraitByName( data ); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + if (data == UserClient.UserAccount.UserName) + { + AccountPortrait.Source = AppWpfHelper.TranslateImageToBitmapImage( + UserClient.PortraitManager.GetSmallPortraitByUserName( data ) ); + } + foreach (Views.Controls.UserClientRenderItem m in ClientsOnline.Children) + { + m.UpdatePortrait( data ); + } + } ) ); } } - private void Net_socket_client_AcceptByte(AppSession session, NetHandle customer, byte[] object2) + private void Net_socket_client_AcceptByte( AppSession session, NetHandle customer, byte[] object2 ) { // 接收到服务器发来的字节数据 - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - MessageBox.Show(customer.ToString()); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + MessageBox.Show( customer.ToString( ) ); + } ) ); } - private void Net_socket_client_LoginSuccess() + private void Net_socket_client_LoginSuccess( ) { // 登录成功,或重新登录成功的事件,有些数据的初始化可以放在此处 - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - TextBlock_ClientStatus.Text = "客户端启动成功"; - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + TextBlock_ClientStatus.Text = "客户端启动成功"; + } ) ); } - private void Net_socket_client_BeforReConnected() + private void Net_socket_client_BeforReConnected( ) { // 和服务器断开,重新连接之前发生的事件,清理已加载资源使用,比如客户端在线信息 - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - ClientsOnline.Children?.Clear(); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + ClientsOnline.Children?.Clear( ); + } ) ); } - private void Net_socket_client_LoginFailed(int object1) + private void Net_socket_client_LoginFailed( int object1 ) { // 登录失败的情况,如果连续三次连接失败,请考虑退出系统 if (object1> 3) { - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - Close(); - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + Close( ); + } ) ); } } - private void Net_socket_client_MessageAlerts(string object1) + private void Net_socket_client_MessageAlerts( string object1 ) { // 信息提示 - if (IsWindowShow) Dispatcher.Invoke(new Action(() => - { - TextBlock_ClientStatus.Text = object1; - })); + if (IsWindowShow) Dispatcher.Invoke( new Action( ( ) => + { + TextBlock_ClientStatus.Text = object1; + } ) ); } - + #endregion - + #region 后台计数线程 /********************************************************************************************* @@ -597,17 +600,17 @@ private void Net_socket_client_MessageAlerts(string object1) /// /// 初始化后台的计数线程 /// - public void TimeTickInitilization() + public void TimeTickInitilization( ) { - Thread thread = new Thread(new ThreadStart(ThreadTimeTick)); + Thread thread = new Thread( new ThreadStart( ThreadTimeTick ) ); thread.IsBackground = true; - thread.Start(); + thread.Start( ); } - public void ThreadTimeTick() + public void ThreadTimeTick( ) { - Thread.Sleep(300);//加一个微小的延时 + Thread.Sleep( 300 );//加一个微小的延时 int second = DateTime.Now.Second - 1; int minute = -1; int hour = -1; @@ -615,18 +618,18 @@ public void ThreadTimeTick() Action DTimeShow = delegate { //显示服务器的时间和当前网络的延时时间,通常为毫秒 - TextBlock_ServerTime.Text = net_socket_client.ServerTime.ToString("yyyy-MM-dd HH:mm:ss"); - TextBlock_ServerDelay.Text = net_socket_client.DelayTime.ToString(); + TextBlock_ServerTime.Text = net_socket_client.ServerTime.ToString( "yyyy-MM-dd HH:mm:ss" ); + TextBlock_ServerDelay.Text = net_socket_client.DelayTime.ToString( ); }; while (IsWindowShow) { while (DateTime.Now.Second == second) { - Thread.Sleep(20); + Thread.Sleep( 20 ); } second = DateTime.Now.Second; - if (IsWindowShow) Dispatcher.Invoke(DTimeShow); + if (IsWindowShow) Dispatcher.Invoke( DTimeShow ); //每秒钟执行的代码 UserClient.DateTimeServer = net_socket_client.ServerTime; @@ -664,23 +667,23 @@ public void ThreadTimeTick() /// /// 指令头 /// 实际数据 - private void SendServerUdpData(NetHandle customer, string data) + private void SendServerUdpData( NetHandle customer, string data ) { //测试发送udp消息 - UserClient.Net_Udp_Client.SendMessage(customer, data); + UserClient.Net_Udp_Client.SendMessage( customer, data ); } #endregion - + #region 多界面管理块 - private List all_main_render = new List(); + private List all_main_render = new List( ); private UserChat UIControls_Chat { get; set; } private UserHome UIControl_Home { get; set; } - + private UserFileRender UIControl_Files { get; set; } private UserPaletteSelector UIControl_Palette { get; set; } @@ -693,7 +696,7 @@ private void SendServerUdpData(NetHandle customer, string data) /// /// 主界面的初始化 /// - private void MainRenderInitialization() + private void MainRenderInitialization( ) { //将所有的子集控件添加进去 @@ -714,70 +717,69 @@ private void MainRenderInitialization() //}; //all_main_render.Add(UIControls_Files); - UIControls_Chat = new UserChat((m) => - { - net_socket_client.Send(CommonHeadCode.MultiNetHeadCode.留言版消息, m); - }); - all_main_render.Add(UIControls_Chat); + UIControls_Chat = new UserChat( ( m ) => + { + net_socket_client.Send( CommonHeadCode.MultiNetHeadCode.留言版消息, m ); + } ); + all_main_render.Add( UIControls_Chat ); - UIControl_Home = new UserHome(); - all_main_render.Add(UIControl_Home); + UIControl_Home = new UserHome( ); + all_main_render.Add( UIControl_Home ); - UIControl_Palette = new UserPaletteSelector() { DataContext = new PaletteSelectorViewModel() }; - all_main_render.Add(UIControl_Palette); + UIControl_Palette = new UserPaletteSelector( ) { DataContext = new PaletteSelectorViewModel( ) }; + all_main_render.Add( UIControl_Palette ); - UIControl_Files = new UserFileRender("ShareFiles", "", ""); - all_main_render.Add(UIControl_Files); + UIControl_Files = new UserFileRender( "ShareFiles", "", "" ); + all_main_render.Add( UIControl_Files ); } - private void SetShowRenderControl(UserControl control) + private void SetShowRenderControl( UserControl control ) { - if (!ReferenceEquals(CurrentRender, control)) + if (!ReferenceEquals( CurrentRender, control )) { CurrentRender = control; //UserContentControl.Content = control; - DoubleAnimation d_opacity = new DoubleAnimation(1, 0, TimeSpan.FromMilliseconds(100)); - DoubleAnimation d_y = new DoubleAnimation(0, -10, TimeSpan.FromMilliseconds(100)); - TranslateTransform tt = new TranslateTransform(); + DoubleAnimation d_opacity = new DoubleAnimation( 1, 0, TimeSpan.FromMilliseconds( 100 ) ); + DoubleAnimation d_y = new DoubleAnimation( 0, -10, TimeSpan.FromMilliseconds( 100 ) ); + TranslateTransform tt = new TranslateTransform( ); UserContentControl.RenderTransform = tt; d_opacity.Completed += delegate { UserContentControl.Content = control; - DoubleAnimation d_opacity2 = new DoubleAnimation(0, 1, TimeSpan.FromMilliseconds(100)); - DoubleAnimation d_y2 = new DoubleAnimation(10, 0, TimeSpan.FromMilliseconds(100)); - TranslateTransform tt2 = new TranslateTransform(); + DoubleAnimation d_opacity2 = new DoubleAnimation( 0, 1, TimeSpan.FromMilliseconds( 100 ) ); + DoubleAnimation d_y2 = new DoubleAnimation( 10, 0, TimeSpan.FromMilliseconds( 100 ) ); + TranslateTransform tt2 = new TranslateTransform( ); UserContentControl.RenderTransform = tt2; - tt2.BeginAnimation(TranslateTransform.XProperty, d_y2); - UserContentControl.BeginAnimation(OpacityProperty, d_opacity2); + tt2.BeginAnimation( TranslateTransform.XProperty, d_y2 ); + UserContentControl.BeginAnimation( OpacityProperty, d_opacity2 ); }; - UserContentControl.BeginAnimation(OpacityProperty, d_opacity); - tt.BeginAnimation(TranslateTransform.XProperty, d_y); + UserContentControl.BeginAnimation( OpacityProperty, d_opacity ); + tt.BeginAnimation( TranslateTransform.XProperty, d_y ); } } - private void SetShowRenderControl(Type typeControl) + private void SetShowRenderControl( Type typeControl ) { UserControl control = null; foreach (var c in all_main_render) { - if (c.GetType() == typeControl) + if (c.GetType( ) == typeControl) { control = c; break; } } - if (control != null) SetShowRenderControl(control); + if (control != null) SetShowRenderControl( control ); } #endregion - #region User Interface @@ -790,56 +792,56 @@ private void SetShowRenderControl(Type typeControl) - private void Button_BackMain_Click(object sender, RoutedEventArgs e) + private void Button_BackMain_Click( object sender, RoutedEventArgs e ) { //点击了主页 - SetShowRenderControl(UIControl_Home); + SetShowRenderControl( UIControl_Home ); } - - private async void Button_Dialog_Click(object sender, RoutedEventArgs e) + + private async void Button_Dialog_Click( object sender, RoutedEventArgs e ) { //点击了显示一个提示的窗体 DialogHostWait.IsOpen = true; - await Task.Delay(2000); + await Task.Delay( 2000 ); DialogHostWait.IsOpen = false; } - private void packIcon_right_profile_MouseDown(object sender, MouseButtonEventArgs e) + private void packIcon_right_profile_MouseDown( object sender, MouseButtonEventArgs e ) { // 点击我的信息 - MenuItem我的信息_Click(sender, null); + MenuItem我的信息_Click( sender, null ); } - private void packIcon_right_file_MouseDown(object sender, MouseButtonEventArgs e) + private void packIcon_right_file_MouseDown( object sender, MouseButtonEventArgs e ) { // 点击共享文件 - Border_MouseLeftButtonDown(sender, e); + Border_MouseLeftButtonDown( sender, e ); } - - private void packIcon_right_shrink_Click(object sender, RoutedEventArgs e) + + private void packIcon_right_shrink_Click( object sender, RoutedEventArgs e ) { DoubleAnimation doubleAnimation = new DoubleAnimation( - 25, new Duration(TimeSpan.FromMilliseconds(300))); + 25, new Duration( TimeSpan.FromMilliseconds( 300 ) ) ); doubleAnimation.Completed += DoubleAnimation_Completed; - MainPageRight.BeginAnimation(WidthProperty, doubleAnimation); + MainPageRight.BeginAnimation( WidthProperty, doubleAnimation ); } - private void DoubleAnimation_Completed(object sender, EventArgs e) + private void DoubleAnimation_Completed( object sender, EventArgs e ) { MainPageRightMini.Visibility = Visibility.Visible; MainPageRight.Visibility = Visibility.Collapsed; } - private void packIcon_right_restore_Click(object sender, RoutedEventArgs e) + private void packIcon_right_restore_Click( object sender, RoutedEventArgs e ) { DoubleAnimation doubleAnimation = new DoubleAnimation( - 25, 230, new Duration(TimeSpan.FromMilliseconds(300))); + 25, 230, new Duration( TimeSpan.FromMilliseconds( 300 ) ) ); MainPageRight.Visibility = Visibility.Visible; MainPageRightMini.Visibility = Visibility.Collapsed; - MainPageRight.BeginAnimation(WidthProperty, doubleAnimation); + MainPageRight.BeginAnimation( WidthProperty, doubleAnimation ); } - + #endregion } } diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/packages.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/packages.config" index ebe5e7f..22e9f8b 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/packages.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/packages.config" @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf.csproj" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf.csproj" index 4b0e603..970c031 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf.csproj" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円Wpf.csproj" @@ -40,8 +40,8 @@ ..\CommonLibrary\bin\Debug\CommonLibrary.dll - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll ..\packages\MaterialDesignColors.1.1.3\lib\net45\MaterialDesignColors.dll @@ -49,8 +49,8 @@ ..\packages\MaterialDesignThemes.2.4.0.1044\lib\net45\MaterialDesignThemes.Wpf.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormLogin.Designer.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormLogin.Designer.cs" index 8f44cf3..05f548b 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormLogin.Designer.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormLogin.Designer.cs" @@ -153,6 +153,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(420, 194); this.Controls.Add(this.checkBox_remeber); this.Controls.Add(this.label_status); diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.Designer.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.Designer.cs" index afb1590..1b49fde 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.Designer.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.Designer.cs" @@ -159,7 +159,7 @@ private void InitializeComponent() // // menuStrip1 // - this.menuStrip1.BackColor = System.Drawing.SystemColors.Control; + this.menuStrip1.BackColor = System.Drawing.Color.AliceBlue; this.menuStrip1.Font = new System.Drawing.Font("Microsoft YaHei UI", 15F); this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.管理员ToolStripMenuItem, @@ -190,54 +190,54 @@ private void InitializeComponent() // 更改公告ToolStripMenuItem // this.更改公告ToolStripMenuItem.Name = "更改公告ToolStripMenuItem"; - this.更改公告ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.更改公告ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.更改公告ToolStripMenuItem.Text = "更改公告"; this.更改公告ToolStripMenuItem.Click += new System.EventHandler(this.更改公告ToolStripMenuItem_Click); // // 账户管理ToolStripMenuItem // this.账户管理ToolStripMenuItem.Name = "账户管理ToolStripMenuItem"; - this.账户管理ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.账户管理ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.账户管理ToolStripMenuItem.Text = "账户管理"; this.账户管理ToolStripMenuItem.Click += new System.EventHandler(this.账户管理ToolStripMenuItem_Click); // // 注册账号ToolStripMenuItem // this.注册账号ToolStripMenuItem.Name = "注册账号ToolStripMenuItem"; - this.注册账号ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.注册账号ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.注册账号ToolStripMenuItem.Text = "注册账号"; this.注册账号ToolStripMenuItem.Click += new System.EventHandler(this.注册账号ToolStripMenuItem_Click); // // 消息发送ToolStripMenuItem // this.消息发送ToolStripMenuItem.Name = "消息发送ToolStripMenuItem"; - this.消息发送ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.消息发送ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.消息发送ToolStripMenuItem.Text = "消息发送"; this.消息发送ToolStripMenuItem.Click += new System.EventHandler(this.消息发送ToolStripMenuItem_Click); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(161, 6); // // 远程更新ToolStripMenuItem // this.远程更新ToolStripMenuItem.Name = "远程更新ToolStripMenuItem"; - this.远程更新ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.远程更新ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.远程更新ToolStripMenuItem.Text = "远程更新"; this.远程更新ToolStripMenuItem.Click += new System.EventHandler(this.远程更新ToolStripMenuItem_Click); // // 日志查看ToolStripMenuItem // this.日志查看ToolStripMenuItem.Name = "日志查看ToolStripMenuItem"; - this.日志查看ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.日志查看ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.日志查看ToolStripMenuItem.Text = "日志查看"; this.日志查看ToolStripMenuItem.Click += new System.EventHandler(this.日志查看ToolStripMenuItem_Click); // // 系统配置ToolStripMenuItem // this.系统配置ToolStripMenuItem.Name = "系统配置ToolStripMenuItem"; - this.系统配置ToolStripMenuItem.Size = new System.Drawing.Size(180, 32); + this.系统配置ToolStripMenuItem.Size = new System.Drawing.Size(164, 32); this.系统配置ToolStripMenuItem.Text = "系统配置"; this.系统配置ToolStripMenuItem.Click += new System.EventHandler(this.系统配置ToolStripMenuItem_Click); // @@ -622,6 +622,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.ClientSize = new System.Drawing.Size(921, 476); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.panel_main); diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.cs" index 09a0109..8921ada 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/FormMainWindow.cs" @@ -140,7 +140,6 @@ private void FormMainWindow_Shown(object sender, EventArgs e) { 日志查看ToolStripMenuItem.Enabled = false; 远程更新ToolStripMenuItem.Enabled = false; - 开发中心ToolStripMenuItem.Enabled = false; 系统配置ToolStripMenuItem.Enabled = false; } diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/GroupFilesRender.Designer.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/GroupFilesRender.Designer.cs" index c07bc09..cedb6c3 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/GroupFilesRender.Designer.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/GroupFilesRender.Designer.cs" @@ -114,15 +114,16 @@ private void InitializeComponent() this.panel2.Size = new System.Drawing.Size(706, 427); this.panel2.TabIndex = 1; // - // ShareFilesRender + // GroupFilesRender // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.panel2); this.Controls.Add(this.panel1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); - this.Name = "ShareFilesRender"; + this.Name = "GroupFilesRender"; this.Size = new System.Drawing.Size(706, 462); this.Load += new System.EventHandler(this.ShareFilesRender_Load); this.panel1.ResumeLayout(false); diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/OnlineChatRender.Designer.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/OnlineChatRender.Designer.cs" index f421da1..e6554eb 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/OnlineChatRender.Designer.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/OnlineChatRender.Designer.cs" @@ -73,6 +73,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.label1); this.Controls.Add(this.textBox1); this.Controls.Add(this.richTextBox1); diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/RenderMain.Designer.cs" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/RenderMain.Designer.cs" index a0db629..d620b4b 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/RenderMain.Designer.cs" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/UIControls/RenderMain.Designer.cs" @@ -75,6 +75,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.AliceBlue; this.Controls.Add(this.linkLabel2); this.Controls.Add(this.linkLabel1); this.Controls.Add(this.label1); diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/app.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/app.config" index 2bbe771..e936cc1 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/app.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/app.config" @@ -4,7 +4,7 @@ - + diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/packages.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/packages.config" index df1de47..dc90fdd 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/packages.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/packages.config" @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円.csproj" "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円.csproj" index 4bf199c..e53970b 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円.csproj" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円345円256円242円346円210円267円347円253円257円346円250円241円347円211円210円.csproj" @@ -39,11 +39,11 @@ ..\CommonLibrary\bin\Debug\CommonLibrary.dll - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net35\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net35\Newtonsoft.Json.dll diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/app.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/app.config" index 2bbe771..e936cc1 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/app.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/app.config" @@ -4,7 +4,7 @@ - + diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/packages.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/packages.config" index df1de47..dc90fdd 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/packages.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/packages.config" @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円.csproj" "b/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円.csproj" index febb5bd..026b6f9 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円.csproj" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円234円215円345円212円241円347円253円257円346円250円241円347円211円210円.csproj" @@ -35,11 +35,11 @@ ..\CommonLibrary\bin\Debug\CommonLibrary.dll - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net35\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net35\Newtonsoft.Json.dll diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/Web.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/Web.config" index 4230aab..c1054d5 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/Web.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/Web.config" @@ -21,7 +21,7 @@ - + diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/packages.config" "b/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/packages.config" index 6b1bed1..b411c8c 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/packages.config" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/packages.config" @@ -2,7 +2,7 @@ - + @@ -27,7 +27,7 @@ - + diff --git "a/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円.csproj" "b/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円.csproj" index de432d6..555da57 100644 --- "a/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円.csproj" +++ "b/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円/350円275円257円344円273円266円347円263円273円347円273円237円346円265円217円350円247円210円345円231円250円346円250円241円347円211円210円.csproj" @@ -57,8 +57,8 @@ False ..\CommonLibrary\bin\Debug\CommonLibrary.dll - - ..\packages\HslCommunication.5.0.7\lib\net35\HslCommunication.dll + + ..\packages\HslCommunication.5.7.3\lib\net35\HslCommunication.dll ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.2.4.0\lib\net45\Microsoft.AI.Agent.Intercept.dll @@ -88,8 +88,8 @@ ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll

AltStyle によって変換されたページ (->オリジナル) /