cBuffer
VBS、ASP代码语法加亮显示的类Private objFSO, objFile, objDict
VBS、ASP代码语法加亮显示的类
Private m_strPathToFile, m_TableBGColor, m_StartTime
VBS、ASP代码语法加亮显示的类
Private m_EndTime, m_LineCount, m_intKeyMin, m_intKeyMax
VBS、ASP代码语法加亮显示的类
Private m_CodeColor, m_CommentColor, m_StringColor, m_TabSpaces
VBS、ASP代码语法加亮显示的类
 Class_Initialize()
VBS、ASP代码语法加亮显示的类TableBGColor 
= "white"
VBS、ASP代码语法加亮显示的类
CodeColor = "Blue"
VBS、ASP代码语法加亮显示的类
CommentColor = "Green"
VBS、ASP代码语法加亮显示的类
StringColor = "Gray"
VBS、ASP代码语法加亮显示的类
TabSpaces = " "
VBS、ASP代码语法加亮显示的类
PathToFile = ""
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
m_StartTime = 0
VBS、ASP代码语法加亮显示的类m_EndTime 
= 0
VBS、ASP代码语法加亮显示的类m_LineCount 
= 0
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类KeyMin 
= 2
VBS、ASP代码语法加亮显示的类KeyMax 
= 8
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
Set objDict = server.CreateObject("Scripting.Dictionary")
VBS、ASP代码语法加亮显示的类objDict.CompareMode 
= 1
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类CreateKeywords
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
Set objFSO = server.CreateObject("Scripting.FileSystemObject")
VBS、ASP代码语法加亮显示的类
End Sub
VBS、ASP代码语法加亮显示的类
 Class_Terminate()
VBS、ASP代码语法加亮显示的类
Set objDict = Nothing
VBS、ASP代码语法加亮显示的类
Set objFSO = Nothing
VBS、ASP代码语法加亮显示的类
End Sub
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
 Let CodeColor(inColor)
VBS、ASP代码语法加亮显示的类m_CodeColor 
= "<font color=" & inColor & "><Strong>"
VBS、ASP代码语法加亮显示的类
End Property
 CodeColor()
VBS、ASP代码语法加亮显示的类CodeColor 
= m_CodeColor
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 Let CommentColor(inColor)
VBS、ASP代码语法加亮显示的类m_CommentColor 
= "<font color=" & inColor & ">"
VBS、ASP代码语法加亮显示的类
End Property
 CommentColor()
VBS、ASP代码语法加亮显示的类CommentColor 
= m_CommentColor
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 Let StringColor(inColor)
VBS、ASP代码语法加亮显示的类m_StringColor 
= "<font color=" & inColor & ">"
VBS、ASP代码语法加亮显示的类
End Property
 StringColor()
VBS、ASP代码语法加亮显示的类StringColor 
= m_StringColor
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 Let TabSpaces(inSpaces)
VBS、ASP代码语法加亮显示的类m_TabSpaces 
= inSpaces
VBS、ASP代码语法加亮显示的类
End Property
 TabSpaces()
VBS、ASP代码语法加亮显示的类TabSpaces 
= m_TabSpaces
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 Let TableBGColor(inColor)
VBS、ASP代码语法加亮显示的类m_TableBGColor 
= inColor
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 TableBGColor()
VBS、ASP代码语法加亮显示的类TableBGColor 
= m_TableBGColor
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 ProcessingTime()
VBS、ASP代码语法加亮显示的类ProcessingTime 
= Second(m_EndTime - m_StartTime)
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 LineCount()
VBS、ASP代码语法加亮显示的类LineCount 
= m_LineCount
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 PathToFile()
VBS、ASP代码语法加亮显示的类PathToFile 
= m_strPathToFile
VBS、ASP代码语法加亮显示的类
End Property
 Let PathToFile(inPath)
VBS、ASP代码语法加亮显示的类m_strPathToFile 
= inPath
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 Let KeyMin(inMin)
VBS、ASP代码语法加亮显示的类m_intKeyMin 
= inMin
VBS、ASP代码语法加亮显示的类
End Property
 KeyMin()
