Este artigo mostra como é possível trabalhar e realizar operações com dados agrupados em matrizes no Elipse E3.
Para efetuar as devidas operações com matrizes, utilize a biblioteca matriz.lib. Esta biblioteca foi criada para que operações aritméticas sejam executadas em uma matriz. A biblioteca basicamente consiste em um XObject chamado XOArray contendo diversas propriedades. Abaixo segue a lista de propriedades deste XObject:
Lines: Exibe o número de linhas da matriz no XObject.
Columns: Exibe o número de colunas da matriz no XObject.
ArrayData: Armazena a matriz completa. É atualizada e salva sempre que a matriz for gerada ou alterada. Essa propriedade contém um script que atribui valores automaticamente às propriedades Lines e Columns.
SetLine1 e SetLine2: Utilizados para operações com número de linhas específicos; por exemplo, para retornar os valores da Linha 1 até a Linha 2.
SetColumn1 e SetColumn2: Utilizados para operações com número de colunas específicos; por exemplo, para retornar os valores da Coluna 1 até a Coluna 2.
Result: Retorna o valor do resultado das operações no XObject.
NewValue: Utilizada para armazenar um novo valor utilizado na operação de setar um valor na matriz.
ErrorMsg: Retorna mensagens de erro; por exemplo, se um valor fora da faixa válida for atribuído a SetLine1, a propriedade retorna a string “Número de LINHA1 inválido”.
Operation: Todas as operações com as matrizes são efetuadas nesta propriedade. A operação é selecionada a partir de um número associado à propriedade, de acordo com a lista abaixo:
- Soma de uma região específica: Soma uma quantidade específica de campos. Para isto, associe valores às propriedades SetLine1, SetLine2, SetColumn1, SetColumn2, que representarão os limites do soma. Para utilizar esta operação, associe o número 1 à propriedade Operation.
- Média de toda a região: Calcula a média de toda a região da matriz. Para utilizar esta operação, associe o número 2 à propriedade Operation.
- Setar: Seta um valor a um campo desejado. Para isto, associe os valores da linha e da coluna desejadas às propriedades SetLine1, SetColumn1 e NewValue. Para utilizar esta operação, associe o número 3 à propriedade Operation.
- Soma de toda a região: Calcula a soma de toda a região da matriz. Para utilizar esta operação, associe o número 4 à propriedade Operation.
- Buscar: Busca o valor de um campo desejado. Para isto, associe os valores da linha e da coluna do valor a ser buscado às propriedades SetLine1 e SetColumn1. Para utilizar esta operação, associe o número 5 à propriedade Operation.
- Ordenar coluna em ordem crescente: Ordena os valores de uma coluna em ordem crescente. Para isto, associe o valor da coluna a ser ordenada à propriedade SetColumn1. Para utilizar esta operação, associe o número 6 à propriedade Operation.
- Ordenar coluna em ordem decrescente: Ordena os valores de uma coluna em ordem decrescente. Para isto, associe o valor da coluna a ser ordenada à propriedade SetColumn1. Para utilizar esta operação, associe o número 7 à propriedade Operation.
- Trocar colunas: Faz a troca de valores entre duas colunas. Para isto, associe o valor das duas colunas a serem trocadas às propriedades SetColumn1 e SetColumn2. Para utilizar esta operação, associe o número 8 à propriedade Operation.
- Trocar Linhas: Faz a troca de valores entre duas linhas. Para isto, associe o valor das duas linhas a serem trocadas às propriedade SetLine1 e SetLine2. Para utilizar esta operação, associe o número 9 à propriedade Operation.
- Ordenar linha em ordem crescente: Ordena os valores de uma linha em ordem crescente. Para isto, associe o valor da linha a ser ordenada à propriedade SetLine1. Para utilizar esta operação, associe o número 10 à propriedade Operation.
- Ordenar linha em ordem decrescente: Ordena os valores de uma linha em ordem decrescente. Para isto, associe o valor da linha a ser ordenada à propriedade SetLine1. Para utilizar esta operação, associe o número 11 à propriedade Operation.
- Média de uma região específica: Calcula a média de uma quantidade específica de campos. Para isto, associe os valores dos limites da média às propriedades SetLine1, SetLine2, SetColumn1, SetColumn2. Esses valores representam os limites da média; por exemplo, a soma da linha 1 à linha 2, e da coluna 1 à coluna 2. Para utilizar esta operação, associe o número 12 à propriedade Operation.
Nesta biblioteca há um XControl chamado XCArraySample, utilizado para efetuar as operações em tela da matriz. Neste XControl, é possível criar uma matriz em tela e efetuar as devidas operações desejadas. A figura abaixo ilustra a interface do XControl:
O botão Gerar Matriz é responsável por criar a matriz, gravá-la no XObject e recriar os Setpoints em tela com o valor de cada campo. O display superior mostra o valor da propriedade Result, ou seja, retorna o resultado das operações. O display inferior mostra o valor da propriedade ErrorMsg, ou seja , retorna as mensagens de erro. Os demais botões apenas atribuem o número correspondente à variável Operation e fazem a operação em tela. Todas as funcionalidades do XObject XOArray podem ser visualizadas a partir do XControl XCArraySample.
Em anexo está aplicação exemplo que utiliza a biblioteca descrita anteriormente.
Anexos: