1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
#!/usr/bin/perl
use strict;
use warnings;
use Win32;
use Win32::Process;
use Tk;
use Cwd;
require Tk::BrowseEntry;
my $mw = MainWindow->new(
-title => "bm",
-background => 'white',
);
$mw->minsize( 500, 500 );
my $frame = $mw->Frame()->pack(qw/ -pady 10 -padx 10 /);
my ( $argument1, $argument2 );
my $BrowseEntry1 = $frame->BrowseEntry(
-label => "name : ",
-variable => \$argument1,
)->pack(qw/ -side left -padx 10 /);
my $BrowseEntry2 = $frame->BrowseEntry(
-label => "n : ",
-variable => \$argument2,
-choices => [ "1", "2" ],
)->pack(qw/ -side right -padx 10 /);
my $BoutonLancementProg = $mw->Button(
-text => "lancer prog",
-command => [ \&voiture, \$argument1, \$argument2 ],
)->pack();
$mw->Button(
-text => "Lister des Dossier",
-command => sub {
my $Directory = $frame->chooseDirectory(
-title => "Selection des repertoires",
-mustexist => 1,
);
return unless defined $Directory;
$argument1 = $Directory;
},
)->pack();
MainLoop;
sub voiture {
my ( $Refargument1, $Refargument2 ) = @_;
my ( $argument1, $argument2 ) = ( ${$Refargument1}, ${$Refargument2} );
print "Argument 1 : : $argument1\n" if ( defined $argument1 );
print "Argument 2 : : $argument2\n" if ( defined $argument2 );
if ( defined $argument1 and defined $argument2 ) {
#system("voiture_v8.exe $argument1 $argument2");
sub ErrorReport{
print Win32::FormatMessage( Win32::GetLastError() );
}
my $ProcessObj;
Win32::Process::Create($ProcessObj,
"c:\\Windows\\system32\\cmd.exe",
"voiture_v8.exe $argument1 $argument2",
0,
NORMAL_PRIORITY_CLASS,
".")|| die ErrorReport();
}
else {
warn "Les 2 arguments ne sont pas ok\n";
}
return;
} |
Partager