#!/usr/bin/perl -w # Name : Perl/Tk Welcome Message # Author : Terrence Ma # Email : terrence@terrence.com # Web : http://www.terrence.com # Date : 07/30/2001 # License : GNU GPL - http://www.gnu.org/copyleft/gpl.html # Warranty : No Warranty # use lib use 5; use strict; use Tk; # init variables my($top, $question, $hello, $date); my($question_question, $question_entry, $question_button, $inname); my($hello_mess01, $hello_name, $hello_mess02, $outname); my($date_mess01, $date_time, $time); # procedure set message sub setmessage { $outname = ${$question_entry->cget("text")}; $time = scalar localtime; $hello_name->configure(text => $outname); $date_time->configure(text => $time); } # set top window $top = MainWindow->new(); # set frame question, hello, date $question = $top->Frame(relief => "groove", borderwidth => "2"); $hello = $top->Frame(); $date = $top->Frame(); # set frame question $inname = "Computer User"; $question_question = $question->Label(text => "Please enter your name : "); $question_entry = $question->Entry(text => $inname, width => "16", relief => "sunken"); $question_entry->bind("", \&setmessage); $question_entry->insert(0, $inname); $question_button = $question->Button(text => "Submit", command => \&setmessage); # set frame hello, date $outname = ${$question_entry->cget("text")}; $time = scalar localtime; $hello_mess01 = $hello->Label(text => "Hello"); $hello_name = $hello->Label(text => $outname); $hello_mess02 = $hello->Label(text => ", welcome to this application !"); $date_mess01 = $date->Label(text => "Time is now"); $date_time = $date->Label(text => $time); # draw frames $top->title("Perl/Tk Welcome Message"); $question_question->pack(side => "left"); $question_entry->pack(side => "left"); $question_button->pack(side => "left"); $hello_mess01->pack(side => "left"); $hello_name->pack(side => "left"); $hello_mess02->pack(side => "left"); $date_mess01->pack(side => "left"); $date_time->pack(side => "left"); $question->pack(side => "top"); $hello->pack(side => "top"); $date->pack(side => "top"); $question_entry->focus(); MainLoop();