viewtopic.php?f=4&t=8543
Agora entendi seu post, favor continuar no link acima !!!
OrdWildSeek
Moderador: Moderadores
-
sambomb
- Usuário Nível 3

- Mensagens: 250
- Registrado em: 24 Out 2008 17:02
- Localização: Itaocara - RJ - Brasil
Re: OrdWildSeek
Código: Selecionar todos
DBGOTOP()
if OrdWildSeek("*A*")
AADD(aNomes,TESTE->Nome)
DO WHILE OrdWildSeek("*A*",.T.)
AADD(aNomes,TESTE->Nome)
ENDDO
else
Msg("Nenhum registro encontrado")
end
OBS.: vai ser mais que 2x mais rápido que a outra solução proposta o que vai dar diferença para grandes bancos de dados...
mais que 2x porque faz apenas um loop com o ordwildseek e não precisa fazer aScan para teste de redundancia que por sinal pode gerar erro pois podem ter dois registros iguais e acabar só adicionando uma unica vez.
Ex.:
1º Alexandre
2º Alexandre
3º Maria
4º Sandro
Se for buscar por "*dr*" no módo que foi apresentado anteriormente vai encontrar apenas 2 registros uma vez que o loop invertido irá desconsiderar o 1º Alexandre por ele já ter sido adicionado no primeiro loop.
OBS 2.: só depois reparei que só modifiquei o que o toledo falou, mas fica aqui as obeservações sobre prq não usar 2 loops e um outro método que altera menos o código atual.

Rca Sistemas - Itaocara - RJ
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: OrdWildSeek
Caríssimo, no exemplo anterior foram colocados 2 laços, pois é o exemplo que vem no help do xharbour, e que aproveitei para simples conferencia dos resultados, no entanto o correto é apenas um mesmo, como já havia citado:
Código: Selecionar todos
use database
index on ......
GO TOP
aCust := {}
passada:= 1
DO WHILE OrdWildSeek( "*IO?", iif(passada=1,.F.,.T.) )
AAdd( aCust, FIELD->clinom )
passada++
ENDDO
AEval( aCust, {|c| QOut(c) } )
USECompilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
-
sambomb
- Usuário Nível 3

- Mensagens: 250
- Registrado em: 24 Out 2008 17:02
- Localização: Itaocara - RJ - Brasil
Re: OrdWildSeek
Não sabia que era o exemplo que estava no help mas a explicação pelo menos vai servir para qualquer desavisado que chegue até aqui atras de respostas sobre isso.... 

Rca Sistemas - Itaocara - RJ
