Strona 1 z 1
Jak zatrzymać pętlę
: 26 paź 2004 17:12
autor: Karol
Mam program w który zawiera trzy zagnieżdzone pętle typu for i while. Mam pytanie jak za pomocą jednego przycisku zatrzymać wszystkie te pętle w dowolnym momencie??
Problem
: 26 paź 2004 17:50
autor: bogdani
Może zapytam w ten sposób po co używasz pętli for, skoro chcesz mieć możliwość łatwego wyjścia z pętli ??
Możesz użyć pętli while i użyć warunku liczbowego do jej zakończenia. Dodatkowo do wszystkich pętli możesz użyć poprzez and przycisku boolean kończącego pracę wszystkich pętli przekazując wartość tego przycisku do tych pętli. Ważne jest aby pamiętać, iż przycisk ten będzie aktywny w pętli, która się aktualnie wykonuje, chyba że użyjesz detekcji zdarzeń events w osobnej równoległej pętli do wykrycia naciśniecią przyciśku i następnie przekażesz jego wartość do warunków pętli.
bogdani
: 27 paź 2004 23:58
autor: Gość
mozesz to zrobić za posrednictwem zmiennych lokalnych a sprawa jest prosta
oczywiscie nie wiem jak przerwać działanie pętli for a le pętle while da się
do warunków zakonczenia pętli drutujesz zmienną lokalną i ustawiasz na read
change to read
a do przycisku tę samą zmienną i ustawiasz na WRITE
change To WRite
przycisk nie musi byc umieszczony w rzadnej pętli poniewaz on zapisuje do zmiennej a odzcytać zmienną musisz w pętli którą chcesz nadzorować
Re: Jak zatrzymać pętlę
: 28 paź 2004 09:28
autor: Defiant
Zobacz sobie przykład o nazwie Queue Basics.vi
Generalnie podejdź do tematu jak do synchronizacji układu, będziesz miał wtedy pewność że zakończysz wykonywanie pętli w żądanym momencie
Niech MOC będzie z Tobą
Re: Jak zatrzymać pętlę
: 29 paź 2004 00:36
autor: Gość
Karol pisze:Mam program w który zawiera trzy zagnieżdzone pętle typu for i while. Mam pytanie jak za pomocą jednego przycisku zatrzymać wszystkie te pętle w dowolnym momencie??
Jeśli faktycznie są to pętle zagnieżdżone w sobie i faktycznie chcesz je zatrzymać w tej samej chwili to pozostaje przycisk "Abort VI" - to trzeci z kolei od lewej w górnej listwie nad diagramem. Można róznież zrobić to w sposób bardziej zaawansowany za pomocą metod VIServera z innego VIja, korzystając z węzłów właściwości i metod
A teraz poważnie: pętla for, jeśli już otrzyma informację o N
- jawnie przez podpięcie do terminala w lewym górnym rogu pętli lub niejawnie przez indeksowanie tunelu do którego jest podpięty drut z tablicą -
wykona się tyle razy ile wynosi N. Tego się
nie da zatrzymać, gdzyż wtedy pętla FOR przeczyła by swojej definicji, czyli nie była by pętlą FOR