Thread LaTex-Dokumente von Makros säubern. Hilfe gesucht! (9 answers)
Opened by Mick1987 at 2010-12-07 11:09

hlubenow
 2010-12-07 23:20
#143390 #143390
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
2010-12-07T11:27:43 Mick1987
Ich stelle mir das so vor:
Wenn ich das Programm geöffnet habe öffnet sich ein Fenster, in den ich den Dateipfad und den Zielordner eingeben muss. Danach erscheint ein Fenster, indem ich den Autor wähle (jeder Autor hat unterschiedliche Makros verwendet).
Danach startet das Programm und fängt an z.B. das Dokument auf Ö´s zu durchsuchen und ersetzt sie durch \''O...

Der Programmablauf ist normalerweise bei Konsolenprogrammen und GUI-Programmen sehr verschieden. Darum ist es nicht so einfach zu lernen, GUI-Programme zu schreiben.

Wenn das wirklich alles an Eingaben ist, kannst Du das GUI aber ausnahmsweise auch "ausklammern":
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
63
64
65
66
67
#!/usr/bin/perl

use strict;
use warnings;

use Tk;
use Cwd;

my @entries = getEntriesFromGUI();

foreach my $i (@entries) {
    print "$i\n";
}

sub getEntriesFromGUI {

    my @res = ();

    my $mw = Tk::MainWindow->new();
    $mw -> title("Latex-Macro-Changer");

    if ($^O eq "linux") {
        $mw -> optionAdd("*font", "Arial 16");
    } else {
        $mw -> optionAdd("*font", "Arial 10");
    }

    $mw -> geometry("+320+200");

    my $fr1 = $mw -> Frame();
    my $lab1 = $fr1 -> Label(-text => "Ordner");
    my $e1 = $fr1 -> Entry(-bg => 'white',
                           -fg => 'black');
    $e1 -> insert(0, Cwd::getcwd());
    $e1 -> focus();
    $lab1 -> pack(-side => 'left', -padx => 10);
    $e1 -> pack(-padx => 10);
    $fr1 -> pack(-pady => 10);

    my $fr2 = $mw -> Frame();
    my $lab2 = $fr2 -> Label(-text => "Datei");
    my $e2 = $fr2 -> Entry(-bg => 'white',
                          -fg => 'black');
    $e2 -> insert(0, "Dateiname");
    $lab2 -> pack(-side => 'left', -padx => 10);
    $e2 -> pack(-padx => 10);
    $fr2 -> pack(-pady => 10);

    my $fr3 = $mw -> Frame();
    my $lab3 = $fr3 -> Label(-text => "Autor");
    my $e3 = $fr3 -> Entry(-bg => 'white',
                           -fg => 'black');
    $e3 -> insert(0, "Name des Autors");
    $lab3 -> pack(-side => 'left', -padx => 10);
    $e3 -> pack(-padx => 10);
    $fr3 -> pack(-pady => 10);

    my $btn = $mw -> Button(-text => "OK",
                            -command => sub { @res = ($e1 -> get(),
                                                      $e2 -> get(),
                                                      $e3 -> get());
                                              $mw -> destroy(); });
    $btn -> pack(-anchor => 'se', -padx => 10, -pady => 10);
    $mw -> bind('<Return>', sub { $btn -> invoke} );
    Tk::MainLoop();
    return @res;
}

HTH
Last edited: 2010-12-09 19:30:02 +0100 (CET)

View full thread LaTex-Dokumente von Makros säubern. Hilfe gesucht!