Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Leer Items aus Combobox löschen
Cyberbob - Di 01.10.02 18:19
Titel: Leer Items aus Combobox löschen
HI, ich möchte während der Laufzeit die Combobox "reinigen", also alle einträge die nur leer sind entfernen, wie geht das?
danke
--
Live long and proper, oh and don't use AOL ;-)
Delete - Di 01.10.02 18:25
Combobox-Inhalt mit einer while-Schleife durchgehen und jeden leeren Item löschen - fertig.
Cyberbob - Di 01.10.02 18:33
| Luckie hat folgendes geschrieben: |
| Combobox-Inhalt mit einer while-Schleife durchgehen und jeden leeren Item löschen - fertig. |
und das nun bitte für mich als Quelltext :-) damit wäre mir dann sehr geholfen... weiß nämlich cniht wie ich leeritems erkenne :-(
Delete - Di 01.10.02 18:35
Mit if prüfen.
Cyberbob - Di 01.10.02 18:40
| Luckie hat folgendes geschrieben: |
| Mit if prüfen. |
ähh luckie, geht das etwas präziser??? {:-) da bekomme ihc ja graue Haare mit meinen 18 Jahren..
If combobox1.items= ' ' geht nicht....
Delete - Di 01.10.02 18:43
*grrrr*
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin i := 0; while i < Listbox1.Items.Count do begin if Listbox1.Items.Strings[i] = '' then Listbox1.Items.Delete(i); Inc(i); end; end; |
Und wenn du mir jetzt sagst dass, das du es für eine Combobox brauchst, dann setzt es was.
Christian S. - Di 01.10.02 18:48
Ähm, ich glaube, das funktioniert nicht. Wenn Du zwei leere Items hintereinander hast, wird er das Zweite nicht löschen. So könnte es gehen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| VAR i : INTEGER; begin i:=combobox1.items.count; while i >= 0 do begin if ComboBox1.Items[i] = '' then ComboBox1.Items.Delete(i); dec(i); end; |
MfG,
Peter
Delete - Di 01.10.02 18:51
Und bei dir kommt ein EStringListError.
Delete - Di 01.10.02 18:56
So gehts:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin i := 0; while i < Listbox1.Items.Count do begin if Listbox1.Items.Strings[i] = '' then Listbox1.Items.Delete(i) else Inc(i); end; end; |
Christian S. - Di 01.10.02 18:56
:oops:
Bei mir kam er nicht, aber eigentlich muss er kommen. Natürlich muss es bei mir am Anfang Count-1 heißen.
MfG,
Peter
Christian S. - Di 01.10.02 18:58
Hab Deinen Code zu spät gesehen!
Cyberbob - Di 01.10.02 19:17
| Luckie hat folgendes geschrieben: |
*grrrr*
Und wenn du mir jetzt sagst dass, das du es für eine Combobox brauchst, dann setzt es was. |
lol, danke das war genau das was ich brauchte... danke für deine Geduld, das nun auf meine Combobox anwenden schaffe ich gerade noch alleine. Also nochmal thx
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!