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: 1908
- 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: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
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, 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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 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: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 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: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
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, 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/