VBS、ASP代码语法加亮显示的类KeyMin 
= m_intKeyMin
VBS、ASP代码语法加亮显示的类
End Property
 Let KeyMax(inMax)
VBS、ASP代码语法加亮显示的类m_intKeyMax 
= inMax
VBS、ASP代码语法加亮显示的类
End Property
 KeyMax()
VBS、ASP代码语法加亮显示的类KeyMax 
= m_intKeyMax
VBS、ASP代码语法加亮显示的类
End Property
VBS、ASP代码语法加亮显示的类
 CreateKeywords()
VBS、ASP代码语法加亮显示的类objDict.Add 
"abs""Abs"
VBS、ASP代码语法加亮显示的类
objDict.Add "and""And"
VBS、ASP代码语法加亮显示的类
objDict.Add "array""Array"
VBS、ASP代码语法加亮显示的类
objDict.Add "call""Call"
VBS、ASP代码语法加亮显示的类
objDict.Add "cbool""CBool"
VBS、ASP代码语法加亮显示的类
objDict.Add "cbyte""CByte"
VBS、ASP代码语法加亮显示的类
objDict.Add "ccur""CCur"
VBS、ASP代码语法加亮显示的类
objDict.Add "cdate""CDate"
VBS、ASP代码语法加亮显示的类
objDict.Add "cdbl""CDbl"
VBS、ASP代码语法加亮显示的类
objDict.Add "cint""CInt"
VBS、ASP代码语法加亮显示的类
objDict.Add "class""Class"
VBS、ASP代码语法加亮显示的类
objDict.Add "clng""CLng"
VBS、ASP代码语法加亮显示的类
objDict.Add "const""Const"
VBS、ASP代码语法加亮显示的类
objDict.Add "csng""CSng"
VBS、ASP代码语法加亮显示的类
objDict.Add "cstr""CStr"
VBS、ASP代码语法加亮显示的类
objDict.Add "date""Date"
VBS、ASP代码语法加亮显示的类
objDict.Add "dim""Dim"
VBS、ASP代码语法加亮显示的类
objDict.Add "do""Do"
VBS、ASP代码语法加亮显示的类
objDict.Add "loop""Loop"
VBS、ASP代码语法加亮显示的类
objDict.Add "empty""Empty"
VBS、ASP代码语法加亮显示的类
objDict.Add "eqv""Eqv"
VBS、ASP代码语法加亮显示的类
objDict.Add "erase""Erase"
VBS、ASP代码语法加亮显示的类
objDict.Add "exit""Exit"
VBS、ASP代码语法加亮显示的类
objDict.Add "false""False"
VBS、ASP代码语法加亮显示的类
objDict.Add "fix""Fix"
VBS、ASP代码语法加亮显示的类
objDict.Add "for""For"
VBS、ASP代码语法加亮显示的类
objDict.Add "next""Next"
VBS、ASP代码语法加亮显示的类
objDict.Add "each""Each"
VBS、ASP代码语法加亮显示的类
objDict.Add "function""Function"
VBS、ASP代码语法加亮显示的类
objDict.Add "global""Global"
VBS、ASP代码语法加亮显示的类
objDict.Add "if""If"
VBS、ASP代码语法加亮显示的类
objDict.Add "then""Then"
VBS、ASP代码语法加亮显示的类
objDict.Add "else""Else"
VBS、ASP代码语法加亮显示的类
objDict.Add "elseif""ElseIf"
VBS、ASP代码语法加亮显示的类
objDict.Add "imp""Imp"
VBS、ASP代码语法加亮显示的类
objDict.Add "int""Int"
VBS、ASP代码语法加亮显示的类
objDict.Add "is""Is"
VBS、ASP代码语法加亮显示的类
objDict.Add "lbound""LBound"
VBS、ASP代码语法加亮显示的类
objDict.Add "len""Len"
VBS、ASP代码语法加亮显示的类
objDict.Add "mod""Mod"
VBS、ASP代码语法加亮显示的类
objDict.Add "new""New"
VBS、ASP代码语法加亮显示的类
objDict.Add "not""Not"
VBS、ASP代码语法加亮显示的类
objDict.Add "nothing""Nothing"
VBS、ASP代码语法加亮显示的类
objDict.Add "null""Null"
VBS、ASP代码语法加亮显示的类
objDict.Add "on""On"
VBS、ASP代码语法加亮显示的类
objDict.Add "error""Error"
VBS、ASP代码语法加亮显示的类
objDict.Add "resume""Resume"
VBS、ASP代码语法加亮显示的类
objDict.Add "option""Option"
VBS、ASP代码语法加亮显示的类
objDict.Add "explicit""Explicit"
VBS、ASP代码语法加亮显示的类
objDict.Add "or""Or"
VBS、ASP代码语法加亮显示的类
objDict.Add "private""Private"
VBS、ASP代码语法加亮显示的类
objDict.Add "property""Property"
VBS、ASP代码语法加亮显示的类
objDict.Add "get""Get"
VBS、ASP代码语法加亮显示的类
objDict.Add "let""Let"
VBS、ASP代码语法加亮显示的类
objDict.Add "set""Set"
VBS、ASP代码语法加亮显示的类
objDict.Add "public""Public"
VBS、ASP代码语法加亮显示的类
objDict.Add "redim""Redim"
VBS、ASP代码语法加亮显示的类
objDict.Add "select""Select"
VBS、ASP代码语法加亮显示的类
objDict.Add "case""Case"
VBS、ASP代码语法加亮显示的类
objDict.Add "end""End"
VBS、ASP代码语法加亮显示的类
objDict.Add "sgn""Sgn"
VBS、ASP代码语法加亮显示的类
objDict.Add "string""String"
VBS、ASP代码语法加亮显示的类
objDict.Add "sub""Sub"
VBS、ASP代码语法加亮显示的类
objDict.Add "true""True"
VBS、ASP代码语法加亮显示的类
objDict.Add "ubound""UBound"
VBS、ASP代码语法加亮显示的类
objDict.Add "while""While"
VBS、ASP代码语法加亮显示的类
objDict.Add "wend""Wend"
VBS、ASP代码语法加亮显示的类
objDict.Add "with""With"
VBS、ASP代码语法加亮显示的类
objDict.Add "xor""Xor"
VBS、ASP代码语法加亮显示的类
End Sub
VBS、ASP代码语法加亮显示的类
 Min(x, y)
