Hali!
Perl gtk2-ben írok egy progit, amiben megtalálható a következő részlet:
my @cimkek=('Elso','Masodik','Harmadik','Negyedik','Ötödik');
my @mezok;
my $keret=Gtk2::VBox->new(0,2);
...
for(my $i=0;$i <= $#cimkek;$i++){
my $cimke=Gtk2::Label->new($cimkek[$i]);
$keret->pack_start($cimke,0,1,0);
$cimke->show;
$mezok[$i]=Gtk2::Entry->new;
$keret->pack_start($mezok[$i],0,1,0);
$mezok[$i]->show;
$mezok[$i]->signal_connect('key-press-event'=>sub{
print $i."\n"; ####
&fuggvenyem($i,...);
});
}
Szoval letennék egy függőleges keretbe egymás alá címkéket és beviteli mezőket (entry), és az entry-k adatait egy közös függvénnyel dolgoznám fel.
Én azt szerettem volna elérni, hogy a függvény meghívásakor a $i paraméterben az éppen módosított entry sorszáma adódjon át. (Ez per pillanat 0..4 lehet) Ehelyett, a ####-el jelölt print utasítás szerint, meghíváskor a for ciklus kilépési értéke (5) adódik át a függvénynek. Valakinek valami tipp, hogy tudnám kikényszeríteni azt, amit eredetileg szerettem volna?
Kösz: Böhi
- 991 megtekintés
Hozzászólások
Tomb feldolgozasara miert nem a foreach ciklust hasznalod?
foreach my $i ( 0 .. $#cimkek ) {
}
- A hozzászóláshoz be kell jelentkezni
Kösz!
Bár nem értem így miért és úgy miért nem, de működik.
- A hozzászóláshoz be kell jelentkezni