AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Fehlermeldung: Listenindex überschreitet das Maximum(1)

Fehlermeldung: Listenindex überschreitet das Maximum(1)

Ein Thema von Jansteger · begonnen am 9. Nov 2013 · letzter Beitrag vom 9. Nov 2013
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 18:07
Die Datei hat keine 7 Zeilen, deshalb greift z.B. List[6] ins Leere.
Verwende einfach folgende Funktion:

Delphi-Quellcode:
// 1. Zeile eine Stringliste auslesen und Eintrag in Liste löschen
function GetFirstLine(list:TStrings):string;
begin
  if list.Count > 0 then
  begin
    result := list[0];
    list.Delete(0);
  end
  else
    result := 0;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  List: TStrings;
begin
  List := TStringList.Create;
  try
    if SaveDialog1.Execute then
      List.LoadFromFile(SaveDialog1.FileName)
    else
      Exit;

    Edit1.Text:=GetFirstLine(List);
    Edit2.Text:=GetFirstLine(List);
    Edit3.Text:=GetFirstLine(List);
    Edit4.Text:=GetFirstLine(List);
    Edit5.Text:=GetFirstLine(List);
    Edit6.Text:=GetFirstLine(List);
    Edit7.Text:=GetFirstLine(List);
  finally
    List.Free;
  end;
end;
PS: deine Vorgehensweise ist unsicher! Probier mal aus was passiert wenn in der Datei nur 5 Zeilen sind.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Fehlermeldung: Listenindex überschreitet das Maximum(1)

  Alt 9. Nov 2013, 19:27
Delphi-Quellcode:
// 1. Zeile eine Stringliste auslesen und Eintrag in Liste löschen
function GetFirstLine(list:TStrings):string;
begin
  if list.Count > 0 then
  begin
    result := list[0];
    list.Delete(0);
  end
  else
    result := 0;
end;
Nur der Richtigkeit halber, bei result := 0; würdest einen Fehler erhalten, weil 0 ein Integer ist, Result aber ein String.
Also Result := '0';
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz