Duvida em função seek()

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Duvida em função seek()

Mensagem por lugab »

Bom dia, amigos...

Eu tenho um arquivo indexado com a chave str(chave,8), exemplo de alguns registros :
reg1=12345450
reg2=12345671
reg3=13456781
reg4=23456782

Seria correto pesquisar esse arquivo utilizando "seek str(campo,7)", considerando que o arquivo é indexado com "str(campo,8)" , ou seja:

Se campo=1234567 ( somente os 7 primeiros bytes)
a linha "seek str(campo,7)" iria achar o registo reg2 ou daria eof() ???

grato,
lugab
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Duvida em função seek()

Mensagem por JoséQuintas »

lugab escreveu:Se campo=1234567 ( somente os 7 primeiros bytes)a linha "seek str(campo,7)" iria achar o registo reg2 ou daria eof() ???
Supondo que no arquivo existam as chaves Str( 1, 8 ), Str( 10, 8 ), Str( 11, 8 )
SEEK Str( 1, 7 ) vai encontrar 10.

Da mesma forma que "JOSE QUINTAS", " JOSE"
SEEK "JOSE" vai encontrar o que começar com JOSE, portanto "JOSE QUINTAS"
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/
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Duvida em função seek()

Mensagem por lugab »

Obrigado pelo apoio, Quintas

Aqui eu entendi...
Da mesma forma que "JOSE QUINTAS", " JOSE"
SEEK "JOSE" vai encontrar o que começar com JOSE, portanto "JOSE QUINTAS"
Mas aqui eu buguei...
Supondo que no arquivo existam as chaves Str( 1, 8 ), Str( 10, 8 ), Str( 11, 8 )
SEEK Str( 1, 7 ) vai encontrar 10.
lugab
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Duvida em função seek()

Mensagem por JoséQuintas »

Exatamente a mesma coisa.

" 1"
"10"

SEEK "1" // vai encontrar "10" e não " 1"
SEEK Str( 1, 1 ) // vai enconrar "10" e não " 1"
SEEK Str( 1, 2 ) // vai encontrar " 1"
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/
Responder