4D v16.3Arrays e a linguagem 4D |
||
|
4D v16.3
Arrays e a linguagem 4D
Arrays e a linguagem 4D
Arrays são variáveis 4D. Como qualquer variável, um array tem um alcance e segue as regras da linguagem 4D, mas com algumas diferenças. Você pode criar e trabalhar com arrays locais, de processo e de interprocesso. Exemplos: ARRAY INTEGER($aiCodigos;100) ` Cria um array local de 100 valores inteiros de 2 bytes O alcance de estes arrays é idêntico ao alcance de outras variáveis locais, de processo e de interprocesso: É declarado um array local aquele com nome que se inicia com o símbolo do dólar ($). O alcance de um array local é o método em que foi criado. O array se apaga quando o método termina. Arrays locais com o mesmo nome em dois métodos diferentes podem ter tipos diferentes, porque na verdade, são duas variáveis diferentes com alcances diferentes. Quando cria-se um array local em um método de formulário, de objeto ou de projeto, chamado de sub-rotina pelos dois tipos de métodos anteriores, o array é criado e apagado cada vez que o método de formulário ou de objeto é convocado. Em outras palavras, o array é criado e apagado para cada evento de formulário. Consequentemente, você não pode usar arrays locais em formulários, nem para visualizar, nem para imprimir. Como no caso de variáveis locais, é uma boa idéia usar os arrays locais sempre que possível. Ao agir assim, minimiza-se a quantidade de memória necessária para rodar sua aplicação. É declarado um array de processo aquele com nome que se inicia com uma letra. O alcance de um array de processo é o processo em que foi criado. O array é apagado quando o processo encerra ou é abortado. Um array de processo dispõe de uma instância criada automaticamente para cada processo. Portanto, o array é do mesmo tipo para todos os processos. No entanto, seu conteúdo é particular para cada processo. É declarado um array de interprocesso aquele com nome que se inicia com <> (no Windows ou Macintosh) ou com o símbolo de diamante, Opção-Shift-V em um teclado americano (apenas no Macintosh). O alcance de um array de interprocesso consiste na totalidade de processos durante uma sessão de trabalho. Devem ser utilizados apenas para compartilhar dados e transferir informação entre processos. Dica: quando sabe-se com antecedência que um array de interprocesso será acessado por vários processos que podem causar conflitos, proteja o acesso ao array com um semáforo. Para maiores informações, veja o exemplo no comando Semaphore. Nota: Pode-se utilizar arrays de processo e de interprocesso em formulários para criar objetos de formulário como áreas de rolagem, listas de drop-dowm, etc. Pode-se passar um array como parâmetro a um comando 4D ou a uma rotina de plug-in 4D. Por outro lado, não se pode passar um array como parâmetro para um método de usuário. A solução é passar um ponteiro ao array como parâmetro ao método. Para mais detalhes, confira a seção Arrays e ponteiros. Diferente de variáveis de texto e alfanuméricas, não se pode apontar um array a outro. Para copiar (apontar) um array a outro, utilize a função COPY ARRAY.
Ver também
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |