Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: ComboBox.ItemIndex liefert falsche Ergebnisse

  Alt 12. Apr 2017, 08:22
einen Wert kleiner 0, obwohl in der Combobox eindeutig was drin steht
< 0 oder genauer -1 bedeutet "nichts ausgewählt", also kein Items ist selektiert.

Und nur weil etwas drin steht, muß noch lange nichts selektiert sein.
Wenn man "Freitext" erlaubt (csDropDown oder csSimple), dann wird eben nicht automatisch selektiert, nur weil "zufällig" irgendein Item (es könnten auch mehrere sein und das weiß Delphi/VCL/Windows nicht) mit dem .Text übereinstimmt.

Also entweder du mußt dafür sorgen, dass ein Item ausgewählt wird, wenn du nur auf ItemIndex zugreifst.
Delphi-Quellcode:
DeineComboBox.ItemIntex := DeineComboBox.Items.IndexOf(DeineComboBox.Text);

// oder, damit ausversehn gelöscht werden könnte, falls kein Item gefunden wird

i := DeineComboBox.Items.IndexOf(DeineComboBox.Text);
if i >= 0 then
  DeineComboBox.ItemIntex := i;
bzw. statt DeineComboBox.ItemIndex eben DeineComboBox.Items.IndexOf(DeineComboBox.Text) zum Auslesen verwenden.

Oder csDropDownList.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat