Não tem SKIP, vai ficar em LOOP infinito.
A sugestão é uma rotina parecida com a acima, navegando pelo número de registro.
Se for erro de disco, mais chances de recuperar.
Na prática é testar todas as opções, afinal só você vai conseguir detectar qual o que deu melhor resultado para o seu caso.
Código: Selecionar todos
USE ArquivoRuim
nLastRec := LastRec()
FOR nCont = 1 TO nLastRec
BEGIN SEQUENCE
GOTO (nCont)
grava()
END SEQUENCE
NEXT
- Processa tudo que der desde o começo
- Processa de trás pra frente tudo que der.
Pode adicionar um campo no arquivo recuperado, pra gravar o número de registro original
Depois é pegar os números que faltarem e ver o que dá pra fazer.


