?? cparser.cls
字號:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "CParser"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
Dim mText As String
Dim mDelimiters(1 To 20) As String
Dim mDelimiterCount As Integer
Dim mEnclosures(1 To 20, 1 To 2) As String
Dim mEnclosureCount As Integer
Dim mUnenclosedPieces(1 To 20) As String
Dim mUnenclosedPieceCount As Integer
Public Sub AddEnclosure(LeftEnclosure As String, RightEnclosure As String)
' Make sure we have room for another enclosure.
If mEnclosureCount = UBound(mEnclosures) Then Exit Sub
mEnclosureCount = mEnclosureCount + 1
mEnclosures(mEnclosureCount, 1) = LeftEnclosure
mEnclosures(mEnclosureCount, 2) = RightEnclosure
End Sub
Public Sub AddDelimiter(NewDelimiter As String)
' Make sure we have room for another enclosure.
If mDelimiterCount = UBound(mDelimiters) Then Exit Sub
mDelimiterCount = mDelimiterCount + 1
mDelimiters(mDelimiterCount) = NewDelimiter
End Sub
Public Sub Reset()
mUnenclosedPieceCount = 0
mDelimiterCount = 0
mEnclosureCount = 0
mText = ""
End Sub
Public Property Get Text() As String
mUnenclosedPieceCount = 0
Text = mText
End Property
Public Property Let Text(NewText As String)
mText = NewText
End Property
Public Function GetItem(Item As Integer) As String
If mUnenclosedPieceCount = 0 Then
UnEncloseText
End If
For CurDelim = 1 To mDelimiterCount
Next CurDelim
End Function
Private Sub UnEncloseText()
Dim CurEnclosure As Integer
Dim leftPos As Integer, rightPos As Integer
Dim CurFarLeftPos As Integer, CurFarRightPos As Integer
' mUEP should always be zero when this sub is called.
If mUnenclosedPieceCount <> 0 Then Stop
CurEnclosure = 1
leftPos = CurFarLeftPos = 99999
rightPos = CurFarRightPos = 0
For CurEnclosure = 1 To mEnclosureCount
' Look for a left enclosure
leftPos = InStr(mText, mEnclosures(CurEnclosure, 1))
' If we found a match, and it is farther left
' than the previous match, work on it.
If leftPos > 0 And leftPos < curfarleft Then
' If there is a matching right enclosure, take
' leftPos as our new far left.
If InStr(mText, mEnclosures(CurEnclosure, 2)) > 0 Then
CurFarLeftPos = leftPos
End If
If pos > 0 Then
End If
Do While CurEnclosure < mEnclosureCount
CurEnclosure
Loop
Next CurEnclosure
End Sub
Private Sub Class_Initialize()
Reset
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -