📄 token.bas
字号:
Attribute VB_Name = "Token"
Public sTokenBuf As String
Public sToken As String
Public sSeparator As String
Public Function StrSpan(sTarget As String, ByVal iStart As Integer, sSeps As String) As Integer
Dim cTarget As Integer
cTarget = Len(sTarget)
' Look for start of token (character that isn't a separator)
Do While InStr(sSeps, Mid$(sTarget, iStart, 1))
If iStart > cTarget Then
StrSpan = 0
Exit Function
Else
iStart = iStart + 1
End If
Loop
StrSpan = iStart
End Function
Public Function StrBreak(sTarget As String, ByVal iStart As Integer, sSeps As String) As Integer
Dim cTarget As Integer
cTarget = Len(sTarget)
' Look for end of token (first character that is a separator)
Do While InStr(sSeps, Mid$(sTarget, iStart, 1)) = 0
If iStart > cTarget Then
StrBreak = 0
Exit Function
Else
iStart = iStart + 1
End If
Loop
StrBreak = iStart
End Function
Public Function GetToken(sTarget As String, sSeps As String) As String
' Note that sSave an iStart must be static from call to call
' If firxt call, make copy of string
Static sSave As String, iStart As Integer, cSave As Integer
GetToken = sTokenBuf
If sTarget <> sTokenBuf Then
iStart = 1
sSave = sTarget
cSave = Len(sSave)
Else
If sSave = sTokenBuf Then
Exit Function
End If
End If
' Find start of next token
Dim iNew As Integer
iNew = StrSpan(sSave, iStart, sSeps)
If iNew Then
' Set position to start of token
iStart = iNew
Else
' If no new token, return empty string
GetToken = sTokenBuf
Exit Function
End If
' Find end of token
iNew = StrBreak(sSave, iStart, sSeps)
If iNew = 0 Then
iNew = cSave + 1
End If
' Cut token out of sTarget string
GetToken = Mid$(sSave, iStart, iNew - iStart)
iStart = iNew
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -