Thread Checkbutton-Array: Werte in Array laden
(8 answers)
Opened by TheDHK at 2007-02-04 12:47
Hi,
ich erzeuge mit einer for-Schleife Checkbuttons: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 for my $i (1..int($checkbuttonzahl/3)) { # jetzt erstmal einen Frame erzeugen $frame = $page1->Frame(-background => 'sky blue') ->pack(-side => "top", -fill => "x", -expand => 1); # dann kann man die 3 nächsten Suchmaschinen eintragen for my $j (0..2) { $checkbuttons[($i-1)*3+$j] = $frame->Checkbutton(-text => $av_searches[($i-1)*3+$j], -font => '{Bimini} 12 {bold}', -background => 'sky blue', -activebackground => 'sky blue', -onvalue => (($i-1)*3+$j)+1, -command => sub { testus(); }, -variable => \$suchers[($i-1)*3+$j])->pack(-side => "left"); } } Wie ihr seht, übergebe ich mit -onvalue der -variable einen Wert. Wenn ein Checkbutton nicht aktiviert ist, wird 0 übergeben, da -offvalue nicht gesetzt ist. Und als Befehl wird testus(); aufgerufen. Folgendes Problem: Ich gebe mit testus(); mit print @suchers das Array aus. Dann erhalte ich ungefähr sowas (bei zwei aktivierten Checkbuttons): 0000000090001300 Ich will aber nun, dass die ganzen Nullen aus dem Array gestrichen werden, d. h. nur noch die Elemente "9" und "13" übrig bleiben. Wie könnte ich sowas realisieren? Die Schwierigkeit ist ja, dass das Array immer wieder aktualisiert werden muss, wenn beispielsweise der Anwender einen aktivierten Button deaktiviert. Danke für eure Hilfe. Gruß TheDHK |