Einzelnen Beitrag anzeigen

OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zum x-ten: Listenindex außerhalb des gültigen Bereichs

  Alt 9. Jan 2022, 09:16
Delphi-Version: 10.4 Sydney
Hallo liebe Helfer,

ähnliche Fragen gibt es hier viele und dennoch habe ich nirgends eine Lösung gefunden:

Delphi-Quellcode:
procedure TForm1.btnReadClick(Sender: TObject);
var Dateipfad, Rest : String;
    i, j, ZAnz : Integer;
    AnzTage : Integer;
const SepNach = ';';
      SepVor = ',';
begin
  Daten := TStringList.Create;
  Dateipfad := 'D:\XXXXXX.CSV';
  Daten.LoadFromFile(Dateipfad);
  ledAnz.Text := IntToStr(Daten.Count);
// Kommas durch Semikola ersetzen und Punkt durch Kommas
  for i := 0 to Daten.Count - 1 do
    begin

  Edit4.Text := Daten[Daten.Count - 1];
Die Stringlist Daten hat die Länge Daten.Count. Also sollte ich in einer Iteration alle Elemente mit den Indizes 0 bis Daten.Count-1 erreichen. In der letzten Zeile des Codefragments lasse ich mir die letzte Zeile der Stringlist ausgeben. Wenn ich aber in der for-Schleife wie dargestellt Daten.Count - 1 benutze, bekomme ich den im Betreff genannten Fehler.
Wenn ich als Schleifenende aber Daten.Count - 2 nehme, gibt es keinen Fehler und als letzte Zeile wird mir (in einem Memofeld) die Zeile ausgegeben, die ich mir im Edit-Feld als Daten[Count-1] ausgegeben habe.

Ich fürchte, ich stehe auf dem Schlauch. Was übersehe/missverstehe ich da?

Oswald
  Mit Zitat antworten Zitat