![]() |
probleme mit leerzeichen beim csv einlesen.
hallo leute, habe folgendes problem.
ich benutze um eine csv einzulesen folenden code von mkinzle.
Delphi-Quellcode:
die liesst auch wunderbar alles in die stringliste. wenn jetzt aber leerzeichen vorkommen, dann schreibt er pro leerzeichen 1 neue zeile, was kann ich dagegen machen ?
var
zeilennr: integer; DateiName, Zeile: String; F: TextFile; begin OpenDialog.Execute; // Das Ergebnis steht in FileName // ShowMessage(OpenDialog1.FileName); DateiName := OpenDialog.FileName; //Der Pfad wird in die Datei gestellt txtfilename.Text := DateiName; // ShowMessage(DateiName); sl:=TStringList.Create; //Objekt erzeugen sl.Delimiter := ';'; try //sl.LoadFromFile(DateiName); //Datei in Stringliste laden AssignFile(F, OpenDialog.FileName); Reset(F); Readln(F, Zeile); //Erste Zeile laden sl.DelimitedText := Zeile; //Zeile der StringListe zuweisen, nun kann man mit der Eigenschaft Count die Anzal der Spalten auslesen, die Spaltenname sthen dann in der Stringliste //sl.Strings[0] enthält Namen erste Spalte usw. While not Eof(F) do //Daten laden begin Readln(F, S); Edit1.Text := S; sl.DelimitedText := s; // Datenzeile wird in Stringliste geschrieben -< Auslesen wie Kopfspalte end; finally // //sl.free; //Objekt wieder freigeben edit2.Text := inttostr(sl.count); end; |
Re: probleme mit leerzeichen beim csv einlesen.
-Die Felder in der CSV Quoten
-Leerzeichen temporär ersetzen. |
Re: probleme mit leerzeichen beim csv einlesen.
Das ist eine ziemlich unangenehme Eigenschaft von DelimitedText. Das läßt sich m.E. nur durch Überschreiben der Methode lösen.
René |
Re: probleme mit leerzeichen beim csv einlesen.
hmm was hättet ihr für einen vorschlag, alle leerzeichen durch zB |$| oder sowas zu ersetzen und später wieder rückgänig zu machen. weil auf die csv dateien habe ich keinen einfluss.
|
Re: probleme mit leerzeichen beim csv einlesen.
Zitat:
|
Re: probleme mit leerzeichen beim csv einlesen.
ach das nervt, jetzt kann ich für jeden string den ich da raus bekomme eine rückaction machen.
|
Re: probleme mit leerzeichen beim csv einlesen.
also ich wandel jetzt die leerzeichen in ° um, so:
Delphi-Quellcode:
kann ich jetzt innerhalb der stringliste die einzelnen strings wieder ändern ?
while Pos(' ', s) > 0 do
s[Pos(' ', s)] := '°';
Delphi-Quellcode:
for I := 0 to sl.Count - 1 do
begin while Pos('°', sl.Strings[i]) > 0 do sl.Strings[i][Pos('°', sl.Strings[i])] := ' '; end; das geht leider nicht ..jemand eine idee ? |
Re: probleme mit leerzeichen beim csv einlesen.
Versuchs mal mit StringReplace
|
Re: probleme mit leerzeichen beim csv einlesen.
dann für den einzelnden string ? oder für die sl ?
|
Re: probleme mit leerzeichen beim csv einlesen.
Guck dir mal
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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