Ver Mensaje Individual
  #1  
Antiguo 26-01-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 266
Reputación: 2
pgranados Va por buen camino
Wink ¿Cual es la mejor forma de eliminar muchos archivos?

Buen día colegas, tengo una duda, ¿Cuál es la mejor (mas rápida y limpia) forma de eliminar diversos archivos?

Tengo una tabla llamada comprobantes donde almaceno el nombre del archivo, ejemplo: (Comprobante001)
Y tengo la ruta del comprobante en otra tabla llamada Parámetros, ejemplo: (C:\Programa\Comprobantes\Comprobante001.PDF)

Si tengo la tabla Comprobantes con 100 registros
Comprobante001, Comprobante002, ....... Comprobante100

¿Cuál seria la mejor forma de eliminar los 100 registros y sus respectivos archivos?

Ahorita lo que hago es un ciclo donde voy eliminando registro y archivo, pero no se porque a veces me arroja un error diciendo que el archivo no existe cuando claramente si. Anexo el código que estoy usando.

Código Delphi [-]

        for i := 0 to FDQuery.RecordCount-1 do
        begin
          FDQuery.Refresh;
          FormaEsperaImportacion.lbl.Refresh;
          FormaEsperaImportacion.lbl.Caption:= 'Archivo Eliminado del Sistema: '+intToStr(i)+ ' de '+lsValorCount+'.';
          lsNomArchXML:= FDQueryParametrosPAEXINGRESOSXML.Value+'\'+FDQuery.FieldByName('NOMBRE_ARCHIVO').Value+'.XML';
          lsNomArchPDF:= FDQueryParametrosPAEXINGRESOSPDF.Value+'\'+FDQuery.FieldByName('NOMBRE_ARCHIVO').Value+'.PDF';
          if DeleteFile(lsNomArchXML)then
           begin
            DModuloEmpresa.FDQuery.Delete;
           end
           else
           begin showMessage('Hubo un error al eliminar el archivo XML. Favor de Eliminar Manualmente');
           end;
         // activar cuando los pdf se generen
          if FileExists(lsNomArchPDF) then    // Si existe PDF, intento eliminarlo, pregunto si existe debido a que no en todos los casos se genera el pdf
          begin
            if DeleteFile(lsNomArchPDF)
            then 
            begin
            // Se elimino el archivo
             end else
            begin showMessage('Hubo un error al eliminar el archivo PDF, Favor de Eliminar Manualmente.'); end;
          end;
         FDQuery.Next;
        end;

Saludos
Responder Con Cita