Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Apr 24, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Use Mid$ to Compose a Big String

The following code is a fast way to compose a big string by using Mid$ function instead of using the concatenating operator. The strings concatenated in a loop are often variable. So use S1 to represent general case.
    Const AllocFactor = 100000
    Dim S As String
    Dim S1 As String
    Dim tmp As String
    Dim i As Long
    Dim StrLen As Long
    Dim MaxLen As Long
    Dim Curpos As Long
    Dim CurLen As Long
    MaxLen = AllocFactor
    S = Space(MaxLen)
    Curpos = 1
    S1 = "abc"
    For i = 0 To 99999
        StrLen = Len(S1)
        CurLen = Curpos + StrLen - 1
        If CurLen > MaxLen Then
            tmp = S
            S = Space(MaxLen + AllocFactor)
            Mid$(S, 1, MaxLen) = tmp
            MaxLen = MaxLen + AllocFactor
        End If
        Mid$(S, Curpos, StrLen) = S1
        Curpos = CurLen + 1

    If CurLen < MaxLen Then S = Left$(S, CurLen)
Guoran Xie
Thanks for your registration, follow us on our social networks to keep up-to-date