Thx for your help folks, well my problem is not to get a variable depending on which checkbuttom was chosen, this i can do. My problem is, if the checkbuttom are "on" i need to get the entry variable,add a string to that variable and print it, and if checkbuttom are off the variable stay "blank", I was succeeded using "if" conditional and setting "onvalues", but i wanted to know if theres a way to do that without using "if". Theres main code:
#!/usr/local/bin/perl
use Tk;
use LWP::UserAgent;
use HTTP::Response;
#######main frame#######
my $mw = new MainWindow; # Main Window
$mw->geometry("600x450");
$mw->minsize(qw(200 200));
$mw->maxsize(qw(200 200));
$mw->title("SQLMAP Guix");
#####widgets positions###
my $frame = $mw -> Frame(-relief=>'raised',
-borderwidth=>1,
) ->pack(-side=>'top', -fill=>'x');
my $framemethod = $mw -> Frame(-relief=>'raised',
-borderwidth=>1,
) ->pack(-side=>'left',-anchor => 'nw');
my $frameproxy = $framemethod -> Frame(-relief=>'raised',
-borderwidth=>1,
) ->pack(-side=>'bottom',-anchor => 'nw');
################BUT Settings#####################
my $botaogo = $frame -> Button(-text => 'GO!', -command =>\&botaogo) -
+> pack(-side => 'left',
-expand => 1);
########Proxy Settings##########
my $labelproxy = $frameproxy -> Label(-text=>"\nProxy:") -> pack();
my $proxyentry = $frameproxy -> Entry(-width => 23,-textvariable=>\$pr
+oxyurl) -> pack();
my $chk = $frameproxy -> Checkbutton(-text=>"Use Proxy",-selectcolor =
+> green,
-variable=>\$radioproxy,-onvalue=> "on")-> pack();
$chk -> deselect();
MainLoop;
sub botaogo {
if (($radioproxy eq 'on' ) && ($proxyurl =~ "http")){
$radioproxy = "--proxy=$proxyurl";
}else{
$radioproxy = undef;
}
printf "$radioproxy\n";
}
This works, and it is ok! But how i said, my program has four more functions similar to that,and i imagined if theres other solution instead put alot of "ifs".
| [reply] [d/l] |
#!/usr/bin/perl
use Tk;
#######main frame#######
my $mw = new MainWindow; # Main Window
$mw->geometry("600x450");
$mw->minsize(qw(200 200));
$mw->maxsize(qw(200 200));
$mw->title("SQLMAP Guix");
#####widgets positions###
my $frame = $mw -> Frame(-relief=>'raised',
-borderwidth=>1,
) ->pack(-side=>'top', -fill=>'x');
my $framemethod = $mw -> Frame(-relief=>'raised',
-borderwidth=>1,
) ->pack(-side=>'left',-anchor => 'nw');
my $frameproxy = $framemethod -> Frame(-relief=>'raised',
-borderwidth=>1,
) ->pack(-side=>'bottom',-anchor => 'nw');
################BUT Settings#####################
my $botaogo = $frame -> Button(-text => 'GO!', -command =>\&botaogo) -
+> pack(-side => 'left',
-expand => 1);
########Proxy Settings##########
my $labelproxy = $frameproxy -> Label(-text=>"\nProxy:") -> pack();
my $proxyentry = $frameproxy -> Entry(-width => 23,-textvariable=>\$pr
+oxyurl) -> pack();
##################################
my $chk = $frameproxy -> Checkbutton(
-text=>"Use Proxy",
-selectcolor => green,
-variable=>\$radioproxy,
-onvalue=> "on",
-command => \&cb_call, ################
)-> pack();
###################################
$chk -> deselect();
MainLoop;
sub cb_call{
#put whatever logic you need here, to construct your string
$proxyurl = time. 'yeehah';
$proxyentry->update;
}
sub botaogo {
if (($radioproxy eq 'on' ) && ($proxyurl =~ "http")){
$radioproxy = "--proxy=$proxyurl";
}else{
$radioproxy = undef;
}
printf "$radioproxy\n";
}
| [reply] [d/l] |