Just confusing about when do while loop stops............

hi i m just a newbie
i just got a bunch of codes here but what i m confusing is in some function
it is like
boolean error;
do{
//and here it has some code, if and else statements and error changes to true and false
}while(error)this is the code, what i m confusing is when it stops??? it just states while(error)
but i don't know it means it stops when error is false? or when error is true? or
which one???,, because it just says while(error)
but i don't know whether it means error is true or error is false;;;;;;;;

I suggest taking your code and changing the error
variable to flag as follows. Then read it as do
{something} while (flag is true). If flag is true
then you want to loop again; if flag is false you
want to quit the loop. So, initialize flag to be true
as default (you want to loop again). In the code
block set flag to false when you determine you want
to quit.
boolean flag = true;
do{
//and here it has some code, if and else statements
and error changes to true and false
}while(flag)
And I'd suggest that the variable named "flag" is even more non-intuitive than the original "error" variable name was.

Similar Messages

  • Making a while loop stop

    I'm trying to write to a file by using a while loop. I read from the keyboard and then enter the while loop. I print to the file and then I read from the keyboard again. My problem is when I want to exit the loop by entering nothing I can't. The loop becomes infinite. Please help!!! Here is my code!!
    inputline = keyboard.readLine();//read the keyboard
    while ( inputline != null ){
    DiskOut.println( inputline );
    DiskOut.flush();
    inputline = keyboard.readLine();//read the keyboard again
    }//end while

    At a guess, it's not returning null when you hit return, but rather the return character. Try something like
    if (inputline == "" || inputline =="\n" || inputline == "\r" || inputline == null) {break;}If that works, you can take out bits to see what it is returning.

  • Confused about when FIOS will be available

    Help!  I am at wit's end!!  I have tried, unsuccessfully, to talk to anyone at Verizon about when FIOS will be available in my neighborhood. 
    We've seen them running the familiar orange conduit alongside the road.  But when I call Verizon, no one, and I mean no one, can even hazzard a guess about when service might be coming.  I'm just looking for a ballpark date, that's all.  You would've thought I was asking for some top state secret!  Where service is to be installed is, from all indications, a GIANT secret that absolutely NO ONE is privy to.  I was told that "engineering" might have some answers, but no one knows their number, and that customer service cannot talk to engineering.  It would seem that there is probably a plan, otherwise who ordered the conduit to be installed in the first place?  Why would you lay the conduit if you weren't going to use it .. some time???  Or does Verizon just run around randonly installing fios?  I just don't get it.  And try to talk to someone higher up - there is no way to find a supervisor.  The web site is devoid of actual people's names or anything.  
    Does anyone have any ideas on how i can break through this rock solid bureaucracy and get what i have to believe is an answer to a pretty simple question?  I don't understand why this is so hard.......

    Yeah, that info is played pretty close to the vest..... However, a rule of thumb that seems to be true more often than not is..Once they are DONE laying all the orange cables and finish patching up the neighborhood, then it will available ususally in about 6-8 weeks later. This is after they are completly done in the neighborhood.
    ====================================================================================
    Error exists between keyboard and chair.

  • While loop stops before countdown has finished

    Hello everyone
    I have a problem with this scenario:
    What I want is, that I can enter a series of arrays and then it will choose the first row because the first cycle number is 0, the second is 1 and so on. I want this loop to continue until I've left my arrays empty. The probelm is when I test it, it immediately stops, but when I highlight everything seems to work fine.
    This is a program I'm trying to write so it can control some dosing pumps - I put in a number and weight and then it converts it into a set point % which will trigger the pumps. When the countdown is finished then it should start dosing with the next weight and time.
    I'm fairly new to labVIEW. I've tried looking everywhere but I haven't found that could help me, I count on you!
    Thank you very much
    Theis
    Solved!
    Go to Solution.
    Attachments:
    TabelTEST2.vi ‏32 KB

    Thank you very much all of you! It almost works!
    I must say that you guys put a lot of effort into helping me, I'm grateful.
    I went with this solution:
    I added the "stop 2" button, which starts everything.
    I just have a slight problem. When I want to pause I press the stop button again and it pauses. When I start again - by pressing the stop button - it resumes but I can see that it kept counting seconds while it was pause. I guess, that what I want is, that when I pause that it sends a zero signal to the pump which tells it to stop and the same with the timer. And when I start I want it to resume. Ya' follow me?
    I hope any of you guys, who have already been so helpful, can help!
    Thank you
    Theis
    Attachments:
    TabelTEST2_MOD.vi ‏36 KB

  • How to stop execution in while loop without stopping execution of other loops in the same vi

    HI
    I am quite a novice in Labview.
    I have a problem in my project. I used a while loop inside my vi to build an array of ten values along with other loops. Then I used a stop button to stop manually the while loop. But it seems like the loop doesn't stop in the middle of the array building and so other loops in the vi doesn't work until the while loop finishes building the array and as soon as while loop execution is over, the complete vi stops. But all that I wanted was to build the array using the shift register along with the control to stop building array anytime. And not to stop execution of other structures when the while loop finishes.
    Can anyone help me?
    Rahul

    Hi Rahul,
    Modified ur Vi to work with single button.
    But the subtract case is not in any loop.
    So, once both the loops stop, the subtract case will execute only once. Depending on state of subtaract boolean at that time, corresponding case will be executed and the Vi will stop.
    so think of a logic where u can put this also in a new loop.
    Or you can also incorporate it in one of the two loops and pass the other loop's data to it.
    Let us know how you will proceed in this regard
    I am posting your VI as well a VI with my modifications VI in Labview 7.0 so that Thomas can give his suggestions too
    Plus, always keep a time delay in your while loops.
    Oh sorry, the "arrayinouttestnewfinal.vi" is the modified vi
    Regards
    Dev
    Message Edited by devchander on 01-10-2006 06:15 AM
    Message Edited by devchander on 01-10-2006 06:19 AM
    Attachments:
    arrayinouttestnewfinalnew4.vi ‏59 KB
    arrayinouttestnewfinal.vi ‏63 KB

  • How to stop while loop for particular time

                    public void test()
                   new Thread(new Runnable()
                        public void run()
                             //Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
                             System.out.println("test");
                             //System.out.println("test ..."+i);
                             try
                                  Thread.sleep(3000);
                             catch (InterruptedException e)
                   }).start();
            public void startTest()
                    while(i < marquee_Str1.length)
                   marLbl1.setValue(marquee_Str1); //set value to textbox for perticular id
                   marLbl2.setValue(marquee_Str2[i]);
                   marLbl3.setValue(marquee_Str3[i]);
                   test(); // call thread function
                   i++;
    in this code while loop don't stop
    plz help me to stop while loop for certain period by using thread or other technique                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Yes.. the original problem would be your test() method put the sleep in an entirely separate thread of execution. So the thread is created then the method just keeps waiting. The while loop should directly call Thread.sleep... which you have apparently figured out!

  • Start stop while loop with tab control

    I want to be able to start and stop a while loop by entering and leaving a tab.  I am using an event structure to do so but it doesn't seem elegant or the right way to do this.  The only way I was able to get it to kind of work is by unchecking the lock front panel box in the event structure.  I have attached a sample vi of what I have so far.
    Solved!
    Go to Solution.
    Attachments:
    Loop test.vi ‏16 KB

    The problem is that you can't even stop the program by hitting the stop button until you leave the tab, which is not a friendly user interface.
    Event structures should just handle basic user events.  Any given event case should not take a long time to run.  While you are in the diagnostics tab, your code is stuck in that while loop.  Although fixing the lock front panel allows you to do other things, the LabVIEW is just queuing up all of those other UI events (like Stop button value change) and can't handle them until the inner while loop stops and allows the outer while loop to iterate again.
    You should have a parallel while loop to handle the waveform graph.  You can use notifiers or queues or an action engine FGV (see Ben's Action Engine Nugget) to pass the starting or stopping of the waveform graph update to the parallel while loop.

  • How to stop a while loop which contains a timed loop

    Hi,
    I'm a new hand to labview, and I'm using labviw 7.1, NOT 8.x.  I'm trying to do a measurement, in which the flow would look like the attached file (I have stipped all hardware related components to make it easy to read).  My questions are:
    1. In Loop 3, when the comparison (x>20.85) is true, Loop1, Loop2 and Loop3 are stopped, why it won't quit the while loop (I have wired it to  while loop stop)?
    2. When it is running, I click on stop button, why it won't stop?
    Thanks!
    Attachments:
    SyncTimedLoop32.vi ‏228 KB

    hwm wrote:
    2. When it is running, I click on stop button, why it won't stop?
    The stop button is read outside of the inner while loops.  So the inner while loops will continue to run until their stop conditions are met.
    hwm wrote:
    1. In Loop 3, when the comparison (x>20.85) is true, Loop1, Loop2 and Loop3 are stopped, why it won't quit the while loop (I have wired it to  while loop stop)?
    It seemed to me like it would, but sometimes it seemed like I had to set change the numeric value one more time before it would.  You have a very odd structure there by placing the event structre inside the while loop with the other loops.  I think you may be running into issues where events are getting queued up in the event structure, or race conditions between when the event structure might execute relative to the other loops.  It is all very odd and difficult to predict all the ways these structures might interact and relative timing.  Usually event structures would belong in their own parallel while loop.  I think you need to rethink exactly what you are trying to do here.  It probably isn't event necessary to use the stop timed structure functions.  A local variable or a notified to pass the "Stop status" from loop 3 to the other loops (or the separate event structure loop to the other 3) would probably be better.

  • Stop While loop

    Hi
    I have a while loop with a cycle time of 100 sec, when I stop it I have to wait 100 sec untill the while loop stops.
    There is any manner to stop it immediatly?
    Thanks

    Why are you using a property node for a control that is not accessed within the loop?  And the conditional terminal is set to run if True. 
    Your while loop doesn't make sense.. Can you post the entire code (attach your vi) and explain what you are trying to do?
    R

  • While loop doesn't stop until 2 more clicks

    I have to say I am really not familiar with LV at all, but Im learning.
    So, why is that after I clicked stop bottom, I had to click my OK button twice, then my program stopped. Why it can't stop immediately?
    Besides, if I want to some the dice result by array, which wire am I missing?
    Thank you!
    Solved!
    Go to Solution.
    Attachments:
    dice.vi ‏15 KB

    Hi RawtoLV,
    You have a while loop within a while loop. When you run the other while loop stops when you pressed the stop button, the inner while loop still runs. Since your OK button is using Latch when released, what i noticed is that when you pressed that OK button, it quickly switched to from true to false which didn't stop that while loop operation (could be due to the wait). May I ask what are you actually doing with the sequence structure?
    I would suggest using event structure instead (http://zone.ni.com/reference/en-XX/help/371361K-01/glang/event_structure/):
    here some more info on event structure:
    http://www.ni.com/white-paper/3331/en/
    http://www.youtube.com/watch?v=8eO64fo3Pho
    Warmest regards,
    Lennard.C
    Learning new things everyday...

  • How to code a parallel 'for loop' and 'while loop' where the while loop cannot terminate until the for loop has finished?? (queues also present)

    I've attached a sample VI that I just cannot figure out how to get working the way that I want.  I've labeled the some sections with black-on-yellow text boxes for clarity during the description that follows in the next few sentences.  Here's what I want:
    1) overall -- i'm intend for this to be a subVI that will do data acquisition and write the data to a file.  I want it to use a producer/consumer approach.  The producer construct is the 'parallel for loop' that runs an exact number of times depending on user input (which will come from the mainVI that is not included).  For now I've wired a 1-D array w/ 2 elements as a test case.  During the producer loop, the data is acquired and put into a queue to be delt with in the consumer loop (for now, i just add a random number to the queue).
    2) the consumer construct is the 'parallel while loop'.  It will dequeue elements and write them to a file.  I want this to keep running continuously and parallel until two conditions are met.
          i. the for loop has finished execution
          ii. the queue is empty.
       when the conditions are met, the while loop will exit, close the queue, and the subVI will finish. (and return stuff to mainVI that i can deal with on my own)
    Here's the problems.
    1)  in the "parallel for loop" I have a flat sequence structure.. I haven't had time to incorporate some data dependency into these two sequential sections, but basically, I just care that the "inner while loop" condition is met before the data is collected and queued.  I think I can do this on my own, but if you have suggestions, I'm interested.
    2)  I can easily get the outer for and while loops to run sequentially, but I want them to run in parallel.  My reasoning for this is that that I anticipate the two tasks taking very different amounts of time. .. basically, I want the while loop to just keep polling the queue to get everything out of it (or I suppose I could somehow use notifiers - suggestions welcome)...  the thing is, this loop will probably run faster than the for loop, so just checking to see that the queue is empty will not work... I need to meet the additional condition that nothing else will be placed in the queue - and this condition is met when the for loop is complete. basically, I just can't figure out how to do this.
    3) for now, I've placed a simple stop button in the 'parallel while loop', but I must be missing something fundamental here, because the stop button is totally unresponsive.  i.e. - when I press it, it stays depressed, and nothing happens.
    suggestions are totally welcome!
    thanks,
    -Z
    Attachments:
    daq01v1.vi ‏59 KB

    I'd actually like to add a little more, since I thought about it a bit and I'm still not quite certain I understand the sequence of events...
    altenbach wrote:
    zskillz wrote:
    So i read a bit more about the 'dequeue element' function, and as I understand it, since there is no timeout wired to the dequeue element function, it will wait forever, thus the race condition I suggested above can never happen!
    Yes, you got it!
    As I've thought about it a bit more, there's a few things that surprise me... first, the reason the 'dequeue element while loop' errors is not because there's nothing in the queue, it's becaues the queue has been released and it's trying to access that released queue...   However the problem I have is this --- Even though there's no timeout wired to the dequeue element, I still would think that the while loop that contains it would continue to run at whatever pace it wanted -- and as i said before.. most of the time, it would find that there is nothing to dequeue, but once in a while, something is there.  however, it seems that this loop only runs when something has been enqueued.  the reason I say this is illustrated in the next code sample MODv2 that's attached below.  I've added a stop button to the "queue size while loop" so the program runs until that is pressed.  I've also added a simple conditional in the "dequeue while loop"  that generates a random number if it a button is pressed... but this button is totally non-responsive... which means to me that the "dequeue while loop" isn't actually continuously running, but only when an element is added to the queue.  this still seems almost like the 'dequeue while loop" waits for a notifier from the queue telling it to run.  can you explain this to me? because it is different from what I expect to be happening.
    rasputin wrote:
    I tried to open your VIs but it doesn't work. LV
    is launched, the dialog box (new, open, configure...) opens and then...
    nothing. Not even an error message. I guess it isn't a problem of LV
    version or a dialog box would appear saying this. Could you, please,
    send a image of the code?
    Thanks,
    Hi Rasputin, I'm using LV8.  I assume that was your problem, but who knows.  I've attached a pic of of altenbach's solution since it's what I needed.
    thanks
    -Z
    Message Edited by zskillz on 10-20-2006 11:49 AM
    Attachments:
    daq01v1MODv2.vi ‏63 KB
    daq01v1MODpic.JPG ‏116 KB

  • Confuse about Configuring Oracle Warehouse Builder

    newbie here... i am abit confuse on how to configure the Oracle Warehouse builder...
    I have 2 database... 1 source and 1 new one...
    I understand that i have to install the Runtime Repository in the database computer and the Target Schema through the client's computer...
    so all this while... i am just confuse about what to install into the source database and what to install into the new database...
    Please help...

    Location is a logical entity in your OWB design that can be either a database schema, a flat file location, an SAP application location etc. Once you complete your design and are ready to deploy the design into the runtime environment, you will have to 'register' the locations by providing the physical details of your location to OWB (user name/password, database, hostname etc.).
    I am a bit confused by your configuration - are the source and the target in two separate schemas or in the same schema? Your posts are somewhat contradictory.
    If they are in two different schemas, you should:
    1. Create a source module pointing to a source schema (you can then import data object structures from the source schema - i.e. you don't have to create source tables manually in OWB, but you can import them into the module automatically). This module will have a source location (for example SRC_LOC).
    2. Create a target module where all your target objects will be (i.e. where the data will be loaded). This module will have a different location (TGT_LOC). In your target module you will also create the mappings.
    3. When deploying, you will register SRC_LOC with the physical details of your source schema, while the target location will be registered with the physical details of the target schema. The code generated by OWB during deployment will make sure that the data is extracted from the source schema and inserted into the target schema (either by generating and using DB links or by qualifying the schemas in the extraction queries if source and target are in the same database instance).
    On the other hand, if both source and target objects are in the same db schema, you can have all your objects in the same target module and you will only have to register the location of this target module when deploying (LOC_TGT).
    That said, there can be a variety of reasons why there is no data in the target after you run the extract mapping that have nothing to do with locations, such as logical errors in the mapping (an inappropriate filter or a wrong join), insufficient privileges etc. I suggest you take a look in the runtime audit browser that should contain the error messages relative to your mapping.
    Regards:
    Igor

  • DO WHILE LOOP

    Hello community,
    I have a question about a DO WHILE loop. I use the While loop frequently, but now I'm in need of a DO WHILe loop. I want it to run once, then wait for a user input that decides whether to run it again or procede. I'm running a meassurement that ocassionally fails, so I want the opertunity to rerun it bevore I move on to the next step.
    I'm sure there is a simple solution, I just don't see it.
    Thank you in advance,
    Florian
    Windows XP Professional, Labview 9

    Hi Florian,
    attached you´ll find two screenshots/VI snippets of examples, currently I don´t have access to a LV 7.1 installation, but these two are very simple  to reprogram.
    1. Acquire the data and thenWiat for the user input. On "Measure again?" you run the loop a second time, on Measurement ok, you leave the outer loop and give your data to wherever you need it.
    2.
    The smarter way, if you have to wait for a USER reaction, is to use a Event structure for acquiring and stopping the main loop.
    Hope that helps.
    Stefan K.

  • Use event structure and while loop in parallel

    Hello, I would like to use an event structure in parallel with a while loop. I have a camera that needs to constantly take pictures and I have that setup in the while loop. I also however need to do other functions in conjunction with the picture taking. I have about 50 or so events that need to have access to while the pictures are taken. Is there any way to do this? If not is there any way to have a global stop variable that is attached to all 50 of the events. I know I can do this the hard way and have each boolean event in the event structure be attached to the while loop stop control. This is however very inefficient. I would also like to know if I can simply use a mouse click as the stop of the while loop. Am I able to have a variable that goes from false to true on mouse click without using the event structure to do this? Thanks.

    Yes, just place the event structure in a second while loop.
    Add a stop button to the other while loop and add an event for the stop button to stop both loops. For a simple example, see my VI posted here:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=176367&jump=true
    Simply add more event cases as needed.
    LabVIEW Champion . Do more with less code and in less time .

  • Getting data from a while loop while running.

    Hello,
    I did a program that call a sub-VI which is doing experiment and have its own timer.
    The sub-VI is a while loop and the stop condition of this loop is the elapsed time of my timer.
    What I want to do is to be able to get the elapsed time in my main program during the execution of the sub-VI (every second of its execution).
    First I assign the elapsed time in the sub-VI as an output of it. But of course the elapsed time is only updated in the main VI only when the while loop has finished. So I tried several solution: property nodes, local variable, global variable.
    When I am using global variable, I can see the elapsed time being updated during the while loop when I open the global variable VI. But the result is always the same: in the main VI the elapsed time is only updated at the end of the while loop.
    I think that is the global variable is updated every time, I could be able to get its data to my main VI?
    Does anyone have an idea?
    Thank you,
    Meach

    I tried using shared variable and reference without succes.
    I will keep searching.
    I enclose my VI that I simplify the most but with still keeping the shape of my real program. If you can take a look I will really appreciate.
    The goal is on the top-level VI to be able to see the updating data time in real time.
    Thanks,
    Meach
    Message Edited by Meach on 07-23-2008 04:13 PM
    Message Edited by Meach on 07-23-2008 04:14 PM
    Attachments:
    Elapsed Time.zip ‏25 KB

Maybe you are looking for

  • TV remote control and Java

    Hello, I am new to Java and I am trying to write a program in Javafx. Therefore I looked this week on ebooks. My quesion is how can I change TV channel with my remote control ? I have i TV tuner in my computer with TV remote controll.

  • What is the best kind of images should we use in iBook Author?

    We are using a png image in a keynote inside our iBook. But we are loosing the quality of the image when we reduce the box size of the keynote. Is png the best kind of images for a keynote in iBook Author? Is there a better kind of image to use? For

  • Java EE 5 request.getRequestURL() change

    Hello, I have a problem with change of the method HttpServletRequest.getRequestURL() in my action servlets. I have this situation: URL matches http://server/app/page-key-word-string These URLs generates 404 Tomcat error page, which redirects to redir

  • Reporting a problem with firmware and secondary ca...

    Hi there, I would like to report a problem with the 202.12.11 firmware for the Nokia E75. My secondary camera works fine with the normal camera application until I make a video call. The picture for the video call using the secondary camera is just w

  • Can't sign out of iCloud on Yosemite. Mail was unable to delete 'email'.

    I have a MacBook Pro running Yosemite 10.10.1 and I'm trying to log out of my iCloud account, but it won't let me. The error message I keep getting says, "Mail was unable to delete 'email'. Relaunch Mail then sign out of iCloud again."  I get the sam