Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [ComboBox] Problem mit ItemIndex (https://www.delphipraxis.net/105151-%5Bcombobox%5D-problem-mit-itemindex.html)

Aurelius 17. Dez 2007 08:07


[ComboBox] Problem mit ItemIndex
 
Hi DPler :hi:

Ich habe bei meinem Programm eine ComboBox mit Einstellungen. Hier soll der Nutzer auch eigene Einstellungen speichern können bzw. schon vorhanden ändern können.
Das ganze soll ganz einfach von statten gehen, d.h. einfach den Eintrag in der ComboBox auswählen und ändern, fertig. Nun habe ich aber das Problem dass, wenn man den Namen des Eintrags in der ComboBox ändert, der ItemIndex auf -1 gestellt wird. Die Optionen werden aber in einem Array of Record gespeichert, bei einem neuen Eintrag weise ich Array[ComboBox.ItemIndex].Option := .... zu. Das geht bei einem ItemIndex von -1 ja doppelt in die Hose. Zum einen fängt ein array ja bei 0 an, zum anderen funktioniert das Ändern bereits vorhandener Einträge nicht mehr (jedenfalls der Name).

Kann man das irgendwie umgehen? (ich hoffe ich habe mich verständlich ausgedrückt :stupid: )

DeddyH 17. Dez 2007 08:09

Re: [ComboBox] Problem mit ItemIndex
 
Wenn die händische Eingabe nicht erlaubt sein soll, auf z.B. csDropDown umstellen, ansonsten erst die Eingabe in den Items abspeichern.

TeronG 17. Dez 2007 08:15

Re: [ComboBox] Problem mit ItemIndex
 
Wie lässt du denn den User ändern?
Mach doch einfach nen Ändern/übernemen-Knopf bei dem du dir merkst welcher Itemindex das war.

Aurelius 17. Dez 2007 08:20

Re: [ComboBox] Problem mit ItemIndex
 
@ DeddyH: Händische Eingabe? :gruebel: Solltest du damit meinen dass der Nutzer in die ComboBox nichts reinschreiben darf? Wenn ja: bei mir geht das trotzdem noch.

@ Teron: Hm, das wäre eine Möglichkeit...

DeddyH 17. Dez 2007 08:42

Re: [ComboBox] Problem mit ItemIndex
 
Sry, ich meinte csDropDownList.

Aurelius 17. Dez 2007 08:45

Re: [ComboBox] Problem mit ItemIndex
 
OK. Aber der Nutzer soll ja gerade den text verändern können...

Zum Einlesen des Items: welche Option würde sich denn dafür anbieten? Da man das ganze ja auch per Tastatur auswählen kann und sich dann kein PopUp öffnet sollte man das Ganze doch im OnChange machen und als Bedingung if ItemIndex > -1 then ...

peschai 17. Dez 2007 09:04

Re: [ComboBox] Problem mit ItemIndex
 
Hallo

Delphi-Quellcode:
[ComboBox.ItemIndex].Option
Was hälst du davon, vom ItemIndex wegzugehen und den Combobox.Text zu benutzen:

Delphi-Quellcode:
i2 := ComboBox.Items.IndexOf(Combobox.Text)
if (i2>=0) then
  begin
    ...
  end;

Aurelius 17. Dez 2007 09:14

Re: [ComboBox] Problem mit ItemIndex
 
Und wie soll ich das Ganze dann so anpassen dass er den Eintrag, welcher ja "geupdatet" wird, auch ändert?

Muetze1 17. Dez 2007 10:01

Re: [ComboBox] Problem mit ItemIndex
 
Das der ItemIndex bei Veränderung zurück gesetzt wird, ist ja nun altbekannt und auch hier erkannt worden. Somit: warum sicherst du nicht den aktuellen ItemIndex, weist den neuen Text zu und dann setzt du wieder den alten ItemIndex?

Aber mal so nebenbei: wenn der Nutzer anfängt selbst einen Text einzugeben, dann hast du im Normalfall keinen oder einen falschen ItemIndex, wenn der eingegebene Text zu keinem Eintrag deiner ComboBox passt.

Aurelius 17. Dez 2007 10:20

Re: [ComboBox] Problem mit ItemIndex
 
Ich werds einfach mal versuchen ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz