🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
1 messages
1 total messages Started by piecia aka draco Thu, 06 Oct 2011 17:00
Jak =?iso-8859-2?b?cHJ6ZXOzYeY=?= 'dowolny klawisz' do komendy
#51200
Author: piecia aka draco
Date: Thu, 06 Oct 2011 17:00
74 lines
1780 bytes
Witam
Obudowuj� polecenie udp-sender (http://udpcast.linux.lu/) za pomoc�
interfejsu Curses:UI.
Nie wiem za bardzo jak obej�� gdy program czeka na wci�ni�cie dowolnego
klawisza aby wys�a� dane.
Chcia�bym aby naci�ni�cie 'dowolnego klawisza' odbywa�a si� przez
naci�ni�cie odpowiedniego przycisku i �eby program 'nie reagowa�' na
wciskane klawisze klawiatury.
Co do drugiego to udp-sender ma opcj� --nokbd ale w�wczas po stronie
klienta, czyli udp-receiver musia�bym wciska� klawisz a wola�bym to
zrobi� po stronie serwera.
Poni�ej wystarczaj�cy fragment do testowania. Jakby kto� m�g� mnie
nakierowa� co przeczyta�, bo aktualnie nie wiem z kt�rej strony si� do
tego zabra�.
#v+
#!/usr/bin/perl
use strict;
use warnings;
use Curses::UI;
my $cui = new Curses::UI(
	-clear_on_exit => 1,
);
my $window = $cui->add(
	'window','Window',
	-padtop => 1,
);
my $viewer = $window->add(
	'viewer','TextViewer',
	-border => 1,
	-height => $window->height - 10,
);
my $button = $window->add(
	'button','Buttonbox',
	-y => -1,
	-x => 1,
	-buttons => [
		{
			-label => 'Prepare',
			-onpress => \&execute,
			-shortcut => 'p',
			-value => 'prepare',
		},
		{
			-label => 'Send',
			-onpress => \&execute,
			-shortcut => 's',
			-value => 'send',
		}
	]
);
sub execute {
	my $this = shift;
	my $value = $this->get;
	for($value){
		if(/prepare/){
			my $command = "udp-sender --file file 2>&1 |";
			open(IN,$command);
			while( defined( my $line = <IN>) ){
				chomp($line);
				$viewer->text($viewer->text.$line."\n");
				$viewer->draw;
			}
		}elsif(/send/){
			#wy�lij dane
		}
	}
}
$cui->set_binding(sub{exit},"\cq");
$cui->mainloop;
#v-
--
piecia aka dracorp
pisz na: piotr kropka rogoza at wp kropka eu

Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads