![]() |
AW: csv Datei Import ClassHelper für TClientDataSet
Was verwirrt daran?
; trennt die einzelnen Werte. Die Werte werden mit " eingerahmt. ; sind damit, wenn sie sich im mit " eingerahmten Text befinden, keine Trenner mehr. Die "verwirrenden" Variante entspricht dem definierten und sowohl erwünschten, wie auch dem erwarteten Verhalten. Wenn man " in 'ner CSV hat und ; als Trenner, dann sollte man nicht die " aus der CSV entfernen und hoffen, dass im Text keine ; vorkommen. Sollte dem dann doch so sein, kann das nur scheitern. |
AW: csv Datei Import ClassHelper für TClientDataSet
Zitat:
Könnte es sein, das in der 1. Zeile weniger Felder definiert sind als in dieser Zeile. Der Helper legt er "nur" die Anzahl der Felder an, die in der 1. Zeile stehen. Das sollte ja auch nur als Beispiel dienen. ;-) Welche Wert hat
Delphi-Quellcode:
bei i=0 ?
slRow.Count
Und welchen Wert hat es in der Zeile, die den Fehler wirft? |
AW: csv Datei Import ClassHelper für TClientDataSet
Zitat:
|
AW: csv Datei Import ClassHelper für TClientDataSet
Was ihn verwirrt ist doch ganz einfach:
Wenn ich die QuotedChar entferne und dann durch das ; im Text ein Feld mehr bekomme, als in der ersten Zeile, dann muss das krachen. Wenn ich 'ne CSV mit QuotedChar habe, dann sollte ich das auch entsprechend verwenden. Ein zusätzliches ; zwischen den QuotedChars führt dann nicht zu 'ner abweichenden Feldzahl in der entsprechenden Zeile und damit auch nicht zu der Exception. Zitat:
Oder anders: Wenn man aus der CSV die " entfernt, dann führt das ; in diesem Text rechnung@mueller-meyer.de; einkauf@mueller-meyer.de zu der Exception, es ist dann der Trenner, der zuviel ist und den Zugriff auf ein nicht erzeugtes Objekt verursacht. |
AW: csv Datei Import ClassHelper für TClientDataSet
Zitat:
|
AW: csv Datei Import ClassHelper für TClientDataSet
Wieso,
in Post #20 wird es richtig gemacht und funktioniert. Und darunter steht, dass es ihn verwirrt. Wenn ich das richtigt interpretiere, verwirrt ihn nicht die fehlerhafte Variante, sondern die korrekte. ;-) |
AW: csv Datei Import ClassHelper für TClientDataSet
Zitat:
Aber es ist völlig egal. Wir können nur vermuten. Er wird es uns schreiben. Er möchte wahrscheinlich "nur" die Allgemeine Schmutzverletzung weg haben :) In Post #19 wird es auch richtig gemacht und funktioniert nicht. Es wird 2 mal richtig gemacht. Einmal geht es und einmal nicht. |
AW: csv Datei Import ClassHelper für TClientDataSet
Zitat:
Delphi-Quellcode:
(Antwort #20) gibt es noch mehr Verwirrungen, da dort nicht nur der definierte Delimiter als Trennzeichen verwendet wird. :stupid:
StrictDelimiter:=False
|
AW: csv Datei Import ClassHelper für TClientDataSet
Hi,
Zitat:
Zitat:
bei Fehler: slRow.Count = 20 Also interpretiert Delphi dieset "rechnung@mueller-meyer.de; einkauf@mueller-meyer.de" als zwei Felder OBWOHL diese von Anführungszeichen eingeschlossen sind. Wenn ich die zweite Email-Adresse weiter nach vorne setze ... also so: "12345";"1";"Müller-Meyer";"Müller-Meyer-Schulze GmbH";"";"Elbchaussee 1";"D";"22000";"Hamburg";"";"Frau";"Michaela";"Mül ler";"+49 (40) 123456-0";"+49 (40) 123456 111";"m.mueller@mueller-meyer.de; einkauf@mueller-meyer.de";"1";"36";"...eller-meyer.de" dann knallt es genauso - und wieder bei Feld 20 :-) In sofern hattest Du schon recht das Feld Nr. 20 nicht existiert. Aber warum ?? Hans |
AW: csv Datei Import ClassHelper für TClientDataSet
Zitat:
Delphi-Quellcode:
als auch bei ":=True" knallt es :-(
StrictDelimiter:=False
Hans |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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-2025 by Thomas Breitkreuz