![]() |
Re: Mehrere Listbox Einträge löschen
Zitat:
Wenn das letzte Element der Liste selektiert ist und gelöscht wird, dann ist in seinem Code danach i größer als ListBox.Items.Count. Dann hält die Schleife nicht an und es scheppert beim nächsten Schleifendurchlauf. :!: |
Re: Mehrere Listbox Einträge löschen
Hallo Ingo,
vielleicht hat dich nur die unglückliche Formatierung des Quelltextes irritiert. Nach dem Löschen des Elements wird der Schleifenzähler nicht erhöht und die Schleife damit aufgrund der erfüllten Abbruchbedingung beendet. Gruß Hawkeye |
Re: Mehrere Listbox Einträge löschen
Zitat:
aber egal, Hauptsache, das Problem ist gelöst. Gruß Pfoto |
Re: Mehrere Listbox Einträge löschen
Zitat:
Zitat:
Zitat:
Zitat:
Ihr habt Recht. Ich nehme alles zurück und behaupte das Gegenteil. :wall: Sorry, Jungs! Zitat:
//Edit: Khabarakhs Zitat vervollständigt (Stichwort: Fehler bei leerer Liste), um nicht noch mehr Verwirrung zu stiften. |
Re: Mehrere Listbox Einträge löschen
Nunja, Pfotos Code ist solange richtig, solange es mindestens ein Item gibt...
Bei einer leeren Liste fällt er mit der Funktion auf die Nase... Performater und schöner wär es so:
Delphi-Quellcode:
Weil, nur eine einzige Abfrage in der Methode durchgeführt wird und nicht 2 wie bei
Var i: Integer;
For i := Listbox1.Items.Count - 1 Downto 0 Do Begin If Listbox1.Selected[ i ] Then Listbox1.Items.Delete( i ); End; Pfoto... Edit: Und weil diese auch bei leeren Listen funktioniert... Viel Spass noch :zwinker: Bye Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz