Si possono svolgere poche operazioni sia sulle directory che sui file:
+Directory
Creare una directory
Eliminare un directory
Aprire una directory (cioè spostarsi da una direcotry all'altra visualizzando anche i file)
+File
Creare un file
Eliminare un file
Vedere il source di un file
Dispne anche di un menu.....
Ecco il source:
- Codice: Seleziona tutto
#!/usr/bin/perl
use Tk;
use Cwd;
# Main Window
$main=MainWindow->new();
$main->minsize(930,399);
$main->maxsize(930,399);
$main->title("...:: Control Panel v.1.0 ::...");
$main->configure(-background=>'#000000');
#Menu
$menubar=$main->Menu();
$main->configure(-menu=>$menubar);
#Menu Buttons
$file=$menubar->cascade(-label=>"File", -underline=>0, -tearoff=>0);
$edit=$menubar->cascade(-label =>"Edit", -underline=>0, -tearoff=>0);
## File Menu ##
$file->command(-label=>"Clear Directory", -underline=>0,
-command=>sub { $txt_directory->delete('1.0','end'); } );
$file->command(-label=>"Clear File", -underline=>0,
-command=>sub { $txt_file->delete('1.0','end'); } );
$file->command(-label =>"See Current Directory", -underline => 0,
-command=>sub { $txt_directory->insert('end',"Your current directory is: \n", 'end',cwd, 'end',"\n \n"); } );
$file->separator();
$file->command(-label=>"Exit", -underline=>1,
-command=>sub { exit } );
## Edit Menu ##
$insert1=$edit->cascade(-label =>"Directory", -underline => 0, -tearoff => 0);
$insert1->command(-label=>"Author",
-command=>sub { $txt_directory->insert('end',"Author: The Big J0k3R\n"); } );
$insert1->command(-label =>"Web Site",
-command=>sub { $txt_directory->insert('end',"Web Site: http://bigjoker.altervista.org\n");});
$insert1->command(-label =>"Email",
-command=>sub { $txt_directory->insert('end',"Email: bigjoker.....\n"); } );
$insert1->command(-label =>"Insert All",
-command=>sub { $txt_directory->insert('end',"Author: The Big J0k3R\n");
$txt_directory->insert('end',"Web Site: http://bigjoker.altervista.org\n");
$txt_directory->insert('end',"Email: bigjoker.....\n");} );
$insert2=$edit->cascade(-label =>"File", -underline => 0, -tearoff => 0);
$insert2->command(-label=>"Author",
-command=>sub { $txt_file->insert('end',"Author: The Big J0k3R \n"); } );
$insert2->command(-label =>"Web Site",
-command=>sub { $txt_file->insert('end',"Web Site: http://bigjoker.altervista.org \n"); } );
$insert2->command(-label =>"Email",
-command=>sub { $txt_file->insert('end',"Email: bigjoker..... \n"); } );
$insert2->command(-label =>"Insert All",
-command=>sub { $txt_directory->insert('end',"Author: The Big J0k3R\n");
$txt_directory->insert('end',"Web Site: http://bigjoker.altervista.org\n");
$txt_directory->insert('end',"Email: bigjoker.....\n");} );
#Left Aera
$top=$main->Frame(-background=>'#000000'
)->pack(-side=>'top', -fill=>'x');
$left=$top->Frame(-background=>'#000000',
)->pack(-side=>'left', -pady=>2, -padx=>15);
$dir=$left->Label(-text=>'Directory',
-font=>'16',
-background=>'#000000',
-foreground=>'#ff0000')->pack(-anchor=>"n");
#Text Area
$txt_directory=$left->Scrolled('Text', -width=>60, -height=>20, -scrollbars=>'e')->pack ();
$txt_directory->insert('end',"Your current directory is: \n", 'end',cwd, 'end',"\n \n");
$name_directory=$left->Entry(-textvariable=>\$directory,
)->pack();
$button1=$left->Button(-text=>"Open",
-background=>"#000000",
-foreground=>"#9f9f9f",
-activebackground=>"#000000",
-activeforeground=>"#ff0000",
-command=>sub { chdir($directory) || $main->messageBox(-message=>"Directory /$directory not accessible!", -type => "Ok");
while ($files=glob('*')) {
$txt_directory->insert('end',"$files\n");
}
$txt_directory->insert('end',"Your current directory is: \n", 'end',cwd, 'end',"\n \n");
} )->pack(-side => "left");
$button2=$left->Button(-text=>"Delete",
-background=>"#000000",
-foreground=>"#9f9f9f",
-activebackground=>"#000000",
-activeforeground=>"#ff0000",
-command=>sub { rmdir($directory) || $main->messageBox(-message=>"Failed to remove $directory!", -type => "Ok") } )->pack(-side => "left");
$button3=$left->Button(-text=>"Create",
-background=>"#000000",
-foreground=>"#9f9f9f",
-activebackground=>"#000000",
-activeforeground=>"#ff0000",
-command=>sub { mkdir( $directory, 777) || $main->messageBox(-message=>"Failed to create $directory!", -type => "Ok") } )->pack(-side => "left");
#Right Aera
$right=$top->Frame(-background=>"#000000",
)->pack(-side=>'right', -pady=>2, -padx=>15);
$dir=$right->Label(-text=>'File',
-font=>'16',
-background=>'#000000',
-foreground=>'#ff0000')->pack(-anchor=>"n");
#Text Area
$txt_file=$right->Scrolled('Text', -width=>60, -height=>20, -scrollbars=>'e')->pack ();
$name_file=$right->Entry(-textvariable=>\$file,
)->pack();
$button4=$right->Button(-text=>"Source",
-background=>"#000000",
-foreground=>"#9f9f9f",
-activebackground=>"#000000",
-activeforeground=>"#ff0000",
-command=>sub { open(FILE, $file) || $main->messageBox(-message=>"Cannot open $file!", -type => "Ok");
@source=<FILE>;
close(FILE);
$txt_file->insert('end',"@source");
} )->pack(-side => "left");
$button5=$right->Button(-text=>"Delete",
-background=>"#000000",
-foreground=>"#9f9f9f",
-activebackground=>"#000000",
-activeforeground=>"#ff0000",
-command=>sub { unlink $file || $main->messageBox(-message=>"Failed to remove $file!", -type => "Ok")} )->pack(-side => "left");
$button6=$right->Button(-text=>"Create",
-background=>"#000000",
-foreground=>"#9f9f9f",
-activebackground=>"#000000",
-activeforeground=>"#ff0000",
-command=>sub{
$fox=$txt_file->get('1.0','end');
open FILE ,">>" ,"$file" || $main->messageBox(-message=>"Failed to create $file!", -type => "Ok");
print FILE $fox;
close FILE;
} )->pack(-side => "left");
$j=$main->Label(-text=>'By The Big J0k3R',
-font=>'8',
-background=>'#000000',
-foreground=>'#9f9f9f')->pack(-side=>'bottom');
MainLoop;
Ecco anche uno screen:
