Manchmal sind es nicht die großen, optisch herausragenden Komponenten, die wertvolle Dienste leisten, sondern kleine Komponenten, die eine bestimmte Teilaufgabe erfüllen und dies auf höchst bequeme Art. Eine davon ist die kleine Komponente von TMedia mit Namen TCSVReader. Diese macht genau das, was der Name schon vermuten lässt: es liest die Daten aus einer CSV Datei ein.
TCSVReader ist extrem einfach anzuwenden. Einfach Komponente auf das Formular ziehen, StringGrid zuweisen, einige Eigenschaften einstellen, Datei einlesen (LoadFromFilename). Alternativ können auch Daten aus einer Zeichenkette importiert werden.
Folgende Optionen stehen u.a. zur Verfügung:
- Ändern des Trennzeichens, also z.B. Komma oder Semikolon
- Ändern des Anführungszeichens, oder keins, falls keins vorhanden
- Entfernen von führenden Leerzeichen
- Zugriff auf jedes Datenelement
Über verschiedene Eigenschaften haben Sie die Möglichkeit, die Daten während des Imports zu ändern bzw. zu beeinflussen, hierzu stehen die Events OnAddValue und OnBeforeCopyToGrid zur Verfügung.
Die Komponente, kombiniert mit einigen von Ihnen zu erstellenden Optionsfeldern, bei der Ihre Anwender die CSV Datei näher beschreiben können, ermöglicht es Ihnen flexible Importassistenten für CSV Datei zu erstellen, falls die Formate z.B. nicht vorher genau bekannt sind. Handelt es sich immer um ein festes, bekanntes Format, können Sie die Vorgabeeigenschaften natürlich direkt setzen und direkt importieren.
Die Daten werden dann in ein StringGrid (muss nicht zwingend das StandardGrid von Delphi sein) eingelesen, von wo man dann die Daten bequem für den jeweiligen Zweck weiterverarbeiten kann.
Die kleine Komponente arbeitet nach meinen Erfahrungen sehr zuverlässig und ist ein einfach anzuwendender, zuverlässiger Helfer, wenn es um den Import von CSV – Dateien (oder Textdateien) geht und ist daher für mich eine Empfehlung wert.
Die Komponenten finden Sie auf der Seite von TMedia. Im Paket ist auch eine Demo vorhanden.