VBS、ASP代码语法加亮显示的类
Dim tempMin
VBS、ASP代码语法加亮显示的类
If x < y Then tempMin = x Else tempMin = y
VBS、ASP代码语法加亮显示的类Min 
= tempMin
VBS、ASP代码语法加亮显示的类
End Function
VBS、ASP代码语法加亮显示的类
 Max(x, y)
VBS、ASP代码语法加亮显示的类
Dim tempMax
VBS、ASP代码语法加亮显示的类
If x > y Then tempMax = x Else tempMax = y
VBS、ASP代码语法加亮显示的类Max 
= tempMax
VBS、ASP代码语法加亮显示的类
End Function
VBS、ASP代码语法加亮显示的类
 AddKeyword(inKeyword, inToken)
VBS、ASP代码语法加亮显示的类KeyMin 
= Min(Len(inKeyword), KeyMin)
VBS、ASP代码语法加亮显示的类KeyMax 
= Max(Len(inKeyword), KeyMax)
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类objDict.Add 
LCase(inKeyword), inToken
VBS、ASP代码语法加亮显示的类
End Sub
VBS、ASP代码语法加亮显示的类
 ParseFile(blnOutputHTML)
VBS、ASP代码语法加亮显示的类
Dim m_strReadLine, tempString, blnInScriptBlock, blnGoodExtension, i
VBS、ASP代码语法加亮显示的类
Dim blnEmptyLine
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类m_LineCount 
= 0
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
If Len(PathToFile) = 0 Then
VBS、ASP代码语法加亮显示的类Err.Raise 
5"cBuffer: PathToFile Length Zero"
VBS、ASP代码语法加亮显示的类
Exit Sub
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
Select Case LCase(Right(PathToFile, 3))
VBS、ASP代码语法加亮显示的类
Case "asp""inc"
VBS、ASP代码语法加亮显示的类
blnGoodExtension = True
VBS、ASP代码语法加亮显示的类
Case Else
VBS、ASP代码语法加亮显示的类blnGoodExtension 
= False
VBS、ASP代码语法加亮显示的类
End Select
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
If Not blnGoodExtension Then
VBS、ASP代码语法加亮显示的类Err.Raise 
5"cBuffer: File extension not asp or inc"
VBS、ASP代码语法加亮显示的类
Exit Sub
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
Set objFile = objFSO.OpenTextFile(server.MapPath(PathToFile))
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类Response.
Write "<table nowrap bgcolor=" & TableBGColor & " cellpadding=0 cellspacing=0>"
VBS、ASP代码语法加亮显示的类
Response.Write "<tr><td><PRE>"
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
m_StartTime = Time()
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
Do While Not objFile.AtEndOfStream
VBS、ASP代码语法加亮显示的类m_strReadLine 
= objFile.ReadLine
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类blnEmptyLine 
= False
VBS、ASP代码语法加亮显示的类
If Len(m_strReadLine) = 0 Then
VBS、ASP代码语法加亮显示的类blnEmptyLine 
= True
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类m_strReadLine 
= Replace(m_strReadLine, vbTab, TabSpaces)
VBS、ASP代码语法加亮显示的类m_LineCount 
= m_LineCount + 1
VBS、ASP代码语法加亮显示的类tempString 
= LTrim(m_strReadLine)
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Check for the top script line that set's the default script language
VBS、ASP代码语法加亮显示的类'
 for the page.
