Ordena dados de uma variável 4GL do tipo ARRAY OF RECORD conforme o atributo informado.
Sintaxe
_ADVPL_arraySearch( < aRec > , < uSearch > , < cAttr > , < nStart > , < lPartialSearch > , < lCaseSensitive > ) => INTEGER
Parâmetros
Nome | Tipo | Obrigatório? | Descrição |
---|---|---|---|
aRec |
| Sim | Variável 4GL do tipo ARRAY ou ARRAY OF RECORD onde será feita pesquisa. |
uSearch |
| Sim | Conteúdo do valor a ser pesquisado, podendo ser número, data ou texto (tipo simples). |
cAttr |
| Não | Nome do elemento do RECORD 4GL a ser utilizado para pesquisa ou índice/linha em caso de array multi-dimensional. Em caso de ARRAY do tipo simples, este parâmetro deve ser NULL ou apenas não informá-lo caso não informe os próximos parâmetros. |
nStart |
| Não | Linha inicial a partir de onde deve ser realizada a pesquisa. Quando for pesquisa em todo ARRAY, basta não informar este parâmetro. |
lPartialSearch | SMALLINT | Não | Indica quando deseja pesquisar o conteúdo de forma parcial utilizando a instruçao "ESTÁ CONTIDO". Quando não informado o valor padrão adotado é FALSE. |
lCaseSensitive | SMALLINT | Não | Indica se deve considerar a diferença entre CAIXA ALTA ou baixa de conteúdos do tipo texto. Quando não informado o valor padrão adotado é TRUE. |
Retorno
Tipo | Descrição |
---|---|
INTEGER | Posição do ARRAY onde a informação foi encontrada. Retornará 0 (zero) caso não encontre. |
Exemplo
DEFINE ma_dados ARRAY[3] OF RECORD codigo SMALLINT, texto CHAR(10) END RECORD #----------------------------# FUNCTION arraySearch_test() #----------------------------# DEFINE l_index SMALLINT LET ma_dados[1].codigo = 49 LET ma_dados[1].texto = 'linha 01' LET ma_dados[2].codigo = 27 LET ma_dados[2].texto = 'linha 03' LET ma_dados[3].codigo = 5 LET ma_dados[3].texto = 'linha 02' LET l_index = _ADVPL_arraySearch(ma_dados,27,'codigo') CALL conout("Linha do array onde foi encontrado código 27 = "||l_index) LET l_index = _ADVPL_arraySearch(ma_dados,"LINHA 03",'texto',1,FALSE,FALSE) CALL conout("Linha do array onde foi encontrado o texto LINHA 03 independente ignorando maiusculas e minúsculas = "||l_index) END FUNCTION
Informações
Fontes: array.prw
Observações
Disponível a partir do pacote Logix 12.1.31.