![]() |
Re: CSV-Datei die mit Semikolons getrennt ist einlesen
Weil der Delimiter und StrictDelimiter für alle FormCSV.StringGridCSV.Rows[i] wahrscheinlich nicht gesetzt sind?
PS: Nach da drüber: soll doch ';' und nicht ',' sein ;-) |
Re: CSV-Datei die mit Semikolons getrennt ist einlesen
Habe nun die Lösung:
Delphi-Quellcode:
Habe da noch ein abschliessende Frage:
sRows := TStringList.Create;
sRows.LoadFromFile('Datei.csv'); sCols := TStringList.Create; sCols.DelimitedText := sRows[0]; FormCSV.StringGridCSV.ColCount:=sCols.Count; sCols.Free; FormCSV.StringGridCSV.RowCount := sRows.Count; for i := 0 to Pred(sRows.Count) do begin FormCSV.StringGridCSV.Rows[i].Delimiter := ';'; FormCSV.StringGridCSV.Rows[i].StrictDelimiter := true; FormCSV.StringGridCSV.Rows[i].DelimitedText := sRows[i]; end; sRows.Free; - Wie kann ich die Daten aus der CSV-Datei von Spalte 1 bis ... in das StringGrid schreiben. Heisst: Spalte 0 soll leer bleiben. Gruss Holger |
Re: CSV-Datei die mit Semikolons getrennt ist einlesen
Probieren geht über studieren ;)
Spiel doch einfach mal ein bißchen mit TStrings/TStringList rum, um zu wissen was das macht und wie es geht. Folgendes Beispielsweise würde eine leere erste Spalte schreiben (nicht die eleganteste Methode, aber evtl. die mit den wenigsten Abweichungen):
Delphi-Quellcode:
// sCols.Free; streichen!
for i := 0 to Pred(sRows.Count) do begin FormCSV.StringGridCSV.Rows[i].Delimiter := ';'; FormCSV.StringGridCSV.Rows[i].StrictDelimiter := true; sCols.DelimitedText := sRows[i]; sCols.Insert(0, ''); FormCSV.StringGridCSV.Rows[i].DelimitedText := sCols.DelimitedText; end; sCols.Free; // stattdessen hier! sRows.Free; |
Re: CSV-Datei die mit Semikolons getrennt ist einlesen
Hi,
die Spalte wird wohl eingefügt, nur fehlt nun wieder die Trennung beim Semikolon. Es wird wieder beim Komma getrennt. So habe ich es umgebaut:
Delphi-Quellcode:
Gruss
sRows := TStringList.Create;
sRows.LoadFromFile('Datei.csv'); sCols := TStringList.Create; sCols.DelimitedText := sRows[0]; FormCSV.StringGridCSV.ColCount:= sCols.Count; FormCSV.StringGridCSV.RowCount := sRows.Count; for i := 0 to Pred(sRows.Count) do begin FormCSV.StringGridCSV.Rows[i].Delimiter := ';'; FormCSV.StringGridCSV.Rows[i].StrictDelimiter := true; sCols.DelimitedText := sRows[i]; sCols.Insert(0, ''); FormCSV.StringGridCSV.Rows[i].DelimitedText := sCols.DelimitedText; end; sRows.Free; sCols.Free; Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 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