Leser: 1
|< 1 2 3 4 >| | 32 Einträge, 4 Seiten |
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
#! /usr/bin/perl
use strict;
use warnings;
use Tk;
my ($input,$output);
my $mw = MainWindow->new();
$mw->Entry(-textvariable => \$input)->pack();
$mw->Entry(-textvariable => \$output)->pack();
$mw->Button(-command => \&save, -text => 'Speichern')->pack();
my $list = $mw->ScrlListbox()->pack();
MainLoop;
sub save{
my $counter = 1; # Counter für Zeilennummer
if(open(R_TXT,"<$input")){ # Datei zum Lesen öffnen
if(defined $output && open(W_TXT,">$output")){
while(my $line = <R_TXT>){ # Zeilenweise einlesen
$line = $counter." ".$line; # Zeilennummer vorne anfügen
print W_TXT $line;
$counter++;
}
close W_TXT;
$list->insert('end',"Speichern erfolgreich!");
}
else{
$list->insert('end',"Ausgabedatei nicht geöffnet!");
}
close R_TXT; # Filehandle schließen
}
else{
$list->insert('end', "Datei existiert nicht!");
}
}
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
#! /usr/bin/perl
use strict;
use warnings;
use Tk;
use Tk::ErrorDialog;
my ($input,$output);
my $mw = new MainWindow;
# Eingabefeld für Pfad der einzulesenden Datei:
$mw->Entry(-textvariable => \$input)->pack();
# Eingabefeld für Pfad, wo gespeichert werden soll
$mw->Entry(-textvariable => \$output)->pack();
# "Speichern"-Button
$mw->Button(-command => \&save, -text => 'Speichern')->pack();
# Listbox für Ausgabe, ob Speichern erfolgreich war
my $list = $mw->ScrlListbox()->pack();
MainLoop();
# Methode zum einlesen und speichern
sub save {
die "Eingangsdatei existiert nicht" unless defined $input and -f $input;
die "Ausgabedatei undefiniert" unless defined $output;
open(R_TXT, "<$input" ) or die $!;
open(W_TXT, ">$output") or die $!;
while (<R_TXT>) {
print W_TXT $. . ': ' . $_;
}
close W_TXT;
close R_TXT;
$list->insert('end',"Speichern erfolgreich!");
}
1
2
3
4
5
my $PathEntry = "PathEntry";
if (!eval { require Tk::PathEntry; 1 }) {
$PathEntry = "Entry";
}
$e = $mw->$PathEntry->pack;
$listbox->see("end");
QuoteJa. Leider ist Tk::FileEntry so alt, dass es nicht getOpenFile/getSaveFile verwendet, sondern das altertuemliche Tk::FileSelect. Vielleicht sollte jemand ein Update des Moduls machen...@Tk::FileEntry: Also so, wie ich es in meinem Vorschlag oben "zu Fuß" gelöst habe (da ist auch ein Durchsuchen-Knopf daneben)?
|< 1 2 3 4 >| | 32 Einträge, 4 Seiten |