Pode-se passar um array como parâmetro para um comando 4D ou para rotina de um plug-in 4D. Por outro lado, não se pode passar um array como parâmetro para um método de usuário. A alternativa é passar um apontador para um array como parâmetro para o método.
Nota: pode-se passar arrays de processo e de interprocesso como parâmetros, mas não arrays locais.
Seguem alguns exemplos.
If((0<atNomes)&(atNomes<Size of array(atNomes))
atNomes:=atNomes+1
End if
Se precisar fazer o mesmo para 50 arrays diferentes, pode-se evitar escrever a mesma coisa 50 vezes, usando o seguinte método de projeto:
Então, pode-se escrever:
SELECIONAR SEGUINTE ELEMENTO(->atNomes)
SELECIONAR SEGUINTE ELEMENTO(->asCodigosPostais)
SELECIONAR SEGUINTE ELEMENTO(->aiIDRegistros)
- O seguinte método de projeto tem como resultado a soma de todos os elementos de um array numérico (Inteiro, Inteiro longo ou real):
Nota: desde 4D v13, pode utilizar a função Sum para realizar a soma dos elementos de um array numérico.
Assim, pode-se escrever:
$vlSum:=Soma Array(->arSalarios)
$vlSum:=Soma Array(->aiDefectCounts)
$vlSum:=Soma Array(->alPopulacao)
- O seguinte método de projeto coloca em caixa alta todos os elementos de um array de texto ou alfanumérico:
Assim, pode-se escrever:
MAIUSCULAS ARRAY(->atTemas)
MAIUSCULAS ARRAY(->asSobrenomes)
A combinação de arrays, apontadores e estruturas de looping, como For...End for, permite escrever muitos métodos de projeto úteis para manusear arrays.