Some explanation on the code

Can somebody please explain to me what does the below code do?

Class StringClass


            'Global Variables

            Private m_array

            Private m_length

            Private m_buffer

            Private m_growthSize


            'Constructor (sort of)

            Private Sub Class_Initialize

                        m_array = Array()

                        m_length = 0

                        m_buffer = 0

                        m_growthSize = 32'Dynamically grows inside Append()

            End Sub


            'Public Methods

            Public Function Append(ByVal value)

                        Dim ValueLen: ValueLen = Len(value)

                        Do While ValueLen > m_buffer

                                    ReDim Preserve m_array(UBound(m_array) + m_growthSize)

                                    m_buffer = m_buffer + m_growthSize

                                    m_growthSize = m_growthSize * 2



                        For i = 0 To ValueLen - 1

                                    m_array(m_length) = Mid(value, i + 1, 1)

                                    m_length = m_length + 1

                                    m_buffer = m_buffer - 1


            End Function



            Public Property Get Length

                        Length = m_length

            End Property


            Public Property Get Text

                        Text = Join(m_array, "")

            End Property

            Public Property Let Text(ByVal value)

                        'Reset the array without reducing the current capacity.

                        m_array = Array(m_length + m_buffer - 1)

                        m_buffer = m_length + m_buffer

                        m_length = 0


            End Property


End Class

Who is Participating?
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
Basically it is a VB6 attempt at building a StringBuilder like structure:

The hope is that you get better performance when concatenating many strings together.
harishscAuthor Commented:
Thanks for the response, my problem is, we have been asked to use better tricks for manipulating strings, the below code is asked to use the Class that I posted earlier in my question for string manipulation. Does anybody has any suggestions, I am posting the existing code below.

With o_Rec
      Do while not .EOF
            strShopper = .Fields("community_name").Value
            if IsNull(strShopper) then ''Try using IsNull Here and see if its appropriate
                  if not bolDictExists(o_DiscDict,strShopper) then
                        Set o_DiscDict(strShopper) = Server.CreateObject("Commerce.Dictionary")
                  end if
                  Set objShopperDiscounts = o_DiscDict(strShopper)

                  str_SKU = .Fields("sku").Value
                  if not bolDictExists(objShopperDiscounts,str_SKU) then
                        Set objShopperDiscounts(str_SKU) = Server.CreateObject("Commerce.Dictionary")
                  end if
                  Set objSkuDiscount = objShopperDiscounts(str_SKU)
                  objSkuDiscount("disc_type")  = trim(.Fields("discount_type").Value)
                  objSkuDiscount("disc_value") = trim(.Fields("discount_value").Value)
                  objSkuDiscount("Local_FixedPrice") =trim( .Fields("local_fixed_amount").Value)
                  objSkuDiscount("USD_FixedPrice") = trim(.Fields("fixed_amount").Value)
            End if
End With
Mike TomlinsonMiddle School Assistant TeacherCommented:
I don't see how the StringClass applies to your current code...
@harishsc : I dont think you can really change much about your code as far as the strings go.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.