Einzelnen Beitrag anzeigen

multipro

Registriert seit: 30. Apr 2010
Ort: Cursdorf, Thüringen
13 Beiträge
 
Delphi XE3 Ultimate
 
#1

selbstlernende ComboBox

  Alt 2. Jan 2014, 16:32
Hallo Leute,

jetzt ist es soweit, ich brauch mal einen Tip.
Mein Ziel ist eine ComboBox welche fehlende Einträge automatisch ergänzt und sich diese auch
merkt.

Was habe ich:

- eine Form mit einer ComboBox
- bei Anwendungsstart wird die Itemliste aus einer Textdatei befüllt
und der Itemindex steht auf -1

ComboBox1.Items.LoadFromFileFile('Cbox1Items.txt); //funktioniert

- vor dem Beenden der Anwendung schreibe ich die Liste natürlich wieder in die Datei

ComboBox1.Items.SaveToFile('CBoxItems.txt'); //funktioniert

- jetzt das Problem:
Um die Items zu ergänzen erfolgt vor dem Schreiben der Items in die Textdatei
folgendes:

if ComboBox1.ItemIndex = -1 then ComboBox1.Items.Add(ComboBox1.Text);

Das funktioniert einwandfrei, solange man in das Textfeld der ComboBox etwas schreibt, das
in der Itemliste nicht vorhanden ist (Itemindex=-1) oder man den Eintrag aus der Itemliste
"pickt" (Itemindex<>-1)
Schreibt man einen vorhanden Eintrag in das Feld, wird er trotz schon Vorhandensein in die
Itemliste übernommen und ist natürlich mehrfach vorhanden. Es liegt wohl daran, dass
der Itemindex auf -1 stehen bleibt, da nichts aus der Liste geholt wurde.
Um das zu bereinigen habe ich folgendes getan: (nach Eintrag suchen und Itemindex setzen)

ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(Combo Box1.Text);
if ComboBox1.ItemIndex = -1 then ComboBox1.Items.Add(ComboBox1.Text);

Aber leider funktioniert das auch nicht. Wo liegt der Fehler?
Vielleicht noch zur Ergänzung: Falls ComboBox1.Text='' ist, wird das Programm sofort
beendet (also ohne Items.Add und SaveToFile), da sich ja keine Änderungen ergeben haben.

Ach ja: Es ist Delphi XE3

Geändert von multipro ( 2. Jan 2014 um 16:35 Uhr)
  Mit Zitat antworten Zitat