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.