Função que verifica se um Array está vazio

Olá pessoal…

Hoje vou mostrar uma função que verifica se um array está vazio (ou com todas as linhas excluídas).

AdvPL

AdvPL

Para testar se um array está vazio, podemos facilmente utilizar a função Len, porém, e se todas as linhas do aCols estiverem excluídas e você precisar validar?

Foi pensando nisso, que criei a função zVazio, que recebe por parâmetro o array que precisa ser validado.

Abaixo o código fonte criado.

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zVazio
Função que verifica se o array está vazio (ou somente com linhas excluídas)
@type function
@author Atilio
@since 05/03/2016
@version 1.0
	@param aArray, Array, Array que contém as informações (como um aCols)
	@return lRet, Se o Array está vazio (não tem nenhuma posição válida)
/*/

User Function zVazio(aArray)
	Local lRet := .F.
	Local nAtual := 1
	Local nUltPos := 0
	Local nExcluidos := 0
	
	//Se o tamanho for 0, Array é vazio
	If Len(aArray) == 0
		lRet := .T.
	
	//Se tiver em branco, Array é vazio
	ElseIf Empty(aArray)
		lRet := .T.
		
	Else
		//Percorro o Array
		For nAtual := 1 To Len(aArray)
			//Pega a última posição do aCols (a que contém se a linha está excluída - .T. -, ou não - .F. -)
			nUltPos := Len(aArray[nAtual])
			
			//Se tiver excluído
			If aArray[nAtual][nUltPos]
				nExcluidos++
			EndIf
		Next
		
		//Se a quantidade de excluídos for igual ao tamanho do array, array está vazio
		If nExcluidos == Len(aArray)
			lRet := .T.
		EndIf
	EndIf
Return lRet

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta