Perl Pack写的一个数据报表程序
来源:互联网 发布:Java 线程池 newsingle 编辑:程序博客网 时间:2024/06/07 02:17
use Tk; use DBI; # Main Window##my $mw = new MainWindow;my $mw = MainWindow->new(-title => 'system monitor');#my $frm1 = $mw -> Frame() ->pack(-side=>"top",-fill => 'x');my $but1 =$frm1 -> Button(-text => "view cpu",-width=>30,-background=>'green',-command =>\&push_button);$but1 -> pack(-side=>"left",-fill => 'x',-expand => 1 );my $but2 = $frm1 -> Button(-text => "view memory",-width=>30,-background=>'green');$but2 -> pack(-side=>"left",-fill => 'x',-expand => 1 );my $but3 = $frm1 -> Button(-text => "view disk",-width=>30,-background=>'green');$but3 -> pack(-side=>"left",-fill => 'x',-expand => 1);my $but4 = $frm1 -> Button(-text => "view Event",-width=>30,-background=>'green');$but4 -> pack(-side=>"left",-fill => 'x',-expand => 1);my $frm2 = $mw -> Frame() ->pack(-side=>"top",-fill => 'x');my $lab1 = $frm2 -> Label(-text=>"Start date:")->pack;my $frm3 = $mw -> Frame() ->pack(-side=>"top",-fill => 'x');my $but5 =$frm3 -> Button(-text => "Oracle",-width=>30,-background=>'green',-command =>\&push_button);$but5 -> pack(-side=>"left",-expand => 1,-fill => 'x');my $but6 = $frm3 -> Button(-text => "Mysql",-width=>30,-background=>'green');$but6 -> pack(-side=>"left",-expand => 1,-fill => 'x');my $but7 = $frm3 -> Button(-text => "db2",-width=>30,-background=>'green');$but7 -> pack(-side=>"left",-expand => 1,-fill => 'x');my $but8 = $frm3 -> Button(-text => "Sqlserver",-width=>30,-background=>'green');$but8 -> pack(-side=>"left",-expand => 1,-fill => 'x');#表格$mw->geometry("475x125");#禁止窗口缩放#$mw->resizable(0,0);$mw->title("Table Example");my $table_frame = $mw->Frame()->pack(-expand => 1,-fill => 'both');my $table = $table_frame->Table(-columns => 10, -rows => 30, -fixedrows => 1, -scrollbars => 'oe', -relief => 'raised');#@arr1 = qw/HOST FILESYSTEM TYPE SIZE# USED AVAIL USE MOUNTED SYSDATE/;##使用hash数组my %hash=("1","HOST", "2","FILESYSTEM", "3","TYPE", "4","SIZE#", "5","USED", "6","AVAIL", "7","USE", "8","MOUNTED", "9","SYSDATE"); foreach $key (sort keys %hash){ my $var = $hash{$key};print "\$var is $var\n"; my $tmp_label = $table->Label(-text => $var, -width => 25, -relief =>'raised'); ##放到第0行 第N列 $table->put(0, $key, $tmp_label);}##创建100行foreach my $row (1 .. 100){ foreach my $col (1 .. 10) { my $tmp_label = $table->Label(-text => "", -padx => 0, -anchor => 'w', -background => 'white', -relief => "groove"); $table->put($row, $col, $tmp_label); }}$table->pack(-expand => 1,-fill => 'both');##borderwidth 边框属性my $button_frame = $mw->Frame( -borderwidth => 4 )->pack();$button_frame->Button(-text => "Exit", -command => sub {exit})->pack();#my $frm4 = $mw -> Frame() ->pack(-side=>"top",-fill => 'x');#Text Area#my $txt = $frm4 -> Text(-width=>108,-height=>40) -> pack(-fill => 'both');MainLoop;#This is executed when the button is pressedsub push_button {# system("cls");my $dbName = 'june'; my $dbUser = 'test'; my $dbUserPass = 'test'; my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ;my $hostSql = qq{select trim(HOST),trim(FILESYSTEM),trim(TYPE),trim(SIZE#),trim(USED),trim(AVAIL),trim(USE),trim(MOUNTED),to_char(SYSDATE\,'yyyy-mm-dd:Hh24:Mm:Ss') from cpu_info}; my @arr2="";my $var2="";my $i=0;my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9); my $selStmt = $dbh->prepare($hostSql); $selStmt->bind_columns(undef, \$a1, \$a2, \$a3,\$a4,\$a5,\$a6,\$a7,\$a8,\$a9); $selStmt->execute(); while( $selStmt->fetch() ){ push (@arr2, "$a1\t$a2\t$a3\t$a4\t$a5\t$a6\t$a7\t$a8\t$a9\n" ); #数组元素个数 $var2=@arr2 -1 ; $i=0; foreach $var3 ("$a1","$a2","$a3","$a4","$a5","$a6","$a7","$a8","$a9"){ $i++; print "\$i is $i\n"; print "\$var3 is $var3\n"; my $tmp_label = $table->Label(-text => "$var3", -padx => 0, -anchor => 'w', -background => 'white', -relief => "groove"); $table->put($var2, $i, $tmp_label);} } print "\$var2 is $var2\n";print "1---\@arr2 is @arr2\n"; print "\$arr2[1] is $arr2[1]\n"; print "\$arr2[2] is $arr2[2]\n";$selStmt->finish; $dbh->disconnect; }sub clear_button {system("cls");}
0 0
- Perl Pack写的一个数据报表程序
- perl写的小程序
- 学习perl写的一个
- perl写的一个端口扫描
- 一个简单的perl程序
- 用Perl写的FTP客户端程序
- 用perl写的一个网络爬虫
- 第一次写Perl程序
- 关于PERL的一个小程序
- 开发运行一个简单的perl程序
- 一个简单的auth perl程序
- 一个简单的gw perl程序
- perl中pack函数的实例
- perl pack和unpack的使用详解
- perl中pack函数的用法
- perl pack和unpack的使用方法
- 用visual web pack写个程序
- PERL语言入门:第四章:子程序(函数):习题1:写一个程序, 求所有参数的和
- 简易解说拉格朗日对偶(Lagrange duality)
- 让数据库变快的10个建议
- opencv背景建模mog2源码剖析
- 【数据结构】链式存储单链表
- 解决thinkphp display输出问题
- Perl Pack写的一个数据报表程序
- struts2中改变struts.xml默认路径
- android系统之sensor学习
- 多线程的几种实现方法详解
- 06-1. 简单计算器(20)
- iOS之UIView常用方法总结
- 结构知识点总结 & Demo
- 雨林木风个人格言
- jquery mobile使用过程中遇到的一些问题及解决方法