Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Combobox (csDropDownList) (https://www.delphipraxis.net/203944-combobox-csdropdownlist.html)

kagi3624 9. Apr 2020 06:32

Combobox (csDropDownList)
 
Hallo, ich tue mich gerade mit der Combobox schwer. Die Bedingungen an die Box von meiner Seite aus:

- Man darf keine eigene Texte ins Feld schreiben (ist, denke ich, mit csDropDownList erfüllt)
- Ein übergebener String soll im Textfeld angezeigt werden, auch wenn er nicht mit einem Eintrag in der Liste übereinstimmt
- Wenn der übergebene String mit dem Eintrag übereinstimmt, soll dieser aus der Liste gewählt werden (nicht so wichtig, aber nice to have)

Habe versucht es irgendwie so zu lösen, aber der Text in der Box bleibt leer.

Code:
     if (cbxCountry.Items.IndexOf('someString') = -1) then
      cbxCountry.Items.Add('someString');
     cbxCountry.Items.IndexOf('someString');
Edit: Achso, wenn der String nicht übereinstimmt, soll er natürlich weider aus der Liste wieder raus. Hab gelesen, dass man irgendwie das immer an die erste Stelle mit dem Index 0 schreiben kann, aber wie es gehen soll, kP.

DeddyH 9. Apr 2020 06:48

AW: Combobox (csDropDownList)
 
Was soll
Zitat:

Delphi-Quellcode:
cbxCountry.Items.IndexOf('someString');

denn bewirken? Fehlt da nicht eine Zuweisung?

kagi3624 9. Apr 2020 06:55

AW: Combobox (csDropDownList)
 
Ja,
Code:
cbxCountry.ItemIndex := cbxCountry.Items.IndexOf('someString');
Jetzt wird es mir angezeigt, aber wie kann ich es am besten löschen. Ich möchte ja nicht, dass da immer wieder neue Einträge hinzugefügt werden.

zeras 9. Apr 2020 07:09

AW: Combobox (csDropDownList)
 
So wie du mit Add einen String hinzufügst, kannst du auch mit Delete einen String wieder löschen. Nimm dann wieder IndexOf, um den Indexe zu finden und lösche dann den Eintrag.

kagi3624 9. Apr 2020 07:16

AW: Combobox (csDropDownList)
 
Zitat:

Zitat von zeras (Beitrag 1461673)
So wie du mit Add einen String hinzufügst, kannst du auch mit Delete einen String wieder löschen. Nimm dann wieder IndexOf, um den Indexe zu finden und lösche dann den Eintrag.

Ja, aber wann mach ich das, onChange?

zeras 9. Apr 2020 08:11

AW: Combobox (csDropDownList)
 
Ich verstehe deine Logik nicht so recht.
Vielleicht erklärst du noch ein wenig mehr.
So wie ich das verstande habe willst du einen String anzeigen, auch wenn er nicht in der Liste ist, ihn aber auch gleich wieder löschen.

Kannst du nicht vorher schon prüfen, ob der String in der Lise ist und eine Meldung ausgeben, dass dieser nicht gefunden wurde?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz