Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by himitsu,
19. Mai 2009
Da Explode keinen Quote kennt, teilt es an jedem Delimiter,
selbst wenn der in einem "Qoute" (was es ja nicht beachtet) drin wäre.
Also die beiden obrigen Beispieltext würden wie gewünscht geteilt (allerdings die QuoteChars noch enthalten), aber
ts.DelimitedText := '"Spalte 1"~"Spalte~2"~"Spalte 3"';
showMessage(IntToStr(ts.Count)); {Ergibt 4, statt 3}
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by himitsu,
19. Mai 2009
Ich vermute mal, daß hier AnsiExtractQuotedStr bei diesem Konstrukt etwas durchdreht,
welches SetDelimitedText intern nutzt ... nachdem dieses mit einem String zurückkehrt, wird das als Ende des des Quoted-Text gewertet und somit ein neuer Eintrag angefangen.
Und AnsiExtractQuotedStr gibt ja nur den String bis zum nächsten Quote-Char zurück.
TStrings.GetDelimitedText und...