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: MsgBox StrDupl("Test", 17) Dieser Tipp wurde bereits 9.575 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
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. |