perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




10.02.2012 / 21:00

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragMessage box mit Zeitbegrenzung
Seitenanfang
Hi,

ich habe leider nach längerer Suche nix Brauchbares zu dem Thema gefunden.

Ich suche eine Möglichkeit in Perl ein Eingabe-Fenster zu generieren, welches etwas abfragen soll und wenn keine Eingabe (Mouseklick, Return or whatever) erfolgt nach n Sekunden den Vorgabewert an Perl zurückgibt. Am Besten mit der Anzeige des Countdowns in dem Fenster.

Jeder kennt diese Fenster aus Windows und genau das suche ich, da muss es schon etwas geben, ohne dass ich in die GUI programmierung einsteigen muss.

Vielen Dank für die Hilfe.

Datum: 24.07.2008-10:46

Beitragre: Message box mit Zeitbegrenzung
Seitenanfang
Da du kein Wort darueber verloren hast, welches GUI-Toolkit du verwenden moechtest, habe ich ein Beispiel in Perl/Tk geschrieben, Perl's Quasi-Standard GUI-Toolkit.

Unter http://wiki.perl-community.de/bin/view/Wissensbasis/PerlTutorials findest du Tutorials zur GUI-Programmierung fuer Perl/Wx und Perl/Tk, viel einarbeiten muss man sich nicht um ein paar einfache GUI-Anwendungen zu schreiben.


#!/usr/bin/perl

use strict;
use warnings;

use Tk;
use Tk::Dialog;

my $value;
my $default_value = "Vorgabe";

my $main_window = Tk::MainWindow->new;

$main_window->Label(-text => 'Value:')->pack;
$main_window->Entry(-textvariable => \$value, -state => 'readonly')->pack;

my $button = $main_window->Button(-text => 'Set Value...')->pack;
$button->bind('<Button-1>' => \&show_dialog);

Tk::MainLoop();

sub show_dialog {
my $countdown = 15;
my $user_input;

my $dialog = $main_window->Dialog(-buttons => [qw(Ok Cancel)]);
$dialog->Entry(-textvariable => \$user_input)->pack;
$dialog->Label(-textvariable => \$countdown)->pack;

$dialog->repeat(1000 => sub { $dialog->Exit unless --$countdown; });

$value = ($dialog->Show eq "Ok") ? $user_input : $default_value;
}

Datum: 28.07.2008-16:51

-






-
-