Newsgroup: it.comp.lang.perl
Titolo: mi servirebbe un piccolo aiuto

Salve
premetto subito che non so programmare in perl, se non le basi,
a scapito di essere mal visto da qualcuno del NG, saro' sincero, non
ho intenzione di studiarmi qualche libro sul perl, almeno non al
momento.
dovevo fare qualche semplice modifica ad un sorgente perl, sono
riuscito, un po a tentoni e sfruttando le analogie con il C a fare
quasi tutto, mi manca solo un dettaglio
se qualche buon anima mi puņ dare una mano, penso per voi sia una cosa
banale, per me un po meno
il programma carica delle immagini da una cartella, questa e' la sub
sub read_images { # Read image dir into @images
  opendir(DIR, $imgpath) || die "$imgpath : $!";
  @images = readdir(DIR);
  shift @images;
  shift @images;
  closedir DIR;
}
e le visualizza in un menu' a tendina per la selezione
questa dovrebbe essere la parte di codice relativa
sub choose_type { # Change type top level widget - returns image file
  my($x,$y,$current)=@_;
  my($count,$cv,$type,$img,$i,$h,$w,$wmax,$hsum);
  my $space=4;
  $type=$main->Toplevel(-title=>"Choose type");
  $type->geometry("+$x+$y");
  $type->resizable(0,1);
  $type->transient($main);
  $x=$type->Scrolled('Canvas', -height => 300,
			       -scrollbars=>'osoe',
	            )
          ->pack(-fill => 'both', -expand => 1);
  $cv=$x->Subwidget("canvas");
  $hsum=0;
  $count=$space;
  $wmax=0;
  for $img (@images) {
    $i=$main->Photo(-file=>$imgpath.$img);
    $h=$i->height;
    $w=$i->width;
    $wmax= $w > $wmax ? $w : $wmax;
    $hsum+=$h;
    $y=$cv->Radiobutton(-image=>$i,
                        -height=>$h,
                        -value=>$img,
                        -variable=>\$current,
-command=>sub{$type->grabRelease;$type->destroy},
                       );
    $cv->createWindow($w,$count+int($i->height/2), -window => $y);
    $count=$count+$h+$space;
  }
  $x->configure(-width => $wmax+50,
                -scrollregion =>
[0,0,$wmax+50,$space+$hsum+$#images*$space]
	       );
  $type->update;
  $type->grab;
  $type->waitWindow;
  return $current;
}
quello che mi servirebbe e' che accanto all'immagine, venisse stampato
il nome del file da cui e' caricata, SEMPLICEMENTE QUESTO
grazie
ciao
			cesco

 il nome del file da cui e' caricata, SEMPLICEMENTE QUESTO
Hai omesso delle informazioni importanti quali:
- Su che piattaforma sviluppi (OS);
- Quale modulo utilizzi per l'interfaccia grafica (es: gtk-perl,
perl-tk, wxPerl, Win32::Gui, ecc..).
Purtroppo non riesco a riconoscere il tipo di modulo dal codice che hai
postato. Se puoi essere più preciso...
Ciao,
-- 
+--------+ ASCII ribbon campaign ( )
|  kral  |  - against HTML email  X 
+--------+              & vCards / \

postato. Se puoi essere più preciso...
l'unico modulo che (penso) sia utilizzato e' il perl-tk
riporto (se possono servire le intestazioni del programma)
use strict;
use Tk;
strict non ho idea di cosa sia
penso che vada modificato il codice di Radiobutton, ho cercato anche
nella documentazione, senza successo
io parto dall'idea che la modica da fare, conoscendo le perl-tk, sia
semplice; se sbaglio, per esempio e' da riscrivere tutta la sub, non
perderci tempo, non e' una cosa essenziale.
grazie dell'interessameto
se ti servono altre info, chiedi pure (anche e-mail)
ciao
				cesco

                       });
in:
     $y=$cv->Radiobutton(-image=>$i,
			 -text=>$img,
                         -height=>$h,
                         -value=>$img,
                         -variable=>\$current,                       
			 -command=>sub{$type->grabRelease;$type->destroy
                        });
Il codice NON è testato, quindi prova.
Spero di essere stato chiaro :)
PS: Io ti consiglierei di imparare il perl. Non solo è un gran
linguaggio (Come l'ha chiamato qualcuno "The Swiss Army Chainsaw"), ma
penso sia MOLTO utile, soprattutto se lavori sotto *NIX.


penso sia MOLTO utile, soprattutto se lavori sotto *NIX.
lo hanno anche definito "read only language" nel senso che fai cose
turche con poche linee di codice (es le reg exp) ma se non aggiungi
due pagine di commenti, piuttosto che ritoccare il codice stai prima a
riscriverlo
comunque hai ragione,  il perl e' sicuramente uno strumento utile e in
un futuro piů o meno prossimo dovro' studiarmelo
grazie ancora
ciao
			cesco