10.5       Przycisk dwupozycyjny z opóźnionym sterowaniem

 

Częstym przypadkiem jest konieczność użycia przycisku dwupozycyjnego, w którym operacja sterująca nie jest wykonywana od razu, lecz wymaga osobnego potwierdzenia. Schemat działania jest bardzo podobny do zwykłego przycisku dwupozycyjnego.

Właściwości podstawowe

 

Aktywny

Tak

 

Główna zmienna

Flag1

 

Zmienna sterowana

#Control

 

Typ kursora

Hand

 

Typ przycisku

Przycisk prostokątny 3d

 

Tryb przełącznika

Tak

 

Sterowanie natychmiastowe

Nie

Właściwości stanowe, stan podstawowy

 

Włączony

=Variable()

 

Wartość wyłączenia

1

 

Wartość włączenia

2

 

Kolor włączenia

=HasWaitingControl()?LightGreen:LightGray

 

Kolor wyłączenia

=HasWaitingControl()?LightCoral:LightGray

 

Tekst wyłączenia

Off

 

Tekst włączenia

On

 

Sterowanie natychmiastowe ustawione na Nie powoduje, że kliknięcie na przycisku powoduje tylko zmianę jego stanu na przeciwny. Przycisk jest w tym stanie do momentu zatwierdzenia sterowania akcją SendControls lub jego anulowania akcją CancelControls. Istotne jest, aby wizualnie pokazać, że obiekt oczekuje na zatwierdzenie operacji. W przykładzie zmieniany jest kolor przycisku. Wyrażenie warunkowe wykorzystuje funkcję HasWatingControl, która przyjmuje wartość true, gdy obiekt jest w stanie oczekiwania.

W przykładzie pokazano też, że sterowanie (komenda) jest wysyłane do innej zmiennej niż zmienna główna decydująca o stanie przycisku. Nazwa zmiennej sterowanej tworzona jest notacją sufiksową i w tym przykładzie jest to Flag1Control.

Podobnie jak w poprzednim przykładzie, po wykonaniu operacji może dojść do chwilowego powrotu przycisku do stanu początkowego, na czas potrzebny do wykonania sterowania, wykonania komendy przez sterownik i zwrotnego odczytu zmiennej głównej.