Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   CSVViewer - Zum Betrachten von CSV-Dateien (https://www.delphipraxis.net/158355-csvviewer-zum-betrachten-von-csv-dateien.html)

Sir Rufo 14. Feb 2011 20:39

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Zitat:

Zitat von Luckie (Beitrag 1081710)
Dann ist das ein Bug von Delphi, dass sich TStringList nicht an das RFC hält. Lösung wäre, die Datei selber zu parsen, aber dazu war ich zu faul. Allerdings, man könnte noch mal probieren, was Explode daraus macht.

Öffne die Datei über eine ADOConnection und der Drops ist gelutscht
Allerdings musst du dafür die CSV-Datei entweder in ein temp. Verzeichnis kopieren, oder
die Schema.ini Datei in das CSV-Verzeichnis erzeugen

Wobei die erste Variante zu bevorzugen ist :)

Luckie 14. Feb 2011 20:41

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Zitat:

Zitat von Sir Rufo (Beitrag 1081711)
Öffne die Datei über eine ADOConnection und der Drops ist gelutscht

Hm, so einen Aufwand wollte ich eigentlich nicht treiben. Aber angucken kann man es ja mal. hast du irgendwo noch weitere Infos dazu? Mit ADO Verbindungen habe ich noch nie gearbeitet.

Sir Rufo 14. Feb 2011 20:47

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Das ist quasi der gesamte "Aufwand"

Delphi-Quellcode:
con1 : TADOConnection;
tbl1 : TADOTable;
ds1 : TDataSource;
dbg1 : TDBGrid;

tbl1.Connection := con1;
ds1.DataSet := tbl1;
dbg1.DataSource := ds1;
und hier die Arbeit
Delphi-Quellcode:
procedure TForm1.FileOpen1Accept( Sender : TObject );
var
  DataFile :  _FileName; // <- ist ein Spezial-Record für Dateinamen :o)
  SchemaFile : _FileName;
  idx :       Integer;
begin
  if con1.Connected
  then
    con1.Close;

  DataFile           := FileOpen1.Dialog.FileName;
  SchemaFile         := DataFile;
  SchemaFile.FileName := 'schema.ini';

  with TIniFile.Create( SchemaFile ) do
    try
      WriteString( DataFile.FileName, 'Format', 'Delimited(;)' );
    finally
      Free;
    end;

  con1.Provider        := 'MSDASQL';
  con1.ConnectionString := 'Driver={Microsoft Text-Treiber (*.txt; *.csv)};Extensions=asc,csv,tab,txt;';
  con1.DefaultDatabase := DataFile.DirName.FullName;

  tbl1.TableDirect := True;
  tbl1.TableName  := DataFile.FileName;

  tbl1.Open;

end;

Luckie 14. Feb 2011 20:48

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Und als visuelle Komponente habe ich dann einen TTable?

mkinzler 14. Feb 2011 20:49

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Eine TTable ist nicht visuell, eher eine DBGrid

Luckie 14. Feb 2011 20:51

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
OK, dann habe ich noch nicht verstanden wie ich das angezeigt bekomme. Wird dann ein DBGrid mit dem TTable verknüpft?

mkinzler 14. Feb 2011 20:52

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Ja über eine TDataSource

DBGrid->DataSource->DataSet

Sir Rufo 14. Feb 2011 20:53

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Steht doch bei mir im ersten CodeTeil
Ist aber getrennt, weil man das a) auf die Form klatscht und b) die Zuordnung über den OI macht

Luckie 14. Feb 2011 20:55

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Ah ja, jetzt sind mir auch die Bezeichnungen klar. ;)

vergessen 14. Feb 2011 21:47

AW: CSVViewer - Zum Betrachten von CSV-Dateien
 
Ihr macht mir echt Spaß!

Aus einem kleinen CSVViewer flugs ein Monster mit DatenbankTrallala gemacht :evil:

Und Tschüss :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz