• Publicidad

Función system() en windows

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Función system() en windows

Notapor asteriscos » 2006-01-15 18:54 @829

Hola,
Veo que todo el mundo usa perl en linux pero yo por desgracia, sólo sé usarlo en windows y bastante poco por cierto !!!
El caso es, que he desarroyado una pequéña aplicación, que va añadiendo líneas en un archivo de texto hosts.txt
Hasta aquí todo funciona bien. Mi problema es que, como el fichero hosts.txt va cambiando, necesito mostrar contínuamente en una pantalla el contenido actual de dicho archivo. Para ello estoy usando un windows XP y el notepad.
La verdad es que no tengo ni idea de como hacerlo. He probado con la función system() ejecutando un comando para abrir el fichero y unos segundos después otro para cerrarlo.
system ("hostscaidos.txt");
system ("tskill notepad");
La primera vez funciona bien, pero la segunda vez ya no se ejecuta, se queda esperando a algo y no se sigue ejecutando el script perl.
He leido en manuales etc.... que es normal que esto ocurra usando el comando system()
Lo que espero, es que alguien pueda indicarme como solucionar este problema ya que si no puedo presentar los resultados correctamente, no me sirve de nada todo lo que he hecho hasta ahora.
Gracias de antemano
asteriscos
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-01-15 18:42 @821

Publicidad

Re: Función system() en windows

Notapor explorer » 2006-01-16 06:46 @324

Es mucho mejor hacer un pequeño entramado con Perl::Tk, con una caja de texto. Leer cada pocos segundos el fichero de texto e ir metiendo las líneas en la caja de texto Tk. Así, no dependes de otros programas.

Incluso más fácil: en una ventana de comandos. Sólo tienes que leer periódicamente el fichero de texto y presentar los cambios directamente con un print.

Mira este mensaje para ver una forma de leer ficheros que van creciendo, por ejemplo.

Otra pista: http://www.perlmonks.org/index.pl?node_id=523414
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl user » 2006-01-16 10:18 @471

Tk!!!!!?

<sarcasm>Todavía existe?</sarcasm>
Le tendré que pedir consejos a mi abuelo de como usarlo.... :P

Caray... las cosas arcaicas dejenlas donde están... usar Tk es como agarrar espinas con la mano... ni te deja nada bueno, ni es muy agradable. Es mucho mas recomendable utilizar Gtk, WxWidgets o incluso QT.

Tanto recurso que hay en la red sobre dichos temas, cuestión de darle una meneada...

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Re: Función system() en windows

Notapor explorer » 2006-01-17 04:13 @217

En esta página tienes un ejemplo, el multilogwatcher. Puedes descargarlo y ver si se parece a lo que necesitas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor asteriscos » 2006-02-05 15:08 @672

Hola,

Ante todo, gracias por vuestra ayuda.
Al final, solucionar el problema ha sido más fácil de lo que yo pensaba.
He instalado un editor de texto ( evolvED ) que además de ayudarme a la hora de editar el programa, tiene la virtud, de que cada vez que se modifica el archivo que se ha abierto, se actualiza sólo, que es lo que yo necesitaba.

Joseba
asteriscos
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-01-15 18:42 @821


Volver a Intermedio

¿Quién está conectado?

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