ASimões... NÃO é fixo
a[ "livro" ] [ "titulo" ] := "sei la"
a[ "automóvel" ] [ "marca" ] [ "freio" ] := "volks"
a[ "computador" ] := "intel"
hb_HScan() não serve pra procurar "freio"
função HScan() para hash table
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
função HScan() para hash table
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
função HScan() para hash table
Façam o teste e me digam, tem que explorar as possibilidades
Código: Selecionar todos
hRecord := Hb_Hash()
hRecord["automovel"] := Hb_Hash()
hRecord["automovel"]["marca"] := Hb_Hash()
hRecord["automovel"]["marca"]["modelo"] := "volks"
Hb_HSet(hTable, Hb_NtoS(1), hRecord)
hRecord := Hb_Hash()
hRecord["automovel"] := Hb_Hash()
hRecord["automovel"]["marca"] := Hb_Hash()
hRecord["automovel"]["marca"]["modelo"] := "fiat"
Hb_HSet(hTable, Hb_NtoS(2), hRecord)
nPos := hb_HScan( hTable, {| nKey, cChave | cChave["automovel"]["marca"]["modelo"] = "fiat"} )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
função HScan() para hash table
As possibilidades:
Quintas o seu exemplo a hash está com "automóvel" isso vai dar ruim
Quintas o seu exemplo a hash está com "automóvel" isso vai dar ruim
Código: Selecionar todos
nPos := hb_HScan( hTable, {| nKey, cChave | cChave["livro"]["titulo"] = "sei la"} )
nPos := hb_HScan( hTable, {| nKey, cChave | cChave["automovel"]["marca"]["freio"] = "volks"} )
nPos := hb_HScan( hTable, {| nKey, cChave | cChave["computador"] = "intel"} )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
função HScan() para hash table
Isso é o corretor ortográfico que faz.asimoes escreveu:Quintas o seu exemplo a hash está com "automóvel" isso vai dar ruim
Quanto aos exemplos, continuam no mesmo.
A pesquisa é sempre em um único hash, ou num sub-hash de nome conhecido.
Se os nomes são conhecidos... nem precisa hb_HSCan()... usa direto o valor.
Mas... tem algo estranho nesses exemplos.... eles compilam?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
função HScan() para hash table
Sim e executam, acabei de fazer o teste aquiJoséQuintas escreveu:Mas... tem algo estranho nesses exemplos.... eles compilam?
Claro que não vai poder misturar esse tipo de coisa do seu exemplo, vai dar ruim
São hash tables distintas
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
função HScan() para hash table
É que já fixei -w3 -es2 no cérebro...
Assim compila:
https://github.com/vszakats/hb/blob/mas ... b/txml.prg
Assim compila:
https://github.com/vszakats/hb/blob/mas ... b/txml.prg
Código: Selecionar todos
hb_HScan( oFound:aAttributes, {| xKey, cValue | HB_SYMBOL_UNUSED( xKey ), ::cValue == cValue } ) == 0
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
