Re: How to do an event only once inside a while loop?

2004-05-13 Thread Greg McKaskle
 I am trying to figure out a way to do this, but have not been
 successful so far.
 

To do this without events, you need another piece of state information. 
  Add a shift register to your while loop and initialize it to False. 
This will indicate whether the initialization has run in this session. 
Combine this information with the button information to control the 
execution of the case.  Obviously, the right shift register needs to be 
sent True when the initialization happens, and Current value otherwise. 
  Note that this is a very common approach, and when you find that you 
have several shift registers for various data, you might decide to 
combine them into a cluster and use fewer shift registers.  The choice 
is yours.

Greg McKaskle




How to do an event only once inside a while loop?

2004-05-12 Thread JNR
I have a boolean control (Start Button) inside a while loop that needs
to initiate TWO processes when it is activated. For the FIRST of these
processes, it is imperative that once the button is pressed, the
boolean control must remain in its switched state (switch when
pressed) for the remaining duration of the VI.

However, for the SECOND process, the same boolean control must trigger
a process (some code inside a Case Structure) only ONCE, and never
again. Due to various constraints, this Case Structure code is also in
the same While Loop that contains the boolean control.

I am trying to figure out a way to do this, but have not been
successful so far.

If the explanation of the problem I have provided above is not clear,
here's another way of looking at the problem:

I need an effect similar to the latch when pressed mechanical action
of controls, but achieved programatically. The Case Structure
containing my code receives a default False status until the button
is pressed. After the button is pressed (and for the remainder of the
program), the status is changed to True. This Case Structure is
inside a While Loop, which runs throughout the length of the program.
How do I make the code in the Case Structure only happen once, and not
with each iteration of the While Loop?

Any suggestions are appreciated.