• Publicidad

JComboBox en Perl-Tk

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

ok, entendido

Notapor Emerson » 2006-11-07 11:03 @502

Gracias por tu ayuda, pensé que eras programador en Perl::Tk. ¿Conoces a alguien que sepa programar bien en Perl::Tk que me pueda ayudar?.

Ahora tengo datos en un HList y quiero saber cuántas filas hay en ese HList, para meterlo fila por fila en una base de datos. Necesito saber eso, cómo recorrerlo y cómo saber qué cantidad de filas tiene ese HList para poder meterlo uno por uno.

Gracias..
Y disculpa todo lo malo.
MRSON
Emerson
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-02-16 08:39 @402

Publicidad

Notapor explorer » 2006-11-07 11:50 @534

Pues no, no conozco a nadie de forma directa. En este foro debe haber alguien más...

En cuanto a las filas del HList, una forma de hacerlo es usando el método info('children') que te devuelve las entradas superiores de la lista, pero luego deberás recorrer todas las entradas usando el mismo método, pero con info('next') e indicando como primer parámetro el nombre de la entrada raíz.

Supongamos que sea '/' la raíz de las entradas, luego con
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $h = '/'; print $h, "\n";
while ( $h = $hlist->info('next',$h) ) {
    print $h, "\n";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
pintaremos todas las entradas dependientes de la raíz. Con una variable podríamos contarlas, o meterlas en un array y, lo mismo, saber cuántas son.

Ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -l

use Tk;
use Tk::Label;
use Tk::HList;

# Creamos el HList
my $mw = MainWindow->new();
my $label = $mw->Label(-width=>15);
my $hlist = $mw->HList(
    -itemtype   => 'text',
    -separator  => '/',
    -selectmode => 'single',
    -browsecmd  => sub {
        my $file = shift;
        $label->configure(-text=>$file);
    }
);

# Le asignamos información
foreach ( qw(/ /home /home/ioi /home/foo /usr /usr/lib) ) {
    $hlist->add($_, -text=>$_);
}

# Empaquetado
$hlist->pack;
$label->pack;

# Listado de entradas
foreach $raiz ( $hlist->info('children') ) {
    print $raiz;

    $hijo = $raiz;
    while ( $hijo = $hlist->info('next',$hijo) ) {
        print $hijo;
    }
}

# Presentación
MainLoop;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados