Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - listbox eintrag entfernen
110022 - Mi 19.12.07 16:02
Titel: listbox eintrag entfernen
wie entferne ich mit nem edit feld nen listbox eintrag??
Das habe ich schon:
Delphi-Quelltext
1:
| listbox1.items.delete(edit1.text); |
aber das klappt nicht
wie gehts denn richtig
Kroko - Mi 19.12.07 16:06
(a) die Suche hier benutzen
(b) listBox.Delete + F1
(c) oder so
Delphi-Quelltext
1: 2:
| listbox1.items.delete(ListBox1.Items.indexOf(edit1.text)); |
Martin1966 - Mi 19.12.07 17:41
Den Code von Kroko würde ich noch um eine Prüfung erweitern:
Delphi-Quelltext
1: 2:
| if ListBox1.Items.indexOf(edit1.text) > -1 then listbox1.items.delete(ListBox1.Items.indexOf(edit1.text)); |
Lg, Martin
jakobwenzel - Mi 19.12.07 17:50
Prüfung ist gut, aber hier wird die Listbox 2 mal durchsucht, was eher suboptimal ist.
Daher: Ergebnis von IndexOf zwischenspeichern.
Yogu - Mi 19.12.07 18:13
jakobwenzel hat folgendes geschrieben: |
Prüfung ist gut, aber hier wird die Listbox 2 mal durchsucht, was eher suboptimal ist.
Daher: Ergebnis von IndexOf zwischenspeichern. |
Man kann es auch übertreiben! Wenn du eine 2GB große Liste hast, wirkt es sich vielleicht aus, aber so wie es aussieht, Wird der Code einmal pro Buttonklick ausgeführt, und die Liste wird auch keine Gigabyte groß sein.
Martin1966 - Do 20.12.07 11:01
Yogu hat folgendes geschrieben: |
Man kann es auch übertreiben! |
Das war auch mein erste Gedanke. ;-)
Kroko - Do 20.12.07 11:43
Martin1966 hat folgendes geschrieben: |
Yogu hat folgendes geschrieben: | Man kann es auch übertreiben! |
Das war auch mein erste Gedanke. ;-) |
nein kann man nicht, wer klein so anfängt wird es
immer so machen und bekommt vielleicht ne anstellung bei MS(siehe windoofs), wird aber kein guter Progger!
Jakob Schöttl - Do 20.12.07 11:49
oder vllt hilft dir TListBox.DeleteSelected -> löscht alle markierten Einträge.
.#R4id - Do 20.12.07 18:09
Wie wollt ihr das Regeln, wenn es zwei mal den selben Eintrag gibt?
LorenzS - Do 20.12.07 18:29
So:
Delphi-Quelltext
1: 2:
| While ListBox1.Items.indexOf(edit1.text) > -1 do listbox1.items.delete(ListBox1.Items.indexOf(edit1.text)); |
Und für GByte Anwendungen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Var Index:Integer;
Index:=ListBox1.Items.indexOf(edit1.text); While I > -1 do begin Listbox1.items.delete(Index); Index:=ListBox1.Items.indexOf(edit1.text); end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!