Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   StringHelper Methode Split fehlerhaft? (https://www.delphipraxis.net/189498-stringhelper-methode-split-fehlerhaft.html)

Sir Rufo 20. Jun 2016 13:55

AW: StringHelper Methode Split fehlerhaft?
 
Wenn wir von CSV sprechen, dann spricht man im Allgemeinen davon was in der RFC4180 so unverbindlich definiert wurde (ist kein Standard, weil niemand sich bei CSV auf einen Standard einigen konnte, wollte).
Zitat:

  1. If double-quotes are used to enclose fields, then a double-quote appearing inside a field must be escaped by preceding it with another double quote. For example:

    "aaa","b""bb","ccc"

Und auch wenn es kein allgemeingültiger Standard ist, tut man gut daran mit allen Parteien dieses Dokument als Standard zu deklarieren. Dann gibt es viel weniger Geschrei und "Ich-wars-nicht" Bekundungen.

Kostas 20. Jun 2016 16:00

AW: StringHelper Methode Split fehlerhaft?
 
Ich hatte den Hersteller kontaktiert um die Spezifikation zu besprechen. Dabei hat er erwähnt, ich darf auf keinen Fall die Feldinhalte verändern.
Meine Methode funktioniert zufällig weil ich alle drei Zeichen "," als Trennzeichen suche und nicht nur nach dem Komma. Ich habe den Export umgestellt
indem ich Anführungszeichen im Feldinhalt maskiere durch ein weiteres Anführungszeichen und exportiert. Die Fremdsoftware importiert es einwandfrei.
Also darf ich doch den Feldinhalt verändern. Somit habe ich umgestellt auf die TurboPower.Esentials.StStrL Methode.
Delphi-Quellcode:
function ExtractTokensL(const S, Delims: String;
                        QuoteChar : Char;
                        AllowNulls : Boolean;
                        Tokens    : TStrings) : Cardinal; overload;

Sir Rufo 20. Jun 2016 17:45

AW: StringHelper Methode Split fehlerhaft?
 
Das Verdoppeln des QuoteChars bzw. das Quoten selber verändert den Feldinhalt NICHT!

Bitte nicht Struktur und Daten durcheinander würfeln.

Das kann man gut vergleichen mit dem HtmlEncode, wo aus > ein > gemacht werden muss weil das ansonsten nicht korrekt dargestellt wird.

Du hast das Transportmedium CSV und da gilt die Regel mit dem Quoten (s.o.), weil sonst am anderen Ende nur Grütze herauskommt -> Daten nicht lesbar oder werden falsch gedeutet.

Kostas 20. Jun 2016 21:26

AW: StringHelper Methode Split fehlerhaft?
 
Ja, habe ich verstanden.
Jetzt funktionierts und ich weis warum. :-)
Bisher hat es eben zufällig funktioniert.
Herzlichen dank nochmals.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Seite 3 von 3     123   

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-2025 by Thomas Breitkreuz