Paralleliz​ed for loop progress bar

I have a for that takes a long time to execute and enabled parallelism to speed things up. I also want a progress bar. Before enabling parallelism, I simple had an indicator wired to the iteration counter and the array size that is being processed. This gave a good percent complete indicator. With the for loop parallelized, the indicator bounces around depending on which instance of the for loop happens to update the indicator. Is there a way to have an indicator inside a parallelized for loop?
Solved!
Go to Solution.

altenbach wrote:
A better idea is probably a simple action engine that increments with each call, incrementing an integer in a feedback node, and returns the total count. Since it is not reentrant, it will be shared by all loop instances.
Here's a very quick draft. See if it works for you. (Warning, only use it in one FOR loop overall).
Probably needs a few tweaks....
LabVIEW Champion . Do more with less code and in less time .
Attachments:
ParallelProgress.zip ‏14 KB

Similar Messages

  • [svn:fx-trunk] 8086: ASDoc updates for download progress bars

    Revision: 8086
    Author:   [email protected]
    Date:     2009-06-23 07:22:19 -0700 (Tue, 23 Jun 2009)
    Log Message:
    ASDoc updates for download progress bars
    QE Notes: None
    Doc Notes: None
    Bugs: -
    Checkintests - passed
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/SparkDownloadProgressBar.a s

  • Is there anyway to allow keyboard focus for the progress bar?

    You can scroll through a course using the scrolling feature on the progress bar with a mouse. Has anyone customized a swf so the keyboard can be used to move through the slides?

    In answer to your opening question, there doesn't appear to be any way to get further details on Migration Assistant progress.
    Beyond that I have the same situation as you with some very large Virtual Machines.
    In the early part of the migration I was getting estimates of 30+ hours for the 2.6 TB that needed to be transferred but that number went up and down dramatically over time.
    At one point it rose to 88 hours and stayed solid on that number for over an hour, but then did proceed.
    A colleague of mine said he has had the same experience and it appears that the algorithm used to estimate time is just very poorly done.  It appears to look at the overall amount of data and the number of files and then compute an estimate based on how long the various files are actually taking to copy.  When it reaches a very large file that skews the computation grotesquely.
    The net net is just wait it out and those files will eventually copy.
    On the other hand, the reason I came to the support forums is because although after only 20 hours it appears MOST of my files have copied I have now been sitting for 10 hours on a screen that shows only a tiny tick left on the progress and the message saying "About 3 minutes remaining."   After 10 hours, I do not think it is going to make any further progress.  So yeah, I share your original question on how do I get more information on what it is ACTUALLY doing (and how do I get it to unstick)?

  • Looking for the progression bar when downloading data

    We are accessing firefox via a compression software, Xgate. The data we download most is a shortened version of the 4day weather charts. There is a way to lower the quality of the detail( a bloke showed us but he is no longer available), but we can't find it. it was a movable bar which could be adjusted with the mouse. Please help At present the page continually upgrades until it is perfect. Less than perfect will do for our needs.
    Regards,
    Dai.

    Hi,,,,
    Double # (##) means the file is tab delimited.
    When you download the file from application server use cl_abap_char_utilities=>horizontal_tab to split fields into separate variables.
    Using this variable populate a ITAB then upload it to presentation server.
          CLEAR: p_l_string.
          READ DATASET p_fname INTO p_l_string.
        EOF reached
          IF sy-subrc <> 0.
            EXIT.
          ELSE.
            CLEAR: wa_final,
                   l_length.
            IF  l_count <> '1'.
                SPLIT p_l_string AT c_tab INTO wa_final-char_c
                                               wa_final-value
                                               wa_final-desc
                                               wa_final-ldesc.
                IF wa_final-char_c IS NOT INITIAL.
                  l_char_c = wa_final-char_c.
                ENDIF.
                wa_final-char_c = l_char_c.
                APPEND wa_final TO  i_final.
              ENDIF.
          ENDIF.

  • Progress bar for cp

    Has anyone else ever wondered why cp doesnt have a parameter for a progress bar of some sort?
    I've been moving some big-ish files, dvd iso's and things between partitions, and it's just started to annoy me a little -- I've got no idea how long the transfer will take.
    I googled a little bit, and found a suggestion to use scp, eg scp file localhost:destination. It works, but there's no doubt some overhead as it runs through ssh.
    Anyone got any better suggestions other than using a gui file manager?
    James

    A friend of mine created a patch to cp and mv to have a status-bar years ago and sent it to the fileutils-guys (mv and cp are parts of it if I am not mistaken). The replied with "Thanks for you work, it's okay but we wont take it into the main-tree." They said they wanted to keep more bloat away from them as they felt that mv and cp are too big already.
    I could never follow that argumentation. But if the attitude of the devs hasn't changed I doubt you will ever find some kind of progress-information in cp and mv. Anyway, if you are interessted in the patch, find it at http://www.crash-override.net/patchescoreutils.html

  • [JS] CS3 ScriptUI - Progress Bar

    Hi
    I know I am late to the game with ScriptUI in CS3, but I would like to use a progress bar with some of my longer scripts. 
    I have read through the relevant part of the scripting guide, but cannot seem to make things work, the guide seems to reference a script that is not in the file.
    Can anyone offer some simple guidance on what I need to do, or point me in the direction of a script that uses this feature that I can pull apart and use?
    Thanks in advance,
    Roy Marshall

    Hi Roy,
    I just looked at my archives of the old forums, and it looks like you asked the same question almost two years ago...
    Here's a quote of xbytor's response from back then:
    Here's my contribution to this thread. This function creates and returns a
    Progress Palette. You specify the window's title, the max/min for the progress
    bar, and whether or not you want to use a Cancel button. If you decided to have
    a Cancel button, you should also specify an 'onCancel' on the Palette.
    Code:
    // createProgressWindow
    //   title     the window title
    //   min       the minimum value for the progress bar
    //   max       the maximum value for the progress bar
    //   parent    the parent ScriptUI window (opt)
    //   useCancel flag for having a Cancel button (opt)
    //   onCancel  This method will be called when the Cancel button is pressed.
    //             This method should return 'true' to close the progress window
    function createProgressWindow(title, min, max, parent, useCancel) {
       var win = new Window('palette', title);
       win.bar = win.add('progressbar', undefined, min, max);
       win.bar.preferredSize = [300, 20];
       win.parent = undefined;
       if (parent) {
         if (parent instanceof Window) {
           win.parent = parent;
         } else if (useCancel == undefined) {
           useCancel = parent;
       if (useCancel) {
         win.cancel = win.add('button', undefined, 'Cancel');
         win.cancel.onClick = function() {
           try {
             if (win.onCancel) {
               var rc = win.onCancel();
               if (rc || rc == undefined) {
                 win.close();
             } else {
               win.close();
           } catch (e) {
             alert(e);
       win.updateProgress = function(val) {
         var win = this;
         win.bar.value = val;
         // recenter the progressWindow if desired
         // win.center(win.parent);
         win.show();
         win.hide();
         win.show();
       win.center(win.parent);
       return win;
    And here's an example of how it would be used. In this example, we are
    processing an array of files. We call a 'processFile' method for each file in
    the array.
    We also add an 'isDone' property to the Palette, which we set to 'true' in an
    'onCancel' method. This makes it possible for the user to terminate the file
    processing loop before all of the files have been processed.
    Sample Code (in some function):
       // we have to process an array of 'files'
       var progressWindow = createProgressWindow("Progress...",
                                                 0, files.length, true);
       progressWindow.isDone = false;
       progressWindow.onCancel = function() {
         this.isDone = true;
         return true;  // return 'true' to close the window
       try {
         for (var i = 0; i < files.length; i++) {
           // check to see if the user pressed the 'Cancel' button...
           if (progressWindow.isDone) {
             break;
           progressWindow.text = ("Processing file " + (i+1) + " of " + files.length
    + "...");
           progressWindow.updateProgress(i);
            // now process the next file
            processFile(files[i]);
       } catch (e) {
         alert(e);
       } finally {
         progressWindow.close();
    I've tested this in PSCS2 and PSCS3. It should work without change in IDCS3.
    -X
    -- for photoshop scripting solutions of all sorts contact: [email protected]

  • How to create a progress bar showing status on timeout of TCP Read function

    Is there any way of creating a progress bar showing the status of a 'TCP Read timeout' time ... ?
    I'm sending a data request to an intranet server via TCP Write, and then using TCP Read with a 2 min. timeout to receive the requested data. During this time i want to show the actual progress of the timeout in a progress bar.
    Can this be done?
    And do i have to implement some kind of multitasking to make it happen?
    TIA

    Soulstorm wrote:
    > Is there any way of creating a progress bar showing the status of a
    > 'TCP Read timeout' time ... ?
    >
    > I'm sending a data request to an intranet server via TCP Write, and
    > then using TCP Read with a 2 min. timeout to receive the requested
    > data. During this time i want to show the actual progress of the
    > timeout in a progress bar.
    > Can this be done?
    > And do i have to implement some kind of multitasking to make it
    > happen?
    It can be done and you need to do some multitasking yes, but that is
    quite easy in LabVIEW. A separate loop or subVI with loop will be
    responsible for the progress bar. Set its scale to 0 and the number of
    seconds of your timeout. In parallel to the TCP Read let this loop or VI
    execute reading the time every few
    seconds and calculating the
    difference to its start time, passing this value to the progress bar
    slider. Have an extra boolean global which aborts the loop and set this
    boolean to FALSE before starting the loop/VI and TCP Read and setting it
    to TRUE on return of the TCP Read.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • JS ScriptUI CS4: How to create an indeterminate progress bar?

    Hi Folks,
    Does anyone here know if ExtendScript (I'm using the CS4 flavor of ES) can produce an indeterminate (i.e., "barber pole") progress bar using ScriptUI's progressbar control? I've tried a number of value settings for the progress bar control in hopes that they would trigger the barber pole behavior, but so far, no luck.
    My current workaround is to "loop" the progress indicator. In other words, when the progress bar's value > maxvalue, I reset the value back to minvalue. Then rinse and repeat. Not really what I want, but the task being processed takes quite a bit of time, so I need to show some sign of something happening to the user.
    Thanks!
    -- Jim

    Hi Jim and Jeff,
    I can't find any practical solution to the original problem. It seems that an ExtendScript function call and a ScriptUI window cannot properly update synchroneously, except with a regular progressbar widget. I thought that a nonmodal window (='palette') might be fine, but I always get critical side effects using that approach, and generally the SWF is 'freezed' during the process. Curiously I found a kind of workaround using a pure modal dialog which mimics a nonmodal palette (!!) through the 'activate' event. But this still requires that the outer function perdiodically calls the update() method of the window from its own body, so this does not answer the question.
    Here is a first draft, based on the SWF that Jeff posted above and only tested on a Win platform. I'd really appreciate feedbacks on this from Mac users.
    // SpinProgressBar Object
    // Tested in ID CS4/CS5+ Windows only
    var SpinProgressBar = SpinProgressBar||function SB(/*str*/msg, /*fct*/process)
        // Caches the function resources
        SB.rc = SB.rc||{
            swf: "CWS\tP&\x00\x00x\x9C\x8D\x9A\x7FL\x15W\x16\xC7\xCF\x11\xC5\x11)\xE2oQ\xD0'\x0F}O\x14\x7F\xA0\xE2o|\xCA\x11\x04\x05\x04\x14\x14Q\x11\xF1'\x82\n\" \xA2(j-\xB6(Hmw[\xDB&m\xD3\xCDnKbRLI\x7F\xC4&\xEBn\xDCdmk\xB3j\xAD\x9Bvwm\xC4\xAD1\xDB\x8D\xA9Y\x93\x8D\xFB\xBD#2\xE3\xF0\xB6\xEF\xF2\xC7H\x8Egf\xEE\xB9\xF3\xFD\xDC\xF3\x9D;TS\x9F\b\xA2!\xC5D\xA1\xA1$\x03\t?I\xBD\x1E?~\x1Cc0UV4\xC6\xE7\xCD~\xDB\xC5\xD4\xD9\xD9\xF9\x98\xC2\x07\xF5o-\xCE:s\xB5\xE3\x8F\x1FT\x9CZ\x121\xFA\xB7\xF1t\xAB_/bj\t\x0Ec\xFCs\x99\xC8G\xBDh;\xF9\xC2{\xE37\"\xB7\x11D\xDB\xA8\xEF\x97\xD4\xA7\r\xFF\x8D\x1F\\#\xA4\x7F\xCA\x97\xEDWnf\x97/j\xFAK[yb=\xB9\x8C\xDE=\x93\x8C\x86\xF6\x92\xD7O\xBD}\xA1\xF5\xF5\xD3\x85\xE45\xFA c\x90\x8B\xFA\xFC`\xBB\x8C\x8F\xCE\x95\x95\x9ExT\x15W\xD9\xD8q\xF9^\xC4wi\xA9\xD7\x90\x19\xFC4\xB3\xDE\xCA\xCCv\x8D\xC9(\xAF\r\xAE\xBA\xDAR\xD9q\xC1\xFD\xE3\xAD\xF6k\x13\x90\xD9\x17\x99\xC3\xCFR\xEF\x13\xB6k\x12\x97t\xBC\x99|\xE9\xAFs\x1Fe\xDF9r\xFBa\xED\xD0a\x1F!\xD3\xF0\x93\x99w6aru|f\xD5\xF9\xD4\xEE3(\xDA\xE8\x87L\x9C\xC2\x0F\xAC\xCC\x90\x8BA\x9D\xF7\xF2\xEFL\x1Aq\xEF]\xCF\xC4NLIH\xCF\x9C\xFE\xB9\x1FQ\xD8\x9F\xB2\xCB?k\xBA\xD4V\xFEy=n\xD9\xDF\xCF-s\xDA\x9A\xC3\xB6^\xC5-3Z;\xBE\xFF\x03n\xF9C\x1By\x8CP\x95\xD9\xFALf\xC8\x9B\xBE\xA07Bw\xAE\xFB\xFA\xFD\xFC\xFB\xE6\t\xB9\xAD\xF5^\xE3\xB9\x9Es\x18\xF2m8\xDD\xF1\x9Cz\xAF\xFC\xBAg\xEDkE\x9F\x9F{\xF0n\xD1[\xB8y\x98\x9F9\\V\xF0\xC9g\xA5'1\x87/7\xD6\\\u00FE\xC7\xDD[\xED\x97\xAF\xD3;\xC1\x93{\xE1y\x9B\x8F=,\xAB9\xD9\xF7\xE4\xC9\xAF*+\xDBX\xBA\xB9\xD8\x95SSZ\xB4k'\x9D\x0E\x0E\x0B\xA2 \x8A<S?\xAAP%\x04\xA9Ho\xEA\x8DHC\x8B)\x16V\x91>\xD4\x87\"Sj3\xDF\xEA\x8E\x04S0E^X\x9A\xF9}w\xA4/\xF5\xA5\xC8\xC1\x8F\xBEquG\f2(\xF2\xEB\xBBQ\x17\xBB#\xFD\xA8\x1FE\xDE>\x92a]9\x84B(2\xF8\xEF]\x91\xA3\x88\xF4\xA7\xFE8\xEB\x9F\xB6\xEB\x84R(\x8D\xF4<\xA82sz\xA9\xC8s\xF4\x1C\x8Dl\xFA\xDB\xC2z3\xA2\xCE\n\xA30\x8Cg\xD9\xD3\x11\n+\xCD\xFB0_\x03\xFC\xA83\xF9\xF7\x9F\xB4\xFD\xD0v>o\xCE\x82\x86ywS\xE7\xDE\xFAv\xE0\x03d\x86\xFB\xC9\x84\x16\x9Ef\xDC\xCF\xFFqh\xC5\x99\x1BS\x919\xB0\xE7c\xB5\xD4y3\xFBNC\xCCSu\x0E\xF2\x93\x99\xD7\xDA\xA5\xCE\xAC\xEE3\xC0\xD9\xE0\x9E\xCA3\x1A^~\xB0/\xAE\xE2l\xE8\xBE\xEC\xD3\xD0\xE6\x10\xBF\xDALlZ=\xED\x9B\xB4\x8C\xBC\xAFn\xB4_\xC4\r\x87\xFAQ\xDC\xC5\xA0\xA2\xFB\xE7\x8A\xAEW$\xB6\xD4~\xDA\xF8\xE1\xBB_\x04'\xB8\x909\xCC\xEF\xD0\xF2\xEF\xFF\x1C{\xF5\x95\xF9#n|\xFC\xDE\xEA\xF6[_\xBC\xF3\x062\x87\xFB\x99\x18H\xAE\xADKr\x1DO$\xA7\x00\x1F\xA1)\xE3h#\xA2\xE7\xB2\x12\xF2\x9D\x8Fn7D\xFD\xAE\xE0v]\xD4\x87\xEF\xA0\xE0\x91~\xD6'\x1F\xB5_I\xF9\xEA\xDB\xB4\x8C\xA5\xD3n\xA2`\xA8|\x80\x96\xCA\xC3i\x80\xA5WS\xE5\x03)\xDC\xA1\xE9A4\xD0T\xB0\xA5\xCE\xC14\bZ\xFC\xC9\xA6\xE0!4\xD8\xA6W\x15\x19JC\xA0\xE9\xFD\xB6\xC80\x1A\xEAP\xF0p\x1Af)\xD8T\xF9\b\x1A\x8E\xF1$\xD9\xEE\x1EA#l\x9AV\x91\x91\x14\x01\x0E\xAB\x9F\x90i\xAA|\x14\x8DD\xA4\xB6\xF9\xFB\xA7*W\x88\x0B+\x84\x85\x15\xB6\xC2\nUa\x85\xA7\xB0BRXa(\xAC\xD0\x13V\xB8\t+\xC4\x84\x15V\xC2\n%a\x85\x8F\xA2e\x94\x1FQ$u6\x87\xDD\xBD\x06QDx>\xBE\xF1\x1B\x88\xE2\xED\"dF\xFA\xC9\xCCy\x9F\xC2~\x8E\x8D\xAB\x9A\xDE\t\xF9\xACM+\xF8W\xF1\x1BPvT@e\x8F\x0E\xACl\x8F1\xE6\x17\xD6\xD26\xAC\xA5W\x9E\xAE\xA5.\xBF#\xEBZ\x9Es\xBB\x96\xE7Kjy\x1E\xEBG\xAE\xF5}\xBF\xEE(9\xF3\xC1\x9F\xCF\x17^y\x94\x8D%b~\x1D\x8A\x8D\xF6C@\xB6\xEB\\YW\xC6\xBC\xB3\x1DX\"\x86\x85\xA2\x14w`\xCDF\x1B1\x01\xC5\xEF5\xC6\xF9\xBDew\xAF\xFC\xCF\x05\xF7\x1D\xF4\xCAXd\x8E\xD7\xEC\xBF`%R\x8B\x95(\x1Ae\xAD\xDB&+\xA3)\xD2\xB1\xB6\x8F\xA1(\x07\x07.\x1A\xED\xE0`,\x8D\xB1\xA9^E\xA2\xC9e\x92aE\xDC4\xD6\xBEn#\x12C\xD1\x16\x07&+\xE3\xC8mW=\"\xE3)\xC6$\xC3b\xC5C\xE3p\x1D\xDF\x13\xBEMV\xBC4\x1E|WX\x1D\xA1\x17\x96\x00\xE1\x01\xC0^8\x1C\xA8\x0B\x0F\x04\xDE\xC2\x83\x80\xB4\xF0``,<\x04\xE8\n\x0F\x05\xAE\xC2\xC3\x80\xA8\xF0p`)<\x02(\nG\x00?\xE1\x91\x98\x1E\x1F\x9E\xA2G\xC3Ox\x03\xFB\t\x8F1A\xD7%\xC4j\x1A\x0F\xAF1\xB1\xA7K\xB0-\xC4\x1B\xB0\x10\xD7u\xF9\x89I\x9A~\xC2e\xC4\x05p\x82ncr`C\xE95\xA6\xF8\xB9!\xE4z\xB0K\xAE5O\xE4z\x1D\x99S\x7F\x19\x01\xD8\xC5\xBB]\bL\xD34\x81^#^\xD3X\x02\x96\tZ\xB0\xC4\x92\xC7\xB24&,\x13\xC9\xEB@c\x12Mp\x80\x10G\xB1\x8E\x161\x99&\xDAd\xAF\"Sh\x92\x03\x8D\xA9\x14\xA7@\xB0\x19\xB3i4\xD9\x02\xC1\x84%\x9E\xA6\xD8e\x8F\xC8t\x9Aj\xB5>\x13\x96\x194\xCD\x02\xDC\x84e&\xC5\xDB\x01W\xB0D\xE28\n\x94\x0BG\x82l\xE1(\xD0,<\x1A\x04\x0B\x8F\x01\xB5\xC2.\x90*<\x16t\nG\x83Ha7(\x14\x8E\x01y\xC2\xE301\xC2\xE31\x19\xAA\xB1L\xD7\xF6%3\xB4}\xC9Lm\xD3\x9C\xA0\xE9`\xA2\x8DY\x1A\xBEdv\xE05\xDEk\xCC\xD1v\x93s\xB5\x1D\xEA\xBC@\xBE\xB3\xF8a\xED\x90\xB3\xCAw\xCE\xD7\xF4\x9DncA\xE0\xDE\xEB2\x12\x03\xB4p\xD0\x92\xA0E\xCB,\x9An\xE9\xDE\xA4e6\xCDp\xB01\x87f:H\x98K\t\x0E\xB34\x8Ff\xD9t\xAF\"\xF3i\xB6\xA3I,\xA09\x0E\x12\x12i\xAE\xED\xA5E\xE9~!\xCDsX>\x1F\xCD\xB7\xB1\xA1\"\x8Bh\x81jl\xE9VkYL\x89 \xFCf\xBA\xCD\x86M\xC0\xD1\x03\xA8\x85\xBD\x00Yx\x02\xE0\x15\x8E\x05\xB0\xC2\x13\x01\xA9\xF0$\x80)\x1C\x07\x18\x85'\x03@\xE1)\x80Nx*\xA6Dx\x1A\xA6A8\x1E\xA5\xFB\xD0\x11\x16\xEA\x1A\x13\x9F\xA61\x896\x16i\b{\xB1\x8E\xB0\x93\xB4We\xD1\xDE\x18X\xA2i&\xBDF\xB2\xA6Au\x19)\x01m\xE7R\x9D\x17\xAATm7\x99\xA6gP\xC1J\x92\x16+B\x0B\xAD\xF5\xDFde\tNy\x96\x8CdZd\xBD\"\x98\x91\x14Z\xEC\xE0`)%Y\xD6\xC8\x8C\xA4\x928\xC8H\xA3%\x0E\x83\xB7\x8C\x92m/\xEFJ\xF5\xCB)\xC5\xAEzD\xD2i\xA9\x8D\f\x15\xC9\xA0T\x9C\xF5\xEF'<\x99\xACdR\x9A\x9Do\xC5J\x02\x8E\xD3\x01\xB0\xF0\f@+<\x13\xA0\n'\x00N\xE1Y\x00Rx6 \x14\x9E\x03\xF0\x84\xE7\x026\xE1y\x98\f\xE1\xF9\x98\x00\xE1\x05(Z8\x11\x85\xFA\xF0\x9C\x97\x05\xB4%\xCBulI\xBA\xF6\xDET\x86\xB6\x81\xC9\xD4\xB6%+4m\x89\xDB\xC8\n\xEC(\xA3\x8D\xEC\x80\xD6\xD4c\xE4\xF4\xBC\xE53\xAE\xF3\x9A\xE9)\xE1:Wj\x12\xE05V\xFD\xFF6\xFB\xD0\xF2\x92\n\xF8\\M\x7F\nXVh\xC1\x92E\xCB,kd\xC2\x92M\xCB\x1D-\"\x87\xD2\x1D{V+)\xC3\x01\xC2*\xCAt\xECY\xE5\xD2\n\x07\x1Ay\x94\xE5\x00a5e+\x13\x98n5\x965\x94\xE3hk\xF9\xB4\xD2j}&,ki\x95\x05\xB8\tK\x01\xE5\xDA\x01W\xB0$\xE1\b\xE9\xE3\xE8\x03\xA3\xC2\x8B\xC0\xA5\xF0b\xB0(\x9C\x04\xFE\x84\x05\xCC\t/\x01g\xC2\xC9\x98\x06\xE1\x14\x94.\xBC\x14\xE5\n\xA7\xA2D\xE14\x94\xA5lX\x9E\xB6+Y\xAD\xEDJ\xD6hz\r\xAF\x91\xAF\xE9_\xDC\xC6Z\x1DWR\x10`\x85\xF7\x1A\xEB\xB4\xBD\xE4zm\x7F\xBA!\xA0\xEB\xFC\x14\xD2Uw/\xD4t\x9Dnc\xA3\xCE\xAEAQ\xC0\x0E\x0EZ\xD6i\xD1\xB2\x9E\xF2,\xDD\x9B\xB4l\xA0\xD5\x0E6\ni\x8D\x83\x84\x8D\x94\xEF0KE\xB4\xD6j\x00fd\x13\x158\xD8(\xA6u\x0E\x126\xD3z\xDB\xCB\x8F\xD2\xFD\x16\xDA\x00\xDD\xFFdkl[\xA9\xD0\xB2|&-\xDBh\xA3\xDA\x95n\xB6l\xD8v*\xB27?E\xCB\n\x1C\x97\x01O\xE1\xE5@R8\x1D\x18\ng\x00=\xE1L\xE0&\xBC\x02\x88\tga\x02\x84\xB3Q\xB4p\x0E\n\x15^\x89\xE2\x84W\xA1 \xE1\\\x14\xA1h\xD9\xA4mK\x8A5m\x89\xDB\xD8\xAC\xA3\xEC-\x01\x95\xBDU\xDB\x96l\xD3\xDD7\xDB\xAE\xE9%=\xC6\x0E={\x1Am\x94h\x98\xCE\x9D:\xA6\xB3T\xDBJ\x96i\xEE\x9B\x81\x95\x1DZ\xAC\x94\xD0&k\xFD7Y\xD9I\xC5\x0E2Ji\xB3\x83\x832\xDA\xE2\xE0`\x17m\xB5\xAC\x91\x19\xD9\x8D\xA1>K\xC6\x1E\xFC\xFA\xAC\xC1+\xA7\x1D\xB6M\x00\xA5\xFA\n*\xB1\xBE\xD7\x989{i\xA7\x8D\f\x15\xA9\xA4R\x93o\xEB\x05\x7F\x1F\x95\xD9M\xA0be\x1D\x8Ey@Qx5\xF0\x13^\x03\xE4\x84\xF3\x81\x99\xF0Z\xA0%\\\u0080\xD2\x85\xD7\xA1\\\u00E1\xF5(Qx\x03\xCA\x12.D)\xC2j\xD1\x12.R\xA3\xC7c\xDC\xA5\xE3Kv\x07\xF4%^c\x8F\xBFM.\xA5\xECk\xB6M.S\xD9\xE5\xBA\x0E\xA6B\xFB\x03\xC6^M_\xE26*u>\x9E\xEE\x0B\xF8\xF1\xB4J\xDBvVk#P\xA3\xFDyj\xBF\xA6A\x05,UZ\xB0T\xD3.K\xF6&,5\xB4\xDBf\x8DTd?\xEDq\xEC}\xD5R\xB9\x03\x84\x03T\xE1\xD8\xFB\xAA\xA3\xBD\x0E4\x0ER\xA5\xE3\xDD\xE7\x10\xED\xB3}\xB8T\xB2\xAF\xA7*G[;L\xD5V\xEB3a9B5\x16\xE0&,\r\xB4\xDF\x0E\xB8\x82e\x07\x8E\x9B@\x9Ep1h\x13\xDE\f\xC2\x84\xB7\x80*\xE1\xAD(Zx\x1B\n\x15\xDE\x8E\xE2\x84w\xA0 \xE1\x12\x14!\xBC\x13\x03\x17.\xC5`\x85\xCB0@\xD5Xj\xB5}\xC9\x01m_R\xA7-\xF2\x83\x9A\xFBfn\xE3\x90\x8E/\xA9\xD7\xF8\x9AqX\xDBM\x1E\xD1v\xA8\r\xDA\xBE\xF3\xA8\xA6\xEFt\x19\xC7\x02n\x1A\x1C\x0F\xDC\xBFA\xCBQ-Z\x8EQ\xAD\xA5{\x93\x96\xE3t\xC0\xC1\xC6\xF3T\xE7\xD8\xFB:A\x07\x1D$\xBC@\x87\xAC\x06`F\x1A\xA9\xDE\xD1$N\xD2a\x07\t/\xD2\x11\xABI\x98\xB4\xBCD\r\xA6\xEE\xAD\x9C&:jY>\x93\x96StL\x11\x9Ea\xBD\xE1\x9F\xA6\xE3\xF6\x0F?\x8A\x96*\x1Cw\x014\xE1\xDD\x80Kx\x0F\x80\x12.G\xB9\xC2\x15(Qx/\xCA\x12\xAED)\xC2\xFB0|\xE1*\fY\xB8\x1A\xC3\x14\xAE\xC1\xD0\x84\xF7c8\x8A\x96\xE7\xB5\x8D\xC9\t=c\xE26^\xD0\x11v\xA3\x86\xB0Oj\xAF\xCA/j\x7F\xD0{I\xFB#l\x93\xA6A\x8D1N\xFD\x82l\xD7\x1F\xFA/\x14\xBE\x1B\xF2?\x1D@\xFE\x1E\xA3Y\xD7M\xB6h\x1AT\xC0\xD2\xAC\x05K\x0B=o\xC9\xDE\x84\xE5\f\x9Dp4\x89Vz\xC1\x01\xC2\xCB\xD4\xE8\x00\xE1,\x9D\xB4\xC9^E^\xA1\x17\x1D\x1Bd\xAF\xD2K\x0E\x87\xF7+j\xB2\xED\x02(\xD9\xFF\x9AN9\xBEw\xBEF\xA7mh\xA8\xC8\xEB\xD4l\xFB\xCB\x15u\xD69j\xB1\x7F\x01U\xB0\x1C\xC5\xB1\x16T\t\x1F\x00I\xC2u(T\xF8 \x8A\x13>\x84\x82\x84\xEBQ\x84\xF0a\f\\\u00F8\b\x06+\xDC\x80\x01\n\x1F\xC5\xA0\x84\x8Fa \xC2\xC7qs\x1F\r\x0EcL\xA6c\xF2\x88\xFE\x07WG@D",
            bkg: [232,232,232],
            tmpFile: function FN(/*?str*/s)
                    FN.file && FN.file.remove();
                    FN.file = null;
                    if( !s ) return null;
                    return FN.file = (function(fx)
                        fx = new File(''+fx);
                        if( !fx.open("w") ) return null;
                        fx.encoding = 'BINARY';
                        fx.write(s);
                        fx.close();
                        return fx;
                    })(Folder.temp+'/_'+(+new Date)+'.swf');
        // Creates the UI
        var    rc = SB.rc,
            w = new Window( 'dialog', '', undefined, {borderless:true} ),
            p = w.add( 'panel' ),
            fl = p.add( 'flashplayer', undefined, rc.tmpFile(rc.swf) ),
            t = p.add( 'statictext', undefined, msg),
            r;
        rc.tmpFile(); // kills the tmp swf file
        // UI Skin/Style
        with( w.graphics )
            backgroundColor = newBrush(
                BrushType.SOLID_COLOR,
                [rc.bkg[0]/255, rc.bkg[1]/255, rc.bkg[2]/255, 1 ]
        p.orientation ='row';
        p.alignChildren = ['left','center'];
        fl.preferredSize = [50,50];
        // Fire!
        SB.win = w;
        w.onActivate = function(){ process(); w.close(-1); };
        r = -1==w.show();
        // Cleanup and return
        SB.win = null;
        w.onActivate = null;
        rc = w = p = fl = t = null;
        return r; // true=>OK, false=>broken
    // SAMPLE CODE
    var myHugeLoop = function()
        var i = 500000;
        while( i-- )
            // you have to periodically call SpinProgressBar.win.update()
            // but not necessary at each iteration
            SpinProgressBar.win.update();
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i)*
            Math.cos(i);
    if( SpinProgressBar("Currently processing a huge loop...", myHugeLoop) )
        alert( "All is fine." );
    else
        alert( "The process has been broken by the user!" );
    @+
    Marc

  • Progress Bar is not working in Labview 6i

    Hi all,
    i implemented one vi with  Progress bar using labiview 6i. i created property node for the progress bar to set the range as 550 using scale >Range>maximum. progress bar is updating well until the value of 220. later the progress bar is starting from begining. What is the maximum range we can define for the Progress bar.? please see the attached picture . Am i missing anything from the figure?
    thanks,
    kalpana 
    Attachments:
    Progress Bar.png ‏60 KB

    Hi kalpu,
    as your "slide" is of datatype U8 it will not display values greater than 255…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How can I use a progress bar in objective c mac

    How can I use a progress bar in objective c mac? I have a code that downloads a file and I want to be able to let the progress bar increase by 1. A bit further on the code (to download the file) it needs to increase again. And so on...
    My code
    -(IBAction) downloadButtonPressed:(id)sender;{
        //get the path to the image that we're going to download
        NSURL *url = [NSURL URLWithString:@"https://www.dropbox.com/s/l6o07m48npxknt4/Cluedo.zip?dl=1"];
        //get the path to documents folder where we're going to save our image
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *DocumentsDirectory = [paths objectAtIndex:0];
        NSString *filePath = [DocumentsDirectory stringByAppendingPathComponent:@"Cluedo.zip"];
        //Download the file to memory
        NSData *data = [NSData dataWithContentsOfURL:url];
        NSError *error = nil;
        //Save it on the Documents directory
        [data writeToFile:filePath options:NSDataWritingAtomic error:&error];
        NSFileManager* fm = [NSFileManager defaultManager];
        NSString* zipPath = filePath;
        NSString* targetFolder = @"/Applications"; //this it the parent folder
        //where your zip's content
        //goes to (must exist)
        //create a new empty folder (unzipping will fail if any
        //of the payload files already exist at the target location)
        [fm createDirectoryAtPath:targetFolder withIntermediateDirectories:NO
                       attributes:nil error:NULL];
        //now create a unzip-task
        NSArray *arguments = [NSArray arrayWithObject:zipPath];
        NSTask *unzipTask = [[NSTask alloc] init];
        [unzipTask setLaunchPath:@"/usr/bin/unzip"];
        [unzipTask setCurrentDirectoryPath:targetFolder];
        [unzipTask setArguments:arguments];
        [unzipTask launch];
        //[unzipTask waitUntilExit]; //remove this to start the task concurrently

    Your code really isn't suitable for a progress bar, not a real one anyway. Your code will spend about 99.9% of its time in the method "dataWithContentsOfURL:url". That is not a method you want to use in the real world. It is only for demos or proof of concept exercises. All network operations should be asynchronous. That gives you the ability to gracefully recover when there is a failure and also to do fancy things like display a progress bar and tell the user when the download is complete.
    Once you get the asynchronous download logic working, then you can worry about the progress bar. The first thing you will need is the size of the file. Without that, all you can ever do is an indeterminate progress bar or spinner. If you have the size of the file, then you can keep track of how much of the file you have downloaded and update your progress bar with the percentage complete. Make sure to throttle it to no more than incrementing by 1% at a time. Otherwise, a large file or a file transferred in many small chunks, would waste too much time updating the progress bar for no change.

  • Progress bar in JTable?

    Hi,
    I have written a cell renderer for a progress bar but I can't set its string or make it indeterminate. Has anybody done this before? Should I write my own, or use JProgressBar (currently using JProgressBar).
    any help would be brilliant

    Here is a little example I made which shows the JProgressBar being updated.
    Everytime a row is clicked the progress bar adds one percent
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    public class TableProgress extends JFrame{
         public TableProgress(){
              super("Table Progress");
              setSize(500,115);
              Container theContainer = getContentPane();
              String[] headers = {"Name", "Percent Complete", "Progress"};
              Object[][] data = {
                   {"John Adams","50",createBar(50, "50%")},
                   {"Ben Franklin","75",createBar(75, "75%")},
                   {"Karl Marx","0",createBar(0, "0%")},
                   {"Gandalf","20",createBar(20, "20%")},
                   {"Clint Eastwood","55",createBar(55, "55%")}
              final JTable theTable = new JTable(data, headers);
              theTable.setPreferredSize(new Dimension(500,100));
              theTable.getColumn("Progress").setCellRenderer(new ProgRenderer());
              ListSelectionModel rowSM = theTable.getSelectionModel();
              rowSM.addListSelectionListener(new ListSelectionListener() {
                  public void valueChanged(ListSelectionEvent e) {
                      //Ignore extra messages.
                      if (e.getValueIsAdjusting()) return;
                      ListSelectionModel lsm =
                          (ListSelectionModel)e.getSource();
                      if (lsm.isSelectionEmpty()) {
                      } else {
                          int selectedRow = lsm.getMinSelectionIndex();
                          JProgressBar theBar = (JProgressBar)theTable.getValueAt(selectedRow, 2);
                          theBar.setValue(theBar.getValue()+1);
                          theBar.setString(String.valueOf(theBar.getValue()));
                          System.out.println(selectedRow);
              theContainer.add(theTable);
              setVisible(true);
              show();
         public JProgressBar createBar(int percentDone, String text){
              JProgressBar progressBar = new JProgressBar(0, 100);
              progressBar.setStringPainted(true);
              progressBar.setValue(percentDone);
              progressBar.setString(text);
              return progressBar;
         private class ProgRenderer implements TableCellRenderer{
              public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
                   return (JProgressBar)value;
         public static void main(String[] args){
              TableProgress theTable = new TableProgress();
    }

  • Progress bar in forms procedure

    Dear
    i want to use the progress bar in one of my processing form the problem is that my processing button use 6 procedures example
    Update_Week_WIse_Location(:Week_Code); -- Database Procedure;
    SIngle_field; -- forms procedure
    Cumm_field_cust_wIse; -- forms procedure
    CumMingled_field; -- forms procedure
    Insert_local_customer_For_exch; -- forms procedure
    Insert_nonexIst_sp; -- forms procedure
    now i could not know which procedure take how much time i and the whole process takes little time i want to add the progress bar so the user
    feel easy that the process is running not stuck
    can anybody tell me the whole code for the progress bar
    early reply will be appreciatble
    Thanks
    Junaid

    Hello,
    Did you simply enter "progress bar" in the search box ? You will find tens of answers.
    Francois

  • Need to use progress bar in my application

    hello friends,
    Actually i m using jsp filedownload and I am gettting my file in byte array and need to implement a progress bar while downloading file (as IE showing in status bar downloading file size ..% of total file size)...no fake progress bars and no stop gap solutions as like a gif moving with sign "plz wait ..file is downloading "
    plz help how to get this done
    My code
    HashMap result = (HashMap)request.getAttribute("requestParams");
         String type = request.getParameter("type");
         boolean isFile = false;
              if(result != null){
              String successFlag = (String) result.get("");
              String sFileName = null;
              byte[] bFile = null;
              String sContentType = null;
              if(successFlag != null && successFlag.equals("true")){
                   for(int i=0;i<result.size();i++){
                        sFileName = (String) result.get("FILENAME");
                        bFile = (byte[]) result.get("FILEDATA");
                        sContentType = (String) result.get("CONTENTTYPE");
                   response.reset();
                   if(null!=bFile) {
                        if(bFile.length>0){
                             if(sContentType == null || sContentType.equals("")){
                                  response.setContentType( "application/octet-stream" );
                             else response.setContentType(sContentType);
                             response.setHeader("Accept-Ranges", "bytes");
                             isFile = true;
                             response.setHeader("Content-Length", Integer.toString(bFile.length, 10));
                             if(null!=sFileName){
                                  if("view".equals(type)){
                                       if(null!=sFileName)response.setHeader("Content-Disposition","inline; filename=\""+sFileName+"\"");
                                  else{
                                       response.setHeader("Content-Disposition","attachment; filename=\""+sFileName+"\"");
                             ServletOutputStream outs = response.getOutputStream();
                             if(null!=bFile)outs.write(bFile);
                             outs.flush();
                             outs.close();
                             out.clear();
                             out = pageContext.pushBody();
                                       }

    You should get your keyboard fixed. There's a lot of letters missing from what you type and it makes it very hard for other people to read. It looks extremely inelegant.
    Anyway, your JSP isn't in control of the download. (You shouldn't have all that Java code in a JSP either but that's a separate issue.) All it does is to send the data to the browser, which is in charge of the download. And in all the browsers I use, there's a box which tells you how far the download has proceeded. No real need for a progress bar, even if you could persuade the browser to make one. Which you can't.

  • Anyway to smooth out a progress bar?

    I'm using a Timer with an event to update data on a page.  I'm also using a progress bar to indicate the next update (every 30 seconds).  Currently I'm using a manual progress bar with setProgress() to increase the value by 1 (max value 30) every second to match the 30 second Timer.  This works fine from a functionality standpoint, but I don't like how the intervals on the progress bar jump in chunks to the next value instead of smoothly progressing to the next value.  Basically the progress bar shows 30 "jumps" instead of smoothly filling in.  I have been looking through documentation as best as I can to find any type of transition or smoothing renderer, but no luck.
    I'm using Flash Builder 4 if that helps with suggestions.
    thanks

    Thanks, your comment just cleared up my thinking a bit.  My timer was set to Timer(1000, 30), making it 30 counts.  I adjusted it to Timer(100, 300), making it 300 jumps, which is much less noticeable for the progress bar's size.

  • How can i use Progress bar in IR Report

    Hi ,
    I have created IR Report based on the View so, it's been taking 10-15 mins of time to execute the IR Report. Here user want to see the Progress bar while executing the IR Report. How can i use Progress bar in IR Report.
    Anybody have idea on Progress bar please help me.
    Regards
    Narender B

    Hi ,
    Thanks for your information.
    I am new to the APEX.*i need to show Progress bar while opening the each page* then user can know some process is happening from the backside and i don't know where i need to add and call the below function.could you please provide the steps for the progress bar.
    In my application there are almost 100 pages are there so, i need to show progress bar on each page while opening .could you please provide Global function to call on each page.
    function html_url_Progress(pThis){ 
    $x_Show('AjaxLoading');
    window.setTimeout('$s("AjaxLoading",$x("AjaxLoading").innerHTML)', 100);
    //doSubmit('APPLY_CHANGES');
    redirect(pUrl);
    Regards
    Narender B

Maybe you are looking for

  • Error while connecting MYSQL Database

    Hi, I use a 30 days trial of Crystal Reports 2008. When i try to connect with the database i always get the next error: [http://www.visiscan.nl/error.jpg] The database is 4.1GB large and there is 10GB free space on the database. Anybody can tell me w

  • Can someone identify the ports on my SB LIve? Which color is wh

    I have a dell Dimension 4600 with a SB Li've. I need to know what color jack is for what function. I can't read the Egyptian Hyroglyphs on the back. I have in order from left to right. With the 5 Pin Plug on the left. Black Green Pinkish Red Blue Yel

  • Newbie Question w/Java 1.4 & InitialContext

    The below listed code works fine using the included properties and jdk1.3.1. Using jdk1.4.1_02, I get the following exception... // Exception I got using JDK 1.4 javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining na

  • Limiting the file size on Export Action

    Hi, Is there an easy way of limiting the file sizes created by the Export action by simpoly stating the limit, for example 5MB? Thanks, Ronen

  • Additional Belle User Documentation

    Something this forum could benefit by, is a "page" of additional user documentation to help people who have upgraded to Nokia Belle.  This would include tips, suggestions, solutions, all in one place and easy to find. That's the purpose of this threa