Suporte ao uso de índices para arrays em expressões de Associações.

A partir da versão 5.1 do Elipse E3/Power, foi implementado o suporte ao uso de índices para arrays em expressões de associações. Dessa forma, estes arrays podem ser de qualquer dimensão.

Arrays são geralmente descritas como “lista de objetos”; antes de mais nada, elas são basicamente objetos que contem múltiplos valores armazenados em uma lista. Um objeto array pode ser armazenado em variáveis e ser tratado de forma muito similar a qualquer outro tipo de valor; a diferença está em podermos acessar cada valor dentro da lista individualmente, e fazer  coisas úteis e eficiente com a lista, como laço através da lista e fazer a mesma coisa para cada valor.

Exemplo:

Tag(1) ou Tag(1,2) ou Tag(1,2,3) seriam válidos se os Tags contivessem arrays de 1, 2 ou 3 dimensões, respectivamente.

Os índices para arrays em expressões de associações não precisam aparecer necessariamente ao lado de um nome de objeto.

Exemplo:

arr = Array(1,Array(1,2,3),4)   
msgbox arr(1)(2) 'Return 3
msgbox arr(2) 'Return 4

Screen.Item("TagArray").Value = arr

A expressão acima, que já funcionava no VBScript, agora também funciona no Elipse E3, em associações. O primeiro índice (1) acessa o Array dentro do Array, e o segundo índice pega o elemento dentro desse array (o resultado nesse caso é 3). Isso acontece porque os arrays do VBScript sempre iniciam no índice 0.

Exemplo de associação:

A seguir, veja um exemplo de utilização de array multidimensional via scripts/links.

Via script:

Dim arr(3)
arr(1)= Array("IO.Ethernet.MainIP", "Parent.IP")
arr(2) = Array("IO.Ethernet.MainPort", "Parent.Porta")
arr(3) = Array("ModiconModbus.DefaultSlaveAddress", "Parent.Address")
msgbox arr(1)(0) 'return IO.Ethernet.MainIP
msgbox arr(3)(1) 'return Parent.Address
Screen.Item("TagArray").Value = arr

Via associação:

Este artigo foi útil? Was this post helpful?
Yes0
No0

Leave a Reply

Your email address will not be published.Required fields are marked *