VBS、ASP代码语法加亮显示的类
If left( tempString, 3 ) = Chr(60& "%@" And right(tempString, 2= "%" & Chr(62Then
VBS、ASP代码语法加亮显示的类Response.
Write "<table><tr bgcolor=yellow><td>"
VBS、ASP代码语法加亮显示的类
Response.Write server.HTMLEncode(m_strReadLine)
VBS、ASP代码语法加亮显示的类Response.
Write "</td></tr></table>"
VBS、ASP代码语法加亮显示的类
blnInScriptBlock = False
VBS、ASP代码语法加亮显示的类
' Check for an opening script tag
VBS、ASP代码语法加亮显示的类
ElseIf Left( tempString, 2= Chr(60& "%" Then
VBS、ASP代码语法加亮显示的类
' Check for a closing script tag on the same line
VBS、ASP代码语法加亮显示的类
If rightRTrim(tempString), 2 ) = "%" & Chr(62Then
VBS、ASP代码语法加亮显示的类Response.
Write "<table><tr><td bgcolor=yellow><%</td>"
VBS、ASP代码语法加亮显示的类
Response.Write "<td>"
VBS、ASP代码语法加亮显示的类
Response.Write CharacterParse(mid(m_strReadLine, 3Len(m_strReadLine) - 4))
VBS、ASP代码语法加亮显示的类Response.
Write "</td>"
VBS、ASP代码语法加亮显示的类
Response.Write "<td bgcolor=yellow>%gt;</td></tr></table>"
VBS、ASP代码语法加亮显示的类
blnInScriptBlock = False
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类Response.
Write "<table><tr bgcolor=yellow><td><%</td></tr></table>"
VBS、ASP代码语法加亮显示的类
' We've got an opening script tag so set the flag to true so
VBS、ASP代码语法加亮显示的类'
 that we know to start parsing the lines for keywords/comments
VBS、ASP代码语法加亮显示的类
blnInScriptBlock = True
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类
If blnInScriptBlock Then
VBS、ASP代码语法加亮显示的类
If blnEmptyLine Then
VBS、ASP代码语法加亮显示的类Response.
Write vbCrLf
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类
If right(tempString, 2= "%" & Chr(62Then
VBS、ASP代码语法加亮显示的类Response.
Write "<table><tr bgcolor=yellow><td>%></td></tr></table>"
VBS、ASP代码语法加亮显示的类
blnInScriptBlock = False
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类Response.
Write CharacterParse(m_strReadLine) & vbCrLf
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类
If blnOutputHTML Then
VBS、ASP代码语法加亮显示的类
If blnEmptyLine Then
VBS、ASP代码语法加亮显示的类Response.
Write vbCrLf
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类Response.
Write server.HTMLEncode(m_strReadLine) & vbCrLf
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Loop
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Grab the time at the completion of processing
VBS、ASP代码语法加亮显示的类
m_EndTime = Time()
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Close the outside table
VBS、ASP代码语法加亮显示的类
Response.Write "</PRE></td></tr></table>"
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
' Close the file and destroy the file object
VBS、ASP代码语法加亮显示的类
objFile.close
VBS、ASP代码语法加亮显示的类
Set objFile = Nothing
VBS、ASP代码语法加亮显示的类
End Sub
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' This function parses a line character by character
 CharacterParse(inLine)
VBS、ASP代码语法加亮显示的类
Dim charBuffer, tempChar, i, outputString
VBS、ASP代码语法加亮显示的类
Dim insideString, workString, holdChar
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类insideString 
= False
VBS、ASP代码语法加亮显示的类outputString 
= ""
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
For i = 1 to Len(inLine)
VBS、ASP代码语法加亮显示的类tempChar 
= mid(inLine, i, 1)
VBS、ASP代码语法加亮显示的类
Select Case tempChar
VBS、ASP代码语法加亮显示的类
Case " "
VBS、ASP代码语法加亮显示的类
If Not insideString Then
VBS、ASP代码语法加亮显示的类charBuffer 
= charBuffer & " "
VBS、ASP代码语法加亮显示的类
If charBuffer <>" " Then
VBS、ASP代码语法加亮显示的类
If left(charBuffer, 1= " " Then outputString = outputString & " "
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
' Check for a 'rem' style comment marker
VBS、ASP代码语法加亮显示的类
If LCase(Trim(charBuffer)) = "rem" Then
VBS、ASP代码语法加亮显示的类outputString 
= outputString & CommentColor
VBS、ASP代码语法加亮显示的类outputString 
= outputString & "REM"
VBS、ASP代码语法加亮显示的类
workString = mid( inLine, i, Len(inLine))
VBS、ASP代码语法加亮显示的类workString 
= replace(workString, "<""&lt;")
VBS、ASP代码语法加亮显示的类workString 
= replace(workString, ">""&gt;")
VBS、ASP代码语法加亮显示的类outputString 
= outputString & workString & "</font>"
VBS、ASP代码语法加亮显示的类
charBuffer = ""
VBS、ASP代码语法加亮显示的类
Exit For
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类outputString 
= outputString & FindReplace(Trim(charBuffer))
VBS、ASP代码语法加亮显示的类
If right(charBuffer, 1= " " Then outputString = outputString & " "
VBS、ASP代码语法加亮显示的类
charBuffer = ""
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类outputString 
= outputString & " "
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Case "("
VBS、ASP代码语法加亮显示的类
If left(charBuffer, 1= " " Then
VBS、ASP代码语法加亮显示的类outputString 
= outputString & " "
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类outputString 
= outputString & FindReplace(Trim(charBuffer)) & "("
VBS、ASP代码语法加亮显示的类
charBuffer = ""
VBS、ASP代码语法加亮显示的类
Case Chr(60)
VBS、ASP代码语法加亮显示的类outputString 
= outputString & "<"
VBS、ASP代码语法加亮显示的类
Case Chr(62)
VBS、ASP代码语法加亮显示的类outputString 
= outputString & ">"
VBS、ASP代码语法加亮显示的类
Case Chr(34)
VBS、ASP代码语法加亮显示的类
' catch quote chars and flip a boolean variable to denote that
VBS、ASP代码语法加亮显示的类'
 whether or not we're "inside" a quoted string
VBS、ASP代码语法加亮显示的类
insideString = Not insideString
VBS、ASP代码语法加亮显示的类
If insideString Then
VBS、ASP代码语法加亮显示的类outputString 
= outputString & StringColor
VBS、ASP代码语法加亮显示的类outputString 
= outputString & "&quot;"
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类outputString 
= outputString & """"
VBS、ASP代码语法加亮显示的类
outputString = outputString & "</font>"
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Case "'"
VBS、ASP代码语法加亮显示的类
' Catch comments and output the rest of the line
VBS、ASP代码语法加亮显示的类'
 as a comment IF we're not inside a string.
VBS、ASP代码语法加亮显示的类
If Not insideString Then
VBS、ASP代码语法加亮显示的类outputString 
= outputString & CommentColor
VBS、ASP代码语法加亮显示的类workString 
= mid( inLine, i, Len(inLine))
VBS、ASP代码语法加亮显示的类workString 
= replace(workString, "<""&lt;")
VBS、ASP代码语法加亮显示的类workString 
= replace(workString, ">""&gt;")
VBS、ASP代码语法加亮显示的类outputString 
= outputString & workString
VBS、ASP代码语法加亮显示的类outputString 
= outputString & "</font>"
VBS、ASP代码语法加亮显示的类
Exit For
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类outputString 
= outputString & "'"
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
Case Else
VBS、ASP代码语法加亮显示的类
' We've dealt with special case characters so now
VBS、ASP代码语法加亮显示的类'
 we'll begin adding characters to our outputString
VBS、ASP代码语法加亮显示的类'
 or charBuffer depending on the state of the insideString
VBS、ASP代码语法加亮显示的类'
 boolean variable
VBS、ASP代码语法加亮显示的类
If insideString Then
VBS、ASP代码语法加亮显示的类outputString 
= outputString & tempChar
VBS、ASP代码语法加亮显示的类
Else
VBS、ASP代码语法加亮显示的类charBuffer 
= charBuffer & tempChar
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
End Select
VBS、ASP代码语法加亮显示的类
Next
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Deal with the last part of the string in the character buffer
VBS、ASP代码语法加亮显示的类
If Left(charBuffer, 1= " " Then
VBS、ASP代码语法加亮显示的类outputString 
= outputString & " "
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
' Check for closing parentheses at the end of a string
VBS、ASP代码语法加亮显示的类
If right(charBuffer, 1= ")" Then
VBS、ASP代码语法加亮显示的类charBuffer 
= Left(charBuffer, Len(charBuffer) - 1)
VBS、ASP代码语法加亮显示的类CharacterParse 
= outputString & FindReplace(Trim(charBuffer)) & ")"
VBS、ASP代码语法加亮显示的类
Exit Function
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类CharacterParse 
= outputString & FindReplace(Trim(charBuffer))
VBS、ASP代码语法加亮显示的类
End Function
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' return true or false if a passed in number is between KeyMin and KeyMax
 InRange(inLen)
VBS、ASP代码语法加亮显示的类
If inLen >= KeyMin And inLen <= KeyMax Then
VBS、ASP代码语法加亮显示的类InRange 
= True
VBS、ASP代码语法加亮显示的类
Exit Function
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类InRange 
= False
VBS、ASP代码语法加亮显示的类
End Function
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Evaluate the passed in string and see if it's a keyword in the
VBS、ASP代码语法加亮显示的类'
 dictionary. If it is we will add html formatting to the string
VBS、ASP代码语法加亮显示的类'
 and return it to the caller. Otherwise just return the same
VBS、ASP代码语法加亮显示的类'
 string as was passed in.
 FindReplace(inToken)
VBS、ASP代码语法加亮显示的类
' Check the length to make sure it's within the range of KeyMin and KeyMax
VBS、ASP代码语法加亮显示的类
If InRange(Len(inToken)) Then
VBS、ASP代码语法加亮显示的类
If objDict.Exists(inToken) Then
VBS、ASP代码语法加亮显示的类FindReplace 
= CodeColor & objDict.Item(inToken) & "</Strong></Font>"
VBS、ASP代码语法加亮显示的类
Exit Function
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
' Keyword is either too short or too long or doesn't exist in the
VBS、ASP代码语法加亮显示的类'
 dictionary so we'll just return what was passed in to the function 
VBS、ASP代码语法加亮显示的类
FindReplace = inToken
VBS、ASP代码语法加亮显示的类
End Function
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
End Class
VBS、ASP代码语法加亮显示的类%
>
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
<!--#include file="token.asp"-->
VBS、ASP代码语法加亮显示的类
<' *************************************************************************
VBS、ASP代码语法加亮显示的类'
 This is all test/example code showing the calling syntax of the 
VBS、ASP代码语法加亮显示的类'
 cBuffer class VBS、ASP代码语法加亮显示的类 the interface to the cBuffer object is quite simple.
VBS、ASP代码语法加亮显示的类'
VBS、ASP代码语法加亮显示的类'
 Use it for reference VBS、ASP代码语法加亮显示的类 delete it VBS、ASP代码语法加亮显示的类 whatever.
VBS、ASP代码语法加亮显示的类'
 *************************************************************************
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
REM This is a rem type comment just for testing purposes!
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
' This variable will hold an instance of the cBuffer class
VBS、ASP代码语法加亮显示的类
Dim objBuffer
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Set up the error handling
VBS、ASP代码语法加亮显示的类
On Error Resume Next
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' create the instance of the cBuffer class
VBS、ASP代码语法加亮显示的类
Set objBuffer = New cBuffer
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Set the PathToFile property of the cBuffer class
VBS、ASP代码语法加亮显示的类'
VBS、ASP代码语法加亮显示的类'
 Just for kicks we'll use the asp file that we created
VBS、ASP代码语法加亮显示的类'
 in the last installment of this article series for testing purposes
VBS、ASP代码语法加亮显示的类
objBuffer.PathToFile = "../081899/random.asp" '这是文件名啦。
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
' Here's an example of how to add a new keyword to the keyword array
VBS、ASP代码语法加亮显示的类'
 You could add a list of your own function names, variables or whateverVBS、ASP代码语法加亮显示的类cool!
VBS、ASP代码语法加亮显示的类'
 NOTE: You can add different HTML formatting if you like, the <strong>
VBS、ASP代码语法加亮显示的类'
 attribute will applied to all keywords VBS、ASP代码语法加亮显示的类 this is likely to change
VBS、ASP代码语法加亮显示的类'
 in the near future.
VBS、ASP代码语法加亮显示的类'
VBS、ASP代码语法加亮显示的类'
objBuffer.AddKeyword "response.write", "<font color=Red>Response.Write</font>"
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
' Here are examples of changing the table background color, code color, 
VBS、ASP代码语法加亮显示的类'
 comment color, string color and tab space properties
VBS、ASP代码语法加亮显示的类'
VBS、ASP代码语法加亮显示的类'
objBuffer.TableBGColor = "LightGrey" ' or
VBS、ASP代码语法加亮显示的类'
objBuffer.TableBGColor = "#ffffdd" ' simple right?
VBS、ASP代码语法加亮显示的类'
objBuffer.CodeColor = "Red"
VBS、ASP代码语法加亮显示的类'
objBuffer.CommentColor = "Orange"
VBS、ASP代码语法加亮显示的类'
objBuffer.StringColor = "Purple"
VBS、ASP代码语法加亮显示的类'
objBuffer.TabSpaces = " "
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
' Call the ParseFile method of the cBuffer class, pass it true if you want the
VBS、ASP代码语法加亮显示的类'
 HTML contained in the page output or false if you don't
VBS、ASP代码语法加亮显示的类
objBuffer.ParseFile False '注意:显示代码的response.write已经在class中。这里调用方法就可以了。
VBS、ASP代码语法加亮显示的类

VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Check for errors that may have been raised and write them out
VBS、ASP代码语法加亮显示的类
If Err.number <> 0 Then
VBS、ASP代码语法加亮显示的类Response.
Write Err.number & ":" & Err.description & ":" & Err.source & "<br>"
VBS、ASP代码语法加亮显示的类
End If
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Output the processing time and number of lines processed by the script
VBS、ASP代码语法加亮显示的类
Response.Write "<strong>Processing Time:</strong> " & objBuffer.ProcessingTime & " seconds<br>"
VBS、ASP代码语法加亮显示的类
Response.Write "<strong>Lines Processed:</strong> " & objBuffer.LineCount & "<br>" 
VBS、ASP代码语法加亮显示的类
VBS、ASP代码语法加亮显示的类
' Destroy the instance of our cBuffer class
VBS、ASP代码语法加亮显示的类
Set objBuffer = Nothing
VBS、ASP代码语法加亮显示的类%
> 
VBS、ASP代码语法加亮显示的类

相关文章: