Einzelnen Beitrag anzeigen

Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#22

AW: Problem mit dem Import aus einer csv-Datei in eine StringList

  Alt 5. Mai 2020, 16:28
@Luca Haas

Ich habe deinen Code nur grob überflogen, und vielleicht wurde das bereits angesprochen (ich habe nicht alle Beiträge gelesen), oder du willst eine andere Lösung, aber warum der Aufwand? Eigentlich ist das Importieren eine CSV-Datei in der Regel Pillepalle. Die Technik beherrscht TStringList von Haus aus. Wobei ganz sauber wird der Import wenn die Felder in Anführungszeichen gesetzt sind.

Jetzt mal auf die Schnelle:

Delphi-Quellcode:
var
  slDatei,
  slDatensatz: TStringList;
  i, k: Integer;
begin
  slDatei := TStringList.Create;
  slDatensatz := TStringList.Create;
  try
    slDatei.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Adressen.csv');
    slDatensatz.Delimiter := ';';
    for i := 0 to slDatei.Count - 1 do
    begin
      slDatensatz.DelimitedText := slDatei[i];

      for k := 0 to slDatensatz.Count - 1 do
        ShowMessage(slDatensatz[k]);
    end;
  finally
    slDatei.Free;
    slDatensatz.Free;
  end;
end;
Beispieldatei "Adressen.csv"

Code:
"Anrede";"Vorname";"Nachname";"Fima";"Adresse 1";"PLZ";"Ort"
"Frau";"Liselotte";"Müller";"Maier GmbH";"Schwetzingerstr. 7";"81234";"München"
"Herr";"Peter";"Becker ";"Hochbau AG";"Lustigstraße 2";"12345";"Berlin"

In der For-k Schleife muss man die Felder nur noch richtig zuordnen.
  Mit Zitat antworten Zitat