Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Nie rozumiem. Fukcja "IsFree" na bloku jest od dawna... Nie mam co wymyślać...
Możesz w "Jeżeli":
- w polu "Wyrażenie - ustawienia" -> "ActiveBlock" wskazać blok po nazwie, np: "Block1" (aby "ActiveBlock." w wyrażeniu odnosił się do "Block1")
- w wyrażeniu wpisać: ActiveBlock.IsFree(false)=false
Tu była o tym mowa, jak używać "ActiveBlock" w "jeżeli" do wskazywania innych bloków niz bieżący: viewtopic.php?p=1904#p1904
Możesz w "Jeżeli":
- w polu "Wyrażenie - ustawienia" -> "ActiveBlock" wskazać blok po nazwie, np: "Block1" (aby "ActiveBlock." w wyrażeniu odnosił się do "Block1")
- w wyrażeniu wpisać: ActiveBlock.IsFree(false)=false
Tu była o tym mowa, jak używać "ActiveBlock" w "jeżeli" do wskazywania innych bloków niz bieżący: viewtopic.php?p=1904#p1904
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Piotr,
ja się kompletnie pogubiłem i nie rozumiem tego co napisałeś powyżej.
Chcę zrobić coś takiego: Jeżeli Blok "X" jest zajęty to.....: jeżeli nie to.....
I nie wiem co mam wpisać w pole ConditionName funkcji "jeżeli" .
ja się kompletnie pogubiłem i nie rozumiem tego co napisałeś powyżej.
Chcę zrobić coś takiego: Jeżeli Blok "X" jest zajęty to.....: jeżeli nie to.....
I nie wiem co mam wpisać w pole ConditionName funkcji "jeżeli" .
Andrzej
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Po pierwsze zainstaluj ostatnią wersję testową (1.72.6232), bo okazało się, że w wyrażeniach nie widać właściwości z parametrami, więc musiałem isFree przerobić na funkcję.
Najpierw w "Condition" wybierasz "Warunek reguły deklaratywnej" i naciskasz "+" po lewej stronie.
W ConditionName nic nie wpisujesz, klikasz "...", które się pojawia, gdy postawisz kursor.
Potem w oknie naciskasz "Nowa" i oknie Warunek wpisujesz: ActiveBlock.IsFree(false)=false
Najpierw w "Condition" wybierasz "Warunek reguły deklaratywnej" i naciskasz "+" po lewej stronie.
W ConditionName nic nie wpisujesz, klikasz "...", które się pojawia, gdy postawisz kursor.
Potem w oknie naciskasz "Nowa" i oknie Warunek wpisujesz: ActiveBlock.IsFree(false)=false
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Wiem, że w "ConditionName" nic się nie wpisuje. To było takie uproszczenie. Poprzednie tak właśnie robiłem, ale nie wchodziło. Teraz jest poprawnie.
Żeby ActiveBlock ustawić na konkretny blok (b3) zrobiłem tak ja w załączniku, ale pojawia się komunikat : Event engine. Nie można wywołać metody IsFree, ponieważ jej obiekt docelowy jest zerowy.
Żeby ActiveBlock ustawić na konkretny blok (b3) zrobiłem tak ja w załączniku, ale pojawia się komunikat : Event engine. Nie można wywołać metody IsFree, ponieważ jej obiekt docelowy jest zerowy.
Andrzej
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
W uzupełnieniu poprzedniego wpisu: czy nie można by od razu w pytaniu wstawić nazwę bloku o który chodzi?
Andrzej
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Wszystko zle.... musze sprawe przemyslec.
Ustawienie ActiveBlock nie wychodzi poza jeden kwadracik!
Wiec jak przed if ustawiles ActiveBlock, to w warunku juz ActiveBlock jest znowu puste, woec twoj program wywala sie w warunku if.
To trzeba jakos onaczej zrobic... Daj mi troche czasu, bo aktualnie mam grype i 38st... ☺
Ustawienie ActiveBlock nie wychodzi poza jeden kwadracik!
Wiec jak przed if ustawiles ActiveBlock, to w warunku juz ActiveBlock jest znowu puste, woec twoj program wywala sie w warunku if.
To trzeba jakos onaczej zrobic... Daj mi troche czasu, bo aktualnie mam grype i 38st... ☺
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Nie ma żadnego pośpiechu. Wracaj do zdrowia.
Andrzej
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Dokładnie masz rację!
Wystawiłem nową wersję, w której w obiekcie Engine dodałem różne funkcje do szukania różnych obiektów po nazwach, m.in: BlockByName("nazwa")
Teraz:
- ustawienie ActiveBlock w ogóle nie jest potrzebne
- w if w warunku wstawiasz: Engine.BlockByName("b3").IsFree(true)=true
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Działa, tylko..............Do tej pory byłem przekonany, że blok jest wolny dopóki nie wjedzie lok. Faktycznie jednak blok jest zajęty już w momencie uruchomienia Autoprzejazdu. A mnie zależy na tym, by sprawdzić czy lok dojechał. Zwracałeś wcześniej na to uwagę, ale to jakoś przeoczyłem.
Zgodnie z Twoimi sugestiami
Ale pojawia się ten komunikat.
Czy da się to sprawdzić w zdarzeniach?
Zgodnie z Twoimi sugestiami
zrobiłem coś takowego -w pętli while dopóki blok "b9" jest wolny i lok nie dojechał, to... (załącznik).Blok jest wolny wtedy, gdy "IsFree(false)=true"
Lok dojechał, gdy blok jest zajęty i "Blok.CurrentTrainStatus=0"
Ale pojawia się ten komunikat.
Czy da się to sprawdzić w zdarzeniach?
Andrzej
Re: Operacja "AutoPrzejazd_Zmien" w Zdarzeniach
Nie ma czego takiego jak "Blok.", dlatego program zglasza ci blad.
W tym miejscu musisz powtorzyc: Engine.BlockByName("b3").
W tym miejscu musisz powtorzyc: Engine.BlockByName("b3").
Wiki: http://wiki.gbbkolejka.pl
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078
Program do sterowania makietami: http://www.gbbkolejka.pl
Facebook: http://www.facebook.com/pages/Modelarst ... 0485039078