Páginas: [1]
|
 |
|
Autor
|
Tema: Perl/Tk y salida Estandar (Leído 188 veces)
|
^TiFa^
Desconectado
Mensajes: 667
Need a Love Loan? Borrow some from me :)
|
Hola usando de ejemplo el siguiente codigo : #!/usr/bin/perl use strict; use Tk; use Tk::NoteBook;
my $ventana = MainWindow->new(); $ventana->minsize(qw(700 400)); $ventana->maxsize(qw(700 400)); $ventana->configure(-title => "Proyecto");
my $nota = $ventana->NoteBook(-background => 'white')->pack(-fill => 'both', -expand => 1); my $pestana = $nota->add('Uno', -label => "Uno")->pack(); my $pestana1 = $nota->add('Dos', -label => "Dos")->pack(); my $pestana2 = $nota->add('Tres', -label => "Tres")->pack();
my $frama = $pestana->Frame->pack(); $frama->Label(-text => " ")->pack(); my $texto = $frama->Scrolled('Text', -width => 80, -height => 20, -background => 'white')->pack(); $frama->Button(-text => "Ver", -borderwidth => 4, -relief => 'raised', -width => 20, -command => \&proceso)->pack(-side => 'left'); $frama->Button(-text => "Limpiar", -borderwidth => 4, -relief => 'raised', -width => 20, -command => \&proceso1)->pack(-side => 'right');
MainLoop();
sub proceso { my $a = system("ps aux > archivo.txt"); open(AA,"<archivo.txt"); my @b = <AA>; $texto->insert("end", "@b"); close(AA); };
sub proceso1 { system("rm archivo.txt"); $texto->delete('0.0', "end"); }; Mi objetivo es lograr (cosa que aun no se como) imprimir la salida estandar STDOUT de algun comando hacia el widget Text (texto), pero cuando intento digase con system("ps aux") el me imprime obviamente en la terminal que es el verdadero flujo de salida estandar STDOUT, y en el widget me imprime el valor que dicho comando devuelve, ya sea cero o uno... yo no quiero guardar en un texto primero la impresion de cierto comando y luego abrir ese texto he imprimirlo en mi widget, yo quiero saber si hay alguna via de dirigir la salida estandar a un widget texto.
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
^TiFa^
Desconectado
Mensajes: 667
Need a Love Loan? Borrow some from me :)
|
Nadie sabe como redirigir la salida estandar STDOUT a un widget de texto  Aunque sea en otro lenguaje que no sea Perl/Tk, pueden decirme si tienen una idea ya sea en C++/QT o C/GTK o el que sea, pero que sea en Linux o Unix claro... Realmente tengo interes de saber si es posible 
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
|
|
^TiFa^
Desconectado
Mensajes: 667
Need a Love Loan? Borrow some from me :)
|
Gracias  Esto era precisamente lo que andaba buscando : my $ventana = MainWindow->new(); $ventana->minsize(qw(300 300)); my $texto = $ventana->Text(-width => 20, -height => 10, -background => 'white')->pack(); my $comando = `ps aux`; $texto->insert("end", $comando); Supongo que con la funcion system no se puede  ya que system le dice que ejecute algo del sistema en la salida estandar del mismo sistema, no del interprete perl. Gracias.
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
|
Páginas: [1]
|
|
|
|