📄 token.bas
字号:
Attribute VB_Name = "Module1"
Public sTokenBuf As String
Public sToken As String
Public sSeparator As String
'
'Public Function StrSpan(sTarget As String, sSeps As String) As Integer
' Dim cTarget As Integer, iStart As Integer
'
' cTarget = Len(sTarget)
' iStart = 1
' ' Look for start of token (character that isn't a separator)
' Do While InStr(sSeps, Mid$(sTarget, iStart, 1))
' If iStart > cTagert Then
' StrSpan = 0
' Exit Function
' Else
' iStart = iStart + 1
' End If
' Loop
' StrSpan = iStart
'End Function
'
'Public Function StrBreak(sTarget As String, sSeps As String) As Integer
' Dim cTarget As Integer, iStart As Integer
'
' cTarget = Len(sTarget)
' iStart = 1
' ' 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
'
' If sTarget <> sTokenBuf Then
' iStart = 1
' sSave = sTarget
' 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 + iStart - 1
' 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 Then
' ' Set position to end of token
' iNew = iStart + iNew - 1
' Else
' ' If no end of token, set to end of string
' iNew = Len(sSave) + 1
' End If
' ' Cut token out of sTarget string
' GetToken = Mid$(sSave, iStart, iNew - iStart)
' iStart = iNew
'
' sTokenBuf = Mid$(sSave, iNew + 1, Len(sSave))
'End Function
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 + -