![]() |
Strings aufteilen - TDivStrList
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DPler :hi:
und noch ne Klasse hab ich für euch: TDivStrList. Manche kennen vielleicht die Funktion ![]() Wie funktioniert das nun? ganz einfach: Man erzeugt eine Instanz der Klasse TDivStrList und weist der property Str einen Wert zu:
Delphi-Quellcode:
Und schon kann man auf die einzelnen Teile zugreifen und diese auch verändern:
var
DivStrList: TDivStrList; ... begin DivStrList := TDivStrList.Create; DivStrList.ItemChars := ALPHANUM; // erklär ich gleich noch DivStrList.Str := 'cmd /c explorer.exe "C:\Dokumente und Einstellungen\User\Anwendungsdaten"';
Delphi-Quellcode:
Ändert sich Str oder ItemStr, so wird das jeweils andere angepasst.
var
i: Integer; begin ... for i :=0 to DivStrList.Count -1 do Memo1.Lines.Add(DivStrList.Items[i]); DivStrList.Items[1] := 'k'; Memo1.Lines.Add(DivStrList.Str); // Str wäre jetzt 'cmd /k explorer.exe "C:\Dokumente und Einstellungen\User\Anwendungsdaten"' Was hat es jetzt mit den ItemChars auf sich? Irgendwie muss man ja auch einstellen können, wo die einzelnen Items getrennt werden sollen und ganau das kann man damit. Standardmäßig funktioniert das so:
Delphi-Quellcode:
Die Zeichen #0 bis #32 lassen wir gleich mal ganz außen vor. Die haben entweder in nem Text nix verloren oder sollen soweiso trennen(#13#10). #33 bis #255 kommen schon mal in die engere Wahl. :wink: Da nehmen wir jetzt alle Zeichen raus, die die einzelnen Items trennen sollen. In diesem Fall wäre das nur das Semikolon. Mit dieser Einstellung entspricht das Verhalten in etwa dem von Explode.
DivStrList.ItemChars := [#33..#255] - [';'];
Zur Vereinfachung sind auch schon mal 2 Konstanten definiert:
Delphi-Quellcode:
Bemerkungen:
const
ALPHANUM = ['a'..'z', 'A'..'Z', '0'..'9', 'ß', 'ö', 'ü', 'ä', 'Ö', 'Ü', 'Ä']; ALPHANUM_EX = [#33..#255] - ['"', '''', '%', '/', '\', '.', '+', '-', ';', ',', ' ']; - QuoteChars bezeichnet die Chars, die einen "Klammereffekt" hervorrufen(d.h. alle Eingeklammerten Zeichen gehören zu einem Item); default ist ['"', ''''], also einfache und doppelte Hochkomma - objlist_tmpl.pas und jedi.inc werden benötigt(siehe hierzu diesen ![]() Danke: Dank gebührt u.a.: - alcaeus für die objlist_tmpl.pas - Thomas Mueller für den Artikel ![]() - allen anderen, die sich angesprochen fühlen... :wink: //Nachtrag: Datei angehängt... rfc Christian [edit=Chakotay1308]URL-Tags korrigiert. Mfg, Chakotay1308[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz