1.3.7.4. Deklaracja in-line warunku archiwizacji

W skład deklaracji zmiennej może wchodzić warunek archiwizacji tej zmiennej. Do tej pory wpisywało się tam nazwę warunku, którego definicja znajdowała się w osobnym pliku warunków. Aspad 7.12 dostępny od wersji Asix 6.0.2 umożliwia zdefiniowanie warunku bezpośrednio w deklaracji zmiennej (deklaracja in-line).

 

Ponieważ większość warunków ma prostą jednowierszową postać, to w wielu aplikacjach pozwoli to uniknąć tworzenia pliku warunków.

 

Takie warunki można wprowadzać w edytorze bazy definicji zmiennych Architekta. Nie można ich stosować z wcześniejszymi wersjami Architekta, gdyż nieprawidłowo interpretuje on dodatkowe przecinki w definicji zmiennej.

 

Deklarację in-line można zdefiniować na 2 niżej opisane sposoby.

 

 

 

 

Warunek jako wyrażenie w deklaracji zmiennej

 

Zamiast nazwy warunku można wpisać bezpośrednio wyrażenie, zgodne ze składnią definicji warunku w pliku warunków, ujęte w nawiasy (). W takim wyrażeniu pomija się pierwszy parametr określający nazwę warunku.

 

Przykłady

 

Archiwizuj, gdy bit 4 zmiennej AAA jest równy 1:

(BAND, @AAA, 0x10)

 

Archiwizuj, gdy bity 4 lub 8 zmiennej AAA zmieniły stan:

(BNE, @AAA, $@AAA, 0x110)

 

Archiwizuj, gdy bit 0 zmiennej archiwizowanej zmienia stan z 0 na 1:

(BGT, @, $@, 0x1)

 

Archiwizuj, gdy wartość zmiennej archiwizowanej jest poza przedziałem (20,80):

(IN, @, <<, 20, 80, >>)

 

 

 

 

 

Warunek jako argument w deklaracji zmiennej

 

Zamiast nazwy warunku można wpisać bezpośrednio wyrażenie, zgodne ze składnią argumentu warunku w pliku warunków. Takie wyrażenie musi się zaczynać od !, -, ~, $, @ lub ?.

 

Przykłady

 

Archiwizuj, gdy zmienna AAA jest poza przedziałem (-0.5; 0.5):

@AAA

 

Archiwizuj, gdy zmienna AAA jest w przedziale (-0.5; 0.5):

!@AAA

 

Archiwizuj, gdy poprzednia wartość zmiennej AAA była poza przedziałem (-0.5; 0.5):

$@AAA

 

Archiwizuj, gdy warunek QQQ nie jest spełniony:

!?QQQ