[ Pobierz całość w formacie PDF ]
Projektanci aplikacji InTouch mogą w skryptach zmieniać odwołania obiektów
SmartSymbol do obiektów ArchestrA lub zmiennych programu InTouch. Ta
funkcjonalność umożliwia przełączanie symboli na różne instancje obiektów
w zależności od warunków lub od reakcji użytkownika. Ta funkcja wpływa nie
tylko na obiekty SmartSymbol ale także na inne obiekty graficzne.
Funkcja, która umożliwia przełączanie zdalnych odwołań w trakcie działania
aplikacji nazywa się IOSetRemoteReferences.
Nowe funkcje programu InTouch
Obiekty InTouch SmartSymbol 47
IOSetRemoteReferences()
Zmienia zdalne odwołania w trakcie działania aplikacji. Można jej używać
do zmiany odwołań do obiektów ArchestrA, zdalnych zmiennych InTouch
lub elementów programów komunikacyjnych.
Kategoria Zamiany wartości
IOSetRemoteReferences(BaseAccess, NewAccess,
Składnia
MatchString, SubstituteString, Mode);
Parametr Opis
BaseAccess Parametr ten zawiera nazwę dostępu, do której będą
porównywane nazwy dostępu zdalnych odwołań.
NewAccess Nowa nazwa dostępu. Nowa nazwa dostępu zostanie
ustawiona we wszystkich zdalnych odwołaniach, dla
których pierwotna nazwa dostępu pokrywała się
z parametrem BaseAccess oraz gdy pierwotna nazwa
elementu pokrywała się z parametrem MatchString
(jeżeli został określony).
MatchString Parametr ten zawiera nazwę elementu, do której będą
porównywane nazwy elementów zdalnych odwołań.
Jeżeli ten argument jest pusty oznacza to, że każda
nazwa elementu zdalnego odwołania spełni ten
warunek.
SubstituteString Parametr określa, na jaki tekst ma zostać zamieniony
oryginalny tekst występujący w nazwie elementu
pokrywający się z parametrem MatchString. Jeżeli
ten argument jest pusty oznacza to, że żadna zmiana
nie zostanie dokonana.
Mode Określa sposób, w jaki teksty są ze sobą
porównywane. Porównywanie zawsze rozpoczyna się
od początku nazwy elementu, nigdy od środka. 0
oznacza, że pokrywać musi się cała nazwa elementu
do znaku "." 1 oznacza, że może się pokrywać tylko
część nazwy nawet, gdy kolejnym znakiem nie jest
znak "."
IOSetRemoteReferences("Galaxy", "", "pumpX", "pump001",
Przykład(y)
0);
IOSetRemoteReferences("Galaxy", "TagServer1", "pumpX",
"p2", 0);
IOSetRemoteReferences("TagServer1", "TagServer2",
"pumpX", "backpump3", 0)
IOSetRemoteReferences("TagServer1", "", "Tank", "Plant",
1)
Przeadresowanie zdalnych odwołań
" Funkcja IOSetRemoteReferences pozwala jedynie na przeadresowanie
zdalnych odwołań. Jej działanie obejmuje jedynie te odwołania, dla
których nazwa dostępu pokrywa się z wartością BaseAccess oraz nazwa
elementu pokrywa się z wartością MatchString.
" Wywołanie funkcji IOSetRemoteReferences dotyczy wszystkich zdalnych
odwołań znajdujących się na otwartych oknach.
Nowe funkcje programu InTouch
48 Rozdział 2
" Jeżeli wartość argumentu BaseAccess jest pusta (np. ""), wywołanie
funkcji IOSetRemoteReferences nie spowoduje żadnej zmiany.
" Jeżeli argument MatchString jest pusty (np. ""), wywołanie funkcji
IOSetRemoteReferences spowoduje zmianę wszystkich zdalnych
odwołań, których nazwa dostępu pokrywa się z wartością argumentu
BaseAccess.
" Nowa nazwa dla zdalnego odwołania powstaje z wartości argumentów
NewAccess oraz SubstituteString.
" Jeżeli flaga Mode ustawiona jest na '0', zmiana nazwy elementu może
dotyczyć tylko całej nazwy obiektu i atrybutu (lub zmiennej). Wartość
parametru MatchString musi pokrywać się z nazwą elementu lub do znaku
".".
" Jeżeli flaga Mode ustawiona jest na '1', możliwa jest zmiana części nazwy
elementu. Oznacza to, że wartość MatchString musi pokrywać się
z częścią (początkiem) nazwy elementu.
" Oryginalne, skonfigurowane nazwy zdalnego odwołania pozostają bez
zmian. Kolejne wywołania funkcji IOSetRemoteReferences nie muszą
odnosić się do bieżących, aktywnych nazw. Wywołania funkcji
IOSetRemoteReferences( ) mogą następować w dowolnej kolejności.
Odtwarzanie zdalnych odwołań
" Jeżeli parametr SubstituteString jest pusty (""), funkcja
IOSetRemoteReferences odtwarza nazwę bieżącej nazwy dostępu do
oryginalnej nazwy dostępu.
" Jeżeli parametr MatchString jest pusty (""), funkcja
IOSetRemoteReferences odtwarza nazwę bieżącego elementu do
oryginalnej nazwy elementu.
Uwaga: Jeżeli parametr SubstituteString nie jest pusty, natomiast
parametr MatchString jest pusty, nazwa elementu zostanie odtworzona do
pierwotnej nazwy. Wstawianie tekstu na początku nazwy nie jest
dozwolone. Na przykład, wykonanie skryptu
IOSetRemoteReferences("Access1", "" , "","Valve",0); nie spowoduje
dodania tekstu Valve na początku lub na końcu nazwy elementu.
" Jeżeli parametr SubstituteString jest pusty (""), funkcja
IOSetRemoteReferences odtwarza nazwę bieżącego elementu do
oryginalnej nazwy elementu. Ustawiając wartość parametru MatchString
na wartość różną od pustej a wartość SubstituteString na pustą, można
wybrać dla jakiego podzbioru zdalnych odwołań mają zostać odtworzone
nazwy elementów.
Nowe funkcje programu InTouch
Obiekty InTouch SmartSymbol 49
IOSetRemoteReferences a okna programu
InTouch
Funkcja IOSetRemoteReferences ma wpływ jedynie na zdalne odwołania na
oknach, które są otwarte. Poniższe scenariusze opisują zachowanie funkcji
IOSetRemoteReferences, gdy jej wywołanie dotyczy zdalnych odwołań
znajdujących się na otwartych oknach.
Scenariusz 1
1. Utwórz dwa okna w programie InTouch: Window1 i Window2.
2. Na oknie Window2, utwórz połączenie animacyjne xxx:TankLevel.Value.
To okno zostanie otwarte jedynie poprzez naciśnięcie przycisku.
3. Na oknie Window1, utwórz tekstowe połączenie animacyjne do
xxx:TanLevel.Value oraz dodaj drugi przycisk, który spowoduje
[ Pobierz całość w formacie PDF ]