Witam! Mam taki przykaładowy kawałek kodu: If a = 0 Then : Gosub a_0 : End If If b = 1 Then : Gosub b_1 : End If If c = 2 Then : Gosub c_2 : End If If d = 3 Then : Gosub d_3 : End If If e = 4 Then : Gosub e_4 : End If If f = 5 Then : Gosub f_5 : End If If g = 6 Then : Gosub g_6 : End If If h = 7 Then : Gosub h_7 : End If If i = 8 Then : Gosub i_8 : End If If j = 9 Then : Gosub j_9 : End If Oczywiście podprogramy wszystkie również są. Próbowałem zagnieżdzać wszystkie kolejne instrukcje warunkowe jedna w drugiej, ale nic to nie daje, bo Return na końcu podprogramu wraca zawsze tam, skąd dokonał się skok i tak czy siak mieli niepotrzebnie wszystkie następne instrukcje... Myślę nad tym i myślę i nic sensownego nie potrafię wymyśleć ;(
|
|||
Re: Program
jest kilka metod. najlepiej jest użyć instrukcji Select Case
trzeba mieć jedną zmienną od której warunek jest sprawdzany a nie w każdej linijce inną, chodzi mi o to if a= 0, a w drugiej jest if b= 1, a czemu nie if a=1?
Można tez dodać zmienną bitową np "Wykonuj", normalnie będzie ona równa 1, a w każdym z podprogramów dasz:
po skończeniu tych wszystkich ifów dasz Wykonuj = 1 i nastepne wejście znowu wykona tylko jeden podprogram ale zasze będzie to pierwszy który spełni warunek .To drugie rozwiązanie jest mniej eleganckie niż case
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Problem już rozwiązałem,
Problem już rozwiązałem, okazało się że nie w instrukcjach warunkowych tkwił problem.
Dzięki za odpowiedź, dopiero dzisiaj dowiedziałem się że z forum jest coś nie tak ;)