![]() |
Combobox beliebigen Wert löschen
Also ich habe vollgendes Problem:
Ich habe eine Edit-Komponente und eine Combobox mit Werte drinne. Ich möchte nun, dass wenn der eingebene Text der Edit-Komponente in der Combobox enthalten ist, dass dieser Wert gelöscht wird.
Delphi-Quellcode:
Funktioniert schonmal, aber nicht wie oben beschrieben.
form1.kunden_cb.Items.Delete(form1.kunden_cb.ItemIndex);
Wenn ich statt des "ItemIndex" einfach "text" einsetzte funktioniert es auch nicht. :wall: Help,Help, I need somebody's help :-) Danke |
Re: Combobox beliebigen Wert löschen
Ich würde es mit einer for-Schleife machen:
Delphi-Quellcode:
Itemindex gibt den Index des gerade markierten Wertes an.
for i:=0 to kunden_cb.Items.Count -1 do
begin if kunden_cb.items[i] = edit1.text then kunden_cb.Items.Delete(i); end |
Re: Combobox beliebigen Wert löschen
Es wird auch der aktuelle gelöscht. Den Index des gesuchten Textes kannst du mit .IndexOf() ermitteln
|
Re: Combobox beliebigen Wert löschen
@bigben37
Dein Code wird Probleme verursachen, falls das gesuchte Element tatsächlich in der Liste enthalten ist. Durch das Löschen des Elements verkürzt du die Liste. Bei FOR-Schleifen wird der Schleifenendwert vor dem Eintritt in die Schleife einmalig berechnet, du greifst also am Ende auf nicht mehr vorhandene Listenelemente zu. Beim Löschen sollte man eine solche Schleife deshalb immer rückwärts laufen lassen. Gruß Hawkeye |
Re: Combobox beliebigen Wert löschen
Danke Leute , klappt super
|
Re: Combobox beliebigen Wert löschen
@Hawkeye219:
Stimmt, das hab ich nicht bedacht, aber ich wusste auch nicht, dass es .IndexOf() gibt :oops: , damit gehts natürlich viel einfacher. :!: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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