Hi ihr.
Ich weiß, es stört, wenn Leute Fragen stellen, ohne zu suchen, aber ich muß sagen: Ich habe gesucht und programmiert wie blöde, aber ernte nur Fehler. Ich habe hier im Forum zwar nach einiger Zeit eine Prozedur von Tino gefunden, aber damit komme ich einfach auch nicht klar.
Mein Problem:
Ich habe ein StringGrid mit 2 Spalten und bisher 5 Zeilen (die erste Zeile ist fix). Wenn ich nun einen Spieler eintragen will, der schon existiert, soll dieser gelöscht werden. Das klappt soweit ganz gut, jedoch will ich dann die leere Zeile auch löschen, sprich die Zeilen, die evtl. darunter sind, jeweils um einen nach oben ziehen.
Der Code sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TFischform.Reihen(Sender: TObject); var I, J, K:Integer; begin For I:=1 To NGrid.RowCount-1 Do If (NGrid.Cells[0,I]='') And (NGrid.Cells[1,I]='') Then Begin J:=I; Fischform.Caption:='Löschen aus Zeile: '+IntToStr(J); Break; End;
For K:=J To NGrid.RowCount-1 Do Begin NGrid.Cells[0,J]:=NGrid.Cells[0,J+1]; NGrid.Cells[1,J]:=NGrid.Cells[1,J+1]; End; NGrid.RowCount:=NGrid.RowCount-1; end; |
So sieht meine Tabelle aus, bevor ich die Prozedur aufrufe und
so sieht sie aus, nachdem die Prozedur beendet ist (mit dem Versuch, die Zeile S-S zu löschen). Ich finde einfach den Fehler nicht. Kann mir vielleicht jemand auf die Sprünge helfen? Ich wäre euch sehr dankbar.