in reply to Re: use Acme::ProgressBar;
in thread use Acme::ProgressBar;

Thanks for the heads up. I am trying to get the GUI progress bar to work. Do you guys have anyworking examples. Here is the issue now. my script calls a sub function that searches a network path and add all the files to an array, then it prints out the array in a GUI text box so the end user can see the results. The problem now is that the progress bar is not incremeting during the whole search function, when it's done the sub funtion then it populates the serach bar. Bascally what I want to do is have a progress bar displaying so my end users don't think the program has froze while it's doing it's searching. This is what i have thus far.
$main->AddProgressBar(-name =>'pbar', -height=>20, -width =>175, -pos => [5,550], ); $main->AddTimer('T1', 1000); $main->T1->Interval(0); sub T1_Timer{ $main->pbar->DeltaPos(1); } sub btnFindLogs_Click {#start sub ##Start Timer $main->pbar->Interval(1) $CaseNumber = $main->CaseNumber->Text; $EmailAddress = $main->EmailAddress->Text; #$main->CaseSearchResults->Reset(); if ($CaseNumber eq "" || $EmailAddress eq "") { $main->CaseSearchResults->Append("No case number was entered + or email address was provided. Please try again. \r\r\n"); }else { my @ep = split ("@",$EmailAddress); $userName = $ep[0]; opendir(my $dir, $logSite) or die "Can't open '$logSite': $!"; for my $file (readdir($dir)) { for my $pattern ($CaseNumber) { if ($file =~ /$pattern/) { push @return, $file; # This avoids having the file in the result twice last; } } } @return = sort (@return); $size = @return; #end sub ##Populate text box with the serach resutls. foreach(@return) { $main->CaseSearchResults->Append($_."\r\r\n");} }#end of else if ($size > 0) { #if the size of the array is bigger then zero, then enable + the check boxes, if not, print that no logs were found. $main->chkCpRimNet->Enable();$main->cpLogsLocal->Enable(); +$main->chkSubmitHct->Enable(); #$main->btnClearLogs->Enable(); }else{$main->CaseSearchResults->Append("No Logs were found +\r\r\n");} }

Replies are listed 'Best First'.
Re^3: use Acme::ProgressBar;
by Anonymous Monk on Sep 24, 2009 at 16:51 UTC
      Hello, Thanks for the examples. I read though them but still having issues on how i should be implementing it. maybe i am retarted or somthing :P so i have created my progress bar
      $main->AddProgressBar(-name =>'pbar', -height=>20, -width =>175, -pos => [5,550], -smooth => 1, -SetRange =>(0,100) );
      So how do i wrap that into my long functions so the end user knows somthing is going on and the program is not frozen. So for example, I have a function that finds some logs based on a case number builds an array and then prints it out to a text box. So i would like the progress bar to be running while it's doing this in the back ground so the end user doesn't get a message indicating that the program is not responding.
      sub btnFindLogs_Click {#start sub opendir(my $dir, $logSite) or die "Can't open '$logSite': $!"; for my $file (readdir($dir)) { for my $pattern ($CaseNumber) { if ($file =~ /$pattern/) { push @return, $file; # This avoids having the file in the result twice last; } } } @return = sort (@return); $size = @return; #end sub ##Populate text box with the serach resutls. foreach(@return) { $main->CaseSearchResults->Append($_."\r\r\n");} }#end of else }
      Any help would be greatly appreciated.