Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4753[/thread]

ENTRY FELD(): Löschen eines ENTRY() FELD

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Nebhoteph
 2004-04-11 13:17
#41900 #41900
User since
2004-04-11
3 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

FROHE OSTERN ERSTMAL ALLEN !!

ich habe ein ENTRY() Feld in dem der User nach Dateinamen gefragt wird.

Code: (dl )
1
2
3
4
my $links=$haupt->Frame();
$links->Label(-text => "Eingabedatei: ")->pack(-pady=>2);
my $in = $links->Entry(width=>50);
$in->pack();


Über einen Button starte ich eine Routine in der die Datei eingelesen und verarbeitet wird.
Über einen zweiten Button möchte ich neben anderen auch diese Feld löschen um danach neue Eingaben eintragen zu lassen.

Ich glaube, dass das was mit der Update() Funktion zu tun hat, aber wie lösche ich dieses Entry() Feld?

Gruß
Mic.

Bearbeitet von Crian: CODE-Tags spendiert\n\n

<!--EDIT|Crian|1082447273-->
renee
 2004-04-11 13:20
#41901 #41901
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Frohe Ostern und Herzlich Willkommen hier in der Community!

probier mal
Code: (dl )
$in->delete(0,'end');
\n\n

<!--EDIT|renee|1081675266-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Nebhoteph
 2004-04-11 13:51
#41902 #41902
User since
2004-04-11
3 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

vielen Dank für die superschnelle Antowrt. Das habe ich schon bereits versucht, aber es kommt der Fehler Tk:error. Can't locate object method "delete" via package.

Gruß
Mic.
Rambo
 2004-04-11 18:37
#41903 #41903
User since
2003-08-14
803 Artikel
BenutzerIn

user image
der code ist richtig von renee! mit delete geht das aber
evtl. hast du die
$in
in einer sub drin und übergibst diese nicht weil du mit my
arbeitest?
wenn ja must du erst $in an die sub übergeben
damit du damit weiter arbbeiten kann oder
zum test
use strict;
und my
weglassen.

fürti rambo
Nebhoteph
 2004-04-11 21:36
#41904 #41904
User since
2004-04-11
3 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo ,

funzt nicht.

Anbei habe ich das mitgeschickt, was ich in der Sub Routine stehen habe. Ein vorheriges Übergeben mit $in=$in->get; funktioniert auch nicht. Es löscht sich nur das erste Entry Feld, nämlich das der Eingabedatei. Das zweite Entry Feld bleibt bestehen. und das Programm bricht ab. Mit der Fehlermeldung

Cant't locate object Methode via package...

Ich bin langsam am verzweifeln!

Michi

Code: (dl )
1
2
3
4
5
6
7
sub loeschen{
$input="";
$in->update();
$output="";
$out->update();
$ausgabe->delete('0.1', 'end');
}


Bearbeitet von Crian: CODE-Tags spendiert\n\n

<!--EDIT|Crian|1082447317-->
Rambo
 2004-04-12 01:37
#41905 #41905
User since
2003-08-14
803 Artikel
BenutzerIn

user image
kannst du evtl. den ganzen code mal posten?
rambo
ptk
 2004-04-13 13:35
#41906 #41906
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Die update()-Aufrufe sind wahrscheinlich ueberfluessig. Ob $ausgabe tatsaechlich ein Entry-Widget ist, kann man anhand deines Code-Beispiels nicht erkennen. Und: benutzt du "use strict"?
Crian
 2004-04-13 14:11
#41907 #41907
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Ist $ausgabe überhaupt ein Entry, verwendest Du my / use strict ? Mit Variablen scheinst Du jedenfalls eigenartig umzugehen, die sind ja in der Funktion nicht lokal (dann sollte man sie wenigstens groß beginnen zur Übersicht).

Wenn Du use strict verwendest und es trotzem nicht klappt, poste mal das ganze Programm (aber bitte in Code-Tags).
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
Gast Gast
 2004-04-17 18:16
#41908 #41908
Hi,

jetzt habe cih den kompletten Code gepastet. Ich hoffe mir kann jemand helfen .

Gruß
Michi


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

###Module einbinden###

use strict;
use Tk;


###Eingabemaske generieren###
my $haupt = MainWindow->new();
$haupt->title('Zeilennummerierung');
my $links = $haupt->Frame();

###Felder  in Eingabemaske###
my ($input, $output);

$links->Label(-text => "Eingabedatei: ") -> pack();
my $in = $links -> Entry(width=>50);
$in->pack(-padx=>10,-pady=>20);

$links->Label(-text => "Ausgabedatei: ") -> pack();
my $out = $links -> Entry(width=>50);
$out->pack(-pady=>20);

my $Schalter=$links->Button(-text => "Datei einlesen",-command=> \&einlesen)->pack(-side=>"left",-fill=>"both",-expand=>1);
my $Schalter1=$links->Button(-text => "Eingabe löschen",-command=> \&loeschen)->pack(-side=>"left",-fill=>"both",-expand=>1);
my $$chalter2=$links->Button(-text => "Beenden",-command=> [$haupt=>'destroy'])->pack(-side=>"left",-fill=>"both",-expand=>1);

my $rechts= $haupt->Frame();
$rechts->Label(-text=>"Bearbeitungsvorgang:")->pack();
my $vorgang= $rechts->Listbox(width=>50);
$vorgang->pack(-padx=>20,-pady=>20);

$links->pack(-side=>"left");
$rechts->pack(-side=>"right");

MainLoop();


### Datei einlesen und verarbeiten

sub einlesen {
my $eingabe  = $in->get();
my $ausgabe = $out->get();    
if( open FILE, "< $eingabe" ){
      if( open NEU, "> $ausgabe" ){
                  while( <FILE> ){
                  print NEU $. ." $_";
                      # $. = Zeilennummer von <FILE>                
                      # " $_" = aktuelle Zeile mit vorangestellten Leerzeichen
                  }
                  $vorgang->insert('end'," "."Es wurden $. Zeilen eingelesen und in $ausgabe geschrieben!");          
                  close NEU;
                  }
          close FILE;
          }
else{
   die "Datei '$eingabe' konnte nicht geöffnet werden: $!\n";
}

}

sub loeschen{
my $ausgabe;
$ausgabe->delete('0.1', 'end');
}


Bearbeitet von Crian: CODE-Tags spendiert\n\n

<!--EDIT|Crian|1082447379-->
Rambo
 2004-04-18 01:47
#41909 #41909
User since
2003-08-14
803 Artikel
BenutzerIn

user image
was genau war es was du löschen möchtest?
in der gui was unter "eingabedatei:" steht?
fürti
rambo
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2004-04-11 13:17.