Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Export Paradoxtabelle in eine Textdatei mit Trennzeichen (https://www.delphipraxis.net/17417-export-paradoxtabelle-eine-textdatei-mit-trennzeichen.html)

rincewind 5. Mär 2004 09:39


Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Hallo,

ich versuche eine Paradoxtabelle in eine Textdatei zu exportieren. Mit BatchMove ist das ja auch kein Problem. Nur sollen die einzelnen Datenfelder mit Trennzeichen, in diesem Fall ein Semikolon getrennt werden.
Wie bekommt man das mit BatchMove hin oder anders ganz anders?
Ich habe bisher keine Möglichkeit gefunden. :(

Viele Grüße

Uwe

DelphiDeveloper 5. Mär 2004 10:00

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
kannste doch einfach so machen
vorausgesetzt deine paradox tabelle enthaelt keine bildchen, memos etc.

Delphi-Quellcode:
procedure CSVExport;
var
  i: integer;
  F: TextFile;
  Fn: string;

begin
  Fn := 'c:\myCSVexport.txt';
  AssignFile(F, Fn);
  Rewrite(F);

  Table1.open;
  while not table1.eof do
  begin
    for i := 0 to table1.FieldCount - 1 do
    begin

      write(F, table1.fields[i].Value);
      write(F, ';');
    end;
    write(F,#13#10);
    table1.next;
  end

end;
[edit=r_kerber]Delphi-Tags gesetzt. Mfg, r_kerber[/edit]

woki 5. Mär 2004 10:13

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Hi,

Vorsicht, das geht in die Hose, ein csv (comma separated values) das funktioniert ist doch noch ein wenig komplizierter.

cu
Wolfgang

DelphiDeveloper 5. Mär 2004 10:18

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
hi wolfgang,
dann erklär uns mal was du meinst mit:
Zitat:

Vorsicht, das geht in die Hose, ein csv (comma separated values) das funktioniert ist doch noch ein wenig komplizierter.

woki 5. Mär 2004 10:57

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Hi,

Überlegt euch, was passiert wenn das verwendete Trennzeichen auch im eigentlichen Inhalt vorkommt.
Ich hab jetzt nicht die Zeit gerade mal eine vollständige Definition eines funktionierenden csv zu posten, dachte aber ich sollte trotzdem mal für das Problem sensibilisieren.

Grüsse
Woki

barnti 5. Mär 2004 11:05

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Hi woki,

ich glaube DelphiDeveloper wollte Dich für die deutsche Rechtschreibung sensibilisieren: ;)

Zitat:

Vorsicht, das geht in die Hose, ein csv (comma separated values) das funktioniert ist doch noch ein wenig komplizierter.
Gruß,

Barnti

woki 5. Mär 2004 11:27

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Zitat:

Zitat von barnti
Hi woki,

ich glaube DelphiDeveloper wollte Dich für die deutsche Rechtschreibung sensibilisieren: ;)

:roll: :roll:

ohne Worte......

DelphiDeveloper 5. Mär 2004 11:29

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
ne da hat wolfgang schon recht!

als nächstes würde man dann sagen na dann halt quoted strings aber dann muessen
die quotes auch wieder doppelte gequoted werden.

grayfox 5. Mär 2004 12:03

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
wenn ich ein text-file in ein csv-file importiere, dann ersetze ich alle im text vorkommenden semicolons durch bindestriche, somit bleibt die spaltenanzahl erhalten. falls man die strichpunkt umbedingt im text benötigt, dann kann man ja auch '#' als trenner einsetzen. man muss ja die sache nicht umbedingt noch mehr verkomplizieren ;)

mfg, stefan

DelphiDeveloper 5. Mär 2004 12:09

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
2.ter versuch wolfgang

Code:
procedure CSVExport;
var
  i: integer;
  F: TextFile;
  Fn: string;
  tmpstring: string;
begin
  Fn := 'c:\myCSVexport.csv';
  AssignFile(F, Fn);
  Rewrite(F);

  Table1.open;
  while not table1.eof do
  begin
    for i := 0 to table1.FieldCount - 1 do
    begin
      // ersetze quotes in doppelquotes
      tmpstring := stringreplace(table1.fields[i].Value, '"', '""', [rfReplaceAll]);
      // ; nicht vorhanden
      if pos(';', tmpstring) = 0 then
      begin
        write(F, tmpstring);
        write(F, ';');
      end
      else
      begin
        // ; vorhanden
        write(F, '"');
        write(F, tmpstring);
        write(F, '"');

        write(F, ';');
      end;
    end;
    write(F, #13#10);
    table1.next;
  end

end;

rincewind 5. Mär 2004 20:42

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Guten Abend,

vielen Dank für die Hilfe von Euch allen!! :hello:

An diesen Weg hätte ich mir allein die Zähne ausgebissen.
Aber man(n) hat wieder etwas dazu gelernt!

Wünsche allseits ein schönes WE.

Viele Grüße

Uwe

Sharky 6. Mär 2004 07:15

Re: Export Paradoxtabelle in eine Textdatei mit Trennzeichen
 
Hai rincewind,

sollte es nicht reichen die einzelnen Felder durch Semikollons zu trennen und die Inhalte der Felder in " zu setzen?

z.B:

Code:
"name";"Dieser Text" hallo ihr" geht weiter";"156,25;"Hallo; ihr da"
Das Problem ist ja nicht das erzeugen der CSV sondern das ordnungsgemäße einlesen.


BTW: Wie geht es Truhe? :chat:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 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