Entwickler-Ecke

Datenbanken - Überprüfen, ob Item im Index vorhanden ist


rob87 - Mi 05.09.07 11:42
Titel: Überprüfen, ob Item im Index vorhanden ist
Ich habe zwei veschachtelte for-Schleifen, welche mir den Inahlt eines TMenu in ein StringGrid schreiben.

Soweit, sogut. Nun hat meine zweite Spalte des Menüs nicht soviele Unterpunkte wie die Erste.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  for x := 0 to statistikmenue.MainMenu1.Items.Count -1 do begin  //Horizontale Schleife

    for y := 0 to Statistikmenue.MainMenu1.Items.Count -1 do begin  //Vertikale S.

        StringGrid1.Cells[x+1,y+1] := Statistikmenue.MainMenu1.Items[x][y].Caption;

    end;
  end;

Deswegen bekomme ich, sobald er beim letzten Wert in der Spalte angekommen ist, folgende Fehlermeldung:

ListenIndex überschreitet das Maximum.

Hat jemand ne Idee, wie ich des abfangen könnte. If-Abfrage? Wenn kein Wert enthalten, gehe zur nächsten Spalte.
Aber wie kann ich sowas abfragen??


Martin1966 - Mi 05.09.07 12:18

eventuell so:

Delphi-Quelltext
1:
2:
3:
4:
5:
  for x := 0 to statistikmenue.MainMenu1.Items.Count -1 do begin  //Horizontale Schleife
    for y := 0 to Statistikmenue.MainMenu1.Items[x].Count -1 do begin  //Vertikale S.
        StringGrid1.Cells[x+1,y+1] := Statistikmenue.MainMenu1.Items[x][y].Caption;
    end;
  end;


rob87 - Mi 05.09.07 13:38

Jo. Passt. Vielen Dank.