in reply to Progressing a ProgressBar...

Not really :)
What do you want your progressbar to show? The progress you are doing in finding files on your cd? In that case, its a bit hard, because how do you know how many files there are before finding them?
So you must be looking for the progress of the copy operation. So first you have to know the total number of bytes to copy and then you have to keep an eye on how much you have actually copied.
Does that help you? Else see this code: File copy progress.

T I M T O W T D I

Replies are listed 'Best First'.
Re: Re: Progressing a ProgressBar...
by Baratski (Acolyte) on Jul 29, 2003 at 20:46 UTC
    .... $prog = $progframe-> ProgressBar( -from=> 0, -to=> 200, -blocks=> 1, -gap=> 0, -variable=> \$count, )->pack( -fill=> 'x', -expand=> 1, ); finddepth(\&wakecdrw, "$source"); MainLoop; sub wakecdrw { # Just looking for directories. # I'm not doing anything with $_ if(-d "$_") { # I'm also updating an Entry widget here. $path = "$File::Find::name"; $displaypath->update(); # ProgressBar variable incrimented here. $count++; } }

    That's it.

    Obviously if there are more than 200 directories, I run into a problem.

    Is there a way to update the progressbar to reflect the whole process of recursing my CDRW drive?

      You can solve this if you use use a progressbar that works like your browser progress bar. It displays how many searched directories out of the total number of directories seen (in the browser it displays number of link/pics gotten out of how many links there have been seen on the current page).
      But for that to work, you do need to calculate your own progress, but it should be as simple as $prog->value( 100 * $numdirssearched / $numdirsseen );
      And then you have to use a bread-first search, which is NOT what finddepth does...

      T I M T O W T D I