Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stringliste trennt immer Leerzeichen? (https://www.delphipraxis.net/180563-stringliste-trennt-immer-leerzeichen.html)

Mattze 29. Mai 2014 15:09

Delphi-Version: 7

Stringliste trennt immer Leerzeichen?
 
Hallo,

folgendes Problem:
Ich habe Stringlist.commatext einen String zugewiesen.
Nun wird der aber nicht nur nach Kommata zerlegt, sondern auch und dazu nach dem Leerzeichen.
Beispiel:
String:
XYZ,ABC DEF,GHI
Stringlist:
XYZ
ABC
DEF
GHI

Das will ich so natürlich nicht, sondern nur nach dem Komma separiert.

Ist dieses "falsche" Verhalten der Stringlist normal? Bzw. wie kann man das verhindern?

(Das funktioniert bei Delimitertext mit (oder ohne) vorher gesetztem Delimiter auch so! Da ist es mir zuerst aufgefallen!)

Gruß
Mattze

Aviator 29. Mai 2014 15:12

AW: Stringliste trennt immer Leerzeichen?
 
Du musst die Teilstrings in doppelte Anführungszeichen
Delphi-Quellcode:
'"XYZ","Blub blub"'
setzen. Delphi-Referenz durchsuchenTStringList.DelimitedText So ist es zumindest bei einen StringGrid.

mkinzler 29. Mai 2014 15:21

AW: Stringliste trennt immer Leerzeichen?
 
Bei neueren Delphiversionen gibt es die Eigenschaft StrictDelimiter

Mattze 29. Mai 2014 15:42

AW: Stringliste trennt immer Leerzeichen?
 
Hallo,

die "Gänsefüsschen" wären natürlich die normale Variante. Dumm nur, dass ich das ja mache, um den String in "Einzelstrings" zu zerlegen, also gar nicht weiß, wo ich die Dingerchens einfügen soll.
Ich habe aber noch eine Variante gefunden, die bei langen Strings sicher auch sehr langwierig ist. Bei mir geht das aber noch.
1. s:=stringreplace(s,' ','€€€',[rfReplaceAll]);
3. sl.delimiter:=';';
2. sl.delimitedtext:=s;
4. Verarbeitung für jeden String in sl zuerst
s:=stringreplace(s,'€€€',' ',[rfReplaceAll]) für jeden String in sl;

Gruß
Mattze

Perlsau 29. Mai 2014 16:07

AW: Stringliste trennt immer Leerzeichen?
 
Wieso folgst du nicht einfach mal dem Hinweis von mkinzler: StrictDelimiter? Damit wäre dein Problem nämlich sofort gelöst.

himitsu 29. Mai 2014 16:29

AW: Stringliste trennt immer Leerzeichen?
 
Oder Delphi-Referenz durchsuchenSplitString

Perlsau 29. Mai 2014 16:31

AW: Stringliste trennt immer Leerzeichen?
 
Den kannte ich auch noch nicht :thumb:

himitsu 29. Mai 2014 16:46

AW: Stringliste trennt immer Leerzeichen?
 
Für eine For-In-Schleife ist das praktischer.

Mattze 29. Mai 2014 17:22

AW: Stringliste trennt immer Leerzeichen?
 
Hallo, alle miteinander!

@Perlsau: Wiswo liest Du nicht einfach richtig? Dann wäre Dir sicher aufgefallen, dass ich Delphi 7 habe und da gibt es noch keinen StrictDelimiter!

SplitString werde ich mal probieren, obwohl es eigentlich nicht nötig ist.
Wie gesagt, bei mir geht es schnell genug.
Aber ohne den ganzen Überbau der Tstringlist wäre es auch nicht zu verachten.
Allerdings kann man dann nicht so schön einfach sortieren...
Ach ja... <Stöhn! Grins!>


Gruß
Mattze

himitsu 29. Mai 2014 17:50

AW: Stringliste trennt immer Leerzeichen?
 
Falls D7 SplitString nicht kennt, da gab es auch einzelne Funktionen für, falls man es nicht selber machen möchte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz