Thread Übersetzungs-GUI 2 - Mein Programm: bin am Verzweifeln (22 answers)
Opened by life_heart at 2007-06-03 14:46

life_heart
 2007-06-03 14:46
#46387 #46387
User since
2007-05-30
12 Artikel
BenutzerIn
[default_avatar]
Hallo, alle zusammen!

Hier ist mal mein Programm:

Code: (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/usr/bin/perl

use strict;
use warnings;
use Tk;

my $input = 'noname.pl';

# Hauptfenster
my $nw = MainWindow->new();

# Titel des Hauptfensters
$nw->title ('Man Machine Interfaces II - UE - BSP 2');

# Menü
my $mbar = $nw->Menu();
$nw->configure (-menu => $mbar);
my $file = $mbar->cascade (-label => "File", -underline => 0);
$file->command (-label => "New", -command => [\&neu, "new"], -accelerator => 'Crtl-N', -underline => 0);
$file->command (-label => "Open", -command => [\&open, "open"], -accelerator => 'Crtl-O', -underline => 0);
$file->command (-label => "Save", -command => [\&save, "save"], -accelerator => 'Crtl-S', -underline => 0);
$file->separator();
$file->command (-label => "Exit", -command => [$nw => 'destroy'], -accelerator => 'Crtl-B', -underline => 0);
my $do = $mbar->cascade (-label => "Do", -underline => 0);
$do->command (-label => "Translation" -command => sub {translate}, -accelerator => 'Crtl-T', underline => 0);

# Text-Widget
my $In = $nw->Text (-wrap => 'none')->pack;
my $Out = $nw->Text (-wrap => 'none')->pack;

# Dictionary-Listbox
my $Dict = $nw->Listbox()->pack (-side => 'top', -expand => 1, -fill => 'both');
$Dict->insert("end", "the - das");
$Dict->insert("end", "sea - meer");
$Dict->insert("end", "is - ist");
$Dict->insert("end", "blue - blau");

MainLoop();

sub file {
} # sub file


sub neu {
my $tw = $nw->Toplevel(-title => 'New');
$tw->Label(-text => "Name of the File: ")->pack();
my $in = $tw->Entry(-textvariable => \$input)->pack();
$in->bind('<Return>', [\&create, $tw]);
} # sub neu


# Erzeugen einer neuen Datei
sub create {
CORE::open (IFILE, ">> $input") or die "can't create '$input':$!\n";
close IFILE;
$_[1]->destroy(); #Fenster wieder löschen
} # sub create


sub open {
my $tw = $nw->Toplevel(-title => 'Open');
$tw->Label(-text => "Open which File: ")->pack();
my $in = $tw->Entry(-textvariable => \$input)->pack();
$in->bind('<Return>', [ \&read, $tw ]);
} # sub open


# Datei zum Lesen und Schreiben Öffnen
sub read {
CORE::open (IFILE, "< $input") or die "can't open '$input':$!\n";
while (<IFILE>) {
$In->insert("end", $_);
}
close IFILE;
$_[1]->destroy(); #Fenster wieder löschen
} # sub read


sub save {
my $tw = $nw->Toplevel(-title => 'Save');
$tw->Label(-text => "Save : $input")->pack();
my $in=$tw->Entry(-textvariable => \$input)->pack();
print $input , "\n";
$in->bind('<Return>', [\&write, $tw]);
} # sub save


#Speichern der Eingabe
sub write {
CORE::open (IFILE, "+< $input") or die "can't open '$input':$!\n";
print IFILE $In->get('1.0', 'end');;
close IFILE or die $!;
$_[1]->destroy(); #Fenster löschen
} # sub write


sub perl {
system("/usr/bin/perl $input");
} # sub perl

sub translate {
}


Bei diesem gibt der Interpreter folgende Fehlermeldung aus:

Code: (dl )
Bareword "translate" not allowed while "strict subs" in use at C:\bsp2_final.pl line 29.


was noch nicht okay ist, wie ich das text-widget-fenster $out neben $in setzen kann und dass die listbox $dict unter den beiden anderen fenstern ist. und wie ich sub translate schreiben soll, damit die übersetzung funktioniert bzw. der text im $in selektiert werden kann, damit man automatisch im wörterbuch nachsieht und den text dann in $out verschiebt. ich bin schon sehr am verzweifeln und kann einfach nicht mehr weiter. bis morgen soll es abgegeben werden. bitte helft mir. :(

danke!

View full thread Übersetzungs-GUI 2 - Mein Programm: bin am Verzweifeln