![]() |
TExportDataSet - Exportieren von DataSets in eine CSV-Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich habe hier im Praktikum angefangen eine Klasse zu schreiben, die ein beliebiges DataSet in eine CSV-Datei exportiert. Ich würde das Ergebnis gerne vorstellen. Es handelt sich dabei - wie gesagt - nur um eine Klasse und um keine Komponente. Ich weiß noch nicht, wann und ob ich daraus mal eine Komponente mit einem Package machen werde. Aber ich denke, dass ich das irgendwann in Angriff nehmen werde. Die Klasse besteht im Wesentlichen aus drei Dateien und einem Frame:
Nun ein kleines Anwendungs-... Beispiel:
Delphi-Quellcode:
Die Änderungen der Reihenfolge lässt sich durch einfaches verwenden der Funktionen der Eigenschaft Fields.
procedure TForm1.Button1Click(Sender: TObject);
var exExporter: TExportDataSet; i: integer; begin exExporter := TExportDataSet.Create; try { den Dateinamen festlegen für die Zieldatei } exExporter.FileName := frmConfig1.edtFileName.Text; { DataSet zuweisen, aus dem die Daten gelesen werden sollen } exExporter.DataSet := ClientDataSet1; { den Seperator wählen, der die Einträge trennt } exExporter.Seperator := frmConfig1.edtSep.Text[1]; { festlegen, ob die kürzeren Einträge bis zum längsten Eintrag mit Leerzeichen aufgefüllt werden sollen } exExporter.FixedLength := frmConfig1.cbFixLength.Checked; for i:=0 to frmConfig1.lbFields.Items.Count-1 do { die Checklistbox aus dem Config-Frame durchlaufen und gucken, ob Felder ignoriert (= nicht im Ergebnis erscheinen) sollen } exExporter.Fields.Items[frmConfig1.lbFields.Items[i]].Ignored := not frmConfig1.lbFields.Checked[i]; { zu letzt die Dateien exportieren } exExporter.ExportData; finally { und das Objekt wieder freigeben } exExporter.Free; end; end; Ich habe auch ein Demoprojekt, was allerdings so Quick'n'Dirty ist, dass ich das nur sehr ungerne hochladen möchte. ;) Der SourceCode ist unkommentiert. Wer sich das allerdings ansieht und ein wenig von DataSets versteht wird da eigentlich - so denke ich zumindest - sehr schnell feststellen, dass der sich größtenteils von alleine erklärt. Download (Version 1.0): (siehe Anhang) Über Feedback würde ich mich sehr freuen... Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 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