Delphi-PRAXiS
Seite 1 von 2  1 2      

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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr.
Seite 1 von 2  1 2      

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