![]() |
Separierte Stringliste zu String zusammenfügen
Moin zusammen,
und noch ein "Problem": Wie ich einen String splitte, weiß ich. Und das geht gut und schnell. Aber umgekehrt..
Delphi-Quellcode:
..dauert es bei sehr großen Listen (~ 1 Mio Zeilen) sehr/viel zu lange.
Stringliste:= '1'#13#10'2'#13#10...
for i:= 0 to Stringliste.count-1 do MeinString:= MeinString + ' ' + Stringliste.strings[i]; Gibt es eine schnellere Lösung als die Liste durchzugehen und via "+" zusammenzufügen? Oder ist TStringlist dafür nicht geeignet, was aber dann? Danke und Grüße, frieder |
AW: Separierte Stringliste zu String zusammenfügen
Delphi-Quellcode:
oder
MeinString := StringListe.Text;
Delphi-Quellcode:
MeinString := StringListe.DelimitedText;
|
AW: Separierte Stringliste zu String zusammenfügen
öhm.. versteh ich dein Problem nicht oder kennst Du
Delphi-Quellcode:
nicht? Wenn Du dann anstelle der Zeilenumbrüche nur Leerzeichen haben willst, dann probier mal:
MeinString:= Stringliste.Text;
Delphi-Quellcode:
verflixt zu langsam...
StringList.Delimeter:=' ';
MeinString:=StringList.DelimetedText; |
AW: Separierte Stringliste zu String zusammenfügen
Ich hab dazu mal eine Frage: Was machst Du im konkreten Fall mit diesem Monsterstring? Hast Du dadrin Die Suche nach der verlorenen Zeit gespeichert?
|
AW: Separierte Stringliste zu String zusammenfügen
* mit einer Schleife die Längen aller Einzelstrings aufaddieren
* dann (Lenght-1) mal (Länge des Delimiters) dazuaddieren das ergibt die Gesamtlänge des resultierenden Strings. Dieser String wird einmalig mit SetLength() reserviert und dann mit einer weiteren Schleife mit den Einzelstrings und Delimitern befüllt. Wenn man dabei mit Zeigern arbeitet und die Move()-Prozedur benützt läuft der Code sehr schnell. Je nach Länge der Stringliste kann das Faktor 1000 und mehr sein. |
AW: Separierte Stringliste zu String zusammenfügen
Wozu dieser Umstand, wenn die Liste das von Haus aus mitbringt?
|
AW: Separierte Stringliste zu String zusammenfügen
Zitat:
Um das zu umgehen braucht es dann eben diesen "Umstand". |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 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