AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CSV-Datei in Stringgrid bringen

Ein Thema von peschai · begonnen am 4. Jun 2009 · letzter Beitrag vom 11. Nov 2009
 
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#10

Re: CSV-Datei in Stringgrid bringen

  Alt 6. Nov 2009, 05:32
Hallo Leute,
doch es ist wirklich so einfach und allgemeingültig und keineswegs eine Einschränkung
Die Überprüfung einer Zeile auf ungerade Anzahl der Quotes ist die Beantwortung der Frage "IstInQuote".
Trennzeichen innerhalb Quotes sind durch die Quotes neutralisiert und spielen damit keine Rolle
Quotes selber innerhalb Text werden verdoppelt, damit sind sie gerade und spielen ebenfalls keine Rolle.

Nehmen wir das Beispiel und stellen wir uns vor, daß ein in eine StringList geladen wurde.

Hallo;1;"dad
sdfsfaf";"aa"""
Hallo;1;"dad
sdfsfaf""";aa


1.) Nimm erste QuellZeile
-> Hallo;1;"dad

2.) Zähle Quotes
-> 1 ungerade

3.) da ungerade MUSS Zeilenumbruch in letzter "QuellZeilenzelle" vorliegen, also nächste Zeile dazunehmen
-> Hallo;1;"dad#13#10sdfsfaf";"aa"""

4.) Zähle Quotes
-> 6 gerade

5.) da gerade ist also erste Ziel-CSVZeile komplett eingelesen. Nächste QuellZeile nehmen
-> Hallo;1;"dad

6.) Zähle Quotes
-> 1 ungerade

7.) da ungerade MUSS Zeilenumbruch in letzter "QuellZeilenzelle" vorliegen, also nächste Zeile dazunehmen
-> Hallo;1;"dad#13#10sdfsfaf""";aa

8.) Ergebnis also zwei echte Zeilen
Hallo;1;"dad#13#10sdfsfaf";"aa"""
Hallo;1;"dad#13#10sdfsfaf""";aa

Die 3.Zelle der 1.Zeile hat also den Inhalt
Zitat:
dad#13#10sdfsfaf
Die 3.Zelle der 2.Zeile hat also den Inhalt
Zitat:
dad#13#10sdfsfaf"
Das lässt sich sehr effizient in einer normalen Stringlist ohne Fremdkomponente realisieren

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 ...
-> aber es könnte sein, daß der Ansatz über die TStringlist effizienter ist ? ...
Peter Schaible
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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