Zuletzt geändert: 14.03.2026 11:04
StringList
#
Das StringList-Hilfsobjekt dient als Speicher für Texte, die aus mehreren Zeilen bestehen. Auf die einzelnen Zeilen kann über ihre ordinale Position (Index von Null beginnend) zugegriffen werden. Das Objekt wird über Client.CreateObject("Eulanda.StringList") oder über Client.NewStrings erzeugt.
Set SL = Client.CreateObject("Eulanda.StringList")
' oder kürzer:
Set SL = Client.NewStrings("")
Eigenschaften
#
| Eigenschaft | Typ | Zugriff | Beschreibung |
|---|
Strings[Index] | String | lesen/schreiben | Zugriff auf eine bestimmte Zeile (0-basiert) |
Text | String | lesen/schreiben | Alle Zeilen als zusammenhängender Text mit Zeilenumbrüchen |
Count | Integer | nur lesen | Anzahl der Zeilen |
Methoden
#
| Methode | Beschreibung |
|---|
LoadFromFile(FileName) | Lädt eine Textdatei |
SaveToFile(FileName) | Speichert in eine Textdatei |
Add(S) | Fügt eine Textzeile am Ende an |
Clear | Löscht alle Zeilen |
Delete(Index) | Löscht eine bestimmte Zeile |
Insert(Index, S) | Fügt eine Zeile an einer bestimmten Position ein |
Exchange(Index1, Index2) | Tauscht zwei Zeilen |
Sort(Options) | Sortiert die Liste |
IndexOf(S) | Gibt die Position eines Strings zurück (-1 wenn nicht gefunden) |
Remove(StringOrStrings) | Entfernt einen oder mehrere Strings |
AddStrings(StringOrObject) | Fügt mehrere Strings hinzu. Parameter kann ein mehrzeiliger String, ein Array oder eine StringList sein |
toArray | Gibt ein Varianten-Array mit den einzelnen Strings zurück |
Beispiele
#
Grundlegende Funktionen
#
Dim s, SL
Set SL = Client.CreateObject("Eulanda.StringList")
' Anfügen von drei Textzeilen
SL.Add "Bananen"
SL.Add "Orangen"
SL.Add "Aprikose"
' Sortieren der Liste
SL.Sort
' Anzeige des sortierten Textes
MsgBox SL.Text
' Die dritte Zeile (Index 2, da der Index mit 0 beginnt) wird manipuliert
SL.Strings(2) = SL.Strings(2) & "-Saft"
' Erneute Anzeige des Textes
MsgBox SL.Text
' Speichern des Textes auf der lokalen Festplatte
SL.SaveToFile "C:\Obst.txt"
Set SL = Nothing
Zeilen in einem Text zählen
#
Function LineCount(s)
With Client.CreateObject("Eulanda.StringList")
.Text = s
LineCount = .Count
End With
End Function
MsgBox CStr(LineCount("Zeile 1" & vbCrLf & "Zeile 2"))
Siehe auch
#