use Encode; #use warnings; use Getopt::Std; # für Auswertung der Startparameter use Tk; # Notwendig für GUI use Tk::DropSite; # Drag&Drop in das Pfadauswahlfenster use Tk::ROText; # Drag&Drop in das Pfadauswahlfenster my %opts; $opt=""; $infile=""; $overwrite=0; $unicode=0; my $withgui=0; my @lines; # Feld für Pfadeingabe my $mw; # MainWindow für GUI my $out_text; # Ausgabefeld für LOG my $gui_fname ="Pfad\\zur\\Datei"; my $gui_output ="Ausgabefeld\n"; # Startparameter abfragen getopts("og",\%opts); &toolLog("renum Tool Version $rev\n\n"); # Parameter auswerten foreach (keys %opts) { if (($_ eq "o") && ($opts{$_} eq 1)) {$overwrite=1;} if (($_ eq "g") && ($opts{$_} eq 1)) {$withgui=1;} } # Wenn keine Parameter übergeben werden Abbruch mit Hinweis if ($#ARGV==-1 && $withgui==0) { &toolLog("USE: renum.pl options datei\n"); die; } # Pfadparameter auswerten foreach (@ARGV) { $infile = $_; } # Prüfen ob mit GUI gestartet werden soll if ($withgui==1) { &doGUI(); exit(); } &INIopenfile($infile); &INIselector; ######################### # GUI # ######################### sub doGUI { $mw = MainWindow->new; $mw->title("Renum.pl"); $mw->geometry('500x240'); $mw->minsize(500,240); # Minimalgröße des Fensters: 500 x 200 ########### Hauptfenster ############## my $frame1 = $mw->Frame; $frame1->pack(-side => "top", -fill => "both", -expand => "1", -padx => "2m", -pady => "2m"); ########### Ausgabefenster ########### # Rahmen my $out_frm = $frame1->Frame(-borderwidth => 2, -relief => "ridge"); $out_frm->pack(-side => "top", -anchor => "n", -expand => "1", -fill => "both"); # Scrollbar $scrollbar = $out_frm->Scrollbar( ); # Textfeld $out_text = $out_frm->ROText(-width => 80, -height => 5, -fg => 'black', -bg => 'white', -yscrollcommand => ['set' => $scrollbar],); #-state => "disabled"); $out_text->insert('end', $gui_output); $out_text->pack(-padx => 5, -pady => 5, -expand => "1", -fill => "both"); $scrollbar->configure(-command => ['yview' => $out_text]); #$scrollbar->pack(-side => 'right', -fill => 'y'); MainLoop(); } ######################### # allgemeine Funktionen # ######################### sub toolLog { # LOG Ausgabe my $param = shift; print ($param); $out_text->insert('end', $param); }