Schrift
[thread]4832[/thread]

Tk Modul Textdatei auslesen unter insert



<< >> 3 Einträge, 1 Seite
Alexfo85
 2004-08-27 22:30
#42608 #42608
User since
2004-08-18
20 Artikel
BenutzerIn
[default_avatar]
also... beschreibung deines problems wäre net schlecht...
$box->insert("end", $var)
ist an sich ok...

allerdings ist die Frage natürlich bei einer Listbox, ob du wie bei dir geschrieben alles in einem Element ahben willst, oder Zeilenweise, zum auswählen..
wenn elke.txt nur 1 Zeile hat... dann ist nur die Klammersetzung falsch... bzw, das print zu nem return, und die referenz..

Richtig:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$box->insert('end', &text); # Keine Ref nötig..
## ^ vor den mainloop!!

sub text {
open(DATEI,"<elke.txt")
or die "Datei kann nicht geladen werden";


undef $/;
my $text=<DATEI>;
close (DATEI);
return $text;

}



Falls du aber was ich denke... mehrere Zeilen inder elke.txt hast, die verschiedene einträge sein sollen, würde ich folgendes empfelen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Vor den Mainloop
&text;         # Sub Text starten
# dannach, oder egal;)

sub text {
open(DATEI,"<elke.txt")
or die "Datei kann nicht geladen werden";
while(<DATEI>)      # Datei zeilenweise lesen
{
 chomp $_;           #letzes Zeichen, falls Steuerzeichen, entfernen
 $box->insert("end", $_); # Ab damit ans ende der Box
}
close (DATEI);

}
elke
 2004-08-27 17:55
#42609 #42609
User since
2004-08-24
4 Artikel
BenutzerIn
[default_avatar]
Hallo,
wer kann mir helfen?
Ich über unter dem Tk Module in einer Listbox eine Text Datei einzubinden.
Hier das Script
Wie lautet ->insert

Danke im voraus

#----------------------Script-------------------------------
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
#!/usr/bin/perl -w

use strict;
use Tk;

my $haupt = new MainWindow;
$haupt->Label(-text=> "Datei wird eingelesen")->pack();
my $box=$haupt->Listbox();
$box->pack();


MainLoop();

sub text {
open(DATEI,"<elke.txt")
or die "Datei kann nicht geladen werden";

undef $/;
my $text=<DATEI>;
close (DATEI);
print "$text";


$box->insert('end',"".\&text);
}


edit renee: [code]-Tags spendiert\n\n

<!--EDIT|renee|1093639914-->
Crian
 2004-08-30 11:18
#42610 #42610
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Die Frage gehört mehr ins Oberflächen-Forum *schieb*
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 3 Einträge, 1 Seite



View all threads created 2004-08-27 22:30.