processar arquivo DBF do final para o começo
Moderador: Moderadores
processar arquivo DBF do final para o começo
ola pessoal, estou com uma duvida aqui, como faço para processar um arquivo DBF do final para o começo, quero ir no final do arquivo (GO BOTTOM), e com
SKIP -1 processar ate o começo do arquivo, obrigado
go bottom
do while
skip -1
enddo
xHarbour, windows 7.
SKIP -1 processar ate o começo do arquivo, obrigado
go bottom
do while
skip -1
enddo
xHarbour, windows 7.
-
Kapiaba
- Colaborador

- Mensagens: 1914
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
processar arquivo DBF do final para o começo
Código: Selecionar todos
GO BOTT
WHILE .NOT. BOF() // BEGIN OF FILE.
IF BOF()
EXIT
ENDIF
// ... Processamento.
SKIP( -1 )
ENDDO
processar arquivo DBF do final para o começo
Não precisa do IF/ENDIF. Ele está a mais, só está gastando processamento.GO BOTT
WHILE .NOT. BOF() // BEGIN OF FILE.
///// IF BOF() -----> a mais
///// EXIT
///// ENDIF
// ... Processamento.
SKIP( -1 )
ENDDO
O WHILE já está controlando a coisa. Aliás, quando o ponteiro chegar no BOF(), o IF nem vai ficar sabendo...
Do jeito que está, é como fazer:
FOR X=1 to 10
if x=10 // a mais
exit
endi
// processamento
next
- JoséQuintas
- Administrador

- Mensagens: 20420
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
processar arquivo DBF do final para o começo
Só uma observação: SKIP não é função.
Mesmo que o compilador aceite, convém acostumar do modo correto.
Nota: É um exemplo de algo errado que o Clipper aceita. Mas nesse erro o Harbour ficou compatível.
Mesmo que o compilador aceite, convém acostumar do modo correto.
Código: Selecionar todos
GOTO BOTTOM
DO WHILE .NOT.. BOf()
SKIP -1
ENDDO
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
processar arquivo DBF do final para o começo
Ola!
Permita-me...
O correto é dbskip() FUNÇÃO!
Aqui eu só uso assim:
Olhe a saída do PPO.
Saudações,
Itamar M. Lins Jr.
Permita-me...
O correto é dbskip() FUNÇÃO!
Aqui eu só uso assim:
Código: Selecionar todos
alias->(DbSkip())Nós escrevemos skip e o pré-processador transforma para dbskip()SKIP [<nRecords>] [ALIAS <idAlias> | <nWorkArea>]
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8029
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
processar arquivo DBF do final para o começo
No PRG eu escrevi assim:
Saudações,
Itamar M. Lins Jr.
Aqui o ppo saiu assim:skip alias xx
skip( -1 )
Código: Selecionar todos
xx->( dbSkip() )
dbSkip( ( -1 ) )
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
aferra
- Usuário Nível 1

- Mensagens: 41
- Registrado em: 30 Mai 2008 06:55
- Localização: Ribeirão Preto/SP
processar arquivo DBF do final para o começo
apresentando mais uma forma
// coloca em ordem decrescente
OrdDescend( ,, .T. )
// inicio do arquivo "ao contrario"
dbGoTop()
// sem se preocupar com mais nada.
dbEval( {|| <suas_instrucoes> } )
// coloca em ordem natrual
OrdDescend( ,, .F. )
// coloca em ordem decrescente
OrdDescend( ,, .T. )
// inicio do arquivo "ao contrario"
dbGoTop()
// sem se preocupar com mais nada.
dbEval( {|| <suas_instrucoes> } )
// coloca em ordem natrual
OrdDescend( ,, .F. )
- JoséQuintas
- Administrador

- Mensagens: 20420
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
processar arquivo DBF do final para o começo
Itamar, prefiro o jeito tradicional.
Talvez seja bom o jeito tradicional pra algumas coisas, porque se houver mudança o .CH já faria o ajuste.
Mas não me pergunte, não faço a menor idéia se faz diferença em alguma coisa.
No caso do CLEAR por exemplo, acaba sendo substituído por várias funções.
Nem sei o que faz essa última ( GetList )
Talvez seja bom o jeito tradicional pra algumas coisas, porque se houver mudança o .CH já faria o ajuste.
Mas não me pergunte, não faço a menor idéia se faz diferença em alguma coisa.
No caso do CLEAR por exemplo, acaba sendo substituído por várias funções.
Código: Selecionar todos
Scroll()
SetPos( 0, 0 )
ReadKill( .T. )
GetList := {}
( GetList )
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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/
