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 1 von 4  1 23     Letzte »    
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 vergessen
vergessen

 
Delphi 5 Professional
 
#2
  Alt 14. Feb 2011, 20:34
Hi Luckie,

vielen Dank für den Quelltext! War schon immer zu faul für sowas !

Mein D7pe kennt die Zeile (in TfrmMain.FillListview) mit
Delimitedline.StrictDelimiter := True; nicht und mag die Zeile für das automatische Spaltenbreitensetzen mit
lvCSVFile.Columns.Items[j].Width := ColumnTextWidth; nicht (Absturz mit "Listenindex überschreitet das Maximum (x)").

Abhilfe: Beide Zeilen (in TfrmMain.FillListview) auskommentieren und nach
Progressbar1.Position := 0; die Zeile
for i:=0 to lvCSVFile.Columns.count -1 do lvCSVFile.Columns[i].width:= -1; einfügen.


MfG
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#3
  Alt 14. Feb 2011, 20:37
Entwickelt hab eich mit D2006. Und ColumnTextWidth ist nur eine Konstante für -1.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von vergessen
vergessen

 
Delphi 5 Professional
 
#4
  Alt 14. Feb 2011, 20:47
lvCSVFile.Columns.Items[j].Width := -1; statt
lvCSVFile.Columns.Items[j].Width := ColumnTextWidth; führt in D7pe zum gleichen Absturz

MfG
  Mit Zitat antworten Zitat
mkinzler

 
Delphi 11 Alexandria
 
#5
  Alt 14. Feb 2011, 20:48
Es ist ja auch egal, ob man eine Konstante niummt oder den Wert direkt zuweist.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#6
  Alt 14. Feb 2011, 20:50
Jetzt stellt sich die Frage, warum das bei mir nicht zum Absturz führt. Ist deine CSV-Datei eventuell nicht in Ordnung oder so?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#7
  Alt 14. Feb 2011, 21:18
Leider kann der CSVViewer nicht alle CSV-Dateien nach RFC 4180 öffnen

Folgendes ist nach RFC ein gültige CSV-Datei
Code:
ID;TEXT
1;Test
2;"Test"
3;"Test""Test"
4;"Test
Test
Test"
5;Last
und sollte folgendes ergeben
Code:
ID TEXT
 1 Test
 2 Test
 3 Test"Test
 4 Test
   Test
   Test
 5 Last
Wenn man mit dem "Microsoft Text-Treiber" die CSV öffnet, dann wird die auch korrekt verarbeitet
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#8
  Alt 14. Feb 2011, 21:23
Was macht mein Programm daraus?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#9
  Alt 14. Feb 2011, 21:33
Was macht mein Programm daraus?
sowas
Code:
ID    TEXT
===== =========
1     Test
2     Test
3     Test"Test
4     Tes
Test
Test"
5     Last
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#10
  Alt 14. Feb 2011, 21:36
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.
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 03:30 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