Hallo!
Ich habe folgende Aufgabe: Ich muss ein CSV-File in eine StringList laden, und dann die einzelnen Elemente (d.h. die einzelnen Wörter des CSV-Files pro Zeile) herausfiltern!
Dazu habe ich mir eine Funktion geschrieben! Dieser übergebe ich eine Zeile des CSV-Files, eine leere StringList(da werden dann die gefilterten Wörter hineingeschrieben) und einen Deliminator (in meinem Fall ein ; )! Nur leider bekomme ich nie alle Wörter einer CSV-Zeile zurück, es fehlt immer das letzte Wort!
Hier der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure xxx(line:String;stringList:TStringList;deliminator:String); var nPos:Integer; Part:String; begin stringList.Clear; while (length(Line)>0) do begin nPos:=Pos(deliminator,Line); if nPos=0 then begin stringList.Add(Line); Line:=''; end else begin Part:=LeftStr(Line,nPos-1); Line:=RightStr(Line,length(line)-nPos-length(deliminator)+1); stringList.Add(Part); end; end; end; |
Ich hoffe, jemand kann mir helfen
Moderiert von
Tino: Delphi-Tags hinzugefügt