VBScript Tutorials - Herong's Tutorial Examples - v6.03, by Herong Yang
"StringBuffer" - A Class Example
This section provides a tutorial example of simple class, StringBuffer, which allows you to build long strings with an internal array as the storage.
To help you review what you have learned about creating your own class, I wrote this simple class called "StringBuffer", which is included in this test script page:
<html><body> <!-- String_Buffer_Class.html - Copyright (c) 2002 HerongYang.com. All Rights Reserved. --> <pre><script language="vbscript"> Dim oBuffer Set oBuffer = New StringBuffer oBuffer.Append("Hello") oBuffer.Append(" Herong,") oBuffer.Append(vbCrLf) oBuffer.Append("Is this StringBuffer class faster") oBuffer.Append(" than the & operation?") Dim sFinal sFinal = oBuffer document.writeln() document.writeln("The final string with " & Len(sFinal) _ & " characters:") document.writeln(sFinal) Class StringBuffer Private Buffer(), Capacity, Index Public Default Function ToString() ToString = Join(Buffer, "") End Function Public Sub Append(vAny) sString = CStr(vAny) Buffer(Index) = sString Index = Index + 1 If Index = Capacity Then Capacity = Capacity + 10 ReDim Preserve Buffer(Capacity-1) End If End Sub Private Sub Class_Initialize() Capacity = 10 ReDim Buffer(Capacity-1) Index = 0 End Sub Private Sub Class_Terminate() Erase Buffer End Sub End Class </script></pre> </body></html>
When you load this VBScript test page into IE, you will get this output:
The final string with 70 characters: Hello Herong, Is this StringBuffer class faster than the & operation?
My StringBuffer class seems to be working.
Table of Contents
Introduction of VBScript - Visual Basic Scripting Edition
Variant Data Type, Subtypes, and Literals
Numeric Comparison Operations and Logical Operations
String Operations - Concatenation and Comparison
Variable Declaration and Assignment Statement
Expression and Order of Operation Precedence
Statement Syntax and Statement Types
Array Data Type and Related Statements
Array References and Array Assignment Statements
Conditional Statements - "If ... Then" and "Select Case"
Loop Statements - "For", "While", and "Do"
"Function" and "Sub" Procedures
Inspecting Variables Received in Procedures
Error Handling Flag and the "Err" Object
Regular Expression Pattern Match and Replacement
scrrun.dll - Scripting Runtime DLL Library
Class, Property, Method and Related Statements
"Class" Statement - Defining Your Own Class
"New" Operator and "Nothing" Object
"Public/Private" Variables and Dot Operator
"Property Let/Set/Get" Procedures
Object Methods - "Public" Procedures
"New", "Set", "Is", ".", "Nothing" - Object Operations
►"StringBuffer" - A Class Example
IE Web Browser Supporting VBScript