Histórico da Página
...
Converte uma matriz de dados (Array) em um tHashMap, podendo combinar as colunas para a chave de busca.
...
Bloco de código | ||
---|---|---|
| ||
oHash := AToHM( < aMatriz >, [ nColuna_1 ], [ nTrim_1 ], [ nColuna_N ], [ nTrim_N ] )
|
...
- O valor de “N” varia de 0 (zero) até 8 colunas para serem combinadas na chave de busca.
- Se nenhuma coluna for adicionada (“N” = 0), usa por padrão a primeira coluna (“nColuna” = 1) e sem trim (“nTrim” = 0).
- Os valores de “nTrim” podem ser: 0 não altera a palavra, 1 Elimina espaços a esquerda, 2 Elimina espaços a direita, 3 Elimina espaços a esquerda e a direita. Se o valor de ”nTrim” não for fornecido, considera que não deve eliminar espaços da palavra (“nTrim” = 0).
- Importante: Se após a conversão do Array em um HashMap este array não for ser mais usado, lembresse de liberar a memória do Array passando ele para Nulo (Nil).
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
User Function ex_AToHM()
Local cKey := ""
Local oVal := Nil
Local oHash1 := Nil
Local oHash2 := Nil
Local oHash3 := Nil
Local oHash4 := Nil
Local aLista := {}
// Cria a Lista com os elementos
AAdd(aLista, {"item1", 23, " col3 a ", 1})
AAdd(aLista, {" item2 ", 104, " col3 b ", 2})
AAdd(aLista, {"item3", 41, " col3 c ", 3})
AAdd(aLista, {" item4", 1, " col3 d ", 4})
AAdd(aLista, {"item5", 18, " col3 e ", 5})
// Por default usa a primeira coluna sem remover os espacos em branco
oHash1 := AToHM(aLista)
cKey := " item2 "
lRet := HMGet(oHash1, cKey, oVal)
If lRet == .T.
VarInfo("Achou '" + cKey + "' ", oVal)
Else
ConOut("Nao achou '" + cKey + "'")
EndIf
// Limpa os dados do HashMap
HMClean(oHash1)
// Libera o objeto de HashMap
FreeObj(oHash1)
oHash1 := Nil
// Chave composta de Hash - converte a 1 coluna sem trim e a coluna 3 com RTrim (trim a diretira)
oHash2 := AToHM(aLista, 1, 0, 3, 2)
// Gera uma chave composta de hash converte a 1 coluna sem trim e a coluna 2 com RTrim (trim a diretira)
cKey := HMKey({" item2 ", " col3 b "}, 1, 0, 2, 2)
lRet := HMGet(oHash2, cKey, oVal)
If lRet == .T.
VarInfo("Achou '" + cKey + "' ", oVal)
Else
ConOut("Nao achou '" + cKey + "'")
EndIf
// Limpa os dados do HashMap
HMClean(oHash2)
// Libera o objeto de HashMap
FreeObj(oHash2)
oHash2 := Nil
// Chave composta de Hash - converte a 1 coluna com LTrim (a esquerda) e a coluna 3 com RTrim (trim a diretira)
oHash3 := AToHM(aLista, 1, 1, 3, 3)
// Gera uma chave composta de hash converte a 1 coluna com LTrim (a esquerda) e a coluna 2 com LTrim e RTrim (trim a diretira e a esquereda)
cKey := HMKey({" item2 ", " col3 b "}, 1, 1, 2, 3)
lRet := HMGet(oHash3, cKey, oVal)
If lRet == .T.
VarInfo("Achou '" + cKey + "' ", oVal)
Else
ConOut("Nao achou '" + cKey + "'")
EndIf
// Limpa os dados do HashMap
HMClean(oHash3)
// Libera o objeto de HashMap
FreeObj(oHash3)
oHash3 := Nil
// Chave composta de Hash - converte a 1 coluna sem Trim e a coluna 2 (numerica)
oHash4 := AToHM(aLista, 1, 0, 2, 0)
// Limpando o Array que nao sera mais usado
aLista := Nil
// Gera uma chave composta de hash converte a 1 coluna sem Trim e a coluna 2 (numerica)
cKey := HMKey({" item2 ", 104}, 1, 0, 2, 0)
lRet := HMGet(oHash4, cKey, oVal)
If lRet == .T.
VarInfo("Achou '" + cKey + "' ", oVal)
Else
ConOut("Nao achou '" + cKey + "'")
EndIf
// Limpa os dados do HashMap
HMClean(oHash4)
// Libera o objeto de HashMap
FreeObj(oHash4)
oHash4 := Nil
Return
|
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas