Strona 1 z 1

GOTO

: 09 lip 2004 22:31
autor: jacobs
Czy znajdę w Labview funkcję spełniającą zadania goto? Robię program w sekwencji w której kilka rzeczy robi sie jedna po drugiej (wyświetlają się jakieś wykresy itd) ale w pewnych okolicznościach chcę pominąć tę sekwencję i już w pierszym kroku wyjść z niej z pewnymi danymi które zostały w nim wyliczone. Podobna sytuacja jest z pętląmi. Jak to można rozwiązać?

: 10 lip 2004 00:04
autor: PMaj
witam

Jeżeli już koniecznie chcesz używać sequence structure i pomijać pewne sekwencje w zależności od pewnego warunku to proponuję użycie struktury 'case' w oknie danej sekwencji. Jeżeli w oknie danej sekwencji, którą zechcesz być moze pominąć umieścisz case, i w nim dopiero kod programu, to po podpięciu odpowiedniego warunku będzie wykonany wpisany kod lub nie (w zależności od zdefiniowanej akji w case).

Pozdrawiam

: 10 lip 2004 01:01
autor: jacobs
To o czym mówisz jest oczywiście prawdą, jednak w tym przypadku nie mam takiej możliowości zastosowania case'a. W pierwszej sekwencji mam pętlę while w której to właśnie sprawdzam ten warunek a poza tym dzieje się mnóstwo innych rzeczy. Oznacza to tyle że jest on sprawdzany nieustannie.Tak więc jakbym włożył cały kod programu w case to warunek ten byłby sprawdzony tylko raz(chyba że bym to umieścił w kolejnej pętli,co odpada). Trudno to wyjąśnić opisowo ale wydaje się że nie ma innego wyjścia jak tylko ominięcie klku sekwencji, tyle że nie wiem czy taka możliwość istnieje. Dzięki jednak za odpowiedz.

Pozdrawiam

: 10 lip 2004 09:14
autor: bogdani
Witaj
Zastanawiałeś się nad użyciem funkcji Select z palety Comparison? Funckja ta pozwala od razu wybrać inletesujący cię strumień danych w zależności od zmiennej logicznej (TRUE, FALSE). Fakt, musisz wykonywać rzeczy dla obu strumieni, co nie jest optymalne. Skoro musisz coś ominąć to po prostu w zależności od warunku puszczeszdane z różnych miejsc.
bogdani

Re: GOTO

: 26 lip 2004 20:29
autor: Mikrobi
[quote="jacobs"]Czy znajdę w Labview funkcję spełniającą zadania goto? Robię program w sekwencji w której kilka rzeczy robi sie jedna po drugiej (wyświetlają się jakieś wykresy itd) ale w pewnych okolicznościach chcę pominąć tę sekwencję i już w pierszym kroku wyjść z niej z pewnymi danymi które zostały w nim wyliczone. Podobna sytuacja jest z pętląmi. Jak to można rozwiązać?[/quote] Możesz skorzystać z Maszyny Stanów z wykorzystaniem elementu Select o którym wspominał bogdani. Przykład jest tutaj: [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... d%201d.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... tledd2.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... %201d3.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... %201d4.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... %201d5.png[/img]
pozdrawiam Mikrobi
p.s. wiem, to dawny post ;)