Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CSV Datei erstellen (https://www.delphipraxis.net/57696-csv-datei-erstellen.html)

alzaimar 25. Nov 2005 12:41

Re: CSV Datei erstellen
 
Strings müssen beim CSV Format in '"' eingeschlossen werden:
Code:
"Ein String";234;OderSo;"Aber so kann man auch Sonderzeichen ;;;;=";"darstellen"

Luckie 25. Nov 2005 12:46

Re: CSV Datei erstellen
 
Zitat:

Zitat von Hansa
Der Savedialog verkompliziert die Sache sowieso. Schreibe doch besser zeilenweise.

Manchmal sagst du schon lustige Sachen. ;) Der Dialog stllt doch nur einen Dateinamen bereit, was macht das komplizierter?

AndiS75 29. Nov 2005 09:17

Re: CSV Datei erstellen
 
wieso zeilenumbruch? wenn ich die .csv datei über den editor öffne, passt ja alles? hat jemand einen alternativvorschlag für meinen quellcode.
laut der vorlage die ich erhalten habe, sind die strings auch nicht in "" eingeschlossen. trennzeichen sind semikolon , alles was dazwischen steht wird als string interpretiert!so zumindest steht es in der doku die ich erhalten habe.

alzaimar 29. Nov 2005 09:38

Re: CSV Datei erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von AndiS75
laut der vorlage die ich erhalten habe, sind die strings auch nicht in "" eingeschlossen. trennzeichen sind semikolon , alles was dazwischen steht wird als string interpretiert!so zumindest steht es in der doku die ich erhalten habe.

Hmmm... Merkwürdig. Ich geb Dir einfach mal mein CSV-Exporter: Die Klasse TCSVExcel sollte Dir helfen. Wenn nicht hab ich Mist gebaut, oder es ist was auf der Gegenseite faul (viele Leute kapieren CSV nicht, obwohl es einfach ist)
So benutzt man die Klasse:
Delphi-Quellcode:
Var
  C : TCSVExcel;

Begin
  C := TCSVExcel.Create ('MyExport.CSV');
  C.Open;
  C.AddString('Ein String'); // Mit '"'
  C.AddUnquoted('Noch einer'); // Ohne '"'
  C.AddInteger (123);
  C.AddFloat (123.45);
  C.AddDate (StrToDate ('24.12.2005'));
  C.NewLine;
  ... Nächste Zeile
  C.Close;
  c.Free;
End;
Im Zweifelsfall check mal EXCEL, ob es Deine Daten einlesen kann. Wenn ja, muss die Gegenseite nachbessern :mrgreen:

AndiS75 29. Nov 2005 11:14

Re: CSV Datei erstellen
 
danke erstmal für deine Klasse.Folgendes, wenn ich meine .csv Datei öffne und als txt speichere, kann ich die txt ohne Problem in Excel einlesen. Probier mal so wie Du es vorgeschlagen hast.

Danke

alzaimar 29. Nov 2005 11:48

Re: CSV Datei erstellen
 
Wenn Du sie als TXT speicherst, musst Du aber durch den Import-Assistenten durchgehen... Mit CSV sollte das unnötig sein.
Jetz fällt mir ein, das wir die Quotes ('"') für den Datenaustausch mit einem anderen ERP-System benötigt haben. Es kann sein, das die '"' gar nicht zur Spezifikation gehören. Andere Fallstricke sind aber z.B. Dezimalpunkte (Punkt, oder Komma?) und das Datumsformat.

Typisch Amis: Denken sich CSV aus, nennen das auch noch 'Comma Separated Values' und benutzen dann den variablen Listentrenner, Dezimalpunkt sowie Datumsformat und trennzeichen. Eigentlich müsste das Format so heissen:
"Listseparator separated Values which cannot be exchanged among PCs with different national settings (or even PC which stand next to each other)"

Ich würde so vorgehen:
Erstelle eine Beispieldatei in Excel (eine Zeile reicht ja).
Speichere sie als CSV und analysiere den Inhalt.
Bastle solange herum, bis Dein Output dem EXCEL-Format entspricht.

AndiS75 29. Nov 2005 15:55

Re: CSV Datei erstellen
 
also hab des rätsels lösung. das problem liegt darin, dass excel die von mir erstellte .csv datei nicht richtig darstellt.
ich habs denen mal geschickt und die hatten kein problem meine datei zu importieren. also der ganze zirkus, für die katz. trotzdem danke für die anteilnahme.

gruß

andreas

AndiS75 29. Nov 2005 15:59

Re: CSV Datei erstellen
 
ach nochwas. wie kann ich beim savedialog die einzelnen buttons ansprechen. also wenn ich ok drückt kommt "bla" und wenn ich abbrechen drück kommt "blabla".


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.
Seite 2 von 2     12   

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