vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings · String-Operationen   |   VB-Versionen: VB5, VB608.11.07
Strings schnell duplizieren

Mit unserer StrDupl-Funktion lässt sich ein vorgebener String schnell duplizieren.

Autor:   Dieter OtterBewertung:  Views:  9.113 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Hin und wieder muss man einen vorgebenenen String x-mal duplizieren. Für das Duplizieren einzelner Zeichen kann man die VB-Funktion "String$(...)" verwenden. Soll jedoch ein vorgegebener String mehrfach dupliziert werden, muss man sich selbst etwas einfallen lassen. Viele von Ihnen würde das Ganze sicherlich wie folgt lösen (was natürlich auch funktioniert).

Dim sZielString As String
Dim i As Long
 
' String "Test" 10 mal duplizieren
For i = 1 To 10
  sZielString = sZielString & "Test"
Next i

Wie gesagt: Funktionieren tut das natürlich - jedoch lässt die Performance zu Wünschen übrig, wenn man den Quellstring in einer großen Anzahl duplizieren muss.

Verwenden Sie daher besser nachfolgende Funktion, die sich der VB-Funktion "Mid$(...)" mit einem kleinen Trick bedient: zunächst wird der Zielstring auf die ingesamt benötigte Größe gebracht. Anschließend wird der zu duplizierende String einmal an den Anfang des Zielstrings kopiert. Wenn man nun den Zielstring genau einmal auf sich selbst kopiert, vervielfältigt sich dieser von ganz alleine.

' String schnell x-fach duplizieren
Public Function StrDupl(ByVal sText As String, ByVal nCount As Long) As String
  ' String mit benötigter Größe erstellen
  StrDupl = String$(Len(sText) * nCount, 0)
 
  ' jetzt den übergebenen String, der x-mal dupliziert
  ' werden soll, an die 1. Position des Zielstrings einfügen
  Mid$(StrDupl, 1) = sText
 
  ' Durch diesen Aufruf vervielfältigt sich der String
  ' ganz von alleine
  Mid$(StrDupl, Len(sText) + 1) = StrDupl
End Function

Anwendungsbeispiel:
Der String "Test" soll 17 mal dupliziert werden.

MsgBox StrDupl("Test", 17)



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.