Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Editfeld mit Dropdownmenü

  Alt 24. Dez 2009, 14:23
if ((EntryValue = '') or (Pos(EntryValue, Combobox.Text) > 0)) then Das bedeutet, wenn EntryValue leer ist ODER einen Teilstring enthält, wird EntryValue in die ComboBox eingefügt. Wieso sollte ein Leerstring in die ComboBox eingefügt werden? Das passiert somit auch bei jedem Versuch, aus der ini zu lesen, der fehlschlägt, da der Standardwert ein Leerstring ist.
Es ist imho auch Quatsch, in Pos() den Inhalt der ComboBox zu vergleichen. Denn diese leerst du und füllst sie anschließend. Du musst natürlich mit deinem Suchbegriff (Edit.Text) vergleichen.

Lasse dir mal EntryValue ausgeben.

Zugegeben, ich habe "!=" im Code geschrieben. In Delphi heißt es "<>", also:

if ((EntryValue <> '') and (Pos(EntryValue, MyEdit.Text) > 0)) then Oder hier:
showmessage(inttostr(entrynum)+entryvalue); // gibt immer "3Bert" aus Natürlich gibt das immer "3Bert" aus, da du die Ausgabe nach Ablauf der Schleife machst. Damit wird immer der letzte Wert ausgegeben. Wenn du das innerhalb der Schleife aufrufst, sieht das schon anders aus.
  Mit Zitat antworten Zitat