Thread Tk Modul getOpenFile (2 answers)
Opened by maryl at 2010-08-11 18:03

maryl
 2010-08-11 18:03
#140569 #140569
User since
2010-08-11
11 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich schreibe ein script, bei dem man eine Datei auswählt,diese dann einliest und mit Zeilennummern versieht. Die Ausgabe dieser Datei,soll dann auch in eine von mir definierte Datei erfolgen. Klappt soweit auch alles, nur kann ich als festen Filetype weder bei getOpenFile noch bei getSaveFile ".txt" festlegen. Weiß jemand von Euch einen Rat?

Code (perl): (dl )
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
use strict;
use warnings;
use Tk;

my $mw = new MainWindow;
$mw->geometry("420x150");

my $input_frame = $mw->Frame()->pack(-fill => 'x');
my $output_frame = $mw->Frame()->pack(-fill => 'x');
my $process_frame = $mw->Frame()->pack(-fill => 'x');

$input_frame->Label(-text => '   Input:   ')->pack(-side => 'left');
my $inputfile_entry = $input_frame->Entry(-width => 50)->pack(-side => 'left');
$input_frame->Button(-text => ' suchen    ',-command => [\&getFile, 'INPUT', $mw, $inputfile_entry])->pack(-side => 'left');

$output_frame->Label(-text => '   Output:')->pack(-side => 'left');
my $outputfile_entry = $output_frame->Entry(-width => 50)->pack(-side => 'left');
$output_frame->Button(-text => '  definieren',-command => [\&getFile, 'OUTPUT', $mw, $outputfile_entry])->pack(-side => 'left');


my $listbox = $process_frame->Listbox(-height => 200)->pack(-fill  => 'both');
my $scroll = $listbox->Scrollbar(-command => [ 'yview', $listbox ]);
$listbox->configure(-yscrollcommand => [ 'set', $scroll ]);$scroll->pack(-side => 'right',              -fill => 'y',             );
$process_frame->Button(-text => 'Zeilennummerierung hinzufügen',-command => [\&addLinenumbers, $mw, $inputfile_entry, $listbox])->pack(-side => 'left');
$process_frame->Button(-text => 'Schreibe Ausgabedatei',-command => [\&writeFile, $mw, $outputfile_entry, $listbox])->pack(-side => 'left');
$process_frame->Button(-text => 'Script beenden',-command => sub { exit })->pack(-side => 'left');

MainLoop();


my @types = (["Textdatei", ['.txt']]);


sub getFile
        {
        my($action, $datAuswahl, $entry) = @_;
        my($filename)="";
        #my $filetypes = [ ['Textfiles', ['.txt'] ] ];
        if($action eq 'INPUT')
                {
                $filename = $datAuswahl->getOpenFile(-filetypes => \@types, -defaultextension => '.txt',-title => 'Select inputfile...');
        
        
        
        
        }
        elsif($action eq 'OUTPUT')      
                {
                $filename = $datAuswahl->getSaveFile(-filetypes => \@types, -defaultextension => '.txt',-title => 'Select outputfile...');
                }
        else    
                {       
                warn "getFile(), no action specified!\n";
                }
        if($filename ne '') 
                {
                $entry->delete(0, 'end');
                $entry->insert(0, $filename);
                }
        }

....



Danke schon mal

Grüße

Maryl

edit renee: code-Tags eingefügt
Last edited: 2010-08-11 18:06:26 +0200 (CEST)

View full thread Tk Modul getOpenFile