AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte CSVViewer - Zum Betrachten von CSV-Dateien
Thema durchsuchen
Ansicht
Themen-Optionen

CSVViewer - Zum Betrachten von CSV-Dateien

Ein Thema von Luckie · begonnen am 14. Feb 2011 · letzter Beitrag vom 12. Nov 2013
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
Nichts großes, weltbewegendes. Nur ein kleines Programm, um CSV-Dateien betrachten zu können, ohne dass man immer gleich Excel oder OpenOffice starten muss. So was wollte ich schon immer mal für die Backupdateien meiner Adressdatenbank machen und jetzt habe ich es gemacht. Es war eigentlich nur für mich zu privat Zwecken gedacht, aber eventuell findet es ja noch jemand anders nützlich, wenn nicht das Programm, dann vielleicht den Code, obwohl auch dieser war in seiner Grundform in zwanzig Minuten hingehackt.

Das Programm sollte selbsterklärend sein. Mit einem Rechtsklick auf den Listview öffnet sich ein Kontextmenü, mit dem man entweder die eine Zelle/Feld in die Zwischenablage kopieren kann oder die ganze Zeile.
Miniaturansicht angehängter Grafiken
csvviewer.jpg  
Angehängte Dateien
Dateityp: zip CSVViewer.zip (288,8 KB, 297x aufgerufen)
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#11
  Alt 14. Feb 2011, 21:39
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#12
  Alt 14. Feb 2011, 21:41
Ö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.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#13
  Alt 14. Feb 2011, 21:47
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;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#14
  Alt 14. Feb 2011, 21:48
Und als visuelle Komponente habe ich dann einen TTable?
Michael
  Mit Zitat antworten Zitat
mkinzler

 
Delphi 11 Alexandria
 
#15
  Alt 14. Feb 2011, 21:49
Eine TTable ist nicht visuell, eher eine DBGrid
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#16
  Alt 14. Feb 2011, 21:51
OK, dann habe ich noch nicht verstanden wie ich das angezeigt bekomme. Wird dann ein DBGrid mit dem TTable verknüpft?
Michael
  Mit Zitat antworten Zitat
mkinzler

 
Delphi 11 Alexandria
 
#17
  Alt 14. Feb 2011, 21:52
Ja über eine TDataSource

DBGrid->DataSource->DataSet
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#18
  Alt 14. Feb 2011, 21:53
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#19
  Alt 14. Feb 2011, 21:55
Ah ja, jetzt sind mir auch die Bezeichnungen klar.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von vergessen
vergessen

 
Delphi 5 Professional
 
#20
  Alt 14. Feb 2011, 22:47
Ihr macht mir echt Spaß!

Aus einem kleinen CSVViewer flugs ein Monster mit DatenbankTrallala gemacht

Und Tschüss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
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