Thread $listbox -> delete(): listbox Perl tk (5 answers)
Opened by nanook at 2004-08-23 22:40

master
 2005-09-23 13:14
#42557 #42557
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Hatte einen ähnlichen Code zum Löschen.
In Verbindung mit einer Mehrfachauswahl-Listbox.

Klappte aber nicht, da der "delete" jedesmal die index wieder ändert.

Beispiel-liste:
0 - A
1 - B
2 - C
3 - D

Übergibt man die beiden Index (0,3) zum löschen, passiert folgendes.

1. Eintrag mit index 0 wird gelöscht. Liste aktualisert und index neu verteilt. die Liste sieht jetzt so aus:

0 - B
1 - C
2 - D

2. In der Schlaufe kommt jetzt index 3 dran.. doch den gibt es  nicht mehr..  obwohl wir also index 0 und 3 löschen wollten, wurde nur 0 gelöscht.

ich habe das problem so gelöst, in dem ich die Liste mit den Index umkehre..

zuerst die höchten zulöschenden.. und dann runter..
vorher gab es ein Chaos und es wurde nur die hälfte gelöscht, jetzt klappts wunderbar...

Code: (dl )
1
2
foreach my $element(reverse(sort($listbox->curselection()))) 
{$listbox{'liste'}->delete($element);}
\n\n

<!--EDIT|master|1127467067-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;

View full thread $listbox -> delete(): listbox Perl tk