AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Problem mit dem Import aus einer csv-Datei in eine StringList
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Luca Haas · begonnen am 5. Mai 2020 · letzter Beitrag vom 6. Mai 2020
 
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

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

  Alt 5. Mai 2020, 14:02
Hallo zusammen,

ich sitze nun seit letzter Woche daran eine CSV-Datei einzulesen und diese in eine StringList zu schreiben.
Das Ganze benötige ich, um 6 Daten der Liste in einenen DataRecord zu schreiben, hier mein fehlerhafter Code:
Delphi-Quellcode:
var
  tfDatei: TextFile;
  sZInhalt: string;
  liste: TStringList;
  i: Integer;
  tempRecord: dataRecord;
begin
  if ((OpenDialog1.Execute()) and (OpenDialog1.Filename <> '')) then
  begin
    GanttChart1.BeginUpdate(); // Änderungen an der Oberfläche werden gemacht
    try
      liste := TStringList.Create();
      try
        AssignFile(tfDatei, OpenDialog1.Filename);
        Reset(tfDatei);
        i := 0;
        while not Eof(tfDatei) do
        begin
          liste := TStringList.Create;
          ReadLn(tfDatei, sZInhalt);
          liste.Delimiter := ';';
          liste.StrictDelimiter := True;
          liste.DelimitedText := sZInhalt;

          Inc(i); // Kopfzeile

          if i > 1 then // Datenzeilen
          begin //Hier teste ich mit Beispieldaten was auch funktioniert
            tempRecord.StartDate := StrToDateTime('01.01.2020');
            tempRecord.EndDate := StrToDateTime('03.01.2020');
            tempRecord.Duration := 120;
            tempRecord.Bez := 'Test';
            tempRecord.AuftragNr := 123312;
            tempRecord.AuftragPosNr := 1;
            tempRecord.ArbeitsplanPosNr := 1;

            (* // Sobald ich mit liste.Strings[] echte Daten nutzen möchte sütrzt das Programm ab
              tempRecord.StartDate := StrToDateTime(liste.Strings[14]);
              tempRecord.EndDate := StrToDateTime(liste.Strings[15]);
              tempRecord.Duration := StrToInt(liste.Strings[19]);
              tempRecord.Bez := liste.Strings[7];
              tempRecord.AuftragNr := StrToInt(liste.Strings[9]);
              tempRecord.AuftragPosNr := StrToInt(liste.Strings[10]);
              tempRecord.ArbeitsplanPosNr := StrToInt(liste.Strings[2]);
            *)


            csvRecords.Add(tempRecord); // csvRecords ist eine TList<dataRecord> und wurde bereits deklariert
          end;
        end;
      except
        MessageDlg('Est ist ein Fehler aufgetreten, der Prozess wird beendet.', mtError, [mbOK], 0);
      end;
    finally
      FreeAndNil(liste);
      CloseFile(tfDatei);
      GanttChart1.EndUpdate(); // Repaint
    end;
  end;
end;
Ich habe mich schon durch diverse Foren gelesen, allerdings habe ich es selbst damit nicht geschafft das Ganze zu lösen, also wäre es super wenn ich über diesen Weg nötige Hilfe finden könnte.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz