Index out of range

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Zet_Bonton
Beiträge: 39
Registriert: Di 7. Apr 2009, 17:11

Index out of range

Beitrag von Zet_Bonton »

Hallo Leute,

mein Program wirft folgenden Fehler raus. stringgrid index out of range cell[col=0, row=100].
Kann mir jemand den Fehler kurz erklären?

Danke im voraus

Zet

KOBOLD Messring GmbH
Beiträge: 155
Registriert: Mi 22. Aug 2007, 14:52
OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 65719 Hofheim am Taunus
Kontaktdaten:

Re: Index out of range

Beitrag von KOBOLD Messring GmbH »

Dann hast Du entweder weniger als 1 Spalte (also gar keine angelegt, eher unwahrscheinlich) oder - wahrscheinlicher - Dein Stringgrid hat weniger als 101 Zeilen (row=100, das fängt immer bei 0 an) und Du versuchst in die 101. Zeile (mit dem Index=100) einen Wert einzutragen (oder abzufragen).
Aus dem anderen Thread: "Wie löscht man eine Zelle". ¿Meintest Du Zelle oder Zeile?
Zelle: einfach Leerstring rein: StringGrid1.Cells [x, y] := '';
Zeile n löschen: von der (n+1). Position alle Einträge eins verschieben in einer Schleife
StringGrid1.Cells[x, n-1] := StringGrid1.Cells[x, n]; { Achtung bei den Grenzen, wenn's die 1. Zeile ist, dann gibt's keine (n-1).}
und dann StringGrid1.RowCount := Pred (StringGrid1.RowCount);

Zet_Bonton
Beiträge: 39
Registriert: Di 7. Apr 2009, 17:11

Re: Index out of range

Beitrag von Zet_Bonton »

Vorerst Danke für die Antwort,

ich hab den Fehler bereits schon gelöst, du hattest recht, die von mir gestellte Zeilenabfrage ist über den Zeilenintervall hinaus gegangen, daher die Fehlermeldung.
Ich hab schon Zelle gemeint, ich dachte es gebe was anderes ausser einen leeren String zu setzen. Aber gut wenns nicht anders möglich ist dann passt es schon.

Danke aber nochmals

Gruß Zet

Antworten