token.bas
来自「使用研华DAQ实现研华数据采集卡的多种功能。包括数据输入输出等。内含多个源码」· BAS 代码 · 共 78 行
BAS
78 行
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 + =
减小字号Ctrl + -
显示快捷键?