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

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

Esses e outros códigos, estão disponíveis gratuitamente no nosso GitHub, acesse em github.com/dan-atilio/AdvPL.

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

About Dan_Atilio

Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

Deixe uma resposta

%d blogueiros gostam disto: