Einzelnen Beitrag anzeigen

Schokohase
(Gast)

n/a Beiträge
 
#39

AW: csv Datei Import ClassHelper für TClientDataSet

  Alt 19. Mai 2019, 10:04
@Schokohase
In der Art habe ich es gemacht, jedoch mit den Delimitern.
Nein, hast du nicht.

Du hast damit aber einen bösen Bug in deinem Code.

Diese Zeile mit 3 Feldern
Code:
a,"b,b",c
und dein Code
Delphi-Quellcode:
cntFields := length( myString )-
              length( stringreplace( myString, Delimiter,'',[rfreplaceall, rfIgnoreCase]));
liefert 3 zurück, obwohl du hier eine 2 benötigen würdest, denn es befinden sich in der Zeile 2 Feldtrenner. Das andere Komma gehört den Daten. StringReplace kann das aber nicht unterscheiden.

Du zählst also die Feldtrenner, was aber wie gezeigt fehleranfällig ist.

Mein Vorschlag ist es die Quote-Zeichen zu zählen, was immer passt.

Geändert von Schokohase (19. Mai 2019 um 10:06 Uhr)
  Mit Zitat antworten Zitat