Schrift
[thread]4760[/thread]

Eingabeformate: Tk

Leser: 1


<< >> 7 Einträge, 1 Seite
alexus-777
 2004-04-25 13:14
#41975 #41975
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Hallo Leutz,

kann man irgendwie Eingabelänge für ein entry begrenzen?
Und Ausserdem ein Eingabeformat festlegen?(z.B. nur Zahlen, oder nur Buchstaben)

Gruß Alexander
[E|B]
 2004-04-25 13:22
#41976 #41976
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Klar, du setzt bei dem Entry einfach "-textvariable => \$variable" und prüfst dann, beim Klick auf ein Submit-Button z.B., die Eingaben. Diese stehen dir dann in der festgelegten Variable "$variable" zur Verfügung.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
alexus-777
 2004-04-25 14:43
#41977 #41977
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Erstmal danke!

gibtes vielleicht eine Möglichkeit die eingegebene Zeichen ständig zu überwachen, ohne dabei auf Buttons u.ä. zu klicken? Und wenn Anzahl der Zeichen erreicht ist, zum nächsten entry springen - so ungefähr wie bei einer Serialnummer Abfrage ;)

Hat jemand ein Vorschlag wie man solches prob am besten löst?

Gruß Alexander
coax
 2004-04-25 18:20
#41978 #41978
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
'N kleiner Loesungsvorschlag
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl
use Tk;

my($text1, $text2);
my $max_len = 8;

my $mw = tkinit;

my $entry1 = $mw->Entry(-textvariable => \$text1)->pack();
my $entry2 = $mw->Entry(-textvariable => \$text2)->pack();

$entry1->bind('<Key>' => sub { $text1 = substr($text1, 0, $max_len);
                              $entry2->focus() if length($text1) == $max_len;
                              });
$entry2->bind('<Key>' => sub { $text2 = substr($text2, 0, $max_len); });

MainLoop();


Grusz Christian.
,,Das perlt aber heute wieder...'' -- Dittsche
Christian
 2004-04-25 18:55
#41979 #41979
User since
2003-08-05
29 Artikel
BenutzerIn
[default_avatar]
Hi Alexander,

hab das Prob. auch auf meinem Schreibtisch liegen, aber derzeit noch keine Zeit zu Lösung gefunden. Allerdings hab ich einen Eintrag in der Perl/TK-FAQ gefunden, vielleicht hilft der dir schon mal ein bisschen weiter:

Perl/tk-FAQ - How do I limit an Entry's insertion width

cu
Christian

PS: have a nice perling :-)
alexus-777
 2004-04-25 19:42
#41980 #41980
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Danke Leutz!:)
Ishka
 2004-04-25 21:44
#41981 #41981
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
$main->Entry(-textvariable=>\$var,-validatecommand=>sub {return 15<length $var},-validate=>'all')->pack;
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
<< >> 7 Einträge, 1 Seite



View all threads created 2004-04-25 13:14.