Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: andrzej-n »

No to zrobiłem tak:
I też bryndza.
Załączniki
rys3.jpg
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2179
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: gbbsoft »

No masz, kolejne ograniczenie tego modułu MS... Funkcja zwracać wartości enum...

Wymyśliłem... Musisz napisać tak:

me.Engine.BlockByName("b9").CurrentTrainStatus == GbbEngine.Block.TrainStatuses.StopOrMissing

Czyli musisz odwołać się dokładnie do wartości, która jest w komunikacie, a nie wpisać po prostu liczbę (zresztą liczba powinna być 0, a nie 1)

PS. Nawet nie wiedziałem, że w tym module można się odwoływać do wartości wyliczanych. Super... Bardzo to ułatwi mi życie... Człowiek uczy się całe życie...
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: andrzej-n »

Jesteś Piotr Wielki.
W pętli "while" działa bez zarzutu.
Próbowałem wykorzystać to w funkcji "jeżeli".
Dla pytania czy lok jest w bloku "b9" wpisałem this.Engine.BlockByName("b9").CurrentTrainStatus == GbbEngine.Block.TrainStatuses.StopOrMissing i program nie "krzyczał".
Ale dla negacji wystąpił problem (załącznik)
Załączniki
rys4.jpg
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2179
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: gbbsoft »

Negacja ma widac wyzszy priorytet niz rownosc.
Albo wez w nawiasy, albo uzyj operacji <> albo !=
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: andrzej-n »

Coś próbowałem ale zero powodzenia.
Czy mógłbyś mi wprost napisać co mam wstawić w negację jeżeli w pierwszym "kwadraciku" wpisałem this.Engine.BlockByName("b9").CurrentTrainStatus == GbbEngine.Block.TrainStatuses.StopOrMissing
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2179
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: gbbsoft »

Na przykład tak:

this.Engine.BlockByName("b9").CurrentTrainStatus != GbbEngine.Block.TrainStatuses.StopOrMissing
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: andrzej-n »

Na przykład tak:

this.Engine.BlockByName("b9").CurrentTrainStatus != GbbEngine.Block.TrainStatuses.StopOrMissing
Po wpisaniu program nie "krzyczał", ale żadna instrukcja dla tego warunku nie jest wykonywana, natomiast dla warunku this.Engine.BlockByName("b9").CurrentTrainStatus == GbbEngine.Block.TrainStatuses.StopOrMissing instrukcje są wykonywane.
Andrzej
Awatar użytkownika
gbbsoft
Admin
Posty: 2179
Rejestracja: 09 lip 2008, 23:19
Miasto: Warszawa
System DCC: Lenz + Roco

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: gbbsoft »

Już nie bardzo pamiętam, co miało to zdarzenie robić i kiedy miało być uruchamiane...
Może jak dochodzi do tego miejsca zdarzenie, lok w bloku albo stoi albo go w ogóle nie ma...
andrzej-n
Posty: 209
Rejestracja: 24 lis 2015, 20:48

Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach

Post autor: andrzej-n »

Chodzi mi o takie zdarzenia dopóki lok stoi w bloku lub jeżeli lok stoi w bloku.
Ale przyszło mi na myśl, że to co do tej pory "obrabialiśmy" dotyczyło sytuacji gdzie lok dojechał lub nie dojechał. I dlatego, gdy sprawdzałem czy lok jest w bloku to nie działało.
Andrzej
ODPOWIEDZ