elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Perl/Tk y salida Estandar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Perl/Tk y salida Estandar  (Leído 3,425 veces)
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Perl/Tk y salida Estandar
« en: 1 Junio 2008, 00:54 am »

Hola usando de ejemplo el siguiente codigo :

Código:
#!/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

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Perl/Tk y salida Estandar
« Respuesta #1 en: 6 Junio 2008, 22:45 pm »

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  :huh:


En línea

sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Perl/Tk y salida Estandar
« Respuesta #2 en: 7 Junio 2008, 00:11 am »


        set pipe [open |cat.exe r+]
        fileevent $pipe readable .stderr.processing.

        set process [open "|process.exe 2>@$pipe" r+]
        fileevent $process readable .stdout.processing.

http://wiki.tcl.tk/880

Perl:TK - standard output to text widget
http://www.perlmonks.org/?node_id=332324

Saludos!!
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Perl/Tk y salida Estandar
« Respuesta #3 en: 7 Junio 2008, 17:47 pm »

Gracias  :D

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Reaolucion estandar!
Dispositivos Móviles (PDA's, Smartphones, Tablets)
poxomata 0 2,307 Último mensaje 6 Junio 2011, 12:57 pm
por poxomata
Error al redireccionar salida estandar a un fichero.
Programación C/C++
SARGE553413 2 2,872 Último mensaje 26 Enero 2014, 00:49 am
por SARGE553413
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines