![]() |
Delimiter macht nicht das was er soll
Ich möchte eine Reihe von Namen kommagetrennt eintippen und später in einer Memo-Komponente untereinander ausgeben. Dazu habe ich folgenden Code:
Delphi-Quellcode:
Das Problem ist hier, dass er auch bei Leerzeichen trennt, nicht nur bei Kommata. Aber wieso? So ergibt
var temp: TStrings;
temp:=TStringList.Create; temp.Delimiter:=','; temp.DelimitedText:=string_mit_namen; for i := 0 to temp.count-1 do Form1.Memo1.Lines.Add(temp.Strings[i]); Zitat:
|
Re: Delimiter macht nicht das was er soll
Zitat:
Zitat:
|
Re: Delimiter macht nicht das was er soll
Das ist ein Bug/Feature in der TStringList.
Ist so weit ich es weiß in der 2006er Version behoben. Hier hast Du nur die Möglichkeit, - einen eigenen Zerlegemechanismus zu schreiben - ein funktuionsfähigen hier im Forum zu suchen - die Leerzeichen im string_mit_namen durch ein Zeichen ersetzen welches nicht im Textvorkommt z.B: '#' oder '@' Grüße Klaus |
Re: Delimiter macht nicht das was er soll
dfried's Variante ist die eine, oder du benutzt die neueste VErsion von Delphi (2006 oder Turbo) und da gibts die Eigenschaft StrictDelimiter.
Ansonsten werden alle ASCII-Zeichen bis zum Leerzeichen + dein Delimiter als Trennzeichen angesehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 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-2025 by Thomas Breitkreuz