DICAS_3344_WINDEV_WEBDEV_MOBILE_ArraySeek_FOR_EACH_Consultar_um_array_com_varias_colunas_e_ver_seus_dados_CURSO_ARRAY_26
// Global declarations
STCliente_estrutura is Structure // Criando uma Estrutura - Chamada cliente
nCodigo is int
sNome is string
dAta_Dia is Date
END
gstCliente_dados is STCliente_estrutura // cliente cliente dados e cliente array
garrCliente_array is array of STCliente_estrutura
informa_dados()
// vamos limpar o listbox e preencher com os dados do array
LIST_array.DeleteAll()
FOR EACH ELEMENT stLinha OF garrCliente_array
LIST_array.Add(stLinha.nCodigo+"|"+stLinha.sNome+"|"+stLinha.dAta_Dia)
END
INTERNAL PROCEDURE informa_dados()
gstCliente_dados.nCodigo = 1 // preenchendo dados - primeiro registro
gstCliente_dados.sNome = "Amarildo"
gstCliente_dados.dAta_Dia = Today()
ArrayAdd(garrCliente_array,gstCliente_dados)
gstCliente_dados.nCodigo = 2 // preenchendo dados - segundo registro
gstCliente_dados.sNome = "Michele"
gstCliente_dados.dAta_Dia = Today()
ArrayAdd(garrCliente_array,gstCliente_dados)
gstCliente_dados.nCodigo = 3 // preenchendo dados - terceiro registro
gstCliente_dados.sNome = "Matos"
gdAta_gera is Date=Today()
gdAta_gera.Day+=1
gstCliente_dados.dAta_Dia = gdAta_gera
ArrayAdd(garrCliente_array,gstCliente_dados)
END
END
------------------
// botao consulta array com arrayseek
dAta is Date=EDT_data_procura
nRetorno is int=ArraySeek(garrCliente_array,asLinear,"dAta_Dia",dAta)
IF nRetorno=-1 THEN
Info("nao encontrado")
ELSE
gstCliente_dados=garrCliente_array[nRetorno]
Info(gstCliente_dados.nCodigo+CR+gstCliente_dados.sNome+CR+gstCliente_dados.dAta_Dia+CR)
END
--------
// consulta array com for each
dAta is Date=EDT_data_procura
FOR EACH ELEMENT stLinha OF garrCliente_array where stLinha.dAta_Dia=dAta
Info(stLinha.nCodigo+CR+stLinha.sNome+CR+stLinha.dAta_Dia)
END