Quando vc usa o comando delete, o arquivo é posicionado no registro seguinte por isso não é necessário usar o next.
Dmodule.DsTotLotesPAT.Delete; Dmodule.DsTotLotesPAT.Next; // TIRAR ESTA LINHA ----- Original Message ----- From: Adolfo Stotz To: delphi-br@yahoogrupos.com.br Sent: Thursday, September 20, 2007 4:43 PM Subject: [delphi-br] Deletar linhas Usando o codigo abaixo, a cada execução, sao apagadas as linhas impares, mas as linhas pares nao sao deletadas. Porque ? Como fazer para acertar ? Grato ---------------------------------------------------------- begin with Dmodule.DsTotLotesPAT do begin Dmodule.DsTotLotesPAT.Close; Dmodule.DsTotLotesPAT.Open; Dmodule.DsTotLotesPAT.First; while not Dmodule.DsTotLotesPAT.Eof do begin Dmodule.DsTotLotesPAT.Delete; Dmodule.DsTotLotesPAT.Next; end; end; Dmodule.DsTotLotesPAT.Close; ---------------------------------------------------------- [As partes desta mensagem que não continham texto foram removidas] ------------------------------------------------------------------------------ No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.487 / Virus Database: 269.13.25/1018 - Release Date: 19/09/2007 15:59 [As partes desta mensagem que não continham texto foram removidas]