Nesse vídeo demonstraremos a utilização das funções DiffArray e AdmDiffArray sendo que ambas servem para comparar se dois arrays possuem diferenças ou se são iguais.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe142 Retorna se há diferenças entre dois arrays @type Function @author Atilio @since 16/12/2022 @obs Função DiffArray Parâmetros + Array a ser comparado (monodimensional) + Array de comparação (monodimensional) Retorno + Retorna .F. se são iguais ou .T. se houver diferenças Função AdmDiffArray Parâmetros + Array a ser comparado (mono ou multidimensional) + Array de comparação (mono ou multidimensional) Retorno + .F. se são iguais ou .T. se houver diferenças **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe142() Local aArea := FWGetArea() Local aPessoas1 := {} Local aPessoas2 := {} //Adiciona dados em ambos os arrays (monodimensional) aAdd(aPessoas1, "Daniel") aAdd(aPessoas1, "João") aAdd(aPessoas1, "Maria") aAdd(aPessoas2, "Daniel") aAdd(aPessoas2, "Maria") aAdd(aPessoas2, "José") //Faz a comparação de arrays monodimensionais If DiffArray(aPessoas1, aPessoas2) FWAlertError("Há diferenças entre os dois arrays", "Teste com DiffArray") Else FWAlertSuccess("Não há diferenças entre os dois arrays", "Teste com DiffArray") EndIf //Adiciona dados em ambos os arrays (multidimensional) aPessoas1 := {} aAdd(aPessoas1, {"Daniel", sToD("19930712"), "Bauru"}) aAdd(aPessoas1, {"Joao", sToD("19910131"), "Agudos"}) aAdd(aPessoas1, {"Maria", sToD("19921231"), "Piratininga"}) aPessoas2 := {} aAdd(aPessoas2, {"Daniel", sToD("19930712"), "Bauru"}) aAdd(aPessoas2, {"Joao", sToD("19910131"), "Agudos"}) aAdd(aPessoas2, {"Maria", sToD("19921231"), "Piratininga"}) //Faz a comparação de arrays multidimensionais If AdmDiffArray(aPessoas1, aPessoas2) FWAlertError("Há diferenças entre os dois arrays", "Teste com AdmDiffArray") Else FWAlertSuccess("Não há diferenças entre os dois arrays", "Teste com AdmDiffArray") EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.