初始化
This commit is contained in:
BIN
RCU-10/.vs/RCU/v16/.suo
Normal file
BIN
RCU-10/.vs/RCU/v16/.suo
Normal file
Binary file not shown.
25
RCU-10/RCU.sln
Normal file
25
RCU-10/RCU.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30104.148
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RCU", "RCU\RCU.vbproj", "{DCDFB337-7F07-44F0-A269-2D23D487D50E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{DCDFB337-7F07-44F0-A269-2D23D487D50E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DCDFB337-7F07-44F0-A269-2D23D487D50E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DCDFB337-7F07-44F0-A269-2D23D487D50E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DCDFB337-7F07-44F0-A269-2D23D487D50E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {CBD2CF25-83C9-4279-9883-21674530169A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
11
RCU-10/RCU/ADODB/Recordset.vb
Normal file
11
RCU-10/RCU/ADODB/Recordset.vb
Normal file
@@ -0,0 +1,11 @@
|
||||
Namespace ADODB
|
||||
Friend Class Recordset
|
||||
Friend Function Fields(v As String) As Object
|
||||
Throw New NotImplementedException()
|
||||
End Function
|
||||
|
||||
Friend Sub Close()
|
||||
Throw New NotImplementedException()
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
54
RCU-10/RCU/App.config
Normal file
54
RCU-10/RCU/App.config
Normal file
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="RCU.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<RCU.My.MySettings>
|
||||
<setting name="CBoLongIP" serializeAs="String">
|
||||
<value>192.168.1.1</value>
|
||||
</setting>
|
||||
<setting name="NumRemotePort" serializeAs="String">
|
||||
<value>1024</value>
|
||||
</setting>
|
||||
<setting name="NumLocalPort" serializeAs="String">
|
||||
<value>5533</value>
|
||||
</setting>
|
||||
<setting name="CBoBaud" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="CBoMode" serializeAs="String">
|
||||
<value>正常模式</value>
|
||||
</setting>
|
||||
<setting name="CboRFDevType" serializeAs="String">
|
||||
<value>RS485透传模块</value>
|
||||
</setting>
|
||||
<setting name="CboCMD15Buad" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="rfcmd14Way" serializeAs="String">
|
||||
<value>不控制</value>
|
||||
</setting>
|
||||
<setting name="CboRFCMD21ControlMode" serializeAs="String">
|
||||
<value>向上渐变调光</value>
|
||||
</setting>
|
||||
<setting name="CboSerialBaud" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="CboSerialPort" serializeAs="String">
|
||||
<value>COM1</value>
|
||||
</setting>
|
||||
<setting name="CurtainsCMD" serializeAs="String">
|
||||
<value>27</value>
|
||||
</setting>
|
||||
<setting name="CurtainsData" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
</RCU.My.MySettings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
2
RCU-10/RCU/ApplicationEvents.vb
Normal file
2
RCU-10/RCU/ApplicationEvents.vb
Normal file
@@ -0,0 +1,2 @@
|
||||
Namespace My
|
||||
End Namespace
|
||||
15
RCU-10/RCU/Database/Base/ColumnSchema.vb
Normal file
15
RCU-10/RCU/Database/Base/ColumnSchema.vb
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
Namespace Database.Base
|
||||
''' <summary>
|
||||
''' Contains the schema of a single DB column.
|
||||
''' </summary>
|
||||
Public Class ColumnSchema
|
||||
Public ColumnName As String
|
||||
Public ColumnType As String
|
||||
Public Length As Integer
|
||||
Public IsNullable As Boolean
|
||||
Public DefaultValue As String
|
||||
Public IsIdentity As Boolean
|
||||
Public IsCaseSensitivity As Boolean? = Nothing
|
||||
End Class
|
||||
End NameSpace
|
||||
297
RCU-10/RCU/Database/Base/CommandHelpers.vb
Normal file
297
RCU-10/RCU/Database/Base/CommandHelpers.vb
Normal file
@@ -0,0 +1,297 @@
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Base
|
||||
|
||||
Public MustInherit Class CommandHelpers
|
||||
Public Overridable Function Search(param As SearchParams) As String
|
||||
Dim searchString As New StringBuilder
|
||||
|
||||
'基础查询
|
||||
searchString.Append("Select")
|
||||
searchString.Append(" ")
|
||||
searchString.Append($"{String.Join(",", param.SearchColNames)}")
|
||||
searchString.Append(" ")
|
||||
searchString.Append("From")
|
||||
searchString.Append(" ")
|
||||
searchString.Append($"`{param.TableName}`")
|
||||
|
||||
'筛选条件
|
||||
If param.SearchCondition IsNot Nothing Then
|
||||
If param.SearchCondition.Count > 0 Then
|
||||
searchString.Append(" ")
|
||||
searchString.Append("Where")
|
||||
For i As Integer = 0 To param.SearchCondition.Count - 1
|
||||
If i > 0 Then
|
||||
searchString.Append(" ")
|
||||
searchString.Append(param.SearchCondition(i).LogicPrevious.ToString())
|
||||
End If
|
||||
searchString.Append(param.SearchCondition(i).ToString())
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
'排序与排序方式
|
||||
If param.OrderType <> SearchParams.OrderTypeEnum.None Then
|
||||
searchString.Append($" Order By {param.OrderColName} {param.OrderType}")
|
||||
End If
|
||||
|
||||
'返回结果行数
|
||||
If param.Limit > -1 Then
|
||||
searchString.Append($" Limit {param.Limit}")
|
||||
End If
|
||||
|
||||
searchString.Append(";")
|
||||
Return searchString.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function SearchAll(tableName As String) As String
|
||||
Return $"Select * FROM `{tableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchAll(tableName As String, condition As String) As String
|
||||
Return $"Select * FROM `{tableName}` WHERE {condition};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Search(columnName As List(Of String), tableName As String) As String
|
||||
Dim colNameString As New StringBuilder
|
||||
For i As Integer = 0 To columnName.Count - 1
|
||||
If i = 0 Then
|
||||
colNameString.Append($"`{columnName(i)}`")
|
||||
Else
|
||||
colNameString.Append($",`{columnName(i)}`")
|
||||
End If
|
||||
Next
|
||||
|
||||
Return $"Select {colNameString} FROM `{tableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Search(columnName As String, tableName As String) As String
|
||||
Return $"Select {columnName} FROM `{tableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Search(columnName As String, tableName As String, condition As String) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` WHERE {condition};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Search(columnName As String, tableName As String, condition As String, limit As Integer) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Limit {limit};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchDistinct(columnName As String, tableName As String) As String
|
||||
Return $"Select Distinct {columnName} FROM `{tableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchDistinct(columnName As String, tableName As String, condition As String) As String
|
||||
Return $"Select Distinct {columnName} FROM `{tableName}` WHERE {condition};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchDescOrder(columnName As String, tableName As String, orderCol As String) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` Order By {orderCol} Desc;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchDescOrder(columnName As String, tableName As String, orderCol As String, limit As Integer) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` Order By {orderCol} Desc Limit {limit};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchDescOrder(columnName As String, ByVal tableName As String, ByVal condition As String, ByVal orderCol As String) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Order By `{orderCol}` Desc;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchDescOrder(columnName As String, ByVal tableName As String, ByVal condition As String, ByVal orderCol As String, limit As Integer) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Order By `{orderCol}` Desc Limit {limit};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchAscOrder(ByVal columnName As String, ByVal tableName As String, ByVal orderCol As String) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` Order By {orderCol} Asc;"
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function SearchAscOrder(ByVal columnName As String, ByVal tableName As String, ByVal condition As String, ByVal orderCol As String) As String
|
||||
Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Order By {orderCol} Asc;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchNullTable(tableName As String) As String
|
||||
Return $"Select * FROM `{tableName}` Where Limit 0;"
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function Insert(ByVal tableName As String, ByVal values As String) As String
|
||||
Return $"Insert into `{tableName}` Values ( {values} );"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Insert(ByVal tableName As String, ByVal colNames As String, ByVal values As String) As String
|
||||
Return $"Insert into `{tableName}` ({colNames}) Values ( {values} );"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Insert(tableName As String, dicNameValues As Dictionary(Of String, String)) As String
|
||||
Dim colNames As New StringBuilder
|
||||
Dim values As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If colNames.Length = 0 Then
|
||||
colNames.Append($"`{keyValuePair.Key}`")
|
||||
values.Append($"'{keyValuePair.Value}'")
|
||||
Else
|
||||
colNames.Append($",`{keyValuePair.Key}`")
|
||||
values.Append($",'{keyValuePair.Value}'")
|
||||
End If
|
||||
Next
|
||||
Return Insert(tableName, colNames.ToString(), values.ToString())
|
||||
End Function
|
||||
|
||||
Public Overridable Function InsertByParameters(tableName As String, dicNameValues As Dictionary(Of String, String)) As String
|
||||
Dim colNames As New StringBuilder
|
||||
Dim values As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If colNames.Length = 0 Then
|
||||
colNames.Append($"`{keyValuePair.Key}`")
|
||||
values.Append($"{keyValuePair.Value}")
|
||||
Else
|
||||
colNames.Append($",`{keyValuePair.Key}`")
|
||||
values.Append($",{keyValuePair.Value}")
|
||||
End If
|
||||
Next
|
||||
Return Insert(tableName, colNames.ToString(), values.ToString())
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function AddCol(ByVal tableName As String, ByVal colName As String, ByVal colType As String, Optional isNull As Boolean = True) As String
|
||||
Return $"Alter Table `{tableName}` Add `{colName}` {colType} {IIf(isNull, "Default Null", "Not Null")};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function AddCol(ByVal tableName As String, colParam As DatabaseData) As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"Alter Table `{tableName}` ")
|
||||
sb.Append("Add ")
|
||||
sb.Append(colParam.ToAddColString())
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function AddCols(tableName As String, colList As List(Of DatabaseData)) As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"Alter Table `{tableName}` ")
|
||||
sb.Append("Add ")
|
||||
sb.Append("( ")
|
||||
|
||||
sb.Append(colList(0).ToAddColString())
|
||||
For i As Integer = 1 To colList.Count - 1
|
||||
sb.Append($",{colList(i).ToAddColString()}")
|
||||
Next
|
||||
|
||||
sb.Append(");")
|
||||
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function Update(ByVal tableName As String, ByVal destStr As String, ByVal condition As String) As String
|
||||
Return $"Update `{tableName}` Set {destStr} Where {condition};"
|
||||
End Function
|
||||
|
||||
Public Overridable Function Update(ByVal tableName As String, dicNameValues As Dictionary(Of String, String), ByVal condition As String) As String
|
||||
Dim destStr As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If destStr.Length = 0 Then
|
||||
destStr.Append($"`{keyValuePair.Key}` = '{keyValuePair.Value}'")
|
||||
Else
|
||||
destStr.Append($",`{keyValuePair.Key}` = '{keyValuePair.Value}'")
|
||||
End If
|
||||
Next
|
||||
Return Update(tableName, destStr.ToString(), condition)
|
||||
End Function
|
||||
|
||||
Public Overridable Function Update(ByVal tableName As String, names() As String, values() As String, condition As String) As String
|
||||
Dim destStr As New StringBuilder
|
||||
If names.Length <> values.Length Then
|
||||
Throw New Exception("DBHelpers_Update:names.Length <> values.Length")
|
||||
End If
|
||||
|
||||
For i As Integer = 0 To names.Length - 1
|
||||
If i = 0 Then
|
||||
destStr.Append($"{names(i)} = '{values(i)}'")
|
||||
Else
|
||||
destStr.Append($",{names(i)} = '{values(i)}'")
|
||||
End If
|
||||
Next
|
||||
|
||||
Return Update(tableName, destStr.ToString(), condition)
|
||||
End Function
|
||||
|
||||
Public Overridable Function DeleteRows(ByVal tableName As String, ByVal condition As String) As String
|
||||
Return $"Delete From `{tableName}` Where {condition};"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 清空数据表
|
||||
''' </summary>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DeleteTable(ByVal tableName As String) As String
|
||||
Return $"Delete From `{tableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function DropCol(ByVal tableName As String, ByVal colName As String) As String
|
||||
Return $"Alter Table `{tableName}` Drop Column `{colName}`;"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 删除数据表
|
||||
''' </summary>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DropTable(ByVal tableName As String) As String
|
||||
Return $"Drop Table `{tableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function CreateTable(ByVal tableName As String, ByVal createStr As String) As String
|
||||
Return $"Create Table `{tableName}` ( {createStr} );"
|
||||
End Function
|
||||
|
||||
Public Overridable Function CreateTableWhenNotExists(tableName As String, createStr As String) As String
|
||||
Return $"Create Table if not exists `{tableName}` ( {createStr} );"
|
||||
End Function
|
||||
|
||||
|
||||
Public Overridable Function CreateLikeTable(tableName As String, baseTableName As String) As String
|
||||
Return $"create table `{tableName}` like `{baseTableName}`;"
|
||||
End Function
|
||||
|
||||
Public Overridable Function CreateLikeTableNotExists(tableName As String, baseTableName As String) As String
|
||||
Return $"create table if not exists `{tableName}` like `{baseTableName}`;"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 创建表,同时复制基础表数据(不包含原表索引与主键)
|
||||
''' 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="baseTableName">基础表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function CreateCopyTable(tableName As String, baseTableName As String) As String
|
||||
Return $"create table `{tableName}` as select * from `{baseTableName}`;"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 不存在表时即创建表,同时复制基础表数据(不包含原表索引与主键)
|
||||
''' 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="baseTableName">基础表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function CreateCopyTableNotExists(tableName As String, baseTableName As String) As String
|
||||
Return $"create table if not exists `{tableName}` as select * from `{baseTableName}`;"
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 复制基础表数据到新表中
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="baseTableName">基础表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function InsertCopyTable(tableName As String, baseTableName As String) As String
|
||||
Return $"insert into `{tableName}` select * from `{baseTableName}`;"
|
||||
End Function
|
||||
End Class
|
||||
End Namespace
|
||||
94
RCU-10/RCU/Database/Base/DatabaseData.vb
Normal file
94
RCU-10/RCU/Database/Base/DatabaseData.vb
Normal file
@@ -0,0 +1,94 @@
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Base
|
||||
Public Class DatabaseData
|
||||
Enum TypeEnum
|
||||
[Bit]
|
||||
[Char]
|
||||
[Date]
|
||||
[DateTime]
|
||||
[Double]
|
||||
[Enum]
|
||||
[Float]
|
||||
[Int]
|
||||
[IntUnsigned]
|
||||
[Json]
|
||||
[Text]
|
||||
[Time]
|
||||
Varchar
|
||||
[Year]
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColumnName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当前值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Value() As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 默认值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DefaultValue() As String
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataType() As TypeEnum
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型长度
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataTypeLength() As Integer
|
||||
|
||||
''' <summary>
|
||||
''' 是否允许为空
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsNull() As Boolean = True
|
||||
|
||||
''' <summary>
|
||||
''' 是否自动增长
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsAutoIncrement() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为主键
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsPrimaryKey() As Boolean
|
||||
|
||||
Public Function ToAddColString() As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"`{ColumnName}`")
|
||||
|
||||
Select Case DataType
|
||||
Case TypeEnum.Char, TypeEnum.Varchar
|
||||
sb.Append($" {DataType}({DataTypeLength}) ")
|
||||
Case TypeEnum.Int
|
||||
sb.Append($" {DataType}")
|
||||
If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT")
|
||||
Case Else
|
||||
sb.Append($" {DataType}")
|
||||
End Select
|
||||
|
||||
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
|
||||
|
||||
If IsPrimaryKey Then
|
||||
sb.Append($" PRIMARY KEY")
|
||||
End If
|
||||
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
End Class
|
||||
End Namespace
|
||||
12
RCU-10/RCU/Database/Base/DatabaseSchema.vb
Normal file
12
RCU-10/RCU/Database/Base/DatabaseSchema.vb
Normal file
@@ -0,0 +1,12 @@
|
||||
Imports System.Collections.Generic
|
||||
|
||||
Namespace Database.Base
|
||||
|
||||
''' <summary>
|
||||
''' Contains the entire database schema
|
||||
''' </summary>
|
||||
Public Class DatabaseSchema
|
||||
Public Tables As List(Of TableSchema) = New List(Of TableSchema)()
|
||||
Public Views As List(Of ViewSchema) = New List(Of ViewSchema)()
|
||||
End Class
|
||||
End NameSpace
|
||||
11
RCU-10/RCU/Database/Base/ForeignKeySchema.vb
Normal file
11
RCU-10/RCU/Database/Base/ForeignKeySchema.vb
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
Namespace Database.Base
|
||||
Public Class ForeignKeySchema
|
||||
Public TableName As String
|
||||
Public ColumnName As String
|
||||
Public ForeignTableName As String
|
||||
Public ForeignColumnName As String
|
||||
Public CascadeOnDelete As Boolean
|
||||
Public IsNullable As Boolean
|
||||
End Class
|
||||
End NameSpace
|
||||
16
RCU-10/RCU/Database/Base/IndexSchema.vb
Normal file
16
RCU-10/RCU/Database/Base/IndexSchema.vb
Normal file
@@ -0,0 +1,16 @@
|
||||
Imports System.Collections.Generic
|
||||
|
||||
Namespace Database.Base
|
||||
|
||||
|
||||
Public Class IndexSchema
|
||||
Public IndexName As String
|
||||
Public IsUnique As Boolean
|
||||
Public Columns As List(Of IndexColumn)
|
||||
End Class
|
||||
|
||||
Public Class IndexColumn
|
||||
Public ColumnName As String
|
||||
Public IsAscending As Boolean
|
||||
End Class
|
||||
End NameSpace
|
||||
7
RCU-10/RCU/Database/Base/InsertParams.vb
Normal file
7
RCU-10/RCU/Database/Base/InsertParams.vb
Normal file
@@ -0,0 +1,7 @@
|
||||
Namespace Database.Base
|
||||
Public Class InsertParams
|
||||
Public Property TableName() As String
|
||||
|
||||
Public Property InsertKeyValue As Dictionary(Of String, String)
|
||||
End Class
|
||||
End Namespace
|
||||
71
RCU-10/RCU/Database/Base/SearchCondition.vb
Normal file
71
RCU-10/RCU/Database/Base/SearchCondition.vb
Normal file
@@ -0,0 +1,71 @@
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Base
|
||||
Public Class SearchCondition
|
||||
Enum ConditionType
|
||||
LessThan
|
||||
GreaterThen
|
||||
EqualTo
|
||||
LessThanOrEqualTo
|
||||
GreaterThenOrEqualTo
|
||||
End Enum
|
||||
|
||||
Enum LogicType
|
||||
[And]
|
||||
[Or]
|
||||
[Not]
|
||||
End Enum
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 判断列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 判断条件
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Condition() As ConditionType = ConditionType.EqualTo
|
||||
|
||||
''' <summary>
|
||||
''' 判断值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColValue() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当前条件与上一个条件的逻辑关系
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property LogicPrevious() As LogicType = LogicType.And
|
||||
|
||||
''' <summary>
|
||||
''' 将当前条件转换为字符串,不支持将条件逻辑关系同时转换
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Overrides Function ToString() As String
|
||||
Dim stringBuilder As New StringBuilder
|
||||
stringBuilder.Append(" ")
|
||||
stringBuilder.Append(ColName)
|
||||
|
||||
Select Case Condition
|
||||
Case ConditionType.EqualTo
|
||||
stringBuilder.Append("=")
|
||||
Case ConditionType.LessThan
|
||||
stringBuilder.Append("<")
|
||||
Case ConditionType.LessThanOrEqualTo
|
||||
stringBuilder.Append("<=")
|
||||
Case ConditionType.GreaterThen
|
||||
stringBuilder.Append(">")
|
||||
Case ConditionType.GreaterThenOrEqualTo
|
||||
stringBuilder.Append(">=")
|
||||
End Select
|
||||
|
||||
stringBuilder.Append($"'{ColValue}'")
|
||||
|
||||
Return stringBuilder.ToString()
|
||||
End Function
|
||||
End Class
|
||||
End Namespace
|
||||
46
RCU-10/RCU/Database/Base/SearchParams.vb
Normal file
46
RCU-10/RCU/Database/Base/SearchParams.vb
Normal file
@@ -0,0 +1,46 @@
|
||||
Namespace Database.Base
|
||||
Public Class SearchParams
|
||||
Enum OrderTypeEnum
|
||||
None
|
||||
Desc
|
||||
Asc
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 查询条件的表名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property TableName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当IsSearchAllCols = False时,查询返回列名集合
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property SearchColNames() As String()
|
||||
|
||||
''' <summary>
|
||||
''' 查询的条件
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property SearchCondition() As List(Of SearchCondition)
|
||||
|
||||
''' <summary>
|
||||
''' 排序方式
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property OrderType As OrderTypeEnum = OrderTypeEnum.None
|
||||
|
||||
''' <summary>
|
||||
''' 但需要排序时排序列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property OrderColName() As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 从返回结果提取指定行的内容
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Limit() As Integer = 0
|
||||
End Class
|
||||
End Namespace
|
||||
14
RCU-10/RCU/Database/Base/TableSchema.vb
Normal file
14
RCU-10/RCU/Database/Base/TableSchema.vb
Normal file
@@ -0,0 +1,14 @@
|
||||
Imports System.Collections.Generic
|
||||
|
||||
Namespace Database.Base
|
||||
|
||||
|
||||
Public Class TableSchema
|
||||
Public TableName As String
|
||||
Public TableSchemaName As String
|
||||
Public Columns As List(Of ColumnSchema)
|
||||
Public PrimaryKey As List(Of String)
|
||||
Public ForeignKeys As List(Of ForeignKeySchema)
|
||||
Public Indexes As List(Of IndexSchema)
|
||||
End Class
|
||||
End NameSpace
|
||||
71
RCU-10/RCU/Database/Base/TriggerBuilder.vb
Normal file
71
RCU-10/RCU/Database/Base/TriggerBuilder.vb
Normal file
@@ -0,0 +1,71 @@
|
||||
Imports System.Collections.Generic
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Base
|
||||
|
||||
Public Module TriggerBuilder
|
||||
Public Function GetForeignKeyTriggers(ByVal dt As TableSchema) As IList(Of TriggerSchema)
|
||||
Dim result As IList(Of TriggerSchema) = New List(Of TriggerSchema)()
|
||||
For Each fks As ForeignKeySchema In dt.ForeignKeys
|
||||
result.Add(GenerateInsertTrigger(fks))
|
||||
result.Add(GenerateUpdateTrigger(fks))
|
||||
result.Add(GenerateDeleteTrigger(fks))
|
||||
Next
|
||||
Return result
|
||||
End Function
|
||||
|
||||
Private Function MakeTriggerName(ByVal fks As ForeignKeySchema, ByVal prefix As String) As String
|
||||
Return prefix & "_" & fks.TableName & "_" & fks.ColumnName & "_" & fks.ForeignTableName & "_" & fks.ForeignColumnName
|
||||
End Function
|
||||
|
||||
Public Function GenerateInsertTrigger(ByVal fks As ForeignKeySchema) As TriggerSchema
|
||||
Dim trigger As TriggerSchema = New TriggerSchema()
|
||||
trigger.Name = MakeTriggerName(fks, "fki")
|
||||
trigger.Type = TriggerType.Before
|
||||
trigger.Event = TriggerEvent.Insert
|
||||
trigger.Table = fks.TableName
|
||||
Dim nullString As String = ""
|
||||
|
||||
If fks.IsNullable Then
|
||||
nullString = " NEW." & fks.ColumnName & " IS NOT NULL AND"
|
||||
End If
|
||||
|
||||
trigger.Body = "SELECT RAISE(ROLLBACK, 'insert on table " & fks.TableName & " violates foreign key constraint " & trigger.Name & "')" & " WHERE" & nullString & " (SELECT " & fks.ForeignColumnName & " FROM " & fks.ForeignTableName & " WHERE " & fks.ForeignColumnName & " = NEW." & fks.ColumnName & ") IS NULL; "
|
||||
Return trigger
|
||||
End Function
|
||||
|
||||
Public Function GenerateUpdateTrigger(ByVal fks As ForeignKeySchema) As TriggerSchema
|
||||
Dim trigger As TriggerSchema = New TriggerSchema()
|
||||
trigger.Name = MakeTriggerName(fks, "fku")
|
||||
trigger.Type = TriggerType.Before
|
||||
trigger.Event = TriggerEvent.Update
|
||||
trigger.Table = fks.TableName
|
||||
Dim triggerName As String = trigger.Name
|
||||
Dim nullString As String = ""
|
||||
|
||||
If fks.IsNullable Then
|
||||
nullString = " NEW." & fks.ColumnName & " IS NOT NULL AND"
|
||||
End If
|
||||
|
||||
trigger.Body = "SELECT RAISE(ROLLBACK, 'update on table " & fks.TableName & " violates foreign key constraint " & triggerName & "')" & " WHERE" & nullString & " (SELECT " & fks.ForeignColumnName & " FROM " & fks.ForeignTableName & " WHERE " & fks.ForeignColumnName & " = NEW." & fks.ColumnName & ") IS NULL; "
|
||||
Return trigger
|
||||
End Function
|
||||
|
||||
Public Function GenerateDeleteTrigger(ByVal fks As ForeignKeySchema) As TriggerSchema
|
||||
Dim trigger As TriggerSchema = New TriggerSchema()
|
||||
trigger.Name = MakeTriggerName(fks, "fkd")
|
||||
trigger.Type = TriggerType.Before
|
||||
trigger.Event = TriggerEvent.Delete
|
||||
trigger.Table = fks.ForeignTableName
|
||||
Dim triggerName as String = trigger.Name
|
||||
|
||||
If Not fks.CascadeOnDelete Then
|
||||
trigger.Body = "SELECT RAISE(ROLLBACK, 'delete on table " & fks.ForeignTableName & " violates foreign key constraint " & triggerName & "')" & " WHERE (SELECT " & fks.ColumnName & " FROM " & fks.TableName & " WHERE " & fks.ColumnName & " = OLD." & fks.ForeignColumnName & ") IS NOT NULL; "
|
||||
Else
|
||||
trigger.Body = "DELETE FROM [" & fks.TableName & "] WHERE " & fks.ColumnName & " = OLD." & fks.ForeignColumnName & "; "
|
||||
End If
|
||||
|
||||
Return trigger
|
||||
End Function
|
||||
End Module
|
||||
End NameSpace
|
||||
20
RCU-10/RCU/Database/Base/TriggerSchema.vb
Normal file
20
RCU-10/RCU/Database/Base/TriggerSchema.vb
Normal file
@@ -0,0 +1,20 @@
|
||||
Namespace Database.Base
|
||||
Public Enum TriggerEvent
|
||||
Delete
|
||||
Update
|
||||
Insert
|
||||
End Enum
|
||||
|
||||
Public Enum TriggerType
|
||||
After
|
||||
Before
|
||||
End Enum
|
||||
|
||||
Public Class TriggerSchema
|
||||
Public Name As String
|
||||
Public [Event] As TriggerEvent
|
||||
Public Type As TriggerType
|
||||
Public Body As String
|
||||
Public Table As String
|
||||
End Class
|
||||
End Namespace
|
||||
17
RCU-10/RCU/Database/Base/ViewSchema.vb
Normal file
17
RCU-10/RCU/Database/Base/ViewSchema.vb
Normal file
@@ -0,0 +1,17 @@
|
||||
|
||||
Namespace Database.Base
|
||||
''' <summary>
|
||||
''' Describes a single view schema
|
||||
''' </summary>
|
||||
Public Class ViewSchema
|
||||
''' <summary>
|
||||
''' Contains the view name
|
||||
''' </summary>
|
||||
Public ViewName As String
|
||||
|
||||
''' <summary>
|
||||
''' Contains the view SQL statement
|
||||
''' </summary>
|
||||
Public ViewSql As String
|
||||
End Class
|
||||
End NameSpace
|
||||
730
RCU-10/RCU/Database/DbCmdHelper.vb
Normal file
730
RCU-10/RCU/Database/DbCmdHelper.vb
Normal file
@@ -0,0 +1,730 @@
|
||||
Imports System.Text
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 数据库语句助手
|
||||
''' 时间:2020-12-21
|
||||
''' 作者:ML
|
||||
''' 版本:1.0
|
||||
'''
|
||||
''' 注意:添加一条数据库帮助语句时,需要考虑Mysql/Sqlite/Mssql等数据库是否支持命令,不支持则需要在对应帮助类中重写该帮助语句
|
||||
''' 注意:Sqlite数据库与大多数据库不相同,DB开头数据库语句大多不适用
|
||||
'''
|
||||
''' </summary>
|
||||
Public MustInherit Class DbCmdHelper
|
||||
Protected FiledSuffix As Char
|
||||
Protected FiledPrefix As Char
|
||||
|
||||
Public Shared Function CreateCmdHelper(type As DbExecutor.DbTypeEnum) As DbCmdHelper
|
||||
Select Case type
|
||||
Case DbExecutor.DbTypeEnum.Mysql
|
||||
Return New MysqlCmdHelper()
|
||||
Case DbExecutor.DbTypeEnum.Mssql
|
||||
Return New MssqlCmdHelper()
|
||||
Case DbExecutor.DbTypeEnum.Sqlite
|
||||
Return New SqliteCmdHelper()
|
||||
Case Else
|
||||
Throw New Exception($"CreateCmdHelper :Unknown Type {type}")
|
||||
End Select
|
||||
End Function
|
||||
|
||||
|
||||
#Region "访问单数据库连接"
|
||||
''' <summary>
|
||||
''' 查询指定数据表符合条件的所有数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="condition">查询条件,</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function SearchAll(tableName As String, Optional condition As String = "") As String
|
||||
If String.IsNullOrWhiteSpace(condition) Then
|
||||
Return $"Select * FROM {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
Else
|
||||
Return $"Select * FROM {FiledSuffix}{tableName}{FiledPrefix} WHERE {condition};"
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 查询表符合条件的所有指定列的数据
|
||||
''' </summary>
|
||||
''' <param name="columnName">列名集合,需要返回多列时用','符号分隔列名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="condition">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function Search(columnName As String, tableName As String, Optional condition As String = "") As String
|
||||
If String.IsNullOrWhiteSpace(condition) Then
|
||||
Return $"Select {columnName} FROM {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
Else
|
||||
Return $"Select {columnName} FROM {FiledSuffix}{tableName}{FiledPrefix} WHERE {condition};"
|
||||
End If
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询表符合条件的所有指定列的数据
|
||||
''' </summary>
|
||||
''' <param name="columnName">表名</param>
|
||||
''' <param name="tableName">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function Search(columnName As List(Of String), tableName As String, Optional condition As String = "") As String
|
||||
Dim colNameString As New StringBuilder
|
||||
For i As Integer = 0 To columnName.Count - 1
|
||||
If i = 0 Then
|
||||
colNameString.Append($"{FiledSuffix}{columnName(i)}{FiledPrefix}")
|
||||
Else
|
||||
colNameString.Append($",{FiledSuffix}{columnName(i)}{FiledPrefix}")
|
||||
End If
|
||||
Next
|
||||
|
||||
If String.IsNullOrWhiteSpace(condition) Then
|
||||
Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
Else
|
||||
Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix} Where {condition};"
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Overridable Function SearchOrder(columnName As List(Of String), tableName As String, Optional orderString As String = "") As String
|
||||
Dim colNameString As New StringBuilder
|
||||
For i As Integer = 0 To columnName.Count - 1
|
||||
If i = 0 Then
|
||||
colNameString.Append($"{FiledSuffix}{columnName(i)}{FiledPrefix}")
|
||||
Else
|
||||
colNameString.Append($",{FiledSuffix}{columnName(i)}{FiledPrefix}")
|
||||
End If
|
||||
Next
|
||||
|
||||
If String.IsNullOrWhiteSpace(orderString) Then
|
||||
Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
Else
|
||||
Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix} {orderString};"
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定表包含的内容行数
|
||||
''' </summary>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <param name="condition">查询条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function SearchCount(tableName As String, Optional condition As String = "") As String
|
||||
Return Search("count(*)", tableName, condition)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据表的信息
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function SearchTableInfo(tableName As String) As String
|
||||
Return $"Select * from information_schema.tables where table_name = '{tableName}';"
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据表是否存在的信息,返回查询当前表在数据库中存在的数量
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function SearchTableExists(tableName As String) As String
|
||||
Return $"Select count(*) from information_schema.tables where table_name = '{tableName}';"
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 数据表插入一行数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colNames">列名字符串</param>
|
||||
''' <param name="values">列值字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function Insert(tableName As String, colNames As String, values As String) As String
|
||||
Return $"Insert into {FiledSuffix}{tableName}{FiledPrefix} ({colNames}) Values ( {values} );"
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 数据表插入一行数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="dicNameValues">列名与列值键值对</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function Insert(tableName As String, dicNameValues As Dictionary(Of String, String)) As String
|
||||
Dim colNames As New StringBuilder
|
||||
Dim values As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If colNames.Length = 0 Then
|
||||
colNames.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix}")
|
||||
values.Append($"'{keyValuePair.Value}'")
|
||||
Else
|
||||
colNames.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix}")
|
||||
values.Append($",'{keyValuePair.Value}'")
|
||||
End If
|
||||
Next
|
||||
Return Insert(tableName, colNames.ToString(), values.ToString())
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 数据表插入一行,通过命令参数方式执行时使用
|
||||
''' </summary>
|
||||
''' <param name="tableName"></param>
|
||||
''' <param name="dicNameValues"></param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function InsertParam(tableName As String, dicNameValues As Dictionary(Of String, String)) As String
|
||||
Dim colNames As New StringBuilder
|
||||
Dim values As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If colNames.Length = 0 Then
|
||||
colNames.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix}")
|
||||
values.Append($"{keyValuePair.Value}")
|
||||
Else
|
||||
colNames.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix}")
|
||||
values.Append($",{keyValuePair.Value}")
|
||||
End If
|
||||
Next
|
||||
Return Insert(tableName, colNames.ToString(), values.ToString())
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName}
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colNames">字段列表</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function InsertParam(tableName As String, colNames As List(Of String)) As String
|
||||
Dim colNameString As New StringBuilder
|
||||
Dim values As New StringBuilder
|
||||
For Each colName As String In colNames
|
||||
If colNameString.Length = 0 Then
|
||||
colNameString.Append($"{FiledSuffix}{colName}{FiledPrefix}")
|
||||
values.Append($"@{colName}")
|
||||
Else
|
||||
colNameString.Append($",{FiledSuffix}{colName}{FiledPrefix}")
|
||||
values.Append($",@{colName}")
|
||||
End If
|
||||
Next
|
||||
Return Insert(tableName, colNameString.ToString(), values.ToString())
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 更新指定表数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="destStr">更新字符串</param>
|
||||
''' <param name="condition"></param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function Update(tableName As String, destStr As String, condition As String) As String
|
||||
Return $"Update {FiledSuffix}{tableName}{FiledPrefix} Set {destStr} Where {condition};"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 更新指定表数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="dicNameValues">更新列名与列值键值对</param>
|
||||
''' <param name="condition">更新列索引条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function Update(tableName As String, dicNameValues As Dictionary(Of String, String), condition As String) As String
|
||||
Dim destStr As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If destStr.Length = 0 Then
|
||||
destStr.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix} = '{keyValuePair.Value}'")
|
||||
Else
|
||||
destStr.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix} = '{keyValuePair.Value}'")
|
||||
End If
|
||||
Next
|
||||
Return Update(tableName, destStr.ToString(), condition)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 更新指定数据库中指定表数据,参数名由@{ColName}
|
||||
''' </summary>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="colNames">更新列名的集合</param>
|
||||
''' <param name="condition">更新列索引条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function UpdateParam(tableName As String, colNames As List(Of String), condition As String) As String
|
||||
Dim destStr As New StringBuilder
|
||||
For Each colName As String In colNames
|
||||
If destStr.Length = 0 Then
|
||||
destStr.Append($"{FiledSuffix}{colName}{FiledPrefix} = @{colName}")
|
||||
Else
|
||||
destStr.Append($",{FiledSuffix}{colName}{FiledPrefix} = @{colName}")
|
||||
End If
|
||||
Next
|
||||
Return Update(tableName, destStr.ToString(), condition)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据表增加一列数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colName">列名</param>
|
||||
''' <param name="colType">列类型</param>
|
||||
''' <param name="isNull">是否允许为空</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function AddCol(tableName As String, colName As String, colType As String, Optional isNull As Boolean = True) As String
|
||||
Return $"Alter Table {FiledSuffix}{tableName}{FiledPrefix} Add {FiledSuffix}{colName}{FiledPrefix} {colType} {IIf(isNull, "Default Null", "Not Null")};"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 数据表删除一列数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colName">需要删除的列名,仅一列</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DropCol(tableName As String, colName As String) As String
|
||||
Return $"Alter Table {FiledSuffix}{tableName}{FiledPrefix} Drop Column {FiledSuffix}{colName}{FiledPrefix};"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 删除指定表多行数据
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="condition">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DeleteRows(tableName As String, condition As String) As String
|
||||
Return $"Delete From {FiledSuffix}{tableName}{FiledPrefix} Where {condition};"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 创建数据表
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="createStr">创建表的列信息字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function CreateTable(tableName As String, createStr As String) As String
|
||||
Return $"Create Table {FiledSuffix}{tableName}{FiledPrefix} ( {createStr} );"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 创建数据表,如果存在则不创建
|
||||
''' </summary>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="createStr">创建表的列信息字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function CreateTableWhenNotExists(tableName As String, createStr As String) As String
|
||||
Return $"Create Table if not exists {FiledSuffix}{tableName}{FiledPrefix} ( {createStr} );"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 清空数据表,表依旧存在
|
||||
''' </summary>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DeleteTable(tableName As String) As String
|
||||
Return $"Delete From {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 删除数据表
|
||||
''' </summary>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DropTable(tableName As String) As String
|
||||
Return $"Drop Table {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 删除数据表
|
||||
''' </summary>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DropTableWhenExists(tableName As String) As String
|
||||
Return $"Drop Table If Exists {FiledSuffix}{tableName}{FiledPrefix};"
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "访问多数据库连接"
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据库中指定数据表符合条件的所有指定列的数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="ColsName">列名集合,需要返回多列时用','符号分隔列名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="condition">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbSearch(dbName As String, colsName As String, tableName As String, Optional condition As String = "") As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Select {colsName} From ")
|
||||
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
|
||||
If String.IsNullOrWhiteSpace(condition) = False Then
|
||||
cmdText.Append($" WHERE {condition}")
|
||||
End If
|
||||
|
||||
cmdText.Append($";")
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据库中指定数据表符合条件的所有指定列的去重数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="ColsName">列名集合,需要返回多列时用','符号分隔列名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="condition">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbDistinctSearch(dbName As String, colsName As String, tableName As String, Optional condition As String = "") As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Select Distinct {colsName} From ")
|
||||
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
|
||||
If String.IsNullOrWhiteSpace(condition) = False Then
|
||||
cmdText.Append($" WHERE {condition}")
|
||||
End If
|
||||
|
||||
cmdText.Append($";")
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据库中指定数据表符合条件的所有指定列的数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="columnName">表名</param>
|
||||
''' <param name="tableName">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbSearch(dbName As String, columnName As List(Of String), tableName As String, Optional condition As String = "") As String
|
||||
Dim colNameString As New StringBuilder
|
||||
For i As Integer = 0 To columnName.Count - 1
|
||||
If i = 0 Then
|
||||
colNameString.Append($"{FiledSuffix}{columnName(i)}{FiledPrefix}")
|
||||
Else
|
||||
colNameString.Append($",{FiledSuffix}{columnName(i)}{FiledPrefix}")
|
||||
End If
|
||||
Next
|
||||
|
||||
Return DbSearch(dbName, colNameString.ToString(), tableName, condition)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定表包含的内容行数
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <param name="condition">查询条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbSearchCount(dbName As String, tableName As String, Optional condition As String = "") As String
|
||||
Return DbSearch(dbName, "count(*)", tableName, condition)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据库中指定数据表符合条件的所有数据
|
||||
'''
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <param name="condition">查询条件(可选)</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbSearchAll(dbName As String, tableName As String, Optional condition As String = "") As String
|
||||
Return DbSearch(dbName, "*", tableName, condition)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据库中指定数据表的信息
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbSearchTableInfo(dbName As String, tableName As String) As String
|
||||
Return DbSearch("", "*", "information_schema.tables", "table_schema = '{dbName}' and table_name = '{tableName}'")
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据表是否存在的信息,返回查询当前表在指定数据库中存在的数量
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbSearchTableExists(dbName As String, tableName As String) As String
|
||||
Return DbSearch("", "count(*)", "information_schema.tables", "table_schema = '{dbName}' and table_name = '{tableName}'")
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中数据表插入一行数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colNames">列名字符串</param>
|
||||
''' <param name="values">列值字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbInsert(dbName As String, tableName As String, colNames As String, values As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Insert into ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" ({colNames}) Values ( {values} );")
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中数据表插入一行数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="dicNameValues">列名与列值键值对</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbInsert(dbName As String, tableName As String, dicNameValues As Dictionary(Of String, String)) As String
|
||||
Dim colNames As New StringBuilder
|
||||
Dim values As New StringBuilder
|
||||
For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues
|
||||
If colNames.Length = 0 Then
|
||||
colNames.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix}")
|
||||
values.Append($"'{keyValuePair.Value}'")
|
||||
Else
|
||||
colNames.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix}")
|
||||
values.Append($",'{keyValuePair.Value}'")
|
||||
End If
|
||||
Next
|
||||
|
||||
Return DbInsert(dbName, tableName, colNames.ToString(), values.ToString())
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName}
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName"></param>
|
||||
''' <param name="colNames">需要插入列名的集合</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbInsertParam(dbName As String, tableName As String, colNames As List(Of String)) As String
|
||||
Dim colNameBuilder As New StringBuilder
|
||||
Dim valueBuilder As New StringBuilder
|
||||
For Each colName As String In colNames
|
||||
If colNameBuilder.Length = 0 Then
|
||||
colNameBuilder.Append($"{FiledSuffix}{colName}{FiledPrefix}")
|
||||
valueBuilder.Append($"@{colName}")
|
||||
Else
|
||||
colNameBuilder.Append($",{FiledSuffix}{colName}{FiledPrefix}")
|
||||
valueBuilder.Append($",@{colName}")
|
||||
End If
|
||||
Next
|
||||
'insert into dbName.tablename (1,2,3) value (@1,@2,@3)
|
||||
Return DbInsert(dbName, tableName, colNameBuilder.ToString(), valueBuilder.ToString())
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 更新指定数据库中指定表数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="destStr">更新字符串</param>
|
||||
''' <param name="condition"></param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbUpdate(dbName As String, tableName As String, destStr As String, condition As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
Dim tmpStrCmdText As String = ""
|
||||
|
||||
cmdText.Append($"Update ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" Set {destStr} Where {condition};")
|
||||
tmpStrCmdText = cmdText.ToString()
|
||||
Console.WriteLine("SQL_CMD = " & tmpStrCmdText)
|
||||
|
||||
Return tmpStrCmdText
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 更新指定数据库中指定表数据,参数名由@{ColName}
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="colNames">更新列名的集合</param>
|
||||
''' <param name="condition">更新列索引条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbUpdateParam(dbName As String, tableName As String, colNames As List(Of String), condition As String) As String
|
||||
Dim destStr As New StringBuilder
|
||||
For Each colName As String In colNames
|
||||
If destStr.Length = 0 Then
|
||||
destStr.Append($"{FiledSuffix}{colName}{FiledPrefix} = @{colName}")
|
||||
Else
|
||||
destStr.Append($",{FiledSuffix}{colName}{FiledPrefix} = @{colName}")
|
||||
End If
|
||||
Next
|
||||
Return DbUpdate(dbName, tableName, destStr.ToString(), condition)
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 更新指定数据库中指定表数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">指定表名</param>
|
||||
''' <param name="filedDictionary">更新列名与列值键值对</param>
|
||||
''' <param name="condition">更新列索引条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbUpdate(dbName As String, tableName As String, filedDictionary As Dictionary(Of String, String), condition As String) As String
|
||||
Dim destStr As New StringBuilder
|
||||
For Each filed As KeyValuePair(Of String, String) In filedDictionary
|
||||
If destStr.Length = 0 Then
|
||||
destStr.Append($"{FiledSuffix}{filed.Key}{FiledPrefix} = '{filed.Value}'")
|
||||
Else
|
||||
destStr.Append($",{FiledSuffix}{filed.Key}{FiledPrefix} = '{filed.Value}'")
|
||||
End If
|
||||
Next
|
||||
Return DbUpdate(dbName, tableName, destStr.ToString(), condition)
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中指定数据表增加一列数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colName">列名</param>
|
||||
''' <param name="colType">列类型</param>
|
||||
''' <param name="isNull">是否允许为空</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbAddCol(dbName As String, tableName As String, colName As String, colType As String, Optional isNull As Boolean = True) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Alter Table ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" Add {FiledSuffix}{colName}{FiledPrefix} {colType} {IIf(isNull, "Default Null", "Not Null")};")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中数据表删除一列数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="colName">需要删除的列名,仅一列</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbDropCol(dbName As String, tableName As String, colName As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Alter Table ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" Drop Column {FiledSuffix}{colName}{FiledPrefix};")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中指定表删除多行数据
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="condition">条件</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbDeleteRows(dbName As String, tableName As String, condition As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Delete From ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" Where {condition};")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中创建数据表
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="createStr">创建表的列信息字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbCreateTable(dbName As String, tableName As String, createStr As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Create Table ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" ( {createStr} );")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 指定数据库中创建数据表,如果存在则不创建
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">表名</param>
|
||||
''' <param name="createStr">创建表的列信息字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbCreateTableWhenNotExists(dbName As String, tableName As String, createStr As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Create Table if not exists ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($" ( {createStr} );")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 清空指定数据库中数据表,表依旧存在
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbDeleteTable(dbName As String, tableName As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Delete From ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($";")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 删除指定数据库中数据表
|
||||
''' </summary>
|
||||
''' <param name="dbName">数据库名</param>
|
||||
''' <param name="tableName">数据表名</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function DbDropTable(dbName As String, tableName As String) As String
|
||||
Dim cmdText As New StringBuilder
|
||||
cmdText.Append($"Drop Table ")
|
||||
If String.IsNullOrEmpty(dbName) = False Then
|
||||
cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.")
|
||||
End If
|
||||
cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}")
|
||||
cmdText.Append($";")
|
||||
|
||||
Return cmdText.ToString()
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
377
RCU-10/RCU/Database/DbExecutor.vb
Normal file
377
RCU-10/RCU/Database/DbExecutor.vb
Normal file
@@ -0,0 +1,377 @@
|
||||
Imports System.Data.Common
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Data.SQLite
|
||||
Imports MySql.Data.MySqlClient
|
||||
|
||||
''' <summary>
|
||||
''' 数据库通用命令执行器
|
||||
''' 时间:2020-12-21
|
||||
''' 作者:ML
|
||||
''' 版本:1.0
|
||||
''' </summary>
|
||||
Public Class DbExecutor
|
||||
Implements IDisposable
|
||||
''' <summary>
|
||||
''' 数据库类型,目前支持Mysql与Sqlite
|
||||
''' </summary>
|
||||
Enum DbTypeEnum
|
||||
Mysql
|
||||
Sqlite
|
||||
Mssql
|
||||
End Enum
|
||||
|
||||
|
||||
Private ReadOnly _connectionString As String '数据库连接语句
|
||||
|
||||
Private ReadOnly _dbType As DbTypeEnum '数据库类型
|
||||
|
||||
Private _connection As DbConnection '数据库连接句柄
|
||||
|
||||
Private _command As DbCommand '数据库命令句柄
|
||||
|
||||
Private _dataAdapter As DbDataAdapter '数据库查询填充器句柄
|
||||
|
||||
Private _transaction As DbTransaction '数据库事务句柄
|
||||
|
||||
Private _commandHelper As DbCmdHelper '数据库语句填充助手
|
||||
|
||||
Sub New(type As DbTypeEnum, connectionString As String)
|
||||
_dbType = type
|
||||
_connectionString = connectionString
|
||||
InitByDbType(_dbType)
|
||||
End Sub
|
||||
|
||||
Private Sub InitByDbType(type As DbTypeEnum)
|
||||
Select Case type
|
||||
Case DbTypeEnum.Mysql
|
||||
_connection = New MySqlConnection()
|
||||
_command = _connection.CreateCommand()
|
||||
_dataAdapter = New MySqlDataAdapter() With {.MissingSchemaAction = MissingSchemaAction.AddWithKey}
|
||||
|
||||
_commandHelper = New MysqlCmdHelper()
|
||||
Case DbTypeEnum.Sqlite
|
||||
_connection = New SqliteConnection()
|
||||
_command = _connection.CreateCommand()
|
||||
_dataAdapter = New SQLiteDataAdapter() With {.MissingSchemaAction = MissingSchemaAction.AddWithKey}
|
||||
|
||||
_commandHelper = New SqliteCmdHelper()
|
||||
Case DbTypeEnum.Mssql
|
||||
_connection = New SqlConnection()
|
||||
_command = _connection.CreateCommand()
|
||||
_dataAdapter = New SqlDataAdapter() With {.MissingSchemaAction = MissingSchemaAction.AddWithKey}
|
||||
|
||||
_commandHelper = New MssqlCmdHelper()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
Public ReadOnly Property DatabaseType() As DbTypeEnum
|
||||
Get
|
||||
Return _dbType
|
||||
End Get
|
||||
'Set(value As DbTypeEnum)
|
||||
' _dbType = value
|
||||
' '执行上一个数据库的关闭操作
|
||||
' InitByDbType(_dbType)
|
||||
'End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Connection() As DbConnection
|
||||
Get
|
||||
Return _connection
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
Public ReadOnly Property Command() As DbCommand
|
||||
Get
|
||||
Return _command
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CmdHelper() As DbCmdHelper
|
||||
Get
|
||||
Return _commandHelper
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 打开数据库连接
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Function Open() As Boolean
|
||||
If _connection Is Nothing Then Return False
|
||||
If String.IsNullOrWhiteSpace(_connectionString) Then Return False
|
||||
Try
|
||||
_connection.ConnectionString = _connectionString
|
||||
_connection.Open()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return True
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 关闭数据库连接
|
||||
''' </summary>
|
||||
Public Sub Close()
|
||||
If _connection Is Nothing Then Return
|
||||
If _connection.State = ConnectionState.Closed Then Return
|
||||
_connection.Close()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 创建当前连接的命令执行句柄
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Function CreateCommand() As DbCommand
|
||||
Return _connection.CreateCommand()
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 运行非查询语句,返回执行该语句受到影响的行数
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteNonQuery(commandText As String) As Integer
|
||||
Dim result As Integer
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
result = _command.ExecuteNonQuery()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return result
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 使用命令参数模式执行非查询语句,返回执行该语句受到影响的行数
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <param name="commandParams">执行的数据库命令参数</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteNonQuery(commandText As String, commandParams As DbParameterCollection) As Integer
|
||||
Dim result As Integer
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
_command.Parameters.Clear()
|
||||
For Each param As DbParameter In commandParams
|
||||
_command.Parameters.Add(param)
|
||||
Next
|
||||
result = _command.ExecuteNonQuery()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return result
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 执行数据库语句,返回数据库读取流的句柄
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteReader(commandText As String) As DbDataReader
|
||||
Dim result As DbDataReader
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
result = _command.ExecuteReader()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return result
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 使用命令参数模式执行数据库语句,返回数据库读取流的句柄
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <param name="commandParams">执行的数据库命令参数</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteReader(commandText As String, commandParams As DbParameterCollection) As DbDataReader
|
||||
Dim result As DbDataReader
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
_command.Parameters.Clear()
|
||||
For Each param As DbParameter In commandParams
|
||||
_command.Parameters.Add(param)
|
||||
Next
|
||||
result = _command.ExecuteReader()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return result
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 执行数据库语句,返回查询结果的第一行第一列的内容
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteScalar(commandText As String) As Object
|
||||
Dim result As Object
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
result = _command.ExecuteScalar()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return result
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 使用命令参数模式执行数据库语句,返回查询结果的第一行第一列的内容
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <param name="commandParams">执行的数据库命令参数</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteScalar(commandText As String, commandParams As DbParameterCollection) As Object
|
||||
Dim result As Object
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
_command.Parameters.Clear()
|
||||
For Each param As DbParameter In commandParams
|
||||
_command.Parameters.Add(param)
|
||||
Next
|
||||
result = _command.ExecuteScalar()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return result
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 执行数据库语句,返回执行结果返回的数据表,常用于查询命令
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteDataTable(commandText As String, Optional withKey As Boolean = True) As DataTable
|
||||
Dim dataTable As New DataTable
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
If withKey Then
|
||||
_dataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
|
||||
Else
|
||||
_dataAdapter.MissingSchemaAction = MissingSchemaAction.Add
|
||||
End If
|
||||
_dataAdapter.SelectCommand = _command
|
||||
_dataAdapter.Fill(dataTable)
|
||||
Catch ex As Exception
|
||||
'Throw
|
||||
End Try
|
||||
Return dataTable
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 执行数据库语句,返回执行结果返回的数据表,常用于查询命令
|
||||
''' </summary>
|
||||
''' <param name="commandText">执行的数据库命令文本</param>
|
||||
''' <param name="commandParams">执行的数据库命令参数</param>
|
||||
''' <returns></returns>
|
||||
Public Function ExecuteDataTable(commandText As String, commandParams As DbParameterCollection) As DataTable
|
||||
Dim dataTable As New DataTable
|
||||
Try
|
||||
_command.CommandText = commandText
|
||||
_command.Parameters.Clear()
|
||||
For Each param As DbParameter In commandParams
|
||||
_command.Parameters.Add(param)
|
||||
Next
|
||||
_dataAdapter.SelectCommand = _command
|
||||
_dataAdapter.Fill(dataTable)
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
Return dataTable
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 开启事务
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Function BeginTransaction() As DbTransaction
|
||||
_transaction = _connection.BeginTransaction()
|
||||
Return _transaction
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 提交事务
|
||||
''' </summary>
|
||||
Public Sub CommitTransaction()
|
||||
Try
|
||||
_transaction.Commit()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 回滚事务
|
||||
''' </summary>
|
||||
Public Sub RollbackTransaction()
|
||||
Try
|
||||
_transaction.Rollback()
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 创建数据参数
|
||||
''' </summary>
|
||||
''' <param name="type">参数数据类型</param>
|
||||
''' <param name="ParameterName">参数名称</param>
|
||||
''' <param name="value">参数值</param>
|
||||
''' <returns></returns>
|
||||
Public Function CreateDbParameter(type As DbType, parameterName As String, value As Object) As DbParameter
|
||||
Dim dbParam As DbParameter = _command.CreateParameter()
|
||||
dbParam.DbType = type
|
||||
dbParam.ParameterName = parameterName
|
||||
dbParam.Value = value
|
||||
Return dbParam
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 添加数据参数
|
||||
''' </summary>
|
||||
''' <param name="type"></param>
|
||||
''' <param name="parameterName"></param>
|
||||
''' <param name="value"></param>
|
||||
''' <returns></returns>
|
||||
Public Function AddDbParameter(type As DbType, parameterName As String, value As Object) As DbParameter
|
||||
Dim dbParam As DbParameter = _command.CreateParameter()
|
||||
dbParam.DbType = type
|
||||
dbParam.ParameterName = parameterName
|
||||
dbParam.Value = value
|
||||
_command.Parameters.Add(dbParam)
|
||||
Return dbParam
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 清空数据
|
||||
''' </summary>
|
||||
Public Sub ClearDbParameter()
|
||||
_command.Parameters.Clear()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 回收资源
|
||||
''' </summary>
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
If _connection IsNot Nothing Then
|
||||
If _connection.State = ConnectionState.Open Then
|
||||
_connection.Close()
|
||||
End If
|
||||
_connection.Dispose()
|
||||
End If
|
||||
|
||||
If _command IsNot Nothing Then _command.Dispose()
|
||||
If _dataAdapter IsNot Nothing Then _dataAdapter.Dispose()
|
||||
|
||||
GC.Collect() '对所有缓存垃圾进行回收
|
||||
End Sub
|
||||
End Class
|
||||
10
RCU-10/RCU/Database/Mssql/MssqlCmdHelper.vb
Normal file
10
RCU-10/RCU/Database/Mssql/MssqlCmdHelper.vb
Normal file
@@ -0,0 +1,10 @@
|
||||
Namespace Database.Mssql
|
||||
Public Class MssqlCmdHelper
|
||||
Inherits DbCmdHelper
|
||||
|
||||
Sub New()
|
||||
FiledSuffix = "["c
|
||||
FiledPrefix = "]"c
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
8
RCU-10/RCU/Database/MssqlCmdHelper.vb
Normal file
8
RCU-10/RCU/Database/MssqlCmdHelper.vb
Normal file
@@ -0,0 +1,8 @@
|
||||
Public Class MssqlCmdHelper
|
||||
Inherits DbCmdHelper
|
||||
|
||||
Sub New()
|
||||
FiledSuffix = "["c
|
||||
FiledPrefix = "]"c
|
||||
End Sub
|
||||
End Class
|
||||
222
RCU-10/RCU/Database/Mysql/DataParam.vb
Normal file
222
RCU-10/RCU/Database/Mysql/DataParam.vb
Normal file
@@ -0,0 +1,222 @@
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Mysql
|
||||
Public Class DataParam
|
||||
Enum DataTypeEnum
|
||||
'###############################数值类型#############################
|
||||
''' <summary>
|
||||
''' 1 byte,小整数值
|
||||
''' </summary>
|
||||
Tinyint
|
||||
|
||||
''' <summary>
|
||||
''' 2 bytes,大整数值
|
||||
''' </summary>
|
||||
Smallint
|
||||
|
||||
''' <summary>
|
||||
''' 3 bytes,大整数值
|
||||
''' </summary>
|
||||
Mediumint
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,大整数值
|
||||
''' </summary>
|
||||
Int
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,大整数值
|
||||
''' </summary>
|
||||
[Integer]
|
||||
|
||||
''' <summary>
|
||||
''' 8 bytes,极大整数值
|
||||
''' </summary>
|
||||
Bigint
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,单精度浮点数值
|
||||
''' </summary>
|
||||
Float
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 8 bytes,双精度浮点数值
|
||||
''' </summary>
|
||||
[Double]
|
||||
|
||||
|
||||
|
||||
'####################日期类型###############################
|
||||
|
||||
''' <summary>
|
||||
''' 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值
|
||||
''' </summary>
|
||||
[Decimal]
|
||||
|
||||
''' <summary>
|
||||
''' 3 bytes,日期值,YYYY-MM-DD
|
||||
''' </summary>
|
||||
[Date]
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 3 bytes,时间值或持续时间,HH:MM:SS
|
||||
''' </summary>
|
||||
Time
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 1 bytes,年份值,YYYY
|
||||
''' </summary>
|
||||
Year
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS
|
||||
''' </summary>
|
||||
Datetime
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS
|
||||
''' </summary>
|
||||
Timestamp
|
||||
|
||||
|
||||
'####################字符类型###############################
|
||||
|
||||
''' <summary>
|
||||
''' 0-255 bytes,定长字符串
|
||||
''' </summary>
|
||||
[Char]
|
||||
|
||||
''' <summary>
|
||||
''' 0-65535 bytes,变长字符串
|
||||
''' </summary>
|
||||
Varchar
|
||||
|
||||
''' <summary>
|
||||
''' 0-255 bytes,不超过 255 个字符的二进制字符串
|
||||
''' </summary>
|
||||
Tinyblob
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 0-255 bytes,短文本字符串
|
||||
''' </summary>
|
||||
Tinytext
|
||||
|
||||
''' <summary>
|
||||
''' 0-65 535 bytes,二进制形式的长文本数据
|
||||
''' </summary>
|
||||
Blob
|
||||
|
||||
''' <summary>
|
||||
''' 0-65 535 bytes,长文本数据
|
||||
''' </summary>
|
||||
Text
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 0-16 777 215 bytes,二进制形式的中等长度文本数据
|
||||
''' </summary>
|
||||
Mediumblob
|
||||
|
||||
''' <summary>
|
||||
''' 0-16 777 215 bytes,中等长度文本数据
|
||||
''' </summary>
|
||||
Mediumtext
|
||||
|
||||
''' <summary>
|
||||
''' 0-4 294 967 295 bytes,二进制形式的极大文本数据
|
||||
''' </summary>
|
||||
Longblob
|
||||
|
||||
''' <summary>
|
||||
''' 0-4 294 967 295 bytes,极大文本数据
|
||||
''' </summary>
|
||||
Longtext
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColumnName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当前值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Value() As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 默认值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DefaultValue() As String
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataType() As DataTypeEnum
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型长度
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataTypeLength() As Integer
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型是否带符号
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsUnsigned() As Boolean
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否允许为空
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsNull() As Boolean = True
|
||||
|
||||
''' <summary>
|
||||
''' 是否自动增长
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsAutoIncrement() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为主键
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsPrimaryKey() As Boolean
|
||||
|
||||
Public Function ToAddColString() As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"`{ColumnName}`")
|
||||
|
||||
Select Case DataType
|
||||
Case DataTypeEnum.Varchar,DataTypeEnum.[Char]
|
||||
sb.Append($" {DataType}({DataTypeLength}) ")
|
||||
Case DataTypeEnum.Int
|
||||
sb.Append($" {DataType}")
|
||||
if IsUnsigned Then sb.Append($" Unsigned")
|
||||
If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT")
|
||||
Case Else
|
||||
sb.Append($" {DataType}")
|
||||
End Select
|
||||
|
||||
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
|
||||
|
||||
If IsPrimaryKey Then
|
||||
sb.Append($" PRIMARY KEY")
|
||||
End If
|
||||
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
End Class
|
||||
End Namespace
|
||||
13
RCU-10/RCU/Database/Mysql/MysqlCmdHelper.vb
Normal file
13
RCU-10/RCU/Database/Mysql/MysqlCmdHelper.vb
Normal file
@@ -0,0 +1,13 @@
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Mysql
|
||||
Public Class MysqlCmdHelper
|
||||
Inherits DbCmdHelper
|
||||
|
||||
Sub New
|
||||
FiledSuffix = "`"c
|
||||
FiledPrefix = "`"c
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
9
RCU-10/RCU/Database/MysqlCmdHelper.vb
Normal file
9
RCU-10/RCU/Database/MysqlCmdHelper.vb
Normal file
@@ -0,0 +1,9 @@
|
||||
Public Class MysqlCmdHelper
|
||||
Inherits DbCmdHelper
|
||||
|
||||
Sub New()
|
||||
FiledSuffix = "`"c
|
||||
FiledPrefix = "`"c
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
220
RCU-10/RCU/Database/MysqlDataParam.vb
Normal file
220
RCU-10/RCU/Database/MysqlDataParam.vb
Normal file
@@ -0,0 +1,220 @@
|
||||
Imports System.Text
|
||||
|
||||
Public Class MysqlDataParam
|
||||
Enum DataTypeEnum
|
||||
'###############################数值类型#############################
|
||||
''' <summary>
|
||||
''' 1 byte,小整数值
|
||||
''' </summary>
|
||||
Tinyint
|
||||
|
||||
''' <summary>
|
||||
''' 2 bytes,大整数值
|
||||
''' </summary>
|
||||
Smallint
|
||||
|
||||
''' <summary>
|
||||
''' 3 bytes,大整数值
|
||||
''' </summary>
|
||||
Mediumint
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,大整数值
|
||||
''' </summary>
|
||||
Int
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,大整数值
|
||||
''' </summary>
|
||||
[Integer]
|
||||
|
||||
''' <summary>
|
||||
''' 8 bytes,极大整数值
|
||||
''' </summary>
|
||||
Bigint
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,单精度浮点数值
|
||||
''' </summary>
|
||||
Float
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 8 bytes,双精度浮点数值
|
||||
''' </summary>
|
||||
[Double]
|
||||
|
||||
|
||||
|
||||
'####################日期类型###############################
|
||||
|
||||
''' <summary>
|
||||
''' 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值
|
||||
''' </summary>
|
||||
[Decimal]
|
||||
|
||||
''' <summary>
|
||||
''' 3 bytes,日期值,YYYY-MM-DD
|
||||
''' </summary>
|
||||
[Date]
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 3 bytes,时间值或持续时间,HH:MM:SS
|
||||
''' </summary>
|
||||
Time
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 1 bytes,年份值,YYYY
|
||||
''' </summary>
|
||||
Year
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS
|
||||
''' </summary>
|
||||
Datetime
|
||||
|
||||
''' <summary>
|
||||
''' 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS
|
||||
''' </summary>
|
||||
Timestamp
|
||||
|
||||
|
||||
'####################字符类型###############################
|
||||
|
||||
''' <summary>
|
||||
''' 0-255 bytes,定长字符串
|
||||
''' </summary>
|
||||
[Char]
|
||||
|
||||
''' <summary>
|
||||
''' 0-65535 bytes,变长字符串
|
||||
''' </summary>
|
||||
Varchar
|
||||
|
||||
''' <summary>
|
||||
''' 0-255 bytes,不超过 255 个字符的二进制字符串
|
||||
''' </summary>
|
||||
Tinyblob
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 0-255 bytes,短文本字符串
|
||||
''' </summary>
|
||||
Tinytext
|
||||
|
||||
''' <summary>
|
||||
''' 0-65 535 bytes,二进制形式的长文本数据
|
||||
''' </summary>
|
||||
Blob
|
||||
|
||||
''' <summary>
|
||||
''' 0-65 535 bytes,长文本数据
|
||||
''' </summary>
|
||||
Text
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 0-16 777 215 bytes,二进制形式的中等长度文本数据
|
||||
''' </summary>
|
||||
Mediumblob
|
||||
|
||||
''' <summary>
|
||||
''' 0-16 777 215 bytes,中等长度文本数据
|
||||
''' </summary>
|
||||
Mediumtext
|
||||
|
||||
''' <summary>
|
||||
''' 0-4 294 967 295 bytes,二进制形式的极大文本数据
|
||||
''' </summary>
|
||||
Longblob
|
||||
|
||||
''' <summary>
|
||||
''' 0-4 294 967 295 bytes,极大文本数据
|
||||
''' </summary>
|
||||
Longtext
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColumnName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当前值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Value() As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 默认值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DefaultValue() As String
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataType() As DataTypeEnum
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型长度
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataTypeLength() As Integer
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型是否带符号
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsUnsigned() As Boolean
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否允许为空
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsNull() As Boolean = True
|
||||
|
||||
''' <summary>
|
||||
''' 是否自动增长
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsAutoIncrement() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为主键
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsPrimaryKey() As Boolean
|
||||
|
||||
Public Function ToAddColString() As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"`{ColumnName}`")
|
||||
|
||||
Select Case DataType
|
||||
Case DataTypeEnum.Varchar, DataTypeEnum.[Char]
|
||||
sb.Append($" {DataType}({DataTypeLength}) ")
|
||||
Case DataTypeEnum.Int
|
||||
sb.Append($" {DataType}")
|
||||
If IsUnsigned Then sb.Append($" Unsigned")
|
||||
If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT")
|
||||
Case Else
|
||||
sb.Append($" {DataType}")
|
||||
End Select
|
||||
|
||||
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
|
||||
|
||||
If IsPrimaryKey Then
|
||||
sb.Append($" PRIMARY KEY")
|
||||
End If
|
||||
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
End Class
|
||||
106
RCU-10/RCU/Database/Sqlite/DataParam.vb
Normal file
106
RCU-10/RCU/Database/Sqlite/DataParam.vb
Normal file
@@ -0,0 +1,106 @@
|
||||
Imports System.Text
|
||||
|
||||
Namespace Database.Sqlite
|
||||
Public Class DataParam
|
||||
Enum DataTypeEnum
|
||||
Varchar
|
||||
Nchar
|
||||
Blob
|
||||
Bit
|
||||
Datetime
|
||||
[Decimal]
|
||||
Real
|
||||
UniqueIdentifier
|
||||
Int
|
||||
[Integer]
|
||||
TinyInt
|
||||
[Single]
|
||||
Nvarchar
|
||||
SmallInt
|
||||
SmallUint
|
||||
Uint
|
||||
UnsignedInteger
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColumnName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当前值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Value() As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 默认值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DefaultValue() As String
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataType() As DataTypeEnum
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型长度
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataTypeLength() As Integer
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否允许为空
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsNull() As Boolean = True
|
||||
|
||||
''' <summary>
|
||||
''' 是否自动增长
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsAutoIncrement() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为主键
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsPrimaryKey() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为唯一值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsUnique() As Boolean
|
||||
|
||||
|
||||
Public Function ToAddColString() As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"`{ColumnName}`")
|
||||
|
||||
Select Case DataType
|
||||
Case DataTypeEnum.Varchar, DataTypeEnum.Nchar, DataTypeEnum.Nvarchar
|
||||
sb.Append($" {DataType}({DataTypeLength}) ")
|
||||
Case DataTypeEnum.Int,DataTypeEnum.Integer
|
||||
sb.Append($" {DataType}")
|
||||
Case Else
|
||||
sb.Append($" {DataType}")
|
||||
End Select
|
||||
|
||||
If IsAutoIncrement Then sb.Append($" AUTOINCREMENT")
|
||||
|
||||
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
|
||||
|
||||
If IsPrimaryKey Then
|
||||
sb.Append($" PRIMARY KEY")
|
||||
End If
|
||||
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
End Class
|
||||
End Namespace
|
||||
20
RCU-10/RCU/Database/Sqlite/SqliteCmdHelper.vb
Normal file
20
RCU-10/RCU/Database/Sqlite/SqliteCmdHelper.vb
Normal file
@@ -0,0 +1,20 @@
|
||||
Namespace Database.Sqlite
|
||||
Public Class SqliteCmdHelper
|
||||
Inherits DbCmdHelper
|
||||
|
||||
Sub New()
|
||||
FiledSuffix = "["c
|
||||
FiledPrefix = "]"c
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据表的信息
|
||||
''' </summary>
|
||||
''' <param name="tableName"></param>
|
||||
''' <returns></returns>
|
||||
Public Overrides Function SearchTableInfo(tableName As String) As String
|
||||
Return $"select * from sqlite_master where tbl_name = '{tableName}';"
|
||||
End Function
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
19
RCU-10/RCU/Database/SqliteCmdHelper.vb
Normal file
19
RCU-10/RCU/Database/SqliteCmdHelper.vb
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
Public Class SqliteCmdHelper
|
||||
Inherits DbCmdHelper
|
||||
|
||||
Sub New()
|
||||
FiledSuffix = "["c
|
||||
FiledPrefix = "]"c
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 查询指定数据表的信息
|
||||
''' </summary>
|
||||
''' <param name="tableName"></param>
|
||||
''' <returns></returns>
|
||||
Public Overrides Function SearchTableInfo(tableName As String) As String
|
||||
Return $"select * from sqlite_master where tbl_name = '{tableName}';"
|
||||
End Function
|
||||
|
||||
End Class
|
||||
105
RCU-10/RCU/Database/SqliteDataParam.vb
Normal file
105
RCU-10/RCU/Database/SqliteDataParam.vb
Normal file
@@ -0,0 +1,105 @@
|
||||
Imports System.Text
|
||||
|
||||
|
||||
Public Class SqliteDataParam
|
||||
Enum DataTypeEnum
|
||||
Varchar
|
||||
Nchar
|
||||
Blob
|
||||
Bit
|
||||
Datetime
|
||||
[Decimal]
|
||||
Real
|
||||
UniqueIdentifier
|
||||
Int
|
||||
[Integer]
|
||||
TinyInt
|
||||
[Single]
|
||||
Nvarchar
|
||||
SmallInt
|
||||
SmallUint
|
||||
Uint
|
||||
UnsignedInteger
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 列名
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property ColumnName() As String
|
||||
|
||||
''' <summary>
|
||||
''' 当前值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property Value() As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 默认值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DefaultValue() As String
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataType() As DataTypeEnum
|
||||
|
||||
''' <summary>
|
||||
''' 数据类型长度
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DataTypeLength() As Integer
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否允许为空
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsNull() As Boolean = True
|
||||
|
||||
''' <summary>
|
||||
''' 是否自动增长
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsAutoIncrement() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为主键
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsPrimaryKey() As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' 是否为唯一值
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property IsUnique() As Boolean
|
||||
|
||||
|
||||
Public Function ToAddColString() As String
|
||||
Dim sb As New StringBuilder
|
||||
sb.Append($"`{ColumnName}`")
|
||||
|
||||
Select Case DataType
|
||||
Case DataTypeEnum.Varchar, DataTypeEnum.Nchar, DataTypeEnum.Nvarchar
|
||||
sb.Append($" {DataType}({DataTypeLength}) ")
|
||||
Case DataTypeEnum.Int, DataTypeEnum.Integer
|
||||
sb.Append($" {DataType}")
|
||||
Case Else
|
||||
sb.Append($" {DataType}")
|
||||
End Select
|
||||
|
||||
If IsAutoIncrement Then sb.Append($" AUTOINCREMENT")
|
||||
|
||||
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
|
||||
|
||||
If IsPrimaryKey Then
|
||||
sb.Append($" PRIMARY KEY")
|
||||
End If
|
||||
|
||||
Return sb.ToString()
|
||||
End Function
|
||||
End Class
|
||||
114
RCU-10/RCU/DeviceListInfo.vb
Normal file
114
RCU-10/RCU/DeviceListInfo.vb
Normal file
@@ -0,0 +1,114 @@
|
||||
Public Class DeviceListInfo
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备类型
|
||||
''' </summary>
|
||||
Public Property DevType As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备地址
|
||||
''' </summary>
|
||||
Public Property DevAddr As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备状态
|
||||
''' </summary>
|
||||
Public Property DevState As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备名称
|
||||
''' </summary>
|
||||
Public Property DevName As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备控制计数
|
||||
''' </summary>
|
||||
Public Property DevControlCount As Integer
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备控制信息
|
||||
''' </summary>
|
||||
Public Property DevControlInfo As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备测试成功率
|
||||
''' </summary>
|
||||
Public Property DevTest As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 初始化
|
||||
''' </summary>
|
||||
Sub New()
|
||||
DevType = ""
|
||||
Me.DevAddr = ""
|
||||
DevName = GetDevName(DevType, DevAddr)
|
||||
DevState = $"未知"
|
||||
DevControlCount = 0
|
||||
DevControlInfo = ""
|
||||
DevTest = ""
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 初始化
|
||||
''' </summary>
|
||||
''' <param name="devType">设备类型</param>
|
||||
''' <param name="devAddr">设备地址</param>
|
||||
Sub New(devType As String, devAddr As String)
|
||||
Me.DevType = devType
|
||||
Me.DevAddr = devAddr
|
||||
DevName = GetDevName(devType, devAddr)
|
||||
DevState = $"未知"
|
||||
DevControlCount = 0
|
||||
DevControlInfo = ""
|
||||
DevTest = ""
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 初始化
|
||||
''' </summary>
|
||||
''' <param name="devType">设备类型</param>
|
||||
''' <param name="devAddr">设备地址</param>
|
||||
''' <param name="devState">设备状态</param>
|
||||
Sub New(devType As String, devAddr As String, devState As String)
|
||||
Me.DevType = devType
|
||||
Me.DevAddr = devAddr
|
||||
DevName = GetDevName(devType, devAddr)
|
||||
Me.DevState = devState
|
||||
DevControlCount = 0
|
||||
DevControlInfo = ""
|
||||
DevTest = ""
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 获取设备名称
|
||||
''' </summary>
|
||||
''' <param name="devType">设备类型</param>
|
||||
''' <param name="devAddr">设备地址</param>
|
||||
''' <returns></returns>
|
||||
Public Shared Function GetDevName(devType As String, devAddr As String) As String
|
||||
Return $"{devType}_{devAddr}"
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 复位状态
|
||||
''' </summary>
|
||||
Public Sub ResetState()
|
||||
DevState = $"未知"
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
87
RCU-10/RCU/Dialog1.Designer.vb
generated
Normal file
87
RCU-10/RCU/Dialog1.Designer.vb
generated
Normal file
@@ -0,0 +1,87 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Dialog1
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
|
||||
Me.OK_Button = New System.Windows.Forms.Button
|
||||
Me.Cancel_Button = New System.Windows.Forms.Button
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TableLayoutPanel1.ColumnCount = 2
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(277, 274)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 1
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(146, 29)
|
||||
Me.TableLayoutPanel1.TabIndex = 0
|
||||
'
|
||||
'OK_Button
|
||||
'
|
||||
Me.OK_Button.Anchor = System.Windows.Forms.AnchorStyles.None
|
||||
Me.OK_Button.Location = New System.Drawing.Point(3, 3)
|
||||
Me.OK_Button.Name = "OK_Button"
|
||||
Me.OK_Button.Size = New System.Drawing.Size(67, 23)
|
||||
Me.OK_Button.TabIndex = 0
|
||||
Me.OK_Button.Text = "确定"
|
||||
'
|
||||
'Cancel_Button
|
||||
'
|
||||
Me.Cancel_Button.Anchor = System.Windows.Forms.AnchorStyles.None
|
||||
Me.Cancel_Button.Location = New System.Drawing.Point(76, 3)
|
||||
Me.Cancel_Button.Name = "Cancel_Button"
|
||||
Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
|
||||
Me.Cancel_Button.TabIndex = 1
|
||||
Me.Cancel_Button.Text = "取消"
|
||||
'
|
||||
'Dialog1
|
||||
'
|
||||
Me.AcceptButton = Me.OK_Button
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.CancelButton = Me.Cancel_Button
|
||||
Me.ClientSize = New System.Drawing.Size(435, 315)
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "Dialog1"
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "Dialog1"
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents OK_Button As System.Windows.Forms.Button
|
||||
Friend WithEvents Cancel_Button As System.Windows.Forms.Button
|
||||
|
||||
End Class
|
||||
15
RCU-10/RCU/Dialog1.vb
Normal file
15
RCU-10/RCU/Dialog1.vb
Normal file
@@ -0,0 +1,15 @@
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class Dialog1
|
||||
|
||||
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
296
RCU-10/RCU/Frm485Update.Designer.vb
generated
Normal file
296
RCU-10/RCU/Frm485Update.Designer.vb
generated
Normal file
@@ -0,0 +1,296 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm485Update
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
|
||||
Me.TSSLbl1 = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.TSPBar1 = New System.Windows.Forms.ToolStripProgressBar()
|
||||
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
|
||||
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
|
||||
Me.ComboBox2 = New System.Windows.Forms.ComboBox()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.BtnUpdateFile = New System.Windows.Forms.Button()
|
||||
Me.BtnSelectFile = New System.Windows.Forms.Button()
|
||||
Me.BtnSearch = New System.Windows.Forms.Button()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.NumericUpDown2 = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
|
||||
Me.GrdTypeInfo = New FlexCell.Grid()
|
||||
Me.StatusStrip1.SuspendLayout
|
||||
CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).BeginInit
|
||||
Me.SplitContainer1.Panel1.SuspendLayout
|
||||
Me.SplitContainer1.Panel2.SuspendLayout
|
||||
Me.SplitContainer1.SuspendLayout
|
||||
Me.GroupBox1.SuspendLayout
|
||||
CType(Me.NumericUpDown2,System.ComponentModel.ISupportInitialize).BeginInit
|
||||
CType(Me.NumericUpDown1,System.ComponentModel.ISupportInitialize).BeginInit
|
||||
Me.SuspendLayout
|
||||
'
|
||||
'StatusStrip1
|
||||
'
|
||||
Me.StatusStrip1.Font = New System.Drawing.Font("微软雅黑", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSSLbl1, Me.ToolStripStatusLabel1, Me.TSPBar1})
|
||||
Me.StatusStrip1.Location = New System.Drawing.Point(0, 456)
|
||||
Me.StatusStrip1.Name = "StatusStrip1"
|
||||
Me.StatusStrip1.Size = New System.Drawing.Size(404, 26)
|
||||
Me.StatusStrip1.TabIndex = 0
|
||||
Me.StatusStrip1.Text = "StatusStrip1"
|
||||
'
|
||||
'TSSLbl1
|
||||
'
|
||||
Me.TSSLbl1.Name = "TSSLbl1"
|
||||
Me.TSSLbl1.RightToLeft = System.Windows.Forms.RightToLeft.No
|
||||
Me.TSSLbl1.Size = New System.Drawing.Size(187, 21)
|
||||
Me.TSSLbl1.Spring = true
|
||||
Me.TSSLbl1.Text = "等待解析"
|
||||
Me.TSSLbl1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'ToolStripStatusLabel1
|
||||
'
|
||||
Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1"
|
||||
Me.ToolStripStatusLabel1.Size = New System.Drawing.Size(20, 21)
|
||||
Me.ToolStripStatusLabel1.Text = " "
|
||||
'
|
||||
'TSPBar1
|
||||
'
|
||||
Me.TSPBar1.Name = "TSPBar1"
|
||||
Me.TSPBar1.Size = New System.Drawing.Size(180, 20)
|
||||
'
|
||||
'SplitContainer1
|
||||
'
|
||||
Me.SplitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainer1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.SplitContainer1.Name = "SplitContainer1"
|
||||
Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal
|
||||
'
|
||||
'SplitContainer1.Panel1
|
||||
'
|
||||
Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox1)
|
||||
'
|
||||
'SplitContainer1.Panel2
|
||||
'
|
||||
Me.SplitContainer1.Panel2.Controls.Add(Me.GrdTypeInfo)
|
||||
Me.SplitContainer1.Size = New System.Drawing.Size(404, 456)
|
||||
Me.SplitContainer1.SplitterDistance = 224
|
||||
Me.SplitContainer1.TabIndex = 1
|
||||
'
|
||||
'GroupBox1
|
||||
'
|
||||
Me.GroupBox1.Controls.Add(Me.ComboBox2)
|
||||
Me.GroupBox1.Controls.Add(Me.Label4)
|
||||
Me.GroupBox1.Controls.Add(Me.Button1)
|
||||
Me.GroupBox1.Controls.Add(Me.TextBox1)
|
||||
Me.GroupBox1.Controls.Add(Me.BtnUpdateFile)
|
||||
Me.GroupBox1.Controls.Add(Me.BtnSelectFile)
|
||||
Me.GroupBox1.Controls.Add(Me.BtnSearch)
|
||||
Me.GroupBox1.Controls.Add(Me.Label3)
|
||||
Me.GroupBox1.Controls.Add(Me.NumericUpDown2)
|
||||
Me.GroupBox1.Controls.Add(Me.Label2)
|
||||
Me.GroupBox1.Controls.Add(Me.NumericUpDown1)
|
||||
Me.GroupBox1.Controls.Add(Me.Label1)
|
||||
Me.GroupBox1.Controls.Add(Me.ComboBox1)
|
||||
Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.GroupBox1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GroupBox1.Name = "GroupBox1"
|
||||
Me.GroupBox1.Size = New System.Drawing.Size(402, 222)
|
||||
Me.GroupBox1.TabIndex = 0
|
||||
Me.GroupBox1.TabStop = false
|
||||
Me.GroupBox1.Text = "升级信息"
|
||||
'
|
||||
'ComboBox2
|
||||
'
|
||||
Me.ComboBox2.FormattingEnabled = true
|
||||
Me.ComboBox2.Location = New System.Drawing.Point(95, 124)
|
||||
Me.ComboBox2.Name = "ComboBox2"
|
||||
Me.ComboBox2.Size = New System.Drawing.Size(85, 20)
|
||||
Me.ComboBox2.TabIndex = 12
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = true
|
||||
Me.Label4.Location = New System.Drawing.Point(12, 127)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(77, 12)
|
||||
Me.Label4.TabIndex = 11
|
||||
Me.Label4.Text = "单包字节数:"
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.ForeColor = System.Drawing.Color.Green
|
||||
Me.Button1.Location = New System.Drawing.Point(206, 168)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(65, 29)
|
||||
Me.Button1.TabIndex = 10
|
||||
Me.Button1.Text = "测试"
|
||||
Me.Button1.UseVisualStyleBackColor = true
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Location = New System.Drawing.Point(14, 89)
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.Size = New System.Drawing.Size(257, 21)
|
||||
Me.TextBox1.TabIndex = 9
|
||||
'
|
||||
'BtnUpdateFile
|
||||
'
|
||||
Me.BtnUpdateFile.ForeColor = System.Drawing.Color.Green
|
||||
Me.BtnUpdateFile.Location = New System.Drawing.Point(292, 119)
|
||||
Me.BtnUpdateFile.Name = "BtnUpdateFile"
|
||||
Me.BtnUpdateFile.Size = New System.Drawing.Size(65, 29)
|
||||
Me.BtnUpdateFile.TabIndex = 8
|
||||
Me.BtnUpdateFile.Text = "开始升级"
|
||||
Me.BtnUpdateFile.UseVisualStyleBackColor = true
|
||||
'
|
||||
'BtnSelectFile
|
||||
'
|
||||
Me.BtnSelectFile.Location = New System.Drawing.Point(292, 84)
|
||||
Me.BtnSelectFile.Name = "BtnSelectFile"
|
||||
Me.BtnSelectFile.Size = New System.Drawing.Size(65, 29)
|
||||
Me.BtnSelectFile.TabIndex = 7
|
||||
Me.BtnSelectFile.Text = "选择文件"
|
||||
Me.BtnSelectFile.UseVisualStyleBackColor = true
|
||||
'
|
||||
'BtnSearch
|
||||
'
|
||||
Me.BtnSearch.Location = New System.Drawing.Point(292, 49)
|
||||
Me.BtnSearch.Name = "BtnSearch"
|
||||
Me.BtnSearch.Size = New System.Drawing.Size(65, 29)
|
||||
Me.BtnSearch.TabIndex = 6
|
||||
Me.BtnSearch.Text = "搜索"
|
||||
Me.BtnSearch.UseVisualStyleBackColor = true
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = true
|
||||
Me.Label3.Location = New System.Drawing.Point(153, 59)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(17, 12)
|
||||
Me.Label3.TabIndex = 5
|
||||
Me.Label3.Text = "—"
|
||||
'
|
||||
'NumericUpDown2
|
||||
'
|
||||
Me.NumericUpDown2.Location = New System.Drawing.Point(176, 55)
|
||||
Me.NumericUpDown2.Name = "NumericUpDown2"
|
||||
Me.NumericUpDown2.Size = New System.Drawing.Size(64, 21)
|
||||
Me.NumericUpDown2.TabIndex = 4
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = true
|
||||
Me.Label2.Location = New System.Drawing.Point(12, 57)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(65, 12)
|
||||
Me.Label2.TabIndex = 3
|
||||
Me.Label2.Text = "搜索范围:"
|
||||
'
|
||||
'NumericUpDown1
|
||||
'
|
||||
Me.NumericUpDown1.Location = New System.Drawing.Point(83, 55)
|
||||
Me.NumericUpDown1.Name = "NumericUpDown1"
|
||||
Me.NumericUpDown1.Size = New System.Drawing.Size(64, 21)
|
||||
Me.NumericUpDown1.TabIndex = 2
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = true
|
||||
Me.Label1.Location = New System.Drawing.Point(12, 23)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(41, 12)
|
||||
Me.Label1.TabIndex = 1
|
||||
Me.Label1.Text = "设备:"
|
||||
'
|
||||
'ComboBox1
|
||||
'
|
||||
Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.ComboBox1.FormattingEnabled = true
|
||||
Me.ComboBox1.Location = New System.Drawing.Point(59, 20)
|
||||
Me.ComboBox1.Name = "ComboBox1"
|
||||
Me.ComboBox1.Size = New System.Drawing.Size(121, 20)
|
||||
Me.ComboBox1.TabIndex = 0
|
||||
'
|
||||
'GrdTypeInfo
|
||||
'
|
||||
Me.GrdTypeInfo.CheckedImage = Nothing
|
||||
Me.GrdTypeInfo.DefaultFont = New System.Drawing.Font("宋体", 9!)
|
||||
Me.GrdTypeInfo.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.GrdTypeInfo.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.GrdTypeInfo.GridColor = System.Drawing.Color.FromArgb(CType(CType(192,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(192,Byte),Integer))
|
||||
Me.GrdTypeInfo.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GrdTypeInfo.Name = "GrdTypeInfo"
|
||||
Me.GrdTypeInfo.Size = New System.Drawing.Size(402, 226)
|
||||
Me.GrdTypeInfo.TabIndex = 0
|
||||
Me.GrdTypeInfo.UncheckedImage = Nothing
|
||||
'
|
||||
'Frm485Update
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 12!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(404, 482)
|
||||
Me.Controls.Add(Me.SplitContainer1)
|
||||
Me.Controls.Add(Me.StatusStrip1)
|
||||
Me.Name = "Frm485Update"
|
||||
Me.Text = "Frm485Update"
|
||||
Me.StatusStrip1.ResumeLayout(false)
|
||||
Me.StatusStrip1.PerformLayout
|
||||
Me.SplitContainer1.Panel1.ResumeLayout(false)
|
||||
Me.SplitContainer1.Panel2.ResumeLayout(false)
|
||||
CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).EndInit
|
||||
Me.SplitContainer1.ResumeLayout(false)
|
||||
Me.GroupBox1.ResumeLayout(false)
|
||||
Me.GroupBox1.PerformLayout
|
||||
CType(Me.NumericUpDown2,System.ComponentModel.ISupportInitialize).EndInit
|
||||
CType(Me.NumericUpDown1,System.ComponentModel.ISupportInitialize).EndInit
|
||||
Me.ResumeLayout(false)
|
||||
Me.PerformLayout
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents StatusStrip1 As StatusStrip
|
||||
Friend WithEvents SplitContainer1 As SplitContainer
|
||||
Friend WithEvents GrdTypeInfo As FlexCell.Grid
|
||||
Friend WithEvents GroupBox1 As GroupBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents ComboBox1 As ComboBox
|
||||
Friend WithEvents BtnUpdateFile As Button
|
||||
Friend WithEvents BtnSelectFile As Button
|
||||
Friend WithEvents BtnSearch As Button
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents NumericUpDown2 As NumericUpDown
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents NumericUpDown1 As NumericUpDown
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents TSSLbl1 As ToolStripStatusLabel
|
||||
Friend WithEvents ToolStripStatusLabel1 As ToolStripStatusLabel
|
||||
Friend WithEvents TSPBar1 As ToolStripProgressBar
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents ComboBox2 As ComboBox
|
||||
Friend WithEvents Label4 As Label
|
||||
End Class
|
||||
180
RCU-10/RCU/Frm485Update.resx
Normal file
180
RCU-10/RCU/Frm485Update.resx
Normal file
@@ -0,0 +1,180 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="StatusStrip1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SplitContainer1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ComboBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Button1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnUpdateFile.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSelectFile.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSearch.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NumericUpDown2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NumericUpDown1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ComboBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrdTypeInfo.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>61</value>
|
||||
</metadata>
|
||||
</root>
|
||||
1398
RCU-10/RCU/Frm485Update.vb
Normal file
1398
RCU-10/RCU/Frm485Update.vb
Normal file
File diff suppressed because it is too large
Load Diff
342
RCU-10/RCU/FrmC43Function.Designer.vb
generated
Normal file
342
RCU-10/RCU/FrmC43Function.Designer.vb
generated
Normal file
@@ -0,0 +1,342 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class FrmC43Function
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmC43Function))
|
||||
Me.GrpC43cfg = New System.Windows.Forms.GroupBox()
|
||||
Me.TSC43Config = New System.Windows.Forms.ToolStrip()
|
||||
Me.TsBtnC43cfgData = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsBtnAddRows = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsBtnDelete = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsBtnSave = New System.Windows.Forms.ToolStripButton()
|
||||
Me.TsBtnRead = New System.Windows.Forms.ToolStripButton()
|
||||
Me.GrdC43cfg = New FlexCell.Grid()
|
||||
Me.GrpC43 = New System.Windows.Forms.GroupBox()
|
||||
Me.NudInterval = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.BtnIssuesData = New System.Windows.Forms.Button()
|
||||
Me.NudAddress = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Lbladdress = New System.Windows.Forms.Label()
|
||||
Me.BtnReleaseUpgrade = New System.Windows.Forms.Button()
|
||||
Me.NudC43Port = New System.Windows.Forms.NumericUpDown()
|
||||
Me.BtnSearch = New System.Windows.Forms.Button()
|
||||
Me.NudC43TimeOut = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.Label8 = New System.Windows.Forms.Label()
|
||||
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
|
||||
Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker()
|
||||
Me.BackgroundWorker2 = New System.ComponentModel.BackgroundWorker()
|
||||
Me.GrpC43cfg.SuspendLayout()
|
||||
Me.TSC43Config.SuspendLayout()
|
||||
Me.GrpC43.SuspendLayout()
|
||||
CType(Me.NudInterval, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.NudAddress, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.NudC43Port, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.NudC43TimeOut, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'GrpC43cfg
|
||||
'
|
||||
Me.GrpC43cfg.Controls.Add(Me.TSC43Config)
|
||||
Me.GrpC43cfg.Controls.Add(Me.GrdC43cfg)
|
||||
Me.GrpC43cfg.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.GrpC43cfg.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.GrpC43cfg.Location = New System.Drawing.Point(0, 158)
|
||||
Me.GrpC43cfg.Name = "GrpC43cfg"
|
||||
Me.GrpC43cfg.Size = New System.Drawing.Size(404, 324)
|
||||
Me.GrpC43cfg.TabIndex = 5
|
||||
Me.GrpC43cfg.TabStop = False
|
||||
Me.GrpC43cfg.Text = "C43配置"
|
||||
'
|
||||
'TSC43Config
|
||||
'
|
||||
Me.TSC43Config.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TsBtnC43cfgData, Me.ToolStripSeparator1, Me.TsBtnAddRows, Me.ToolStripSeparator2, Me.TsBtnDelete, Me.ToolStripSeparator3, Me.TsBtnSave, Me.TsBtnRead})
|
||||
Me.TSC43Config.Location = New System.Drawing.Point(3, 19)
|
||||
Me.TSC43Config.Name = "TSC43Config"
|
||||
Me.TSC43Config.Size = New System.Drawing.Size(398, 25)
|
||||
Me.TSC43Config.TabIndex = 22
|
||||
Me.TSC43Config.Text = "ToolStrip1"
|
||||
'
|
||||
'TsBtnC43cfgData
|
||||
'
|
||||
Me.TsBtnC43cfgData.Image = CType(resources.GetObject("TsBtnC43cfgData.Image"), System.Drawing.Image)
|
||||
Me.TsBtnC43cfgData.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnC43cfgData.Name = "TsBtnC43cfgData"
|
||||
Me.TsBtnC43cfgData.Size = New System.Drawing.Size(74, 22)
|
||||
Me.TsBtnC43cfgData.Text = "C43配置"
|
||||
'
|
||||
'ToolStripSeparator1
|
||||
'
|
||||
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
|
||||
Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25)
|
||||
'
|
||||
'TsBtnAddRows
|
||||
'
|
||||
Me.TsBtnAddRows.Image = CType(resources.GetObject("TsBtnAddRows.Image"), System.Drawing.Image)
|
||||
Me.TsBtnAddRows.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnAddRows.Name = "TsBtnAddRows"
|
||||
Me.TsBtnAddRows.Size = New System.Drawing.Size(52, 22)
|
||||
Me.TsBtnAddRows.Text = "增加"
|
||||
'
|
||||
'ToolStripSeparator2
|
||||
'
|
||||
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
|
||||
Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25)
|
||||
'
|
||||
'TsBtnDelete
|
||||
'
|
||||
Me.TsBtnDelete.Image = CType(resources.GetObject("TsBtnDelete.Image"), System.Drawing.Image)
|
||||
Me.TsBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnDelete.Name = "TsBtnDelete"
|
||||
Me.TsBtnDelete.Size = New System.Drawing.Size(52, 22)
|
||||
Me.TsBtnDelete.Text = "删除"
|
||||
'
|
||||
'ToolStripSeparator3
|
||||
'
|
||||
Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
|
||||
Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25)
|
||||
'
|
||||
'TsBtnSave
|
||||
'
|
||||
Me.TsBtnSave.Image = CType(resources.GetObject("TsBtnSave.Image"), System.Drawing.Image)
|
||||
Me.TsBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnSave.Name = "TsBtnSave"
|
||||
Me.TsBtnSave.Size = New System.Drawing.Size(52, 22)
|
||||
Me.TsBtnSave.Text = "保存"
|
||||
'
|
||||
'TsBtnRead
|
||||
'
|
||||
Me.TsBtnRead.Image = CType(resources.GetObject("TsBtnRead.Image"), System.Drawing.Image)
|
||||
Me.TsBtnRead.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnRead.Name = "TsBtnRead"
|
||||
Me.TsBtnRead.Size = New System.Drawing.Size(52, 22)
|
||||
Me.TsBtnRead.Text = "读取"
|
||||
'
|
||||
'GrdC43cfg
|
||||
'
|
||||
Me.GrdC43cfg.BorderStyle = FlexCell.BorderStyleEnum.None
|
||||
Me.GrdC43cfg.CheckedImage = Nothing
|
||||
Me.GrdC43cfg.Cols = 5
|
||||
Me.GrdC43cfg.DefaultFont = New System.Drawing.Font("宋体", 9.0!)
|
||||
Me.GrdC43cfg.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.GrdC43cfg.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.GrdC43cfg.GridColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
|
||||
Me.GrdC43cfg.Location = New System.Drawing.Point(3, 47)
|
||||
Me.GrdC43cfg.Name = "GrdC43cfg"
|
||||
Me.GrdC43cfg.Rows = 5
|
||||
Me.GrdC43cfg.Size = New System.Drawing.Size(398, 274)
|
||||
Me.GrdC43cfg.TabIndex = 19
|
||||
Me.GrdC43cfg.UncheckedImage = Nothing
|
||||
'
|
||||
'GrpC43
|
||||
'
|
||||
Me.GrpC43.Controls.Add(Me.NudInterval)
|
||||
Me.GrpC43.Controls.Add(Me.Label3)
|
||||
Me.GrpC43.Controls.Add(Me.BtnIssuesData)
|
||||
Me.GrpC43.Controls.Add(Me.NudAddress)
|
||||
Me.GrpC43.Controls.Add(Me.Lbladdress)
|
||||
Me.GrpC43.Controls.Add(Me.BtnReleaseUpgrade)
|
||||
Me.GrpC43.Controls.Add(Me.NudC43Port)
|
||||
Me.GrpC43.Controls.Add(Me.BtnSearch)
|
||||
Me.GrpC43.Controls.Add(Me.NudC43TimeOut)
|
||||
Me.GrpC43.Controls.Add(Me.Label6)
|
||||
Me.GrpC43.Controls.Add(Me.Label8)
|
||||
Me.GrpC43.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.GrpC43.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.GrpC43.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GrpC43.Name = "GrpC43"
|
||||
Me.GrpC43.Size = New System.Drawing.Size(404, 117)
|
||||
Me.GrpC43.TabIndex = 4
|
||||
Me.GrpC43.TabStop = False
|
||||
Me.GrpC43.Text = "C43"
|
||||
'
|
||||
'NudInterval
|
||||
'
|
||||
Me.NudInterval.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.NudInterval.Location = New System.Drawing.Point(190, 68)
|
||||
Me.NudInterval.Maximum = New Decimal(New Integer() {10000, 0, 0, 0})
|
||||
Me.NudInterval.Minimum = New Decimal(New Integer() {10, 0, 0, 0})
|
||||
Me.NudInterval.Name = "NudInterval"
|
||||
Me.NudInterval.Size = New System.Drawing.Size(64, 23)
|
||||
Me.NudInterval.TabIndex = 19
|
||||
Me.NudInterval.Value = New Decimal(New Integer() {200, 0, 0, 0})
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Label3.Location = New System.Drawing.Point(142, 70)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(42, 14)
|
||||
Me.Label3.TabIndex = 18
|
||||
Me.Label3.Text = "间隔:"
|
||||
'
|
||||
'BtnIssuesData
|
||||
'
|
||||
Me.BtnIssuesData.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.BtnIssuesData.Location = New System.Drawing.Point(271, 64)
|
||||
Me.BtnIssuesData.Name = "BtnIssuesData"
|
||||
Me.BtnIssuesData.Size = New System.Drawing.Size(57, 27)
|
||||
Me.BtnIssuesData.TabIndex = 17
|
||||
Me.BtnIssuesData.Text = "下发"
|
||||
Me.BtnIssuesData.UseVisualStyleBackColor = True
|
||||
'
|
||||
'NudAddress
|
||||
'
|
||||
Me.NudAddress.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.NudAddress.Location = New System.Drawing.Point(62, 68)
|
||||
Me.NudAddress.Maximum = New Decimal(New Integer() {2, 0, 0, 0})
|
||||
Me.NudAddress.Name = "NudAddress"
|
||||
Me.NudAddress.Size = New System.Drawing.Size(64, 23)
|
||||
Me.NudAddress.TabIndex = 16
|
||||
'
|
||||
'Lbladdress
|
||||
'
|
||||
Me.Lbladdress.AutoSize = True
|
||||
Me.Lbladdress.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Lbladdress.Location = New System.Drawing.Point(14, 70)
|
||||
Me.Lbladdress.Name = "Lbladdress"
|
||||
Me.Lbladdress.Size = New System.Drawing.Size(42, 14)
|
||||
Me.Lbladdress.TabIndex = 15
|
||||
Me.Lbladdress.Text = "地址:"
|
||||
'
|
||||
'BtnReleaseUpgrade
|
||||
'
|
||||
Me.BtnReleaseUpgrade.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.BtnReleaseUpgrade.Location = New System.Drawing.Point(335, 22)
|
||||
Me.BtnReleaseUpgrade.Name = "BtnReleaseUpgrade"
|
||||
Me.BtnReleaseUpgrade.Size = New System.Drawing.Size(57, 27)
|
||||
Me.BtnReleaseUpgrade.TabIndex = 14
|
||||
Me.BtnReleaseUpgrade.Text = "发布"
|
||||
Me.BtnReleaseUpgrade.UseVisualStyleBackColor = True
|
||||
'
|
||||
'NudC43Port
|
||||
'
|
||||
Me.NudC43Port.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.NudC43Port.Location = New System.Drawing.Point(62, 26)
|
||||
Me.NudC43Port.Maximum = New Decimal(New Integer() {3, 0, 0, 0})
|
||||
Me.NudC43Port.Minimum = New Decimal(New Integer() {1, 0, 0, 0})
|
||||
Me.NudC43Port.Name = "NudC43Port"
|
||||
Me.NudC43Port.Size = New System.Drawing.Size(64, 23)
|
||||
Me.NudC43Port.TabIndex = 13
|
||||
Me.NudC43Port.Value = New Decimal(New Integer() {1, 0, 0, 0})
|
||||
'
|
||||
'BtnSearch
|
||||
'
|
||||
Me.BtnSearch.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.BtnSearch.Location = New System.Drawing.Point(271, 22)
|
||||
Me.BtnSearch.Name = "BtnSearch"
|
||||
Me.BtnSearch.Size = New System.Drawing.Size(57, 27)
|
||||
Me.BtnSearch.TabIndex = 1
|
||||
Me.BtnSearch.Text = "搜索"
|
||||
Me.BtnSearch.UseVisualStyleBackColor = True
|
||||
'
|
||||
'NudC43TimeOut
|
||||
'
|
||||
Me.NudC43TimeOut.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.NudC43TimeOut.Location = New System.Drawing.Point(190, 26)
|
||||
Me.NudC43TimeOut.Maximum = New Decimal(New Integer() {1000, 0, 0, 0})
|
||||
Me.NudC43TimeOut.Name = "NudC43TimeOut"
|
||||
Me.NudC43TimeOut.Size = New System.Drawing.Size(64, 23)
|
||||
Me.NudC43TimeOut.TabIndex = 7
|
||||
Me.NudC43TimeOut.Value = New Decimal(New Integer() {10, 0, 0, 0})
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Label6.Location = New System.Drawing.Point(142, 28)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(42, 14)
|
||||
Me.Label6.TabIndex = 6
|
||||
Me.Label6.Text = "超时:"
|
||||
'
|
||||
'Label8
|
||||
'
|
||||
Me.Label8.AutoSize = True
|
||||
Me.Label8.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Label8.Location = New System.Drawing.Point(14, 28)
|
||||
Me.Label8.Name = "Label8"
|
||||
Me.Label8.Size = New System.Drawing.Size(42, 14)
|
||||
Me.Label8.TabIndex = 2
|
||||
Me.Label8.Text = "Port:"
|
||||
'
|
||||
'OpenFileDialog1
|
||||
'
|
||||
Me.OpenFileDialog1.FileName = "OpenFileDialog1"
|
||||
'
|
||||
'FrmC43Function
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(404, 482)
|
||||
Me.Controls.Add(Me.GrpC43cfg)
|
||||
Me.Controls.Add(Me.GrpC43)
|
||||
Me.Name = "FrmC43Function"
|
||||
Me.Text = "C43功能模块"
|
||||
Me.GrpC43cfg.ResumeLayout(false)
|
||||
Me.GrpC43cfg.PerformLayout
|
||||
Me.TSC43Config.ResumeLayout(false)
|
||||
Me.TSC43Config.PerformLayout
|
||||
Me.GrpC43.ResumeLayout(false)
|
||||
Me.GrpC43.PerformLayout
|
||||
CType(Me.NudInterval,System.ComponentModel.ISupportInitialize).EndInit
|
||||
CType(Me.NudAddress,System.ComponentModel.ISupportInitialize).EndInit
|
||||
CType(Me.NudC43Port,System.ComponentModel.ISupportInitialize).EndInit
|
||||
CType(Me.NudC43TimeOut,System.ComponentModel.ISupportInitialize).EndInit
|
||||
Me.ResumeLayout(false)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents GrpC43cfg As GroupBox
|
||||
Friend WithEvents TSC43Config As ToolStrip
|
||||
Friend WithEvents TsBtnC43cfgData As ToolStripButton
|
||||
Friend WithEvents ToolStripSeparator1 As ToolStripSeparator
|
||||
Friend WithEvents TsBtnAddRows As ToolStripButton
|
||||
Friend WithEvents ToolStripSeparator2 As ToolStripSeparator
|
||||
Friend WithEvents TsBtnDelete As ToolStripButton
|
||||
Friend WithEvents ToolStripSeparator3 As ToolStripSeparator
|
||||
Friend WithEvents TsBtnSave As ToolStripButton
|
||||
Friend WithEvents TsBtnRead As ToolStripButton
|
||||
Friend WithEvents GrdC43cfg As FlexCell.Grid
|
||||
Friend WithEvents GrpC43 As GroupBox
|
||||
Friend WithEvents NudInterval As NumericUpDown
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents BtnIssuesData As Button
|
||||
Friend WithEvents NudAddress As NumericUpDown
|
||||
Friend WithEvents Lbladdress As Label
|
||||
Friend WithEvents BtnReleaseUpgrade As Button
|
||||
Friend WithEvents NudC43Port As NumericUpDown
|
||||
Friend WithEvents BtnSearch As Button
|
||||
Friend WithEvents NudC43TimeOut As NumericUpDown
|
||||
Friend WithEvents Label6 As Label
|
||||
Friend WithEvents Label8 As Label
|
||||
Friend WithEvents OpenFileDialog1 As OpenFileDialog
|
||||
Friend WithEvents SaveFileDialog1 As SaveFileDialog
|
||||
Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker
|
||||
Friend WithEvents BackgroundWorker2 As System.ComponentModel.BackgroundWorker
|
||||
End Class
|
||||
211
RCU-10/RCU/FrmC43Function.resx
Normal file
211
RCU-10/RCU/FrmC43Function.resx
Normal file
@@ -0,0 +1,211 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="TSC43Config.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="TsBtnC43cfgData.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnAddRows.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnRead.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>145, 17</value>
|
||||
</metadata>
|
||||
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>295, 17</value>
|
||||
</metadata>
|
||||
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>440, 17</value>
|
||||
</metadata>
|
||||
<metadata name="BackgroundWorker2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>613, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
600
RCU-10/RCU/FrmC43Function.vb
Normal file
600
RCU-10/RCU/FrmC43Function.vb
Normal file
@@ -0,0 +1,600 @@
|
||||
Imports System.IO
|
||||
Imports System.Threading
|
||||
|
||||
Public Class FrmC43Function
|
||||
Implements IModuleForm
|
||||
|
||||
#Region "窗体"
|
||||
|
||||
''' <summary>
|
||||
''' 窗体加载函数
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub FrmC43Function_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
C43ConfigData() 'C43配置
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 显示窗体接口
|
||||
''' </summary>
|
||||
''' <param name="parentControl"></param>
|
||||
Public Sub ShowForm(parentControl As Control) Implements IModuleForm.ShowForm
|
||||
FormBorderStyle = FormBorderStyle.None '无边框
|
||||
TopLevel = False
|
||||
Dock = DockStyle.Fill '填满大小
|
||||
Parent = parentControl '父容器
|
||||
|
||||
Show()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 发送函数
|
||||
''' </summary>
|
||||
''' <param name="sendPacket"></param>
|
||||
Public Sub SendData(sendPacket() As Byte)
|
||||
FrmRCU.SendData(sendPacket) '方法1
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "C43功能配置"
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 枚举表格列名信息
|
||||
''' </summary>
|
||||
Enum EnListed
|
||||
SerialNumber '序号
|
||||
IsSelected '是否选中
|
||||
ButtonName '按键号
|
||||
ButtonType '按键类型
|
||||
DeviceType '设备类型
|
||||
DeviceNumber '设备编号
|
||||
CarryWayL '执行方式L
|
||||
CarryWayH '执行方式H
|
||||
SceneControlWay '场景执行方式
|
||||
DelayToPerform '延时执行
|
||||
Remark '备注
|
||||
End Enum
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' C43配置数据
|
||||
''' </summary>
|
||||
Private Sub C43ConfigData()
|
||||
GrdC43cfg.DisplayRowNumber = True
|
||||
GrdC43cfg.ExtendLastCol = True
|
||||
GrdC43cfg.Cols = 11
|
||||
GrdC43cfg.Rows = 2
|
||||
|
||||
With GrdC43cfg.Cell(0, EnListed.IsSelected)
|
||||
.Text = "是否选中"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.ButtonName)
|
||||
.Text = "按键号"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.ButtonType)
|
||||
.Text = "按键类型"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.DeviceType)
|
||||
.Text = "设备类型"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.DeviceNumber)
|
||||
.Text = "设备编号"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.CarryWayL)
|
||||
.Text = "执行方式"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.CarryWayH)
|
||||
.Text = "执行内容"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.SceneControlWay)
|
||||
.Text = "场景控制方式"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.DelayToPerform)
|
||||
.Text = "延时执行"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
With GrdC43cfg.Cell(0, EnListed.Remark)
|
||||
.Text = "备注"
|
||||
.BackColor = Color.LightGray
|
||||
.ForeColor = Color.Blue
|
||||
.Font = New Font("Arial", 8, FontStyle.Bold)
|
||||
End With
|
||||
|
||||
'是否选中
|
||||
GrdC43cfg.Column(EnListed.IsSelected).CellType = FlexCell.CellTypeEnum.CheckBox
|
||||
GrdC43cfg.Cell(1, EnListed.IsSelected).Text = $"1"
|
||||
|
||||
'按键号
|
||||
GrdC43cfg.Column(EnListed.ButtonName).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
GrdC43cfg.Column(EnListed.ButtonName).Mask = FlexCell.MaskEnum.Numeric
|
||||
GrdC43cfg.Column(EnListed.ButtonName).DecimalLength = 0
|
||||
|
||||
'按键类型
|
||||
GrdC43cfg.Column(EnListed.ButtonType).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
GrdC43cfg.Column(EnListed.ButtonType).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
With GrdC43cfg.ComboBox(EnListed.ButtonType).Items
|
||||
.Clear()
|
||||
.Add("点按") '默认点按
|
||||
.Add("松开")
|
||||
.Add("长按")
|
||||
End With
|
||||
|
||||
'设备类型
|
||||
GrdC43cfg.Column(EnListed.DeviceType).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
GrdC43cfg.Column(EnListed.DeviceType).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
With GrdC43cfg.ComboBox(EnListed.DeviceType).Items
|
||||
.Clear()
|
||||
.Add("场景")
|
||||
.Add("本地继电器")
|
||||
.Add("本地服务信息")
|
||||
.Add("干节点窗帘")
|
||||
.Add("空调")
|
||||
.Add("LED扩展")
|
||||
.Add("背景音乐")
|
||||
.Add("监控")
|
||||
End With
|
||||
|
||||
'设备编号
|
||||
GrdC43cfg.Column(EnListed.DeviceNumber).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
GrdC43cfg.Column(EnListed.DeviceNumber).Mask = FlexCell.MaskEnum.Numeric
|
||||
GrdC43cfg.Column(EnListed.DeviceNumber).DecimalLength = 0
|
||||
|
||||
'执行方式
|
||||
GrdC43cfg.Column(EnListed.CarryWayL).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
|
||||
'执行内容
|
||||
GrdC43cfg.Column(EnListed.CarryWayH).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
|
||||
'场景控制方式
|
||||
GrdC43cfg.Column(EnListed.SceneControlWay).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
GrdC43cfg.Column(EnListed.SceneControlWay).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
With GrdC43cfg.ComboBox(EnListed.SceneControlWay).Items
|
||||
.Clear()
|
||||
.Add("场景单控")
|
||||
.Add("场景可关闭")
|
||||
End With
|
||||
|
||||
'延时执行
|
||||
GrdC43cfg.Column(EnListed.DelayToPerform).Alignment = FlexCell.AlignmentEnum.CenterCenter
|
||||
GrdC43cfg.Column(EnListed.DelayToPerform).Mask = FlexCell.MaskEnum.Numeric
|
||||
GrdC43cfg.Column(EnListed.DelayToPerform).DecimalLength = 0
|
||||
|
||||
'备注
|
||||
GrdC43cfg.Column(EnListed.Remark).Alignment = FlexCell.AlignmentEnum.LeftCenter
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' C43搜索命令—按地址搜索
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click
|
||||
_sendTick = 0 '标志位
|
||||
|
||||
'获取Set发送内容Data部分
|
||||
_port485 = $"&H{Hex(NudC43Port.Value)}"
|
||||
_timeouts = $"&H{Hex(NudC43TimeOut.Value)}"
|
||||
|
||||
'组包C43搜索命令
|
||||
Dim C43Address As Byte = $"&H{Hex(NudAddress.Value)}"
|
||||
Dim C43Data(4) As Byte
|
||||
C43Data(0) = C43Address
|
||||
C43Data(1) = &HA3
|
||||
C43Data(2) = &H1
|
||||
C43Data(3) = &H0
|
||||
C43Data(4) = C43Address + &HA3 + &H1 + &H0 '和校验
|
||||
|
||||
'填充数据包
|
||||
C43Data = FillPacket(C43Data)
|
||||
|
||||
'发送数据包
|
||||
SendData(C43Data)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' C43发布
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub BtnReleaseUpgrade_Click(sender As Object, e As EventArgs) Handles BtnReleaseUpgrade.Click
|
||||
_sendTick = 0 '标志位
|
||||
|
||||
'获取Set发送内容Data部分
|
||||
_port485 = $"&H{Hex(NudC43Port.Value)}"
|
||||
_timeouts = $"&H{Hex(NudC43TimeOut.Value)}"
|
||||
|
||||
Dim C43Address As Byte = $"&H{Hex(NudAddress.Value)}" '获取发送数据部分
|
||||
Dim C43dataList() As Byte = C43cfgDataTakeOut() '表格数据
|
||||
Dim C43Head() As Byte = C43FirstBlockHeadData() '8个字节的版本号&全局变量
|
||||
Dim C43crc16() As Byte = CheckSendData(C43Head, C43dataList) 'C43发布命令的CRC16校验
|
||||
Dim blocks As Byte = GetBlocks(C43dataList) '求数据的块数
|
||||
|
||||
'和校验
|
||||
Dim dataSumI As UInteger = C43Address + &HA6 + &H1 + &H1 + C43crc16(0) + C43crc16(1) + blocks
|
||||
Dim data7Sum As Byte = dataSumI And &HFF
|
||||
|
||||
'组包C43发布命令
|
||||
Dim C43Data(7) As Byte
|
||||
C43Data(0) = C43Address
|
||||
C43Data(1) = &HA6
|
||||
C43Data(2) = &H1
|
||||
C43Data(3) = &H1
|
||||
C43Data(4) = C43crc16(0)
|
||||
C43Data(5) = C43crc16(1)
|
||||
C43Data(6) = blocks
|
||||
C43Data(7) = data7Sum
|
||||
|
||||
'填充数据包
|
||||
C43Data = FillPacket(C43Data)
|
||||
|
||||
'发送数据
|
||||
SendData(C43Data)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' C43第一包数据包头
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Private Function C43FirstBlockHeadData() As Byte()
|
||||
Dim C43Head(7) As Byte
|
||||
C43Head(0) = &H0 '配置版本号
|
||||
C43Head(1) = &H0 '配置版本号
|
||||
C43Head(2) = &H0 '配置版本号
|
||||
C43Head(3) = &H0 '全局变量_背光时间
|
||||
C43Head(4) = &H0 '备用
|
||||
C43Head(5) = &H0 '备用
|
||||
C43Head(6) = &H0 '备用
|
||||
C43Head(7) = &H0 '备用
|
||||
Return C43Head
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' C43下发数据
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub BtnIssuesData_Click(sender As Object, e As EventArgs) Handles BtnIssuesData.Click
|
||||
SendC43DataToRCU()
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 下发C43数据到RCU
|
||||
''' </summary>
|
||||
Private Sub SendC43DataToRCU()
|
||||
Dim sendPacket As Byte()
|
||||
Dim serialAppPacket As Byte()
|
||||
Dim C43Data As Byte()
|
||||
Dim blockCount As Integer
|
||||
|
||||
_port485 = $"&H{Hex(NudC43Port.Value)}"
|
||||
_timeouts = $"&H{Hex(NudC43TimeOut.Value)}"
|
||||
|
||||
C43Data = C43cfgDataTakeOut() '取表中数据
|
||||
blockCount = GetBlocks(C43Data) '获取总发送块数
|
||||
|
||||
For blockIndex = 0 To blockCount - 1 '循环发送数据块
|
||||
serialAppPacket = FillC43SendPacket(C43Data, blockIndex, blockCount) '组C43透传数据包
|
||||
|
||||
sendPacket = FillPacket(serialAppPacket)
|
||||
SendData(sendPacket)
|
||||
|
||||
Dim Interval As Integer = NudInterval.Value
|
||||
Thread.Sleep(Interval) '发送间隔
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 取出C43配置数据
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Private Function C43cfgDataTakeOut() As Byte()
|
||||
Dim C43DataList As New List(Of Byte)
|
||||
|
||||
For row = 1 To GrdC43cfg.Rows - 1
|
||||
Dim dataOne As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.ButtonName).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.ButtonName).Text = 1
|
||||
dataOne = &H1
|
||||
Else
|
||||
dataOne = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.ButtonName).Text)}"
|
||||
End If
|
||||
|
||||
Dim dataTwo As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.ButtonType).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "点按"
|
||||
dataTwo = &H1
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "点按" Then
|
||||
dataTwo = &H1
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "松开" Then
|
||||
dataTwo = &H2
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "长按" Then
|
||||
dataTwo = &H3
|
||||
End If
|
||||
|
||||
Dim dataThree As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.DeviceType).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "场景"
|
||||
dataThree = &H0
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "场景" Then
|
||||
dataThree = &H0
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "本地继电器" Then
|
||||
dataThree = &H1
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "本地服务信息" Then
|
||||
dataThree = &H4
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "干节点窗帘" Then
|
||||
dataThree = &H5
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "空调" Then
|
||||
dataThree = &H7
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "LED扩展" Then
|
||||
dataThree = &H10
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "背景音乐" Then
|
||||
dataThree = &H15
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "监控" Then
|
||||
dataThree = &H24
|
||||
End If
|
||||
|
||||
Dim dataFour As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.DeviceNumber).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.DeviceNumber).Text = 1
|
||||
dataFour = &H1
|
||||
Else
|
||||
dataFour = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.DeviceNumber).Text)}"
|
||||
End If
|
||||
|
||||
Dim dataFive As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.CarryWayL).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.CarryWayL).Text = 1
|
||||
dataFive = &H1
|
||||
Else
|
||||
dataFive = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.CarryWayL).Text)}"
|
||||
End If
|
||||
|
||||
Dim dataSix As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.CarryWayH).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.CarryWayH).Text = 0
|
||||
dataSix = &H0
|
||||
Else
|
||||
dataSix = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.CarryWayH).Text)}"
|
||||
End If
|
||||
|
||||
Dim dataSeven As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = "场景单控"
|
||||
dataSeven = &H1
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = "场景单控" Then
|
||||
dataSeven = &H1
|
||||
ElseIf GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = "场景可关闭" Then
|
||||
dataSeven = &H2
|
||||
End If
|
||||
|
||||
Dim dataEight As Byte
|
||||
If GrdC43cfg.Cell(row, EnListed.DelayToPerform).Text = Nothing Then
|
||||
GrdC43cfg.Cell(row, EnListed.DelayToPerform).Text = 0
|
||||
dataEight = &H0
|
||||
Else
|
||||
dataEight = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.DelayToPerform).Text)}"
|
||||
End If
|
||||
|
||||
If GrdC43cfg.Cell(row, EnListed.IsSelected).BooleanValue = True Then
|
||||
C43DataList.Add(dataOne)
|
||||
C43DataList.Add(dataTwo)
|
||||
C43DataList.Add(dataThree)
|
||||
C43DataList.Add(dataFour)
|
||||
C43DataList.Add(dataFive)
|
||||
C43DataList.Add(dataSix)
|
||||
C43DataList.Add(dataSeven)
|
||||
C43DataList.Add(dataEight)
|
||||
Else
|
||||
Console.WriteLine("此行数据未选中!")
|
||||
End If
|
||||
Next
|
||||
Return C43DataList.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充C43发送数据包
|
||||
''' </summary>
|
||||
''' <param name="C43Data"></param>
|
||||
''' <param name="blockIndex"></param>
|
||||
''' <param name="blockCount"></param>
|
||||
''' <returns></returns>
|
||||
Private Function FillC43SendPacket(C43Data As Byte(), blockIndex As Integer, blockCount As Integer) As Byte()
|
||||
Dim dataList As New List(Of Byte)
|
||||
|
||||
dataList.AddRange(FillC43AddrData(blockIndex)) '地址4个字节
|
||||
|
||||
dataList.AddRange(FillC43SendPacketByBlock(C43Data, blockIndex, blockCount)) '按块填充表格数据
|
||||
|
||||
dataList.Add(GetSumCheck(dataList.ToArray)) '求块数据和校验
|
||||
|
||||
Return dataList.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充C43地址数据
|
||||
''' </summary>
|
||||
''' <param name="blockIndex"></param>
|
||||
''' <returns></returns>
|
||||
Private Function FillC43AddrData(blockIndex As Integer) As Byte()
|
||||
Dim C43Address As Byte = $"&H{Hex(NudAddress.Value)}" '获取发送数据部分
|
||||
Dim C43Data(3) As Byte
|
||||
C43Data(0) = C43Address
|
||||
C43Data(1) = &HA7
|
||||
C43Data(2) = &H1
|
||||
C43Data(3) = blockIndex
|
||||
|
||||
Return C43Data
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 按块填充C43表格数据
|
||||
''' </summary>
|
||||
''' <param name="C43Data"></param>
|
||||
''' <param name="blockIndex"></param>
|
||||
''' <param name="blockCount"></param>
|
||||
''' <returns></returns>
|
||||
Private Function FillC43SendPacketByBlock(C43Data As Byte(), blockIndex As Integer, blockCount As Integer) As Byte()
|
||||
Dim blockPacket As New List(Of Byte)
|
||||
|
||||
If blockIndex = 0 Then blockPacket.AddRange(C43FirstBlockHeadData) '第0块额外添加8个字节数据
|
||||
|
||||
If blockIndex = blockCount - 1 Then
|
||||
For index = 128 * blockIndex To C43Data.Length - 1
|
||||
blockPacket.Add(C43Data(index))
|
||||
Next
|
||||
Else
|
||||
For index = 128 * blockIndex To 128 * (blockIndex + 1) - 1
|
||||
blockPacket.Add(C43Data(index))
|
||||
Next
|
||||
End If
|
||||
|
||||
Return blockPacket.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' C43表格配置按键
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub TSBtnC43cfgData_Click(sender As Object, e As EventArgs) Handles TsBtnC43cfgData.Click
|
||||
GrdC43cfg.Rows = 1 '清除表格数据
|
||||
C43ConfigData()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 增加数据行
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub TSBtnAddRows_Click(sender As Object, e As EventArgs) Handles TsBtnAddRows.Click
|
||||
GrdC43cfg.AddItem("")
|
||||
GrdC43cfg.Cell(GrdC43cfg.Rows - 1, EnListed.IsSelected).Text = "1"
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 删除数据行
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub TSBtnDelete_Click(sender As Object, e As EventArgs) Handles TsBtnDelete.Click
|
||||
GrdC43cfg.Selection.DeleteByRow()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 保存C43数据
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TsBtnSave.Click
|
||||
Dim dirPath As String = Application.StartupPath & "/" & "C43Config"
|
||||
If Directory.Exists(dirPath) = False Then Directory.CreateDirectory(dirPath)
|
||||
SaveFileDialog1.InitialDirectory = dirPath
|
||||
|
||||
SaveFileConfig()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 保存文件配置
|
||||
''' </summary>
|
||||
Private Sub SaveFileConfig()
|
||||
With SaveFileDialog1
|
||||
.Filter = "保存为xml|*.xml"
|
||||
.FileName = "C43"
|
||||
.DefaultExt = "xml"
|
||||
.AddExtension = True
|
||||
End With
|
||||
|
||||
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
|
||||
GrdC43cfg.ExportToXML(SaveFileDialog1.FileName)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 读取数据
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub TSBtnRead_Click(sender As Object, e As EventArgs) Handles TsBtnRead.Click
|
||||
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
|
||||
GrdC43cfg.LoadFromXML(OpenFileDialog1.FileName)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
'Private Function FillSerialAppPacket(serialAppPacket As Byte()) As Byte()
|
||||
' '获取Set发送内容Data部分
|
||||
' Dim serialCmd As Byte = &H3
|
||||
' Dim port485 As Byte = $"&H{Hex(NudC43Port.Value)}"
|
||||
' Dim timeOut As Byte = $"&H{Hex(NudC43TimeOut.Value)}"
|
||||
|
||||
' Dim dataLen As Integer = serialAppPacket.Length + 3
|
||||
' Dim data(dataLen - 1) As Byte
|
||||
' data(0) = serialCmd
|
||||
' data(1) = port485
|
||||
' data(2) = timeOut
|
||||
' Array.Copy(serialAppPacket, 0, data, 3, serialAppPacket.Length)
|
||||
|
||||
' '获取发送数据Head部分和CRC16校验值部分
|
||||
' Dim byteHead As Byte() = SendDataHead(data) '获取DataHaed
|
||||
' Dim crc16 As Byte() = CheckSendData(byteHead, data) '获取Data检验值
|
||||
|
||||
' Return FillSendPacket(byteHead, data, crc16)
|
||||
'End Function
|
||||
#End Region
|
||||
|
||||
|
||||
End Class
|
||||
1283
RCU-10/RCU/FrmInfraredFunction.Designer.vb
generated
Normal file
1283
RCU-10/RCU/FrmInfraredFunction.Designer.vb
generated
Normal file
File diff suppressed because it is too large
Load Diff
129
RCU-10/RCU/FrmInfraredFunction.resx
Normal file
129
RCU-10/RCU/FrmInfraredFunction.resx
Normal file
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="CmsDataTable.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>167, 17</value>
|
||||
</metadata>
|
||||
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>25</value>
|
||||
</metadata>
|
||||
</root>
|
||||
2805
RCU-10/RCU/FrmInfraredFunction.vb
Normal file
2805
RCU-10/RCU/FrmInfraredFunction.vb
Normal file
File diff suppressed because it is too large
Load Diff
104
RCU-10/RCU/FrmPassword.Designer.vb
generated
Normal file
104
RCU-10/RCU/FrmPassword.Designer.vb
generated
Normal file
@@ -0,0 +1,104 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class FrmPassword
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.TboPassword = New System.Windows.Forms.TextBox()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.BtnOK = New System.Windows.Forms.Button()
|
||||
Me.BtnCancel = New System.Windows.Forms.Button()
|
||||
Me.SuspendLayout
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = true
|
||||
Me.Label1.Font = New System.Drawing.Font("新宋体", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.Label1.Location = New System.Drawing.Point(12, 24)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(148, 21)
|
||||
Me.Label1.TabIndex = 0
|
||||
Me.Label1.Text = "请输入密码:"
|
||||
'
|
||||
'TboPassword
|
||||
'
|
||||
Me.TboPassword.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.TboPassword.Location = New System.Drawing.Point(88, 80)
|
||||
Me.TboPassword.Name = "TboPassword"
|
||||
Me.TboPassword.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42)
|
||||
Me.TboPassword.Size = New System.Drawing.Size(226, 23)
|
||||
Me.TboPassword.TabIndex = 1
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = true
|
||||
Me.Label2.Font = New System.Drawing.Font("新宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.Label2.Location = New System.Drawing.Point(12, 83)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(70, 14)
|
||||
Me.Label2.TabIndex = 2
|
||||
Me.Label2.Text = "PassWord:"
|
||||
'
|
||||
'BtnOK
|
||||
'
|
||||
Me.BtnOK.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.BtnOK.Location = New System.Drawing.Point(137, 145)
|
||||
Me.BtnOK.Name = "BtnOK"
|
||||
Me.BtnOK.Size = New System.Drawing.Size(75, 32)
|
||||
Me.BtnOK.TabIndex = 3
|
||||
Me.BtnOK.Text = "确认"
|
||||
Me.BtnOK.UseVisualStyleBackColor = true
|
||||
'
|
||||
'BtnCancel
|
||||
'
|
||||
Me.BtnCancel.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte))
|
||||
Me.BtnCancel.Location = New System.Drawing.Point(239, 145)
|
||||
Me.BtnCancel.Name = "BtnCancel"
|
||||
Me.BtnCancel.Size = New System.Drawing.Size(75, 32)
|
||||
Me.BtnCancel.TabIndex = 4
|
||||
Me.BtnCancel.Text = "取消"
|
||||
Me.BtnCancel.UseVisualStyleBackColor = true
|
||||
'
|
||||
'FrmPassword
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 12!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(332, 197)
|
||||
Me.Controls.Add(Me.BtnCancel)
|
||||
Me.Controls.Add(Me.BtnOK)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.TboPassword)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Name = "FrmPassword"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "提示"
|
||||
Me.ResumeLayout(false)
|
||||
Me.PerformLayout
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents TboPassword As TextBox
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents BtnOK As Button
|
||||
Friend WithEvents BtnCancel As Button
|
||||
End Class
|
||||
120
RCU-10/RCU/FrmPassword.resx
Normal file
120
RCU-10/RCU/FrmPassword.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
69
RCU-10/RCU/FrmPassword.vb
Normal file
69
RCU-10/RCU/FrmPassword.vb
Normal file
@@ -0,0 +1,69 @@
|
||||
Public Class FrmPassword
|
||||
|
||||
''' <summary>
|
||||
''' 密码
|
||||
''' </summary>
|
||||
Private _password As String = $"885533"
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否删除
|
||||
''' </summary>
|
||||
Public _isDel As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 打开窗体
|
||||
''' </summary>
|
||||
Public Sub OpenFrmPass()
|
||||
Show() 'Show为非阻塞式,循环继续执行,ShowDialog为阻塞式,等待窗体完成后继续执行
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 显示窗体
|
||||
''' </summary>
|
||||
Public Sub ShowMyDialog()
|
||||
ShowDialog()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 确认
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub BtnOK_Click(sender As Object, e As EventArgs) Handles BtnOK.Click
|
||||
DialogResult = DialogResult.OK
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 取消
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub BtnCancel_Click(sender As Object, e As EventArgs) Handles BtnCancel.Click
|
||||
DialogResult = DialogResult.Cancel
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否删除
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Function IsDelete() As Boolean
|
||||
If _password = TboPassword.Text Then
|
||||
_isDel = True
|
||||
Console.WriteLine($"是否删除 = " & _isDel)
|
||||
Else
|
||||
_isDel = False
|
||||
Console.WriteLine($"是否删除 = " & _isDel)
|
||||
Return False
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
||||
1433
RCU-10/RCU/FrmRCU.Designer.vb
generated
Normal file
1433
RCU-10/RCU/FrmRCU.Designer.vb
generated
Normal file
File diff suppressed because it is too large
Load Diff
726
RCU-10/RCU/FrmRCU.resx
Normal file
726
RCU-10/RCU/FrmRCU.resx
Normal file
@@ -0,0 +1,726 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="RdoStatus.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>141, 14</value>
|
||||
</metadata>
|
||||
<metadata name="Panel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnReset.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLongPort2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label12.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLocalPort1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLongPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLocalPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTXCount.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblRXCount.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblRX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLongIP2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLongIP1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLocalIp1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLocalIp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>233, 14</value>
|
||||
</metadata>
|
||||
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>378, 14</value>
|
||||
</metadata>
|
||||
<metadata name="FileSystemWatcher1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>528, 14</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>59</value>
|
||||
</metadata>
|
||||
<metadata name="SplContainer1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabControl2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRecord.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpNewsletter.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RtxRecord.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnClear.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PagePort1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpPort1Data.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RtxCountOne.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnPort1Clear.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCount1RX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCountPort1TX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCount1TX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCountPort1RX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PagePort2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpPort2Data.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnPort2Clear.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RtxCountTwo.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCount2TX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCountPort2TX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCount2RX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCountPort2RX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PagePort3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpPort3Data.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RtxCountThree.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnPort3Clear.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCount3TX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCount3RX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCountPort3TX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCountPort3RX.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabFunction.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageInfrastructure.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpSerialAppMode.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudSerialAppPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSend.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TxtSendSerialApp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblSerialAppData.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudTimeOut3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTimeOut3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblPort5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpReadMode.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ChkShowHeartBeat.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudMonitoring.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudTimeOut2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudSetPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTimeOut2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboMode.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblPort4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudSerialPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnMonitoring.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudTimeOut1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblPort2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTimeOut1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnRead.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblMode.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSet.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CBoBaud.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblPort3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblBaud.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrpBaseSet.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RdoRadUdp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RdoPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PnlUdp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnNetworkConnect.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudRemotePort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblPort1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudLocalPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblIP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboLocalIp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LbllongPort1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblLongIP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboLongIP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PnlPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSerialPortConnect.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label69.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboSerialPort.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label71.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboSerialBaud.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD//P7//v77//35/f/u79r/u8l2/5yxN/+HpRH/hKUG/4SiC/+Eog3/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKIN/4SfEf+Gohb/mK86/7zH
|
||||
fP/u8dD//vf8///6/P/+/uz//fz7//36+f/N15v/h6Qj/4CgEP+DoA//hKMK/4SkCP+Eogv/hKIM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Si
|
||||
C/+Down/hKQI/4KjCv+BoBH/iaYj/83XmP/+9/v//vn8//z89//L1pj/hKER/4WpAv+Dowr/hKIM/4Si
|
||||
DP+Eogz/hKMK/4SjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Dowv/g6QI/4SkCf+EpAj/hKQG/4SmBv+CohH/ytWV//33/P/p687/h6Ye/4ao
|
||||
A/+GnhH/haAQ/4SiDP+Eog3/hKIM/4SjCv+Eowv/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6IM/4OiDP+EoQ7/hKEO/4SiDP+FoA7/g6QH/4ak
|
||||
H//q7sn/uMB3/4OkDP+EpQX/hZ8R/4WiC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKIN/4SjCf+BoQ//tcRv/5StLv+Cowr/hKEM/4WgDv+FpAf/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4ShDv+Eogv/gaMI/5KuL/+EpQ3/g6MN/4SgDf+Fogv/haMJ/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+EoQ3/hKIL/4OkCP+FpA7/gqIN/4Oh
|
||||
D/+EpAj/haMI/4WgDv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4Oi
|
||||
C/+Dogv/hKIK/4SjDP+Dogz/hKML/4SjC/+Eogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjCv+Eogr/g6MK/4KmBf+EoQ3/hqEM/4GnB/+FnhT/h6QI/3uj
|
||||
Dv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eog3/hKEN/4SiDP+Eowr/hKQI/4KlCv+Hogr/g6UF/4CkCf+HnxL/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4OjC/+Dowv/hKIM/4SiDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eogv/hJ8R/4WdFP+Howj/hqIJ/4mg
|
||||
D/+YsDv/hKEQ/4ucFf+DpwX/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKIM/4ShDf+Eogz/hKMK/4SjCf+HoBH/g6IJ/5Gj
|
||||
Qv+SsSX/haMJ/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6QJ/4Si
|
||||
C/+IoA7/h6MH/4KiDP+mvV7/5fTb/7jPi/+Gpgn/iJ8O/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SiC/+Eogv/g6IL/4Sj
|
||||
DP+Eowz/iaIL/4awJv/l7dT/obhD/4KjCf+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4OjCf+EpAf/h6QG/4ChEf+fu1//xO7Z/4bYpP+069T/t9GO/4OfGP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowr/hKMJ/4OiCv+Eogz/hKEN/5OqMv/I5M3/0dvy/6K2SP+Aogv/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKML/4SjCv+Dowv/g6MK/4OjC/+EoA//hKAO/4WjCv+lvVr/zO7X/3HVov9e2p3/e9+x/8Hp
|
||||
2f+81Yb/haIT/4SjC/+EoQ3/g6QJ/4OjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Si
|
||||
DP+Eogz/hKIM/4SjC/+Eowv/g6QJ/4SjCf+Fowr/hKMM/5KtLP/b4cb/hoz5/7S99/+huEX/gaQH/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjC/+Fogr/hKAP/4OkB/+Eown/g6AP/4KkDP+rvFv/zu7Q/2zT
|
||||
pv9T1pn/Ztig/3jhsP+B3LT/t+zR/7/Qjf+DphD/hqAP/4OgEP+BpQf/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eogz/hKEO/4SiDP+Eowv/hKMJ/4SkCf+IoQ3/iaQG/42tLf/V4NT/j5Hw/25y
|
||||
9P+7vfX/nblF/4SiCv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Dowv/g6EN/4WdFf+IoQz/h6QG/4Sk
|
||||
Cf+sumH/0ezm/2TXof9c2ZH/W9OY/2jYoP914a7/dd6x/4jatf+66dX/u9eR/4mlDf+InBX/g6IN/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKIM/4SiDP+Eogz/hKML/4SjCv+HoAz/iaMK/4+s
|
||||
L//V4NH/lI71/3Zv9/9ubfv/u7v3/525Rf+Eogn/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4Ol
|
||||
Bf+Hogr/hqMH/4ChD/+nu1j/zvDR/2jWp/9X1Zr/VdWZ/1bVl/9r16D/duKt/3HhsP9637D/gOGt/7nr
|
||||
0P/B15H/g6YL/4SgD/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjC/+Eowr/hKML/4Sj
|
||||
DP+Eowz/hKMJ/46qLf/X4dX/k4/2/3Bv+P9zbPv/bmv+/7u89/+duUT/hKEK/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4OiC/+Eogv/h6MI/4GhDf+cumD/yu/Y/3HWof9W2ZL/WNSa/1nVlv9Y05v/bdef/3zh
|
||||
rf914q3/e+Cu/3PhrP+A46X/s+XW/8DYmv+EoBf/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowv/hKQI/4SjCf+Eowz/g6EN/4+rMv/Y49L/koz3/3Bs+v9xbvb/dGz6/25t+/+7vvT/nblD/4Sg
|
||||
Df+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4WjCf+Eogv/g6QJ/4OkCP+EoA//g6AQ/4KlB/+rvVf/yu3Y/2nUqf9Y05v/X9WX/1TW
|
||||
mP9a1Jn/W9WX/2rYoP984az/euGt/33grf944K3/deGw/4Lcsv+36ND/wNiX/4ehF/+Eowr/gqQJ/36l
|
||||
Cf+Cog3/hKMM/4SjDP+Eowz/g6ML/4GkCv+HoQ3/haQJ/46pMf/X4sn/kpTs/3Ns+f9wbfr/dGz6/3Vs
|
||||
+v9tbvr/ub71/5+5RP+DoQz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eogv/hJ8R/4WgDv+FpAf/haAO/4CjC/+suF7/zPHU/3HY
|
||||
nP9c0KD/WdWZ/1nVmf9Z1Zn/WdWZ/1rVmf9n2qH/euKt/3zhrf984K7/feGr/3fhrf954LH/hdy0/7bp
|
||||
zv/E25n/hakN/4idE/+CnxL/gqQJ/4SjDP+Eowz/hKMM/4OiDP+FoA//h6QH/5CtLv/Z4dL/lJHu/3Ny
|
||||
8f9ya/r/c2v9/3Nt+f92bfn/bG38/7e+9/+guUT/gqIK/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6MJ/4WfEf+IoA//h6QG/4Wi
|
||||
C/+pu1b/zuvg/2fUp/9S15b/YNaY/1nVmf9Z1Zn/WdWZ/1nVmf9a1Zn/Z9qh/3rirf984a3/fOCu/33h
|
||||
rP944a3/dOGv/3jfsP+A3q3/r+fQ/8Xbnf+NpBX/i6EN/4SiDP+Eowz/g6IL/4SjDP+Fowv/iKQG/46s
|
||||
Lf/U39H/k432/3Nr+v9ya/v/c2r+/3Nr/f9zbfj/dm35/2xt/P+3vvf/oLlE/4KiCv+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Ol
|
||||
Bv+GpAf/h6QG/4ChEv+gvFX/0O7U/2fbnP9V1Jz/W9Sa/1LVmv9Z1Zn/WdWZ/1nVmf9Z1Zn/WdSZ/2jb
|
||||
ov954a3/fOGt/3zgr/984a3/eeGt/3fhrf924a3/dOKt/33ko/+15tH/xdye/4enEv+Fowv/hKMM/4Oi
|
||||
C/+Eowz/hKMM/46rLf/W3tH/k474/29t+v9vbvj/c2v9/3Nr/f9zbPz/c236/3Zt+v9sbfz/t773/6C5
|
||||
RP+Cogr/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+EoA//hqEM/4OiCv+dulj/1eza/2TYo/9h15T/VtSb/1fUmv9e1Zb/WdWZ/1nV
|
||||
mf9Z1Zn/WdWZ/1nUmf9o26L/eeGt/3zhrf974K//eeGt/3zhrf994az/feGr/3rer/934K7/gOKp/7Tn
|
||||
0f/K3KT/iKQZ/4SjDP+Eowz/haQN/5OvJP/X39H/lo30/29t+/9tb/X/cm36/3Nt+P9zbvj/c235/3Ns
|
||||
/P92bPr/bG38/7e+9/+guUT/gqIK/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/fKMO/4ijCv+quVb/xe/S/3fTqf9X1pj/W9SZ/1jV
|
||||
mP9Y1Jr/WtWX/1nVmf9Z1Zn/WdWZ/1nVmf9f0Zz/Zduk/27jq/+F3bD/fd20/3jirP944qv/eeKr/3ni
|
||||
q/964av/eeCt/3bhrf+A3bD/qevH/8Thn/+Mnx//g6MO/4KtJv/c383/jZDw/3Rw9f9ybP3/cm37/3Nt
|
||||
+f9zbfn/c235/3Nt+f9zbPr/dWv6/2tt+v+4wPX/oLpC/4KiC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4qjCf+nuF3/ye7W/3HT
|
||||
qv9P25H/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/VNaW/2fdoP9046r/feGq/2rl
|
||||
q/9636//et+v/3rfr/9636//fN+v/3zfsP9237L/et60/4Tctf+o49T/1eGn/6WtNP/S4sj/go34/3Jw
|
||||
8v9ybPr/c2r+/3Ns+v9zbvj/c236/3Nt+v9zbfr/c236/3Vr+v9rbfr/uMD1/6C6Qv+Cogv/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+htUD/yO7P/2zPtP9Y2JL/U9Oe/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1/T
|
||||
mf+c3r3/w+vf/8fq3/+979r/xPHU/8Tx1P/E8dT/xPHU/8bw1f/F79b/wPDW/7/w1f/B79X/uu7W/9vz
|
||||
9P/n6PD/m433/2pw9/9zbPz/c2r+/3Jq/v9zbfr/c234/3Nt+v9zbfr/c236/3Nt+v91a/r/a236/7jA
|
||||
9f+fuUH/g6IM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/rL5t/5njv/9T1pn/XtqM/13Npv9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nV
|
||||
mf9Z1Zn/WdWZ/1nVmf9L1pr/h+LV/33P8v91y/j/e8z0/3XI/P91yPz/dcj8/3XI/P91yP3/dsf9/3XI
|
||||
/P91yfv/dMr6/4LK8f+AzPD/d6Ds/3ts9v9+Z/z/c2z8/3Ns+/9zbPv/c2z7/3Ns+v9zbfr/c236/3Nt
|
||||
+v9zbfr/dWv6/2tt+v+4wPX/n7lB/4OjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/7O/aP+f5bj/WNSc/13UmP9T15b/WdWZ/1nV
|
||||
mf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/Y9WW/53g1P9dv/b/R738/069/f9Uvfr/VL36/1S9
|
||||
+v9Uvfr/U737/1O9/P9Wvfv/V735/1a++P9Tuvz/VMD3/2CJ+/9wbvf/Z3H4/3Nt+P9zbvj/c235/3Ns
|
||||
+/9zbPv/c236/3Nt+v9zbfr/c236/3Vs+v9sbfr/t8H1/565Qf+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nV
|
||||
l/9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1fVmP+e4tD/U7z9/1O/
|
||||
9v9Su/7/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/Ur77/1S8/f9ljvb/eWr8/29t
|
||||
+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v90bfv/cG36/7XC9v+ZukH/hqIM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/rsRi/5/kxf9Z1Zf/U9Wa/1nVmP9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nV
|
||||
mf9X1Zj/n+PR/1K7/v9Tv/b/Urv+/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1K+
|
||||
+/9UvP3/ZY72/3lq/P9vbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/dG37/3Bt
|
||||
+v+1wvb/mbpB/4aiDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/67EYv+f5MX/WdWX/1PVmv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1nV
|
||||
mf9Z1Zn/WdWZ/1nVmf9Z1Zn/V9WY/6Lm0/9Su/3/U7/2/1K7/v9Tvf3/U739/1O9/f9Tvf3/U739/1O9
|
||||
/f9Tvf3/U739/1O9/f9Rvvv/U7z8/2SM9f95avz/b236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt
|
||||
+v9zbfr/c236/3Rt+v9wbfr/tsL2/5m6Qf+Gogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nVl/9T1Zr/WdWY/1nV
|
||||
mf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1fVmP+i5tP/Urv9/1O/9v9Su/7/U739/1O9
|
||||
/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/Ub77/1O8/P9kjPT/eWr8/29t+v9zbfr/c236/3Nt
|
||||
+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v90bfr/cG36/7bC9v+ZukH/hqIM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsRi/5/k
|
||||
xf9Z1Zf/U9Wa/1nVmP9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Jj/pebX/1S8
|
||||
/P9TwPX/Ubz8/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1K++/9UvPz/Y4v0/3lq
|
||||
/P9vbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/dG36/3Bt+v+1wvb/mbpB/4ai
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/67EYv+f5MX/WdWX/1PVmv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nV
|
||||
mf9Z1Zn/W9SX/6jm2/9VvPv/U8D1/1G9+/9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9
|
||||
/f9Svvv/VLz8/2KL9P95avz/b236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Rt
|
||||
+v9wbfr/tcL2/5m6Qf+Gogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nVl/9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nV
|
||||
mf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1vUl/+q6Nz/VLz6/1PA9f9Rvfv/U739/1O9/f9Tvf3/U739/1O9
|
||||
/f9Tvf3/U739/1O9/f9Tvf3/Ur77/1S8/P9iivP/eWr8/29t+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt
|
||||
+v9zbfr/c236/3Nt+v90bfr/cG36/7XC9v+ZukH/hqIM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsRi/5/kxf9Z1Zf/U9Wa/1nV
|
||||
mP9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9c1Zn/rOre/1W8+v9TwPX/Ub37/1O9
|
||||
/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1G++/9UvPz/YYny/3lq/P9vbfr/c236/3Nt
|
||||
+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/dG36/3Bt+v+1wvb/mbpB/4aiDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/67E
|
||||
Yv+f5MX/WdWX/1PVmv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/W9SY/63r
|
||||
4P9Uu/n/U8D1/1G9+/9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Rvvv/VLz8/2GJ
|
||||
8v95avz/b236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Rt+v9wbfr/tcL2/5m6
|
||||
Qf+Gogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nVl/9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nVmf9X1Zn/VtWZ/1rU
|
||||
mf9b1Jn/WtSZ/1/QoP+z7Nf/Wr73/0a8/P9XvPz/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9
|
||||
/f9Tvf3/U776/1a7/f9ihvX/e2n9/3Ft+f9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt
|
||||
+v9yb/f/bmv8/7+++P+cukD/hKIO/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsRi/5/kxf9Z1Zf/U9Wa/1nVmP9Z1Zn/WdWZ/1nV
|
||||
mf9Z1Zn/WNWZ/1jVmf9W1Zn/VdWZ/1XVmf9Z1Zf/surg/1y6/P9KwvT/W7z5/1O9/f9Tvf3/U739/1O9
|
||||
/f9Tvf3/U739/1O9/f9Tvf3/U739/1S++v9Wu/3/YoX1/3tp/f9xbfn/c236/3Nt+v9zbfr/c236/3Nt
|
||||
+v9zbfr/c236/3Nt+v9zbfr/d2r9/2pu+v+1xfH/mbs+/4igEP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/67EYv+e48T/WdWY/1PV
|
||||
mv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1rUmf9Z1Zn/U9aY/1HWmP9W1pn/WNOc/7Tp5/9cuP7/RML1/1G5
|
||||
/P9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvvr/Vrv9/2KF9f97af3/cW35/3Nt
|
||||
+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3hs+f9sb/j/tr/5/5m0SP+JpQf/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+vxGP/nuPE/1nVmP9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nVmf9a1Jn/WNWZ/1PWmf9X1Jj/YtKY/43a
|
||||
uP/m+N3/gMzx/069/P9Nuvz/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U735/1W6
|
||||
/f9hhfX/e2n9/3Ft+f9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9yb/b/g4vl/93f
|
||||
5/+asDP/gqQJ/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/r8Rj/57jxP9Z1Zj/U9Wa/1nVmP9W1Zn/WNWZ/1nUmf9Z1Zn/WNOa/1rU
|
||||
mv9W2Jb/W9Oc/43erf/K5MH/paxF/77ox/9+yfr/VsD2/1W8/f9Uvfz/ULv9/1C8/P9Tvvr/U739/1O9
|
||||
/f9Tvf3/U739/1O9+f9Uu/3/ZYT1/3hq/f9ybfn/c236/3Nt+v9zbfr/c236/3Nr+v90avv/c2z6/3Jt
|
||||
+f9wbPr/f3/4/9Dg5f+jtVL/i6UF/3+gEv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/6/EY/+e48T/WdWY/1PVmv9Z1Zj/UtaZ/1jV
|
||||
mf9b1Jn/V9WZ/1jUmf9Y15P/VdOa/4zesf/T6cL/haUs/4ClCP+RpSv/yeTK/4HO+P9Su/7/UL77/1O9
|
||||
+f9Tvfr/Ub76/1O9/f9Tvf3/U739/1O9/f9Svvr/ULz9/2+B9P9ubP3/dm35/3Nt+v9zbfr/c236/3Nt
|
||||
+v91afz/dm32/3Fv9f9waf3/gYXy/9Xd6v+atFX/hKIK/4egDf+DpQf/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+vxGP/nuPE/1nV
|
||||
mP9T1Zr/WdWY/1nVmf9a1Zn/WdWZ/1bVmf9W2pD/VNWZ/4DdtP/V6Lz/jKwj/36pBP99nxT/iaMM/5aq
|
||||
If/Y5cP/fc/3/0e8/v9UwPL/W8Dy/026/v9Tvf3/U739/1O9/f9Tvf3/Ur76/1C8/f9vgfT/bmz9/3Zt
|
||||
+f9zbfr/c236/3Nt+v9zbfr/dGz6/3By8P9ocvP/gYD4/9Tf4/+ct0z/gqQK/4mlB/+GnxH/gaML/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/r8Rj/57jxP9Z1Zj/U9Wa/1nVmP9b1Jn/WdWZ/1jUmP9a1Jj/WNOb/4vcsv/T58X/hbEd/4ue
|
||||
Ev+QmxT/f6MM/3+nBv+Fogv/iaYm/9rjvv99yPz/Rbn+/1HA+P9Vvfv/U739/1O9/f9Tvf3/U739/1K+
|
||||
+v9Puv3/boD0/25s/f92bfn/c236/3Nt+v9zbfr/c236/3Nt+v9waf7/f4L2/9Hh4/+ctU7/hqAO/4ih
|
||||
C/+Hnw//g6EN/4ClBv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/6/EY/+e48T/WdWY/1PVmv9Z1Zj/VtWZ/1XVmf9Y1Zj/YtOY/43g
|
||||
rv/Q58P/j6sl/4ihDf+CoQz/hp4Q/3+mBP+DpAr/h58T/3qlB/+NpiX/1eK+/4bP9f9Svvv/Wbz7/1O9
|
||||
/f9Tvf3/U739/1O9/f9Svvr/T7r9/26A9P9ubP3/dm35/3Nt+v9zbfr/c236/3Nt+v9vbfr/gYLw/9fg
|
||||
5f+ct03/gaQK/4WkCP+EoA7/gqIN/4ClB/+ApAn/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+sxGP/nOPF/1rWlv9U1Zn/WtSZ/1nR
|
||||
nv9Z2JL/VtOc/4zdrv/R57v/jKol/4KkDf+LoA7/gqQL/3+lCP+BpAn/hqIL/4miDP+Dowz/fKMP/5Kl
|
||||
IP/R5Lr/hs34/0+7/v9Yvvf/Vb/3/066/v9QwPf/U7/3/1G6/f9tf/T/bWz9/3Rt+P9xa/z/dWz5/3Zs
|
||||
+f9wbfb/gIP0/9He6v+at0v/hqAR/4OlBf+Dpgb/g6MK/4KkCv+CpAn/g6IM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsNk/57i
|
||||
xf9a1pX/U9aY/1nUmf9a2Y3/T9Oe/43erv/T6cH/iKwl/4OiC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKML/4GmBv9+oRL/l6Ik/9Diuv+Gzfr/ULv6/1S/9/9fu/n/ULz9/1G9+/9Tuv7/bX/0/2xt
|
||||
/P90bfj/c2/1/3F16/9yaP3/g4Tw/87h4/+WtVr/f6MJ/4ehDf+Eogz/g6MK/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/7LDZP+h4sX/WdeV/1PXmf9a1Zr/VteT/4Lctf/Q7MD/kq4g/4ShDv+Eowz/g6IL/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjC/+GpQn/fqQK/42mAv+VoCP/0OO6/4nQ9/9JuP7/WL34/1K9
|
||||
+/9RvPz/U7r+/21/9P9sbfz/dG33/3Zs+P9sbvj/fYD5/9Pf6f+auE7/gaMK/4elBv+InxD/g6IM/4Oj
|
||||
C/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+yw2T/n+LF/1fXlv9W1Zj/Y9CZ/4rbtf/a6Mf/hqwd/4Ci
|
||||
DP+PnBb/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eog3/iZ0T/4OnA/9+owv/fJ8P/5Gk
|
||||
Hf/V4rL/h8/6/028/f9Tw/T/Vb75/1O7/v9tf/T/bG38/3Rt9/90afz/g377/8/f5v+Zt0v/hKAP/4eg
|
||||
Dv+HnxH/haEN/4SkBv+Dowr/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/r8Nk/5vjxf9W2Jb/WtSY/4Ld
|
||||
q//Y5sL/hqwo/46fDv+IoA3/e6YJ/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/32o
|
||||
Bf+JnRT/hKMH/4GlB/97oRH/jqQf/9zgtf+H0Pz/Vbv9/1a8+/9Tu/7/bX/0/2xt/P9zbvj/fIPz/8/f
|
||||
5v+btVX/haML/4enBP+Eown/g6IL/4OlBv+Fown/hKIM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/7TA
|
||||
a/+Y5sH/SdiX/4vbsv/V5MT/kK0b/4OjC/+Eogz/hKIM/4OjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4OjC/+Dowv/hKIM/4SjC/+Eowv/iJ8Q/4KgC/+Kph3/0uCw/4fS+f9Iw/L/X7f8/2t5
|
||||
+f94avr/eoT1/9Pd7P+Zt0//hKEO/4ahDP+EpQf/g6ML/4OjC/+Dowv/hKIL/4SiDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+zxVr/md7M/4PctP/X673/gq8l/4WkDf+Dogv/g6IL/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4WlB/98pAr/f6EN/5Sj
|
||||
Gv/M37H/ks/5/2e7+P9TgfP/fYPz/83g6P+auVL/f6UK/4ijCf+FoA//g6MK/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/sMFj/73p3v/K6MT/o6ki/3yiDv+Dogv/hKMM/4Oi
|
||||
C/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+HoA7/gaEN/3qoA/+EpQj/iqEg/8fhqv+my/n/cY/0/9Hf6v+it03/hKQI/4elBv+IoQz/haIK/4Ol
|
||||
B/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/63GWv/j6M3/i6wk/4qg
|
||||
DP+GnhL/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hqAQ/4efD/+ApAn/eaIO/36jDP+KphT/ytqw/+Hp4v+ktlb/hqQH/4ah
|
||||
DP+GnxH/haEN/4SkB/+EpAn/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eog3/hKIN/4SiDP+Eogv/hKML/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Zsz3/l6sn/4SiDP95oRL/iKUI/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4GmCP+FoQ3/iZ0U/4WmBf+JoQz/haAO/4Sm
|
||||
F/+etzL/hZ4R/32lCf+EpAj/g6IM/4OjCf+Eowr/haEN/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Dogz/g6IL/4SkCP+EpAj/hKIM/4ShDf+EoQ3/hKIL/4Sj
|
||||
C/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4SjCf+EpAj/hKIL/4Sj
|
||||
Cf+EpAj/hKMJ/4SiC/+Eogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
Cf+Eogv/g6AQ/4KfEf+FohD/g6MJ/4OkBv+Eogv/hKEO/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+EoQ//hKAQ/4KiDP+ApQv/lqwt/4OfEP+Dowj/hKIL/4ShDf+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKAP/4ShDP+BpAj/j64v/7nDc/+EoQr/h58P/4Sf
|
||||
Ef+CqQf/hKEN/4ShDv+Eogz/hKML/4SjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Dogz/gaIN/4OiDf+Eogv/hqMI/4agDf+Eowr/f6IK/7PD
|
||||
cf/q7NL/h6Mg/4anA/+FnxH/g58R/4SiC/+Eogv/hKIL/4SiC/+Eogv/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4CjCv+Cogz/hKEO/4ag
|
||||
D/+HnhL/hKgD/4SjHv/q7NX/+/v5/8jVmv+AoxH/g6cD/4WfD/+Down/g6QH/4SjCf+EoQ3/hKIM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Oi
|
||||
DP+Cog7/gaMI/4KlBf+CpQb/hKUG/4WiEv/L1pb/+/n8//39+v/8/Pn/y9me/4WlIv+Bogz/gp4P/4Sj
|
||||
Cv+EpAj/hKEN/4SiDf+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Dogz/gqAP/4KkCv+ApQj/fqMN/4inJP/N15r//vz4//7/+f/++/z//P76//r8
|
||||
+v/t8Nb/vMh5/5yxNP+IpRL/hKMJ/4SiDP+Eogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj
|
||||
DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6MK/4KkBf+FphL/lq87/7vHf//t8dP//f33//7+
|
||||
+////f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>699, 14</value>
|
||||
</metadata>
|
||||
<metadata name="BackgroundWorker2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>872, 14</value>
|
||||
</metadata>
|
||||
<metadata name="SerialPort.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>25, 14</value>
|
||||
</metadata>
|
||||
<metadata name="CmsDataTable.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1240, 14</value>
|
||||
</metadata>
|
||||
<metadata name="Timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1045, 14</value>
|
||||
</metadata>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1137, 14</value>
|
||||
</metadata>
|
||||
<metadata name="Timer3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1377, 14</value>
|
||||
</metadata>
|
||||
</root>
|
||||
3679
RCU-10/RCU/FrmRCU.vb
Normal file
3679
RCU-10/RCU/FrmRCU.vb
Normal file
File diff suppressed because it is too large
Load Diff
1536
RCU-10/RCU/FrmRFFunction.Designer.vb
generated
Normal file
1536
RCU-10/RCU/FrmRFFunction.Designer.vb
generated
Normal file
File diff suppressed because it is too large
Load Diff
456
RCU-10/RCU/FrmRFFunction.resx
Normal file
456
RCU-10/RCU/FrmRFFunction.resx
Normal file
@@ -0,0 +1,456 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="TboNetworkAddress.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnPairing.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Nup485DialAddr.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="GboSetTime.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCommTestWeChat.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCommTestWeChat.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboIsSet.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnReadLockState.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnOpenLock.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetWeChat.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboSetTime.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCommTestSwitch.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCommTestSwitch.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CheckBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnReadLigthInfo.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetLocalControl.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label14.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label13.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ComboBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ComboBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetDelayTime.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetGradientTime.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label7.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnBacklight.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetSwitchLights.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NumericUpDown1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label10.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label11.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label12.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label9.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label8.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSwitch6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSwitch4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSwitch2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSwitch5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSwitch3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSwitch1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnReadRFDevList.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnReadRFWifi.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetRFWifi.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnAKeyTest.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnClearList.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GrdRFcfg.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabRFFunction.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabFunctionRF.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label17.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRFInsertCalorie.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GboInsertCalorie.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCommTestInsertCard.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCommTestInsertCard.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label20.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudRFSector.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="CboInsertSet.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label30.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnRFInsertCalorie.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRFSwitchPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRFWirelessVoice.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCommTestVoice.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCommTestVoice.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnForwardingData.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TxtForwardingData.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblData.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRFWirelessTempControl.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCommTestTemp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCommTestTemp.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Panel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlAuto.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnTempControlValve.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlValue.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblDegree.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlHigh.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlCentre.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlLow.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlCold.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlHot.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblTempControlSupply.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnTempControlModel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnTempControlAdd.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnTempControlVelocity.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnTempControlMinus.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnTempControlSwitch.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnReadThermostatSettings.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label22.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NudTempDiffValue.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnSetTemperatureDiff.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRFWeChatLock.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="PageRFElectricCurtains.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="GroupBox7.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LblCommTestCurtain.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCommTestCurtain.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCurtainClose.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCurtainStop.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCurtainStart.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="BtnCurtainData.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TxtCurtainData.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label21.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SplitContainer1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SplitContainer2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>85</value>
|
||||
</metadata>
|
||||
</root>
|
||||
2377
RCU-10/RCU/FrmRFFunction.vb
Normal file
2377
RCU-10/RCU/FrmRFFunction.vb
Normal file
File diff suppressed because it is too large
Load Diff
9
RCU-10/RCU/IModuleForm.vb
Normal file
9
RCU-10/RCU/IModuleForm.vb
Normal file
@@ -0,0 +1,9 @@
|
||||
Public Interface IModuleForm
|
||||
|
||||
''' <summary>
|
||||
''' 显示窗体接口
|
||||
''' </summary>
|
||||
''' <param name="parentControl"></param>
|
||||
Sub ShowForm(parentControl As Control)
|
||||
|
||||
End Interface
|
||||
129
RCU-10/RCU/LoginForm1.Designer.vb
generated
Normal file
129
RCU-10/RCU/LoginForm1.Designer.vb
generated
Normal file
@@ -0,0 +1,129 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1726")> _
|
||||
Partial Class LoginForm1
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
|
||||
Friend WithEvents UsernameLabel As System.Windows.Forms.Label
|
||||
Friend WithEvents PasswordLabel As System.Windows.Forms.Label
|
||||
Friend WithEvents UsernameTextBox As System.Windows.Forms.TextBox
|
||||
Friend WithEvents PasswordTextBox As System.Windows.Forms.TextBox
|
||||
Friend WithEvents OK As System.Windows.Forms.Button
|
||||
Friend WithEvents Cancel As System.Windows.Forms.Button
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(LoginForm1))
|
||||
Me.LogoPictureBox = New System.Windows.Forms.PictureBox
|
||||
Me.UsernameLabel = New System.Windows.Forms.Label
|
||||
Me.PasswordLabel = New System.Windows.Forms.Label
|
||||
Me.UsernameTextBox = New System.Windows.Forms.TextBox
|
||||
Me.PasswordTextBox = New System.Windows.Forms.TextBox
|
||||
Me.OK = New System.Windows.Forms.Button
|
||||
Me.Cancel = New System.Windows.Forms.Button
|
||||
CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'LogoPictureBox
|
||||
'
|
||||
Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image)
|
||||
Me.LogoPictureBox.Location = New System.Drawing.Point(0, 0)
|
||||
Me.LogoPictureBox.Name = "LogoPictureBox"
|
||||
Me.LogoPictureBox.Size = New System.Drawing.Size(165, 193)
|
||||
Me.LogoPictureBox.TabIndex = 0
|
||||
Me.LogoPictureBox.TabStop = False
|
||||
'
|
||||
'UsernameLabel
|
||||
'
|
||||
Me.UsernameLabel.Location = New System.Drawing.Point(172, 24)
|
||||
Me.UsernameLabel.Name = "UsernameLabel"
|
||||
Me.UsernameLabel.Size = New System.Drawing.Size(220, 23)
|
||||
Me.UsernameLabel.TabIndex = 0
|
||||
Me.UsernameLabel.Text = "用户名(&U)"
|
||||
Me.UsernameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'PasswordLabel
|
||||
'
|
||||
Me.PasswordLabel.Location = New System.Drawing.Point(172, 81)
|
||||
Me.PasswordLabel.Name = "PasswordLabel"
|
||||
Me.PasswordLabel.Size = New System.Drawing.Size(220, 23)
|
||||
Me.PasswordLabel.TabIndex = 2
|
||||
Me.PasswordLabel.Text = "密码(&P)"
|
||||
Me.PasswordLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'UsernameTextBox
|
||||
'
|
||||
Me.UsernameTextBox.Location = New System.Drawing.Point(174, 44)
|
||||
Me.UsernameTextBox.Name = "UsernameTextBox"
|
||||
Me.UsernameTextBox.Size = New System.Drawing.Size(220, 20)
|
||||
Me.UsernameTextBox.TabIndex = 1
|
||||
'
|
||||
'PasswordTextBox
|
||||
'
|
||||
Me.PasswordTextBox.Location = New System.Drawing.Point(174, 101)
|
||||
Me.PasswordTextBox.Name = "PasswordTextBox"
|
||||
Me.PasswordTextBox.PasswordChar = Microsoft.VisualBasic.ChrW(42)
|
||||
Me.PasswordTextBox.Size = New System.Drawing.Size(220, 20)
|
||||
Me.PasswordTextBox.TabIndex = 3
|
||||
'
|
||||
'确定
|
||||
'
|
||||
Me.OK.Location = New System.Drawing.Point(197, 161)
|
||||
Me.OK.Name = "OK"
|
||||
Me.OK.Size = New System.Drawing.Size(94, 23)
|
||||
Me.OK.TabIndex = 4
|
||||
Me.OK.Text = "确定(&O)"
|
||||
'
|
||||
'取消
|
||||
'
|
||||
Me.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.Cancel.Location = New System.Drawing.Point(300, 161)
|
||||
Me.Cancel.Name = "Cancel"
|
||||
Me.Cancel.Size = New System.Drawing.Size(94, 23)
|
||||
Me.Cancel.TabIndex = 5
|
||||
Me.Cancel.Text = "取消(&C)"
|
||||
'
|
||||
'LoginForm1
|
||||
'
|
||||
Me.AcceptButton = Me.OK
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.CancelButton = Me.Cancel
|
||||
Me.ClientSize = New System.Drawing.Size(401, 192)
|
||||
Me.Controls.Add(Me.Cancel)
|
||||
Me.Controls.Add(Me.OK)
|
||||
Me.Controls.Add(Me.PasswordTextBox)
|
||||
Me.Controls.Add(Me.UsernameTextBox)
|
||||
Me.Controls.Add(Me.PasswordLabel)
|
||||
Me.Controls.Add(Me.UsernameLabel)
|
||||
Me.Controls.Add(Me.LogoPictureBox)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "LoginForm1"
|
||||
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "LoginForm1"
|
||||
CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
790
RCU-10/RCU/LoginForm1.resx
Normal file
790
RCU-10/RCU/LoginForm1.resx
Normal file
@@ -0,0 +1,790 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="LogoPictureBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LogoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="UsernameLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
<metadata name="PasswordLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
<metadata name="UsernameTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
<metadata name="PasswordTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
<metadata name="OK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
<metadata name="Cancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Assembly</value>
|
||||
</metadata>
|
||||
</root>
|
||||
19
RCU-10/RCU/LoginForm1.vb
Normal file
19
RCU-10/RCU/LoginForm1.vb
Normal file
@@ -0,0 +1,19 @@
|
||||
Public Class LoginForm1
|
||||
|
||||
' TODO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC>ʹ<EFBFBD><CAB9><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
|
||||
' (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://go.microsoft.com/fwlink/?LinkId=35339)<29><>
|
||||
' <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8>ӵ<EFBFBD><D3B5><EFBFBD>ǰ<EFBFBD>̵߳<DFB3><CCB5><EFBFBD><EFBFBD>壬<EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ:
|
||||
' My.User.CurrentPrincipal = CustomPrincipal
|
||||
' <20><><EFBFBD><EFBFBD> CustomPrincipal <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4> IPrincipal ʵ<>֡<EFBFBD>
|
||||
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>My.User <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CustomPrincipal <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>װ<EFBFBD>ı<EFBFBD>ʶ<EFBFBD><CAB6>Ϣ
|
||||
' <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||
|
||||
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
38
RCU-10/RCU/My Project/Application.Designer.vb
generated
Normal file
38
RCU-10/RCU/My Project/Application.Designer.vb
generated
Normal file
@@ -0,0 +1,38 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 此代码由工具生成。
|
||||
' 运行时版本:4.0.30319.42000
|
||||
'
|
||||
' 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
' 重新生成代码,这些更改将会丢失。
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
'注意:此文件是自动生成的;请勿直接进行修改。若要更改,
|
||||
' 或者如果您在此文件中遇到生成错误,请转至项目设计器
|
||||
' (转至“项目属性”或在解决方案资源管理器中双击“我的项目”节点),
|
||||
' 然后在“应用程序”选项卡中进行更改。
|
||||
'
|
||||
Partial Friend Class MyApplication
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Public Sub New()
|
||||
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
|
||||
Me.IsSingleInstance = false
|
||||
Me.EnableVisualStyles = true
|
||||
Me.SaveMySettingsOnExit = true
|
||||
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterAllFormsClose
|
||||
End Sub
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Protected Overrides Sub OnCreateMainForm()
|
||||
Me.MainForm = Global.RCU.FrmRCU
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
10
RCU-10/RCU/My Project/Application.myapp
Normal file
10
RCU-10/RCU/My Project/Application.myapp
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>true</MySubMain>
|
||||
<MainForm>FrmRCU</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>1</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
35
RCU-10/RCU/My Project/AssemblyInfo.vb
Normal file
35
RCU-10/RCU/My Project/AssemblyInfo.vb
Normal file
@@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' 有关程序集的一般信息由以下
|
||||
' 控制。更改这些特性值可修改
|
||||
' 与程序集关联的信息。
|
||||
|
||||
'查看程序集特性的值
|
||||
|
||||
<Assembly: AssemblyTitle("RCU")>
|
||||
<Assembly: AssemblyDescription("2021年11月2号更改_ML")>
|
||||
<Assembly: AssemblyCompany("Microsoft")>
|
||||
<Assembly: AssemblyProduct("RCU-RS485-SerialApp Tools")>
|
||||
<Assembly: AssemblyCopyright("Copyright © Microsoft 2020")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
|
||||
<Assembly: Guid("8c6a5282-6dd0-4946-af7e-51fe009d7732")>
|
||||
|
||||
' 程序集的版本信息由下列四个值组成:
|
||||
'
|
||||
' 主版本
|
||||
' 次版本
|
||||
' 生成号
|
||||
' 修订号
|
||||
'
|
||||
'可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
'通过使用 "*",如下所示:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.7.1.0")>
|
||||
<Assembly: AssemblyFileVersion("2.7.1.0")>
|
||||
72
RCU-10/RCU/My Project/Resources.Designer.vb
generated
Normal file
72
RCU-10/RCU/My Project/Resources.Designer.vb
generated
Normal file
@@ -0,0 +1,72 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 此代码由工具生成。
|
||||
' 运行时版本:4.0.30319.42000
|
||||
'
|
||||
' 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
' 重新生成代码,这些更改将会丢失。
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'此类是由 StronglyTypedResourceBuilder
|
||||
'类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
'若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
'(以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
'''<summary>
|
||||
''' 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' 返回此类使用的缓存的 ResourceManager 实例。
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("RCU.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' 重写当前线程的 CurrentUICulture 属性
|
||||
''' 重写当前线程的 CurrentUICulture 属性。
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' 查找类似 的本地化字符串。
|
||||
'''</summary>
|
||||
Friend ReadOnly Property String1() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("String1", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
123
RCU-10/RCU/My Project/Resources.resx
Normal file
123
RCU-10/RCU/My Project/Resources.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="String1" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
</root>
|
||||
229
RCU-10/RCU/My Project/Settings.Designer.vb
generated
Normal file
229
RCU-10/RCU/My Project/Settings.Designer.vb
generated
Normal file
@@ -0,0 +1,229 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 此代码由工具生成。
|
||||
' 运行时版本:4.0.30319.42000
|
||||
'
|
||||
' 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
' 重新生成代码,这些更改将会丢失。
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "My.Settings 自动保存功能"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("192.168.1.1")> _
|
||||
Public Property CBoLongIP() As String
|
||||
Get
|
||||
Return CType(Me("CBoLongIP"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CBoLongIP") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("1024")> _
|
||||
Public Property NumRemotePort() As Integer
|
||||
Get
|
||||
Return CType(Me("NumRemotePort"),Integer)
|
||||
End Get
|
||||
Set
|
||||
Me("NumRemotePort") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("5533")> _
|
||||
Public Property NumLocalPort() As Integer
|
||||
Get
|
||||
Return CType(Me("NumLocalPort"),Integer)
|
||||
End Get
|
||||
Set
|
||||
Me("NumLocalPort") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("9600")> _
|
||||
Public Property CBoBaud() As String
|
||||
Get
|
||||
Return CType(Me("CBoBaud"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CBoBaud") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("正常模式")> _
|
||||
Public Property CBoMode() As String
|
||||
Get
|
||||
Return CType(Me("CBoMode"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CBoMode") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("RS485透传模块")> _
|
||||
Public Property CboRFDevType() As String
|
||||
Get
|
||||
Return CType(Me("CboRFDevType"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CboRFDevType") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("9600")> _
|
||||
Public Property CboCMD15Buad() As String
|
||||
Get
|
||||
Return CType(Me("CboCMD15Buad"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CboCMD15Buad") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("不控制")> _
|
||||
Public Property rfcmd14Way() As String
|
||||
Get
|
||||
Return CType(Me("rfcmd14Way"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("rfcmd14Way") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("向上渐变调光")> _
|
||||
Public Property CboRFCMD21ControlMode() As String
|
||||
Get
|
||||
Return CType(Me("CboRFCMD21ControlMode"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CboRFCMD21ControlMode") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("9600")> _
|
||||
Public Property CboSerialBaud() As String
|
||||
Get
|
||||
Return CType(Me("CboSerialBaud"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CboSerialBaud") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("COM1")> _
|
||||
Public Property CboSerialPort() As String
|
||||
Get
|
||||
Return CType(Me("CboSerialPort"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CboSerialPort") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("27")> _
|
||||
Public Property CurtainsCMD() As String
|
||||
Get
|
||||
Return CType(Me("CurtainsCMD"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CurtainsCMD") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("0")> _
|
||||
Public Property CurtainsData() As String
|
||||
Get
|
||||
Return CType(Me("CurtainsData"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("CurtainsData") = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.RCU.My.MySettings
|
||||
Get
|
||||
Return Global.RCU.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
45
RCU-10/RCU/My Project/Settings.settings
Normal file
45
RCU-10/RCU/My Project/Settings.settings
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="CBoLongIP" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">192.168.1.1</Value>
|
||||
</Setting>
|
||||
<Setting Name="NumRemotePort" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">1024</Value>
|
||||
</Setting>
|
||||
<Setting Name="NumLocalPort" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">5533</Value>
|
||||
</Setting>
|
||||
<Setting Name="CBoBaud" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">9600</Value>
|
||||
</Setting>
|
||||
<Setting Name="CBoMode" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">正常模式</Value>
|
||||
</Setting>
|
||||
<Setting Name="CboRFDevType" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">RS485透传模块</Value>
|
||||
</Setting>
|
||||
<Setting Name="CboCMD15Buad" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">9600</Value>
|
||||
</Setting>
|
||||
<Setting Name="rfcmd14Way" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">不控制</Value>
|
||||
</Setting>
|
||||
<Setting Name="CboRFCMD21ControlMode" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">向上渐变调光</Value>
|
||||
</Setting>
|
||||
<Setting Name="CboSerialBaud" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">9600</Value>
|
||||
</Setting>
|
||||
<Setting Name="CboSerialPort" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">COM1</Value>
|
||||
</Setting>
|
||||
<Setting Name="CurtainsCMD" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">27</Value>
|
||||
</Setting>
|
||||
<Setting Name="CurtainsData" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
69
RCU-10/RCU/My Project/app.manifest
Normal file
69
RCU-10/RCU/My Project/app.manifest
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC 清单选项
|
||||
如果想要更改 Windows 用户帐户控制级别,请使用
|
||||
以下节点之一替换 requestedExecutionLevel 节点。n
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
|
||||
如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
|
||||
元素。
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
<applicationRequestMinimum>
|
||||
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
</applicationRequestMinimum>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
|
||||
Windows 版本的列表。取消评论适当的元素,
|
||||
Windows 将自动选择最兼容的环境。 -->
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
</application>
|
||||
</compatibility>
|
||||
<!-- 指示该应用程序可以感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
|
||||
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI,无需
|
||||
选择加入。选择加入此设置的 Windows 窗体应用程序(目标设定为 .NET Framework 4.6 )还应
|
||||
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。-->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
</assembly>
|
||||
BIN
RCU-10/RCU/MySql.Data.dll
Normal file
BIN
RCU-10/RCU/MySql.Data.dll
Normal file
Binary file not shown.
281
RCU-10/RCU/RCU.vbproj
Normal file
281
RCU-10/RCU/RCU.vbproj
Normal file
@@ -0,0 +1,281 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{DCDFB337-7F07-44F0-A269-2D23D487D50E}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>RCU.My.MyApplication</StartupObject>
|
||||
<RootNamespace>RCU</RootNamespace>
|
||||
<AssemblyName>RCU</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateMode>Background</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>true</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<InstallUrl>http://auth.blv-oa.com/Apps/RCU/</InstallUrl>
|
||||
<ProductName>RCU透传工具</ProductName>
|
||||
<PublisherName>BY</PublisherName>
|
||||
<MinimumRequiredVersion>2.6.0.1</MinimumRequiredVersion>
|
||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||
<WebPage>RCU.html</WebPage>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>2.7.1.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>RCU.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn>
|
||||
<WarningsAsErrors>
|
||||
</WarningsAsErrors>
|
||||
<DefineConstants>IsAdmin = True</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>RCU.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn>
|
||||
<WarningsAsErrors>
|
||||
</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>favicon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestCertificateThumbprint>B560FC4505CF3B0A721E2873D03DF142AAD2E6C4</ManifestCertificateThumbprint>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestKeyFile>RCU_TemporaryKey.pfx</ManifestKeyFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<GenerateManifests>true</GenerateManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetZone>LocalIntranet</TargetZone>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignManifests>false</SignManifests>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="FlexCell, Version=4.4.0.0, Culture=neutral, PublicKeyToken=6f86587eb70ee309, processorArchitecture=MSIL" />
|
||||
<Reference Include="MySql.Data, Version=8.0.23.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>.\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.112.1, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>.\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Drawing" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Windows.Forms" />
|
||||
<Import Include="System.Linq" />
|
||||
<Import Include="System.Xml.Linq" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ADODB\Recordset.vb" />
|
||||
<Compile Include="ApplicationEvents.vb" />
|
||||
<Compile Include="Database\Base\ColumnSchema.vb" />
|
||||
<Compile Include="Database\Base\CommandHelpers.vb" />
|
||||
<Compile Include="Database\Base\DatabaseData.vb" />
|
||||
<Compile Include="Database\Base\DatabaseSchema.vb" />
|
||||
<Compile Include="Database\Base\ForeignKeySchema.vb" />
|
||||
<Compile Include="Database\Base\IndexSchema.vb" />
|
||||
<Compile Include="Database\Base\InsertParams.vb" />
|
||||
<Compile Include="Database\Base\SearchCondition.vb" />
|
||||
<Compile Include="Database\Base\SearchParams.vb" />
|
||||
<Compile Include="Database\Base\TableSchema.vb" />
|
||||
<Compile Include="Database\Base\TriggerBuilder.vb" />
|
||||
<Compile Include="Database\Base\TriggerSchema.vb" />
|
||||
<Compile Include="Database\Base\ViewSchema.vb" />
|
||||
<Compile Include="Database\DbCmdHelper.vb" />
|
||||
<Compile Include="Database\DbExecutor.vb" />
|
||||
<Compile Include="Database\MssqlCmdHelper.vb" />
|
||||
<Compile Include="Database\Mssql\MssqlCmdHelper.vb" />
|
||||
<Compile Include="Database\MysqlCmdHelper.vb" />
|
||||
<Compile Include="Database\MysqlDataParam.vb" />
|
||||
<Compile Include="Database\Mysql\DataParam.vb" />
|
||||
<Compile Include="Database\Mysql\MysqlCmdHelper.vb" />
|
||||
<Compile Include="Database\SqliteCmdHelper.vb" />
|
||||
<Compile Include="Database\SqliteDataParam.vb" />
|
||||
<Compile Include="Database\Sqlite\DataParam.vb" />
|
||||
<Compile Include="Database\Sqlite\SqliteCmdHelper.vb" />
|
||||
<Compile Include="DeviceListInfo.vb" />
|
||||
<Compile Include="Frm485Update.Designer.vb">
|
||||
<DependentUpon>Frm485Update.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Frm485Update.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmC43Function.Designer.vb">
|
||||
<DependentUpon>FrmC43Function.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmC43Function.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmInfraredFunction.Designer.vb">
|
||||
<DependentUpon>FrmInfraredFunction.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmInfraredFunction.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmPassword.Designer.vb">
|
||||
<DependentUpon>FrmPassword.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmPassword.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmRCU.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmRCU.Designer.vb">
|
||||
<DependentUpon>FrmRCU.vb</DependentUpon>
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmRFFunction.Designer.vb">
|
||||
<DependentUpon>FrmRFFunction.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmRFFunction.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="IModuleForm.vb" />
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="RCUModule.vb" />
|
||||
<Compile Include="UpdateDeviceInfo.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Frm485Update.resx">
|
||||
<DependentUpon>Frm485Update.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmC43Function.resx">
|
||||
<DependentUpon>FrmC43Function.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmInfraredFunction.resx">
|
||||
<DependentUpon>FrmInfraredFunction.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmPassword.resx">
|
||||
<DependentUpon>FrmPassword.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmRCU.resx">
|
||||
<DependentUpon>FrmRCU.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmRFFunction.resx">
|
||||
<DependentUpon>FrmRFFunction.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\app.manifest" />
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="App.config" />
|
||||
<None Include="RCU_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.8 %28x86 和 x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="favicon.ico" />
|
||||
<Content Include="RCUVersion.txt" />
|
||||
<Content Include="软件进度.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Resources\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
</Project>
|
||||
16
RCU-10/RCU/RCU.vbproj.user
Normal file
16
RCU-10/RCU/RCU.vbproj.user
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<PublishUrlHistory>publish\</PublishUrlHistory>
|
||||
<InstallUrlHistory>http://auth.blv-oa.com/Apps/RCU/|http://blv-oa.com/Apps/RCU/|http://47.119.147.104:90/Apps/RCU/|http://47.119.147.104:90/Apps//|http://bl-oa.com/Apps/RCU/</InstallUrlHistory>
|
||||
<SupportUrlHistory />
|
||||
<UpdateUrlHistory />
|
||||
<BootstrapperUrlHistory />
|
||||
<ErrorReportUrlHistory />
|
||||
<FallbackCulture>zh-CN</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<EnableSecurityDebugging>false</EnableSecurityDebugging>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
669
RCU-10/RCU/RCUModule.vb
Normal file
669
RCU-10/RCU/RCUModule.vb
Normal file
@@ -0,0 +1,669 @@
|
||||
Imports System.Data.Common
|
||||
Imports System.IO
|
||||
Imports System.Security.Cryptography
|
||||
Imports System.Text
|
||||
|
||||
Module RCUModule
|
||||
|
||||
#Region "数据库操作"
|
||||
|
||||
''' <summary>远程数据库类型</summary>
|
||||
Public RemoteDbType As DbExecutor.DbTypeEnum = DbExecutor.DbTypeEnum.Mysql
|
||||
|
||||
''' <summary>远程数据库名</summary>
|
||||
Public RemoteDbName As String = "blv_rcu_config"
|
||||
|
||||
Public FPrefix As Char = "`"
|
||||
'Public FSuffix As Char = "'"
|
||||
|
||||
''' <summary>
|
||||
''' 连接数据库字符串
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Function ConnSQLString() As String
|
||||
'MSSQL连接方式
|
||||
Dim remoteConn As New DbConnectionStringBuilder From {
|
||||
{"Data Source", "47.119.147.104"},
|
||||
{"Initial Catalog", "AuthorityDB"},
|
||||
{"Integrated Security", "false"},
|
||||
{"User ID", "sa"},
|
||||
{"Password", "9S844fK3"}
|
||||
}
|
||||
|
||||
Dim DbConnString As String = "Server=blv-cloud-db.mysql.rds.aliyuncs.com;Port=3307;Database=blv_rcu_config;Uid=blv_rcu;Pwd=fnadiaJDIJ7546;charset=utf8;"
|
||||
Return DbConnString
|
||||
Return remoteConn.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "功能全局变量"
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否处于网络接收状态
|
||||
''' </summary>
|
||||
Public _isReceiving As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否通过UDP发送数据
|
||||
''' </summary>
|
||||
Public _isSendByUdp As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否读取
|
||||
''' </summary>
|
||||
Public _isRead As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 是否准备完成
|
||||
''' </summary>
|
||||
Public _isPrepare As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 红外回复处理
|
||||
''' </summary>
|
||||
Public _InfraredReceProcessing As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 红外烧录是否回复
|
||||
''' </summary>
|
||||
Public _isInfraredreply As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 记录重发次数
|
||||
''' </summary>
|
||||
Public _resend As Integer = 0
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 配对设备列表设备总数
|
||||
''' </summary>
|
||||
Public _pairingDevCount As Integer = 0
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' RF配对模式
|
||||
''' </summary>
|
||||
Public _pairingModel As Boolean
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 设备列表键值对
|
||||
''' </summary>
|
||||
Public _devList As New Dictionary(Of String, DeviceListInfo)
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 升级设备列表_键值对
|
||||
''' </summary>
|
||||
Public _upgradeDevList As New Dictionary(Of String, UpdateDeviceInfo)
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 点击计数
|
||||
''' </summary>
|
||||
Public _clickCount As Integer = 0
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "数据组透传包"
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传数据包头
|
||||
''' </summary>
|
||||
Public _fixedHead As Byte() = {&HAA, &H55}
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传数据固定ID
|
||||
''' </summary>
|
||||
Public _fixeSystemId As Byte() = {&H54, &H33, &H53, &H41}
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传数据房间信息
|
||||
''' </summary>
|
||||
Public _fixeRoomInfo As Byte() = {&HFF, &HFF, &HFF, &HFF}
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 包头数据长度
|
||||
''' </summary>
|
||||
Public _dataHeadLength As UShort = 15
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 数据CRC校验长度
|
||||
''' </summary>
|
||||
Public _dataCRCLength As UShort = 2
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传命令
|
||||
''' </summary>
|
||||
Public _serialCmd As Byte = &H3
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传端口
|
||||
''' </summary>
|
||||
Public _port485 As Byte
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传超时
|
||||
''' </summary>
|
||||
Public _timeouts As Byte
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 发送次数标志位
|
||||
''' </summary>
|
||||
Public _sendTick As Short = 2 '标志位
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充发送数据包
|
||||
''' </summary>
|
||||
''' <param name="data"></param>
|
||||
''' <returns></returns>
|
||||
Public Function FillSendDataPacket(data As Byte()) As Byte()
|
||||
Dim byteHead As Byte()
|
||||
Dim crc16 As Byte()
|
||||
Dim sendPacket As Byte()
|
||||
|
||||
byteHead = SendDataHead(data) '获取DataHaed
|
||||
crc16 = CheckSendData(byteHead, data) '获取Data检验值
|
||||
sendPacket = FillSendPacket(byteHead, data, crc16) '组合发送数据
|
||||
|
||||
Return sendPacket
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充发送包头数据
|
||||
''' </summary>
|
||||
''' <param name="data"></param>
|
||||
''' <returns></returns>
|
||||
Public Function SendDataHead(data As Byte()) As Byte()
|
||||
Dim byteHead As Byte()
|
||||
Dim packetLength As Short = _dataHeadLength + _dataCRCLength + data.Length
|
||||
Dim cmdType As Byte = &H70
|
||||
Dim frameNum As Short = 1
|
||||
byteHead = FillSendPacketHead(packetLength, cmdType, frameNum)
|
||||
Return byteHead
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充发送信息包头
|
||||
''' </summary>
|
||||
''' <param name="length"></param>
|
||||
''' <param name="cmdType"></param>
|
||||
''' <param name="frameNum"></param>
|
||||
''' <returns></returns>
|
||||
Public Function FillSendPacketHead(length As Short, cmdType As Byte, frameNum As Short) As Byte()
|
||||
Dim dataHead As New List(Of Byte)
|
||||
dataHead.AddRange(_fixedHead)
|
||||
dataHead.AddRange(BitConverter.GetBytes(length))
|
||||
dataHead.AddRange(_fixeSystemId)
|
||||
dataHead.Add(cmdType)
|
||||
dataHead.AddRange(BitConverter.GetBytes(frameNum))
|
||||
dataHead.AddRange(_fixeRoomInfo)
|
||||
Return dataHead.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充发送校验数据
|
||||
''' </summary>
|
||||
''' <param name="byteHead"></param>
|
||||
''' <param name="data"></param>
|
||||
''' <returns></returns>
|
||||
Public Function CheckSendData(byteHead As Byte(), data As Byte()) As Byte()
|
||||
Dim crc16 As Byte()
|
||||
Dim dataList As New List(Of Byte)
|
||||
dataList.AddRange(byteHead)
|
||||
dataList.AddRange(data)
|
||||
crc16 = GetCRC16CheckSum(dataList.ToArray, dataList.Count)
|
||||
Return crc16
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充发送数据包
|
||||
''' </summary>
|
||||
''' <param name="head">数据包头</param>
|
||||
''' <param name="data">数据内容</param>
|
||||
''' <param name="crc16">CRC16校验</param>
|
||||
''' <returns></returns>
|
||||
Public Function FillSendPacket(head() As Byte, data() As Byte, crc16() As Byte) As Byte()
|
||||
Dim dataList As New List(Of Byte)
|
||||
dataList.AddRange(head)
|
||||
dataList.AddRange(data)
|
||||
dataList.AddRange(crc16)
|
||||
Return dataList.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充透传函数
|
||||
''' 填充透传函数的抽象实现
|
||||
''' </summary>
|
||||
''' <param name="dataBuff"></param>
|
||||
''' <returns></returns>
|
||||
Public Function FillPacket(dataBuff() As Byte) As Byte()
|
||||
If _isReceiving = True Then
|
||||
dataBuff = FillPacketRealize(dataBuff) '透传数据
|
||||
End If
|
||||
|
||||
Return dataBuff
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 填充透传函数的具体实现
|
||||
''' </summary>
|
||||
''' <param name="dataBuff"></param>
|
||||
''' <returns></returns>
|
||||
Public Function FillPacketRealize(dataBuff() As Byte) As Byte()
|
||||
Dim data() As Byte = PassthroughData(dataBuff)
|
||||
|
||||
Dim byteHead As Byte()
|
||||
Dim crc16 As Byte()
|
||||
Dim sendPacket As Byte()
|
||||
|
||||
byteHead = SendDataHead(data) '获取DataHaed
|
||||
crc16 = CheckSendData(byteHead, data) '获取Data检验值
|
||||
sendPacket = FillSendPacket(byteHead, data, crc16) '组合发送数据
|
||||
|
||||
Return sendPacket
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 透传数据CMD
|
||||
''' </summary>
|
||||
''' <param name="dataBuff">串口数据</param>
|
||||
''' <returns></returns>
|
||||
Public Function PassthroughData(dataBuff() As Byte)
|
||||
Dim dataLen As Integer = dataBuff.Length + 3
|
||||
Dim data(dataLen - 1) As Byte
|
||||
data(0) = _serialCmd
|
||||
data(1) = _port485
|
||||
data(2) = _timeouts
|
||||
Array.Copy(dataBuff, 0, data, 3, dataBuff.Length)
|
||||
|
||||
Return data.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "校验"
|
||||
|
||||
''' <summary>
|
||||
''' CRC16校验
|
||||
''' </summary>
|
||||
''' <param name="dataBuff"></param>
|
||||
''' <param name="length"></param>
|
||||
''' <returns></returns>
|
||||
Public Function GetCRC16CheckSum(dataBuff() As Byte, length As Integer) As Byte()
|
||||
Dim crc16 As UInteger
|
||||
Dim crcBytes() As Byte
|
||||
|
||||
crc16 = &HFFFF
|
||||
For i = 0 To length - 1
|
||||
crc16 = crc16 And &HFFFF
|
||||
crc16 = crc16 Xor dataBuff(i)
|
||||
For bit = 0 To 7
|
||||
crc16 = IIf((crc16 And 1) = 0, crc16 >> 1, (crc16 >> 1) Xor &HA001)
|
||||
Next
|
||||
Next
|
||||
crc16 = crc16 And &HFFFF
|
||||
crcBytes = BitConverter.GetBytes(UShort.Parse(crc16))
|
||||
Return crcBytes
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' MD5值校验
|
||||
''' </summary>
|
||||
''' <param name="strSource">需要校验的字符串</param>
|
||||
''' <param name="Code">加密模式</param>
|
||||
''' <returns></returns>
|
||||
Public Function MD5(ByVal strSource As String, ByVal Code As Short) As String
|
||||
Dim dataToHash As Byte() = (New ASCIIEncoding).GetBytes(strSource)
|
||||
Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)
|
||||
Dim ATR As String = ""
|
||||
Dim i As Integer
|
||||
Select Case Code
|
||||
Case 16 '选择16位字符的加密结果
|
||||
For i = 4 To 11
|
||||
ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
|
||||
|
||||
Next
|
||||
Case 32 '选择32位字符的加密结果
|
||||
For i = 0 To 15
|
||||
ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
|
||||
Next
|
||||
Case Else 'Code错误时,返回全部字符串,即32位字符
|
||||
For i = 0 To 15
|
||||
ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower
|
||||
Next
|
||||
End Select
|
||||
Return ATR
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' MD5校验
|
||||
''' </summary>
|
||||
''' <param name="strSource">需要校验的字符串</param>
|
||||
''' <returns></returns>
|
||||
Public Function MD51(ByVal strSource As String) As Byte()
|
||||
Dim dataToHash As Byte() = (New UTF8Encoding).GetBytes(UCase(strSource))
|
||||
Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)
|
||||
|
||||
Return hashvalue
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 获取文件的MD5值
|
||||
''' </summary>
|
||||
''' <param name="filepath">文件路径</param>
|
||||
''' <returns></returns>
|
||||
Public Function GetFileMd5(filepath As String) As String
|
||||
Dim md5Hasher As New MD5CryptoServiceProvider()
|
||||
Dim data As Byte() = md5Hasher.ComputeHash(IO.File.ReadAllBytes(filepath))
|
||||
Dim fileMd5 As New StringBuilder()
|
||||
Dim i As Integer
|
||||
For i = 0 To data.Length - 1
|
||||
fileMd5.Append(data(i).ToString("X2"))
|
||||
Next
|
||||
|
||||
Return fileMd5.ToString()
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 和校验
|
||||
''' 求Byte数组的和校验
|
||||
''' </summary>
|
||||
''' <param name="dataPacket">Byte数组</param>
|
||||
''' <returns></returns>
|
||||
Public Function GetSumCheck(dataPacket As Byte()) As Byte
|
||||
Dim sum As Integer
|
||||
For idx = 0 To dataPacket.Length - 1
|
||||
sum += dataPacket(idx)
|
||||
sum = sum And &HFF
|
||||
Next
|
||||
Return sum
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 和校验
|
||||
''' 求Byte数组的和校验
|
||||
''' </summary>
|
||||
''' <param name="dataPacket">Byte数组</param>
|
||||
''' <returns></returns>
|
||||
Public Function GetSumChecks(dataPacket As Byte(), ByRef len As Integer) As Byte
|
||||
Dim sum As Integer
|
||||
For idx = 0 To len - 1
|
||||
sum += dataPacket(idx)
|
||||
sum = sum And &HFF
|
||||
Next
|
||||
|
||||
sum = (Not sum) And &HFF
|
||||
Return sum
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 和校验取余数
|
||||
''' 求Byte数组的和校验取余数
|
||||
''' </summary>
|
||||
''' <param name="dataPacket">Byte数组</param>
|
||||
''' <returns></returns>
|
||||
Public Function GetSumCheckMod(dataPacket As Byte()) As Byte
|
||||
Dim sum As Integer
|
||||
For idx = 0 To dataPacket.Length - 1
|
||||
sum += dataPacket(idx)
|
||||
sum = sum And &HFF
|
||||
Next
|
||||
Dim sumMod As Byte = &HFF - sum
|
||||
Return sumMod
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "功能模块"
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 红外下载文件夹
|
||||
''' </summary>
|
||||
Public _downFile As String = $"{Application.StartupPath}\DownFile"
|
||||
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 检查网络连接
|
||||
''' </summary>
|
||||
Public Function CheckNetWorkConn() As Boolean
|
||||
If FrmRCU._connectStatus = FrmRCU.EnConnectStatus.DisConnect Then
|
||||
FrmRCU.AppendTipText("数据发送失败! 原因:未打开网络!!!" & vbCrLf, Color.Red)
|
||||
Return False
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 检测串口连接
|
||||
''' </summary>
|
||||
Public Function CheckSerialPortConn() As Boolean
|
||||
If FrmRCU.SerialPort.IsOpen = False Then
|
||||
FrmRCU.AppendTipText("数据发送失败! 原因:未打开串口!!!" & vbCrLf, Color.Red)
|
||||
Return False
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Byte数组转字符串
|
||||
''' </summary>
|
||||
''' <param name="databuff"></param>
|
||||
''' <returns></returns>
|
||||
Public Function ByteToString(databuff() As Byte)
|
||||
Dim strData As String = String.Empty
|
||||
For i = 0 To databuff.Length - 1
|
||||
strData &= $" {Hex(databuff(i)).PadLeft(2, "0"c)}"
|
||||
Next
|
||||
Return strData
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Int转2个字节Byte
|
||||
''' 高字节在前,低字节在后
|
||||
''' </summary>
|
||||
''' <param name="i"></param>
|
||||
''' <returns></returns>
|
||||
Public Function IntToByteHB(ByVal i As Integer) As Byte()
|
||||
Dim btemp() As Byte = {0, 0}
|
||||
Dim b() As Byte = BitConverter.GetBytes(i)
|
||||
btemp(0) = b(0)
|
||||
btemp(1) = b(1)
|
||||
Return btemp
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Int转2个字节Byte
|
||||
''' 低字节在前,高字节在后
|
||||
''' </summary>
|
||||
''' <param name="i"></param>
|
||||
''' <returns></returns>
|
||||
Public Function IntToByteLB(ByVal i As Integer) As Byte()
|
||||
Dim btemp() As Byte = {0, 0}
|
||||
Dim b() As Byte = BitConverter.GetBytes(i)
|
||||
btemp(0) = b(1)
|
||||
btemp(1) = b(0)
|
||||
Return btemp
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 分块函数
|
||||
''' 计算Byte数组的块数
|
||||
''' </summary>
|
||||
''' <param name="databuff"></param>
|
||||
''' <returns></returns>
|
||||
Public Function GetBlocks(databuff As Byte()) As Integer
|
||||
Dim blockCount As Integer = databuff.Length \ 128
|
||||
If databuff.Length Mod 128 > 0 Then
|
||||
blockCount += 1
|
||||
End If
|
||||
Return blockCount
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 延时N秒
|
||||
''' </summary>
|
||||
''' <param name="HowLong">时间值</param>
|
||||
Public Sub PauseWait(ByVal HowLong As Long)
|
||||
Dim tick As Long
|
||||
tick = My.Computer.Clock.TickCount
|
||||
Do
|
||||
My.Application.DoEvents()
|
||||
Loop Until tick + HowLong < My.Computer.Clock.TickCount
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 读取Hex文件到Byte数组
|
||||
''' </summary>
|
||||
''' <param name="filePath"></param>
|
||||
''' <returns></returns>
|
||||
Public Function ReadFileToBytes(filePath) As Byte()
|
||||
Dim result As New List(Of Byte)
|
||||
|
||||
Dim tmpString As String = File.ReadAllText(filePath)
|
||||
Console.WriteLine($"Befor tmpString:{tmpString}")
|
||||
|
||||
tmpString = tmpString.Replace("0x", "").Replace(vbCrLf, "").Replace(" ", "").Replace(vbTab, "")
|
||||
Console.WriteLine($"After tmpString:{tmpString}")
|
||||
|
||||
Dim tmpStringArray() As String = tmpString.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
Dim tmp As String = ""
|
||||
For index = 0 To tmpStringArray.Length - 1
|
||||
result.Add($"&H{tmpStringArray(index)}")
|
||||
tmp &= tmpStringArray(index) & ""
|
||||
Next
|
||||
Console.WriteLine($"Befor tmp:{ByteToString(result.ToArray)}")
|
||||
'Console.WriteLine($"After tmp:{tmp}")
|
||||
|
||||
Return result.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 删除文件夹
|
||||
''' </summary>
|
||||
Public Sub DeleteFiles()
|
||||
If Directory.Exists(_downFile) = False Then Exit Sub
|
||||
Try
|
||||
Directory.Delete(_downFile, True)
|
||||
Catch ex As Exception
|
||||
MsgBox($"Delete File Error:{ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 字符串转换Byte数组
|
||||
''' 字符串为连续且不包含任意字符的字符串
|
||||
''' </summary>
|
||||
''' <param name="str"></param>
|
||||
''' <returns></returns>
|
||||
Public Function GetStringToDataByte(str As String) As Byte()
|
||||
Dim dataList As New List(Of Byte)
|
||||
|
||||
For index As Integer = 0 To str.Length - 1 Step 2
|
||||
dataList.Add($"&H{str.Substring(index, 2)}")
|
||||
Next
|
||||
Console.WriteLine($"字符串转换Byte数组: {ByteToString(dataList.ToArray)}")
|
||||
|
||||
Return dataList.ToArray
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "未完善"
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 发送数据处理(所发所见—16进制)
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Private Function CMDParameterSendData()
|
||||
Dim sourceData As String = String.Empty '显示框控件文本
|
||||
Dim newData() As String '新的字符串数据—字符串数组
|
||||
Dim newArraylen As Integer '新数组长度
|
||||
|
||||
newData = sourceData.Split(" ") '空格为分割的标志
|
||||
Console.WriteLine("分几块数据:" & newData.Length)
|
||||
newArraylen = newData.Length
|
||||
Dim hexData(newArraylen - 1) As Byte
|
||||
Dim tmpCnt As Integer = 0
|
||||
Try
|
||||
For i = 0 To newData.Length - 1
|
||||
If newData(i) <> "" Then
|
||||
hexData(tmpCnt) = $"&H{newData(i)}"
|
||||
Console.WriteLine($"要发送的数据" & hexData(tmpCnt))
|
||||
tmpCnt += 1
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
MsgBox("数据输入格式有误")
|
||||
End Try
|
||||
Return hexData
|
||||
End Function
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Module
|
||||
78
RCU-10/RCU/RCUVersion.txt
Normal file
78
RCU-10/RCU/RCUVersion.txt
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
项目更新日志
|
||||
|
||||
|
||||
2021年11月2日
|
||||
增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql
|
||||
删除空调与电视查询语句部分Group by部分
|
||||
|
||||
2021年10月27日
|
||||
服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net"
|
||||
|
||||
|
||||
2.5.6.30
|
||||
新增设备列表通讯测试列
|
||||
新增一键测试按键,测试成功率结果显示到设备列表中
|
||||
新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试
|
||||
|
||||
|
||||
2.4.6.25
|
||||
新增清空设备列表按键
|
||||
新增RF设备网关通讯测试
|
||||
新增RF设备电动窗帘命令选项
|
||||
配对时,设备列表优化
|
||||
|
||||
|
||||
2.3.6.16
|
||||
新增RF无线功能:
|
||||
表格控制信息增加计数功能
|
||||
|
||||
|
||||
2.2.6.10
|
||||
剔除旧RF功能
|
||||
新增RF无线功能
|
||||
功能如下:
|
||||
插卡取电
|
||||
开关面板
|
||||
无线温控
|
||||
无线语音
|
||||
微信锁
|
||||
电动窗帘
|
||||
|
||||
|
||||
2.1.6.4
|
||||
RCU结构调整:
|
||||
主窗体保留(包含通讯模块)
|
||||
C43功能模块保留优化
|
||||
红外功能保留优化
|
||||
RF功能模块待优化
|
||||
Pad1809功能模块
|
||||
A12DRV功能模块已剔除
|
||||
|
||||
新增主窗体IP地址和端口号记录
|
||||
改善各模块窗体独立优化
|
||||
|
||||
|
||||
1.4.2.5
|
||||
新增红外功能模块
|
||||
新增空调电视操作命令
|
||||
新增数据库操作
|
||||
新增空调下发功能
|
||||
新增电视下发功能
|
||||
|
||||
|
||||
1.3.5.0
|
||||
新增RF功能模块
|
||||
新增Pad1809功能模块
|
||||
新增A12DRV功能模块
|
||||
|
||||
|
||||
1.2.5.0
|
||||
新增C43功能
|
||||
C43配置文件下发
|
||||
|
||||
|
||||
1.0.0.0
|
||||
完成基本串口通讯,网络通迅—UDP
|
||||
完成透传通信,协议组包
|
||||
|
||||
BIN
RCU-10/RCU/RCU_TemporaryKey.pfx
Normal file
BIN
RCU-10/RCU/RCU_TemporaryKey.pfx
Normal file
Binary file not shown.
77
RCU-10/RCU/Resource1.Designer.vb
generated
Normal file
77
RCU-10/RCU/Resource1.Designer.vb
generated
Normal file
@@ -0,0 +1,77 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 此代码由工具生成。
|
||||
' 运行时版本:4.0.30319.42000
|
||||
'
|
||||
' 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
' 重新生成代码,这些更改将会丢失。
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'此类是由 StronglyTypedResourceBuilder
|
||||
'类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
'若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
'(以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
'''<summary>
|
||||
''' 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Class Resource1
|
||||
|
||||
Private Shared resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private Shared resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
Friend Sub New()
|
||||
MyBase.New
|
||||
End Sub
|
||||
|
||||
'''<summary>
|
||||
''' 返回此类使用的缓存的 ResourceManager 实例。
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("RCU.Resource1", GetType(Resource1).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' 重写当前线程的 CurrentUICulture 属性
|
||||
''' 重写当前线程的 CurrentUICulture 属性。
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Shared Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。
|
||||
'''</summary>
|
||||
Friend Shared ReadOnly Property SerialApp() As System.Drawing.Icon
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("SerialApp", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Icon)
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
BIN
RCU-10/RCU/Resources/favicon.ico
Normal file
BIN
RCU-10/RCU/Resources/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
BIN
RCU-10/RCU/System.Data.SQLite.dll
Normal file
BIN
RCU-10/RCU/System.Data.SQLite.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/UTS_Core.dll
Normal file
BIN
RCU-10/RCU/UTS_Core.dll
Normal file
Binary file not shown.
63
RCU-10/RCU/UpdateDeviceInfo.vb
Normal file
63
RCU-10/RCU/UpdateDeviceInfo.vb
Normal file
@@ -0,0 +1,63 @@
|
||||
Public Class UpdateDeviceInfo
|
||||
|
||||
''' <summary>
|
||||
''' 设备地址
|
||||
''' </summary>
|
||||
Public Property DevAddress As String
|
||||
|
||||
''' <summary>
|
||||
''' 设备分区
|
||||
''' </summary>
|
||||
Public Property DevPartition As String
|
||||
|
||||
''' <summary>
|
||||
''' 设备名称
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DevName As String
|
||||
|
||||
''' <summary>
|
||||
''' 更新结果
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Property DevResult As String
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 初始化
|
||||
''' </summary>
|
||||
Sub New()
|
||||
DevAddress = $""
|
||||
DevPartition = $""
|
||||
DevName = $""
|
||||
DevResult = $""
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 初始化
|
||||
''' </summary>
|
||||
''' <param name="devAddr"></param>
|
||||
''' <param name="devPartition"></param>
|
||||
''' <param name="devName"></param>
|
||||
Sub New(devAddr As String, devPartition As String, devName As String)
|
||||
Me.DevAddress = devAddr
|
||||
Me.DevPartition = devPartition
|
||||
Me.DevName = devName
|
||||
Me.DevResult = $"未升级"
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 升级结果
|
||||
''' </summary>
|
||||
Public Sub UpgradeResult()
|
||||
DevResult = $"未升级"
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
6079
RCU-10/RCU/bin/Debug/BLV_C1_APP.hex
Normal file
6079
RCU-10/RCU/bin/Debug/BLV_C1_APP.hex
Normal file
File diff suppressed because it is too large
Load Diff
BIN
RCU-10/RCU/bin/Debug/FlexCell.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/FlexCell.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.Streams.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.Streams.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/K4os.Hash.xxHash.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/K4os.Hash.xxHash.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/MySql.Data.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/MySql.Data.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.tar.gz
Normal file
BIN
RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.tar.gz
Normal file
Binary file not shown.
94
RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.txt
Normal file
94
RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.txt
Normal file
@@ -0,0 +1,94 @@
|
||||
AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB
|
||||
AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB
|
||||
AA 55 13 00 54 33 53 41 70 01 00 E9 03 01 19 03 02 F2 AB
|
||||
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
||||
AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 65 00 01 F2 00 04 6D
|
||||
AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42
|
||||
AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 FE 19 C2
|
||||
AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42
|
||||
|
||||
<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 1A 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 47 00 00 11 09 E9
|
||||
|
||||
<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 CD 00 0A F5 50 41 44 5F 31 38 30 39 43 43 21 AE
|
||||
|
||||
<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 29 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D8 00 0F F6 50 61 64 43 6F 6E 66 69 67 5F 32 2E 78 6D 6C 33 81
|
||||
|
||||
<EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 67 00 01 F0 00 7C CD
|
||||
|
||||
<EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 66 00 01 F1 00 40 9D
|
||||
|
||||
<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D9 00 0A F4 00 FF 00 14 09 04 0D 31 23 00 04 45
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>
|
||||
AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 64 00 01 F3 00 38 3D
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
136
RCU-10/RCU/bin/Debug/Pad1809CC/UpFileData.txt
Normal file
136
RCU-10/RCU/bin/Debug/Pad1809CC/UpFileData.txt
Normal file
@@ -0,0 +1,136 @@
|
||||
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
|
||||
|
||||
|
||||
1F 8B 08 00 00 00 00 00 02 03 ED 97 49 6F E3 36 14 80 73 1E 60 FE 83 7F 80 ED 72 5F 74 4B 32 2D 7A 48 66 8C 04 1D B4 27 43 B6 69 47 A8 24 1A 5A B2 F4 D0 DF 3E 8F 12 B5 D8 31 9D 5C 5A A0 45 08 03 06 EC EF AD 7C 7C 7C DC 26 A9 49 93 B2 9A 57 CF D5 C5 3F B4 10 2C C1 58 F3 0D EB F8 5B 22 C6 2F 30 95 44 30 CA 30 85 DF 31 C1 0C 5F 4C D0 C5 BF B0 EA B2 8A 8B C9 E4 A2 B0 F6 6C 02 DE FA FF 3F BA 2E 17 8B 9F A6 53 82 08 9A 21 39 43 64 82 48 44 59 44 F4 14 7F FE B4 B8 FC B2 C4 0A E9 EB EB 29 C7 5C 08 34 80 78 82 44 44 69 C4 C8 94 7C FE F4 8B CD AB 72 A4 07 A3 09 92 11 67 11 A3 4E CF B7 C5 E2 DB 7D 9C 97 B3 DB 79 55 6D A7 18 21 85 04 51 80 63 0D EC 0C 63 67 96 A1 88 20 ED CE AE 6C 65 67 77 66 57 A7 71 D1 8A 00 2E 85 13 00 DB 74 86 B9 33 8F 45 C4 85 13 58 C7 D9 AA 48 62 20 D7 40 62 2D 19 6A 75 23 50 0F 21 E1 08 E9 88 63 87 66 E5 CB 43 CB 69 C1 A4 A4 C2 83 A0 53 4F 10 38 CC 22 DC 80 77 A6 B4 75 B1 36 7D 54 A2 51 25 9C 9B 60 15 A2 BA BA F9 3E 5F 65 FB 29 21 58 2A E2 F4 A8 46 0F 9B 60 1A 61 14 51 EE F4 DC 43 79 55 A6 98 EF 92 ED 94 50 02 BE 79 7D 6C 46 21 4B 90 41 F8 28 47 AE E2 F5 9F BB C2 D6 F9 66 BE CF 77 90 25 25 30 EB E3 20 74 82 78 44 65 C4 DA 90 53 13 E7 4B BB DD 36 2C 51 84 9F 20 D9 88 CC 1B 90 0B 4A C3 A0 5D 97 0F F6 A9 05 09 3F 65 BB 71 74 5D 17 55 9C 0C D6 B1 6E C3 87 64 E3 19 52 13 48 36 6C 27 96 07 6C 6B 1F 53 45 70 88 7D B0 99 B9 4C 8A 06 A4 08 4A B0 E5 C8 0C 0B 57 4E 14 45 08 77 DC 10 BA 24 F2 84 A3 7A 00 5B CB 8A 0B 12 E2 D2 64 F7 50 5D DB D4 16 83 5A 72 52 2D 3B C6 7D 58 98 75 E5 1C C0 6F 92 7C F0 19 0E 00 E9 8B DF D1 D8 1D 25 4E 7A 7A 1C 1D 3A EB 75 1F 1E 3D 13 5E BD 36 F9 FA C5 6F C0 90 7E AC 9C 65 C6 3D 96 C5 D5 FA 61 B0 AC F5 61 02 44 04 C5 4A 9A 88 32 BB 31 8B C2 94 E5 10 11 C5 3A 14 FF 88 6E 7D 95 BD 13 27 E0 BA 4C D6 DE 01 2E 06 57 99 73 95 43 6F D2 3D 75 59 54 A3 8C BE AA 6B 0E A7 1E F5 F0 6D 5D 8D F2 4F 25 3F 28 42 E5 1C C0 E4 88 F6 7B CB B4 78 ED 2D 1F 54 7F 35 CF A3 0D 23 38 78 6E 46 B4 3F 8D 44 AB B3 F0 22 AE CB 51 A9 2B 46 DE 83 FB 8A D0 9C 9E A7 D3 F8 65 B4 DD 18 BD 83 6E 55 6B F4 96 EA C2 3C 26 B6 2E 47 69 41 F2 9D 12 3E 35 14 F1 90 40 6E 37 30 B1 D4 C5 6A 50 2F F4 A9 F2 E3 47 B4 57 8D 19 0A C1 B6 1E D5 14 97 22 54 A6 0D D7 AA A3 22 8C ED E3 D4 54 95 69 38 86 A4 40 A1 1A F5 E0 72 55 F9 A2 D3 8C 87 7C DC DB 27 33 34 2A 2C B9 0E 35 54 4F E6 DD 1D 11 EC 68 FB C2 EE 9A 13 EA EE 20 7F A0 18 15 27 F4 F2 03 7C 5B C0 C5 DF 26 55 F5 59 3D E0 9B CB 0A 66 A7 AC 6B 2A EC E0 4C C3 25 0E 4D A5 D9 D5 12 9A 94 B9 37 C5 E3 28 38 72 BA AD F0 57 7C D7 86 95 08 6E 6D B9 49 B2 CC 14 3E 3A A2 43 DD B2 4C 93 8D B9 82 BB B0 4D 04 61 4C 87 8E 7F 83 7A 8D 12 F3 90 C6 CA 64 FB 0E C3 E2 78 13 60 9E 40 7C C0 86 12 60 24 78 55 57 8F B7 EE D0 0C 79 42 4C 85 26 85 9E ED 72 44 CF B1 DF 6D 5A 67 E6 8B 7D 1A 0D 17 98 AB 50 52 0F 05 5A 0B 4C 32 1D 76 BC E5 7F DB 8F D4 4B F9 96 7A 87 7B E5 8A 90 B0 F2 E5 A6 1B 1F 84 D4 3C AC 75 2B 7CB9 01 7F 5B 50 61 11 6C 34 00 A6 66 DB 16 38 D5 5C 9D B0 DC 4E 95 00 76 DD 40 6A CA CE 60 85 BB B4 BD 65 72 F2 1A 6C 2C 3F 26 65 52 8D C6 11 8A 99 08 95 57 CF 76 7D 5F D3 20 DA 64 B3 BB B1 55 A8 AE 9F 92 1C 12 04 A3 D8 78 93 82 F3 CD 88 EE A7 21 11 6C 89 4F 69 9F 01 A2 85 3A BE E1 BB 86 F8 FB ED CD D1 7B 42 C3 EB 00 66 C0 E6 5D 12 6F AE 6D BE 4D 76 CB EB AF CB 3F E2 5F 4D 32 7F CE 52 77 06 55 D3 0C 07 21 E5 FA 0B 6B 9A E1 20 F4 F3 81 90 10 0A 26 7E 78 34 80 10 6E 1E 36 C8 75 AE 76 1F BA E9 DD 91 54 52 AF 1B E2 92 13 98 F0 59 D7 E0 46 D8 DF AE F6 3C C7 67 04 35 23 96 F0 DC F0 A0 5A 7A 11 20 85 20 A8 7F 63 B8 37 01 DC 0B F0 C6 38 7A 81 75 02 CB AB B8 34 6F 48 B9 EA 4E 6D BC 99 83 C8 7C F7 D7 B4 19 60 7A C7 21 93 58 42 88 8E DC 8E 9E FF 53 D4 53 90 3A EC 1E 81 FE FD 76 F1 B1 3E D6 C7 FA 58 1F EB FF B6 7E 00 2A 3C 27 AF 00 16 00 00
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 51 E8 4D FA C4 6D E2 FE 67 02 3F 1C 64 70 E6 3C
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 6D F0 A9 E5 95 96 DC 50 4B 41 0C 1C 5B 3D 34 5A
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 72 BF 0A 4F 13 6A E4 33 ED DD 46 93 C9 D3 CB 41
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 38 96 A5 13 51 19 F9 EF B1 C9 49 62 A5 A8 18 B8
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 93 89 B3 BB 34 82 77 B5 83 07 1F 21 71 08 1F B9
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 37 4F 56 51 82 DE F0 CE 8B 20 85 AF 42 5A 24 1D
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 9D 61 FC CA D3 33 80 83 FC B3 A3 FA 94 EA A2 29
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> A2 62 7F D6 50 68 E0 10 C5 8A 3B EE BB 4F 74 81
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD
|
||||
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> C2 9C 01 88 50 FD A9 E4 DD B9 AC 91 9E 26 B1 D2
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> E1 66 DA 0C 64 38 51 E0 8A 85 9C D1 CD 81 A7 32
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 66 29 7B AD 97 5A C2 9B 07 83 AE D8 54 E5 88 F7
|
||||
Md5ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 4A 78 A7 57 30 EE 87 5E 79 C9 A4 77 D2 6D DC 2D
|
||||
Md5ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
MD5: 2B 61 0B 07 8D 07 81 B3 52 50 D8 84 63 E5 53 04
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
Md5ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D
|
||||
Md5ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-------------------------------------------------------------
|
||||
|
||||
|
||||
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
|
||||
|
||||
|
||||
<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD>
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
Md5ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
|
||||
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
|
||||
ԭMD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>MD5ֵ<EFBFBD><EFBFBD> 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78
|
||||
Md5ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
28
RCU-10/RCU/bin/Debug/RCU.application
Normal file
28
RCU-10/RCU/bin/Debug/RCU.application
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
|
||||
<assemblyIdentity name="RCU.application" version="2.7.1.0" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
||||
<description asmv2:publisher="BY" asmv2:product="RCU透传工具" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
||||
<deployment install="true" mapFileExtensions="true" minimumRequiredVersion="2.6.0.1" co.v1:createDesktopShortcut="true">
|
||||
<subscription>
|
||||
<update>
|
||||
<expiration maximumAge="0" unit="days" />
|
||||
</update>
|
||||
</subscription>
|
||||
<deploymentProvider codebase="http://auth.blv-oa.com/Apps/RCU/RCU.application" />
|
||||
</deployment>
|
||||
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
|
||||
<framework targetVersion="4.8" profile="Full" supportedRuntime="4.0.30319" />
|
||||
</compatibleFrameworks>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" codebase="RCU.exe.manifest" size="14015">
|
||||
<assemblyIdentity name="RCU.exe" version="2.7.1.0" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>ZfXT0OrBBJCjcnXTnam2mqD8FZlosX4MHIdelY1pjTM=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
</asmv1:assembly>
|
||||
BIN
RCU-10/RCU/bin/Debug/RCU.exe
Normal file
BIN
RCU-10/RCU/bin/Debug/RCU.exe
Normal file
Binary file not shown.
54
RCU-10/RCU/bin/Debug/RCU.exe.config
Normal file
54
RCU-10/RCU/bin/Debug/RCU.exe.config
Normal file
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="RCU.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<RCU.My.MySettings>
|
||||
<setting name="CBoLongIP" serializeAs="String">
|
||||
<value>192.168.1.1</value>
|
||||
</setting>
|
||||
<setting name="NumRemotePort" serializeAs="String">
|
||||
<value>1024</value>
|
||||
</setting>
|
||||
<setting name="NumLocalPort" serializeAs="String">
|
||||
<value>5533</value>
|
||||
</setting>
|
||||
<setting name="CBoBaud" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="CBoMode" serializeAs="String">
|
||||
<value>正常模式</value>
|
||||
</setting>
|
||||
<setting name="CboRFDevType" serializeAs="String">
|
||||
<value>RS485透传模块</value>
|
||||
</setting>
|
||||
<setting name="CboCMD15Buad" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="rfcmd14Way" serializeAs="String">
|
||||
<value>不控制</value>
|
||||
</setting>
|
||||
<setting name="CboRFCMD21ControlMode" serializeAs="String">
|
||||
<value>向上渐变调光</value>
|
||||
</setting>
|
||||
<setting name="CboSerialBaud" serializeAs="String">
|
||||
<value>9600</value>
|
||||
</setting>
|
||||
<setting name="CboSerialPort" serializeAs="String">
|
||||
<value>COM1</value>
|
||||
</setting>
|
||||
<setting name="CurtainsCMD" serializeAs="String">
|
||||
<value>27</value>
|
||||
</setting>
|
||||
<setting name="CurtainsData" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
</RCU.My.MySettings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
253
RCU-10/RCU/bin/Debug/RCU.exe.manifest
Normal file
253
RCU-10/RCU/bin/Debug/RCU.exe.manifest
Normal file
@@ -0,0 +1,253 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
|
||||
<asmv1:assemblyIdentity name="RCU.exe" version="2.7.1.0" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
|
||||
<description asmv2:iconFile="favicon.ico" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
||||
<application />
|
||||
<entryPoint>
|
||||
<assemblyIdentity name="RCU" version="2.7.1.0" language="neutral" processorArchitecture="msil" />
|
||||
<commandLine file="RCU.exe" parameters="" />
|
||||
</entryPoint>
|
||||
<trustInfo>
|
||||
<security>
|
||||
<applicationRequestMinimum>
|
||||
<PermissionSet version="1" class="System.Security.NamedPermissionSet" Name="LocalIntranet" Description="Default rights given to applications on the local intranet" Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
</applicationRequestMinimum>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC 清单选项
|
||||
如果想要更改 Windows 用户帐户控制级别,请使用
|
||||
以下节点之一替换 requestedExecutionLevel 节点。n
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
|
||||
如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
|
||||
元素。
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<dependency>
|
||||
<dependentOS>
|
||||
<osVersionInfo>
|
||||
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
|
||||
</osVersionInfo>
|
||||
</dependentOS>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
|
||||
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="FlexCell.dll" size="1281536">
|
||||
<assemblyIdentity name="FlexCell" version="4.4.0.0" publicKeyToken="6F86587EB70EE309" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="K4os.Compression.LZ4.dll" size="40448">
|
||||
<assemblyIdentity name="K4os.Compression.LZ4" version="1.1.11.0" publicKeyToken="2186FA9121EF231D" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="K4os.Compression.LZ4.Streams.dll" size="17408">
|
||||
<assemblyIdentity name="K4os.Compression.LZ4.Streams" version="1.1.11.0" publicKeyToken="2186FA9121EF231D" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="K4os.Hash.xxHash.dll" size="12288">
|
||||
<assemblyIdentity name="K4os.Hash.xxHash" version="1.0.6.0" publicKeyToken="32CD54395057CEC3" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MySql.Data.dll" size="1734656">
|
||||
<assemblyIdentity name="MySql.Data" version="8.0.22.0" publicKeyToken="C5687FC88969C44D" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="RCU.exe" size="366080">
|
||||
<assemblyIdentity name="RCU" version="2.7.1.0" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>GWBvU81EPZVjUdWQiSXKbseGWgvdyQ6YkqlhQDoYuJM=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Buffers.dll" size="20864">
|
||||
<assemblyIdentity name="System.Buffers" version="4.0.3.0" publicKeyToken="CC7B13FFCD2DDD51" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Data.SQLite.dll" size="364544">
|
||||
<assemblyIdentity name="System.Data.SQLite" version="1.0.112.1" publicKeyToken="DB937BC2D44FF139" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Memory.dll" size="141184">
|
||||
<assemblyIdentity name="System.Memory" version="4.0.1.1" publicKeyToken="CC7B13FFCD2DDD51" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Numerics.Vectors.dll" size="115856">
|
||||
<assemblyIdentity name="System.Numerics.Vectors" version="4.1.4.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Runtime.CompilerServices.Unsafe.dll" size="23088">
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" version="4.0.4.1" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Ubiety.Dns.Core.dll" size="55808">
|
||||
<assemblyIdentity name="Ubiety.Dns.Core" version="2.2.1.0" publicKeyToken="C5687FC88969C44D" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Zstandard.Net.dll" size="14848">
|
||||
<assemblyIdentity name="Zstandard.Net" version="1.1.7.0" publicKeyToken="C5687FC88969C44D" language="neutral" processorArchitecture="msil" />
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ=</dsig:DigestValue>
|
||||
</hash>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<file name="favicon.ico" size="16958">
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o=</dsig:DigestValue>
|
||||
</hash>
|
||||
</file>
|
||||
<file name="RCU.exe.config" size="2426">
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss=</dsig:DigestValue>
|
||||
</hash>
|
||||
</file>
|
||||
<file name="RCUVersion.txt" size="1823">
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU=</dsig:DigestValue>
|
||||
</hash>
|
||||
</file>
|
||||
<file name="软件进度.txt" size="147">
|
||||
<hash>
|
||||
<dsig:Transforms>
|
||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||
</dsig:Transforms>
|
||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||
<dsig:DigestValue>LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw=</dsig:DigestValue>
|
||||
</hash>
|
||||
</file>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
|
||||
Windows 版本的列表。取消评论适当的元素,
|
||||
Windows 将自动选择最兼容的环境。 -->
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
</application>
|
||||
</compatibility>
|
||||
</asmv1:assembly>
|
||||
BIN
RCU-10/RCU/bin/Debug/RCU.pdb
Normal file
BIN
RCU-10/RCU/bin/Debug/RCU.pdb
Normal file
Binary file not shown.
4652
RCU-10/RCU/bin/Debug/RCU.xml
Normal file
4652
RCU-10/RCU/bin/Debug/RCU.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
RCU-10/RCU/bin/Debug/System.Buffers.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/System.Buffers.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/System.Data.SQLite.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/System.Data.SQLite.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/System.Memory.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/System.Memory.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/System.Numerics.Vectors.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/System.Numerics.Vectors.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/Ubiety.Dns.Core.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/Ubiety.Dns.Core.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/Zstandard.Net.dll
Normal file
BIN
RCU-10/RCU/bin/Debug/Zstandard.Net.dll
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/Debug/app.publish/RCU.exe
Normal file
BIN
RCU-10/RCU/bin/Debug/app.publish/RCU.exe
Normal file
Binary file not shown.
BIN
RCU-10/RCU/bin/RCU透传工具_V2.7.0.4.rar
Normal file
BIN
RCU-10/RCU/bin/RCU透传工具_V2.7.0.4.rar
Normal file
Binary file not shown.
6079
RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/BLV_C1_APP.hex
Normal file
6079
RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/BLV_C1_APP.hex
Normal file
File diff suppressed because it is too large
Load Diff
BIN
RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/FlexCell.dll
Normal file
BIN
RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/FlexCell.dll
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user