Ich habe gerade mal versucht, das einzufügen, aber ich erhalte immer "list index out of bounds".
Irgendwie habe ich das noch nicht richtig verstanden...
Hier nochmal mein Stand:
Delphi-Quellcode:
procedure TForm1.ButtonEntfernenClick(Sender: TObject);
//Button entfernt markierte Einträge aus der Liste
var ii, zaehler: integer;
letzter : integer;
begin
if ListBoxAnzeige.Count<>0
then
begin
with ListBoxAnzeige
do
begin
for ii := -1 + Items.Count
downto 0
do
if Selected[ii]
then
begin
z:=Wurzel;
zaehler:=0;
letzter:=0;
while z<>
nil do
begin //Schleife, die Änderung in die Zeigerstruktur übernimmt
if Selected[zaehler]
then
begin
z^.naechster:=z^.naechster;
//.naechster
Dispose(z);
end;
z := z^.naechster;
inc(Zaehler);
end;
ButtonAnzeigenClick(Sender);
//Neue Liste anzeigen
letzter:=ii;
end;
if ListBoxAnzeige.Count<=letzter
then dec(letzter);
//Eintrag an der Stelle der letzten Löschung wird markiert
ListBoxAnzeige.Selected[letzter]:=true;
end;
end;
end;