📄 membercode.vb
字号:
Option Strict On
Option Explicit On
Namespace Data
Public Class MemberCode
Private _code As String
Private _bound As Integer
Private _num As Integer
Public Sub New()
_code = "JMS. .860000"
_bound = -1
_num = 0
End Sub
Public Sub New(ByVal Code As String)
split(Code)
End Sub
Public Sub split()
split(_code)
End Sub
Private Sub split(ByVal Code As String)
Dim s As String()
_code = Trim(Code)
s = _code.Split(CChar("."))
If s.Length = 3 Then
_num = CInt(s(2)) Mod 10000
Dim i As Int32 = 0
_bound = Asc(Left(s(1), 1)) - Asc("A")
If _bound < 0 Then Exit Sub
For i = 1 To s(1).Length - 1
_bound = (_bound + 1) * 26
_bound = _bound + Asc(Mid(s(1), i, 1)) - Asc("A")
Next
End If
End Sub
Public Sub Join(ByVal Bound As Integer, ByVal Num As Integer)
_bound = Bound
_num = Num
If _bound < 0 Or _num < 0 Or _num > 9999 Then Exit Sub
_code = ""
While _bound >= 0
_code = Chr(Asc("A") + _bound Mod 26) & _code
_bound = _bound \ 26 - 1
End While
_code = "JMS." + RTrim(_code) + "." + CStr(860000 + _num)
End Sub
Public ReadOnly Property Code() As String
Get
Return _code
End Get
End Property
Public ReadOnly Property Bound() As Integer
Get
Return _bound
End Get
End Property
Public ReadOnly Property Num() As Integer
Get
Return _num
End Get
End Property
Public Overrides Function toString() As String
Return _code
End Function
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -