in reply to Re: file open in perl tk
in thread file open in perl tk

Its called gedi

Replies are listed 'Best First'.
Re^3: file open in perl tk
by Anonymous Monk on Nov 03, 2010 at 08:52 UTC
    Thanks for replay, I am facing problem here , I opened the file in read mode,if i open it as write mode iam not getting any contents on that file , more over i want to save the edited fields , how can i save..........., please help me. #!/usr/bin/perl -w # Create a sub window at the request of the user use Tk; use strict; my $mw = MainWindow->new; $mw->configure(-background => 'black', -foreground => 'white'); $mw->geometry("400x100"); $mw->title("Multiple Windows Test"); my $button1 = $mw->Button( -text => "view Results", -background => "cyan", -command => \&button1_sub)->pack(-side=>"right"); $mw->Button(-text => "Exit", -command => sub{exit})->pack(-side=>"bottom"); sub button1_sub { my $subwin1 = $mw->Toplevel; $subwin1->geometry("400x300"); $subwin1->title("Sub Window #1"); my $fh; open ($fh,"<+test.txt") or die $!; my @contents = <$fh>; my $sublable = $subwin1->Scrolled('Text', -scrollbars => 'osoe', )->pack; $sublable->insert('end',@contents); close($fh); my $subwin_button = $subwin1->Button(-text => "Close window", -command => $subwin1 => 'destroy')->pack(-side=>"bottom"); #=================================Creating save buttion on subwindow =========== my $save_button = $subwin1->Button(-text=>'save', -command =>\&get_save, -background =>'cyan')->pack(-side=>'right'); } MainLoop; sub get_save { getSaveFile(-title => 'Select a file to APPEND',-defaultextension=>'.in'); }
      You should learn to use code tags to help us read your code
      <code> ....your code here </code>
      but here is a working version, of what I THINK you want.
      #!/usr/bin/perl use warnings; use strict; use Tk; use Tk::FileSelect; my $mw = MainWindow->new; $mw->configure( -background => 'black', -foreground => 'white' ); $mw->geometry( "400x100" ); $mw->title( "Multiple Windows Test" ); my $button1 = $mw->Button( -text => "view Results", -background => "cyan", -command => \&button1_sub )->pack( -side => "right" ); $mw->Button( -text => "Exit", -command => sub { exit } ) ->pack( -side => "bottom" ); sub button1_sub { my $subwin1 = $mw->Toplevel; $subwin1->geometry( "500x400" ); $subwin1->title( "Sub Window #1" ); my $fh; open( $fh, '+<', "./$0" ) or die $!; #just open script for test my @contents = <$fh>; # print "@contents\n"; close( $fh ); my $sublable = $subwin1->Scrolled( 'Text', -scrollbars => 'osoe', )- +>pack; $sublable->insert( 'end', @contents ); my $subwin_button = $subwin1->Button( -text => "Close window", -command => sub {$subwin1 => 'destroy'} )->pack( -side => "bottom" ); #=================Creating save buttion on subwindow =========== my $save_button = $subwin1->Button(-text=>'save', -command =>\&get_save, -background =>'cyan')->pack(-side=>'right'); + } MainLoop; #sub get_save{ # getSaveFile(-title => 'Select a file to APPEND',-defaultextension=>' +.in'); #} sub get_save { my $dst = $mw->getSaveFile( -initialdir => $ENV{HOME}, -defaultextension => '.in', -title => 'Save', -filetypes => [ [ 'myfiles' => '.in' ], [ 'All files' => '*' ], ], ); $dst ||= '<undef>'; warn "dst=$dst"; }

      I'm not really a human, but I play one on earth.
      Old Perl Programmer Haiku ................... flash japh

        Thank you very much for helping me, one more issue , the using above mentioned code I am not able to "save" the changes which are made by the user , how can i save the changes ........

      Thanks for replay, I am facing problem here , ...

      I am facing problem too! Please read Writeup Formatting Tips. I may be able to help but there's no way I'm going to attempt to wade through the mess you've currrently posted. Fix it up and I'll take a look. :-)

      -- Ken

        Hi please have a look on it, this is my code , here iam able to open the file but i can't save the changes , can you help me how can i do it.
        #!/usr/bin/perl -w # Create a sub window at the request of the user use Tk; use strict; my $mw = MainWindow->new; $mw->configure(-background => 'black', -foreground => 'white'); $mw->geometry("400x100"); $mw->title("Multiple Windows Test"); my $button1 = $mw->Button( -text => "view Results", -background => "cyan", -command => \&button1_sub)->pack(-side=>"right +"); $mw->Button(-text => "Exit", -command => sub{exi +t})->pack(-side=>"bottom"); sub button1_sub { my $subwin1 = $mw->Toplevel; $subwin1->geometry("400x300"); $subwin1->title("Sub Window #1"); my $fh; open ($fh,"<test.txt") or die $!; my @contents = <$fh>; my $sublable = $subwin1->Scrolled('Text', -scrollbars => 'osoe', )->pack; $sublable->insert('end',@contents); close($fh); my $subwin_button = $subwin1->Button(-text => "Close w +indow", -command => [$subwin1 => 'destroy'])->pack(-side=>"bot +tom"); #=================================Creating save buttio +n on subwindow =========== my $save_button = $subwin1->Button(-text=>'save', -command =>\&get_save, -background =>'cyan')- +>pack(-side=>'right'); } MainLoop; sub get_save { getSaveFile(-title => 'Select a file to APPEND',-defau +ltextension=>'.in'); }