really really slow by nature. This sample code uses classes to speed up the process by ten times. Someone recentally came up with a DLL to do this but not all of us can install a DLL on our ISPs web servers so I wrote this easy to use VB Class for handling string concatenation.
code:
Cant Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
Terms of Agreement:
By using this code, you agree to the following terms…
1) You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for langauges that allow it) freely and with no charge.
2) You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
3) You may link to this code from another website, but ONLY if it is not wrapped in a frame.
4) You will abide by any additional copyright restrictions which the author may have placed in the code or codes description.
**************************************
Name: StrCat – Non DLL version
Description:ASPs ability to concatena
ting many strings together is really rea
lly slow by nature. This sample code use
s classes to speed up the process by ten
times. Someone recentally came up with a
DLL to do this but not all of us can ins
tall a DLL on our ISPs web servers so I
wrote this easy to use VB Class for hand
ling string concatenation.
By: Kevin Pirkl
Inputs:Public Property Length – To res
ize the string length. To use it a secon
d time on another string just set the .L
ength property to another value or just
dereference the object and recreate it.
Public Method Add – too add data to the concatenated string.
Assumes:Didnt do much testing except u
sing it to add together a string of 100,
000 characters and it took about 7 secon
ds which is not bad. If you need to add
together more than that dont use this. I
f your catting char strings like "<TR
>" + whatever then it should be ok.
This code is copyrighted and has limited warranties.Please see http://w
ww.Planet-Source-Code.com/xq/ASP/txtCode
Id.6342/lngWId.4/qx/vb/scripts/ShowCode.
htm for details. **************************************
Set X = New strCat Create an instance of strCat
X.Length = 100001 Change from the default String length of 100,000
str = ""
For I = 1 To X.Length
X.Add("A") – takes 7 seconds on my computer
str = str & "A"- takes 1 minute 7 seconds on my computer
Next
msgBox(Len(X.Value))
X.Length = 101
For I = 1 To X.Length
X.Add("B")
Next
msgBox(Len(X.Value))
Set X = Nothing Destroy the instance.
msgBox("Done")
Class strCat
Private IntCntr
Private strArray()
Private intLength
Public Property Get Length
Length = intLength
End Property
Public Property Let Length( ByVal intLen)
intLength = intLen
IntCntr = 0
Redim strArray(1)
strArray(0) = ""
Redim strArray(intLength)
End Property
Public Property Get Value
Value = Join( strArray,"")
End Property
Private Sub Class_Initialize()
IntCntr = 0
Length = 100000
End Sub
Public Function Add( strToAdd)
strArray(IntCntr) = strToAdd
IntCntr= IntCntr + 1
End Function
End Class
