Zitat von
peschai:
Das Beispiel mit dem TCSVReader verwendet im Prinzip eine ähnlichen Ansatz indem er schaut ob pro Zeile die Spaltenanzahl stimmt. Wenn nicht, dann nimm nächste Zeile dazu ...
Äh. nö?
Der TCSVReader liest nur die
CSV-Datei spezifikationskonform ein. Ganz einfach. Zeile für Zeile. Innerhalb von Quotes wird weder ein Spaltenbegrenzer noch ein Zeileende erkannt, sonst schon.
Das Gedöns drumherum habe ich nur gemacht, damit sich die StringGrid dynamisch an die maximale Spaltenzahl anpasst.
Zitat:
aber es könnte sein, daß der Ansatz über die TStringlist effizienter ist ? ...
Wen interessiert das?
Lesbarkeit, Robustheit und Erweiterbarkeit sind viel wichtiger. Und da muss ich sagen, finde ich die Lösung mit dem TCSVReader irgendwie ...
Zitat von
peschai:
Hier die Implementierung auf Basis von TStringList
Was ist j1? i7? i6? Wie ist fctLocalCharCount(i,j) definiert? Wo sind die Deklarationen? Das ist doch (entschuldige bitte) ein sehr unleserliches Codefragment. Wer soll den Code denn verstehen?