Forum: Object-Pascal / Delphi-Language
Delphi
by Nogge,
23. Apr 2006
Auch das delete von StringLists oder Lists verschiebt alle unten stehenden Daten eine Zeile nach oben, wenn Du Dir mal die Klassen anguckst:
// TStringList
if Index < FCount then
System.Move(FList^, FList^,
(FCount - Index) * SizeOf(TStringItem))
// TList
if Index < FCount then
System.Move(FList^, FList^,
(FCount - Index) * SizeOf(Pointer));
Das einzige, was Du...
Forum: Object-Pascal / Delphi-Language
Delphi
by Nogge,
23. Apr 2006
Was genau willst du denn?
Ich sehe darin kein Problem, sondern eher die Lösung. Wohin soll der Inhalt der unteren Rows denn sonst verschoben werden?
Forum: Object-Pascal / Delphi-Language
Delphi
by Nogge,
10. Apr 2005
Der "freie Mann" hatte auch unrecht, da man RowCount gar nicht auf 0 setzen kann. Aber ich habe das Wort "löschen" so verstanden, dass es für das Auge entfernt werden sollte. Somit wäre es dann ja egal, ob die Einträge noch vorhanden sind oder nicht.
Forum: Object-Pascal / Delphi-Language
Delphi
by Nogge,
10. Apr 2005
Was meinste denn mit der "falschen" Procedure?
Forum: Object-Pascal / Delphi-Language
Delphi
by Nogge,
10. Apr 2005
Ich hatte mal genau das gleiche Problem und habe mir aus diesem Grund diese Procedure geschrieben:
Procedure StringgridDelete(Stringgrid:TStringGrid; Index:Cardinal);
var FixedRows,i:integer;
begin
if Index<Stringgrid.RowCount then
begin
FixedRows:=Stringgrid.FixedRows;
if Stringgrid.RowCount=FixedRows+1
then Stringgrid.Rows.Clear