Für dieses Beispiel brauchen Sie lediglich eine Form und zwei Commandbuttons. Die Variablen "X" und "Y" dienen
lediglich der Zeitmessung, um den Unterschied zu veranschaulichen.
Der Unterschied ist selbst auf schnelleren System enorm (Auf PIII 800 MHz 1,59 zu 0,06 Sekunden).
Dim x As Currency
Dim y As Currency
Dim res As String
Dim i As Long
Dim index As Long
Private Sub Command1_Click()
x = 0
y = 0
x = Timer 'Zeitmessung
'Herkömmliche Methode
res = ""
For i = 1 To 10000
res = res & Str(i)
Next
y = Timer 'Zeitmessung
MsgBox "Dauer: " & y - x & " Sekunden" 'Zeitmessung
End Sub
Private Sub Command2_Click()
x = 0
y = 0
res = Space(90000) 'Pufferung
index = 1
x = Timer 'Zeitmessung
' Optimierte Methode !!!
For i = 1 To 10000
substr = Str(i)
length = Len(substr)
Mid$(res, index, length) = substr
index = index + length
Next
res = Left$(res, index - 1)
y = Timer 'Zeitmessung
MsgBox "Dauer: " & y - x & " Sekunden" 'Zeitmessung
End Sub