![]() |
CSVViewer - Zum Betrachten von CSV-Dateien
Liste der Anhänge anzeigen (Anzahl: 2)
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. |
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Hi Luckie,
vielen Dank für den Quelltext! War schon immer zu faul für sowas :oops: ! Mein D7pe kennt die Zeile (in TfrmMain.FillListview) mit
Delphi-Quellcode:
nicht und mag die Zeile für das automatische Spaltenbreitensetzen mit
Delimitedline.StrictDelimiter := True;
Delphi-Quellcode:
nicht (Absturz mit "Listenindex überschreitet das Maximum (x)").
lvCSVFile.Columns.Items[j].Width := ColumnTextWidth;
Abhilfe: Beide Zeilen (in TfrmMain.FillListview) auskommentieren und nach
Delphi-Quellcode:
die Zeile
Progressbar1.Position := 0;
Delphi-Quellcode:
einfügen.
for i:=0 to lvCSVFile.Columns.count -1 do lvCSVFile.Columns[i].width:= -1;
MfG |
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Entwickelt hab eich mit D2006. Und ColumnTextWidth ist nur eine Konstante für -1.
|
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Delphi-Quellcode:
statt
lvCSVFile.Columns.Items[j].Width := -1;
Delphi-Quellcode:
führt in D7pe zum gleichen Absturz :oops:
lvCSVFile.Columns.Items[j].Width := ColumnTextWidth;
MfG |
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Es ist ja auch egal, ob man eine Konstante niummt oder den Wert direkt zuweist.
|
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Jetzt stellt sich die Frage, warum das bei mir nicht zum Absturz führt. Ist deine CSV-Datei eventuell nicht in Ordnung oder so?
|
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Leider kann der CSVViewer nicht alle CSV-Dateien nach
![]() Folgendes ist nach RFC ein gültige CSV-Datei
Code:
und sollte folgendes ergeben
ID;TEXT
1;Test 2;"Test" 3;"Test""Test" 4;"Test Test Test" 5;Last
Code:
Wenn man mit dem "Microsoft Text-Treiber" die CSV öffnet, dann wird die auch korrekt verarbeitet
ID TEXT
1 Test 2 Test 3 Test"Test 4 Test Test Test 5 Last |
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Was macht mein Programm daraus?
|
AW: CSVViewer - Zum Betrachten von CSV-Dateien
Zitat:
Code:
ID TEXT
===== ========= 1 Test 2 Test 3 Test"Test 4 Tes Test Test" 5 Last |
AW: CSVViewer - Zum Betrachten von CSV-Dateien
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 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