Autor |
Beitrag |
110022
      
Beiträge: 287
XP SP2
Delphi 7
|
Verfasst: Mi 19.12.07 16:02
wie entferne ich mit nem edit feld nen listbox eintrag??
Das habe ich schon:
Delphi-Quelltext 1:
| listbox1.items.delete(edit1.text); |
aber das klappt nicht
wie gehts denn richtig
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Mi 19.12.07 16:06
(a) die Suche hier benutzen
(b) listBox.Delete + F1
(c) oder so Delphi-Quelltext 1: 2:
| listbox1.items.delete(ListBox1.Items.indexOf(edit1.text)); |
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
Martin1966
      
Beiträge: 1068
Win 2000, Win XP
Delphi 7, Delphi 2005
|
Verfasst: Mi 19.12.07 17:41
Den Code von Kroko würde ich noch um eine Prüfung erweitern:
Delphi-Quelltext 1: 2:
| if ListBox1.Items.indexOf(edit1.text) > -1 then listbox1.items.delete(ListBox1.Items.indexOf(edit1.text)); |
Lg, Martin
_________________ Ein Nutzer der Ecke
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mi 19.12.07 17:50
Prüfung ist gut, aber hier wird die Listbox 2 mal durchsucht, was eher suboptimal ist.
Daher: Ergebnis von IndexOf zwischenspeichern.
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mi 19.12.07 18:13
jakobwenzel hat folgendes geschrieben: | Prüfung ist gut, aber hier wird die Listbox 2 mal durchsucht, was eher suboptimal ist.
Daher: Ergebnis von IndexOf zwischenspeichern. |
Man kann es auch übertreiben! Wenn du eine 2GB große Liste hast, wirkt es sich vielleicht aus, aber so wie es aussieht, Wird der Code einmal pro Buttonklick ausgeführt, und die Liste wird auch keine Gigabyte groß sein.
|
|
Martin1966
      
Beiträge: 1068
Win 2000, Win XP
Delphi 7, Delphi 2005
|
Verfasst: Do 20.12.07 11:01
Yogu hat folgendes geschrieben: | Man kann es auch übertreiben! |
Das war auch mein erste Gedanke. 
_________________ Ein Nutzer der Ecke
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Do 20.12.07 11:43
Martin1966 hat folgendes geschrieben: | Yogu hat folgendes geschrieben: | Man kann es auch übertreiben! |
Das war auch mein erste Gedanke.  |
nein kann man nicht, wer klein so anfängt wird es immer so machen und bekommt vielleicht ne anstellung bei MS(siehe windoofs), wird aber kein guter Progger!
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 11:49
oder vllt hilft dir TListBox.DeleteSelected -> löscht alle markierten Einträge.
|
|
.#R4id
      
Beiträge: 90
Windows XP Prof.
CodeGear Delphi 2007
|
Verfasst: Do 20.12.07 18:09
Wie wollt ihr das Regeln, wenn es zwei mal den selben Eintrag gibt?
_________________ Delphi-Quelltext 1:
| if CopyAndPaste not avaible then Developer := Helpless; |
|
|
LorenzS
      
Beiträge: 128
MS-DOS, WIN 7, WIN 10
BP7.0, D3, D5
|
Verfasst: Do 20.12.07 18:29
|
|