Perlについての質問箱
■ このスレッドは過去ログ倉庫に格納されています
0188デフォルトの名無しさん
NGNG---
use Tk;
$maxline = 25;
$fontname = "{MS明朝} 12";
$w = new MainWindow;
$f = $w->Frame( -relief => 'sunken', -bd => 2 )->pack;
for( $i=0; $i <$maxline; $i++ ) {
$e[$i] = $f->Entry( -width => 80, -bd => 0, -font => $fontname )->pack;
$ar[$i] = $e[$i]->bind( '<KeyPress-Return>', [ \&calc, $i ] );
$ar[$i] = $e[$i]->bind( '<KeyPress-Up>', [ \&line, $i, -1 ] );
$ar[$i] = $e[$i]->bind( '<KeyPress-Down>', [ \&line, $i, 1 ] );
}
$e[0]->focus;
$w->resizable(0,0);
MainLoop;
sub calc #($\$)
{
my( $dummy, $loc ) = @_;
$txt = $e[$loc]->get;
$loc = 0 if ++$loc >= $maxline;
$e[$loc]->delete( 0, 'end' );
$e[$loc]->insert( 'end', eval( $txt ));
$loc = 0 if ++$loc >= $maxline;
$e[$loc]->delete( 0, 'end' );
$loc = 0 if ++$loc >= $maxline;
$e[$loc]->delete( 0, 'end' );
$e[$loc]->focus();
}
sub line #($\$$)
{
my( $dummy, $loc, $df ) = @_;
$loc += $df;
$loc = $maxline-1 if $loc < 0;
$loc = 0 if $loc >= $maxline;
$e[$loc]->focus();
}
---
■ このスレッドは過去ログ倉庫に格納されています