Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Delphi 7: Tstringlist.delimiter funktioniert nicht


michaelarban - Mo 05.07.10 15:24
Titel: Delphi 7: Tstringlist.delimiter funktioniert nicht
hallo,

ich habe folgende
stringvariable:

Delphi-Quelltext
1:
stringDaten := 'Name1=das ist otto; name1=das ist meyer; name2=das ist mueller;'                    
diese stringvariale weise ich einer Stringlist zu:

Delphi-Quelltext
1:
2:
3:
meineStringList := TStringList.create;
meineStringList.Delimiter :=';' ;
meineStringList.DelimitedText :=stringDaten ;

wenn ich nun folgendes aufruf: meineStringList.Values['Name1'], dann bekomme ich "das" und nicht "das ist otto"; es scheint also so zu sein, dass auch das Leerzeichen als Trenner angesehen wird.

Leider gibt es in Delphi 7 keinen StrictDelimeter-Eigenschaft.

Frage: was muss ich mache,damit das Leerzeichen nicht als Trenner genommen wir

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


ub60 - Mo 05.07.10 16:01

Mal so als Idee:
Vorher das Leerzeichen durch ein anderes Zeichen ersetzen, dann trennen, anschließend Leerzeichen wieder herstellen.

ub60


Narses - Mo 05.07.10 17:59

Moin!

user profile iconmichaelarban hat folgendes geschrieben Zum zitierten Posting springen:
es scheint also so zu sein, dass auch das Leerzeichen als Trenner angesehen wird.

Leider gibt es in Delphi 7 keinen StrictDelimeter-Eigenschaft.
Ja, das ist richtig, .CommaText und .DelimitedText halten sich an die Vorgaben für die Kommandozeile (System-Quoted-Style), dort ist whitespace und Delimiter Trennzeichen.

user profile iconmichaelarban hat folgendes geschrieben Zum zitierten Posting springen:
Frage: was muss ich mache,damit das Leerzeichen nicht als Trenner genommen wir
Einen Workaround hat dir user profile iconub60 schon genannt, du könntest aber auch einfach "korrekte" Daten nehmen, dann sieht das so aus:

Delphi-Quelltext
1:
stringDaten := '"Name1=das ist otto";"Name2=das ist meyer";"Name3=das ist mueller";';                    
cu
Narses