Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Borrar archivos del celular conectado al USB (https://www.clubdelphi.com/foros/showthread.php?t=93995)

Carmelo Cash 12-06-2019 22:19:44

Borrar archivos del celular conectado al USB
 
Buenas tardes foro:

No sé si este es foro correcto, si no es así pido disculpas y el administrador lo podrá mover donde considere.


Necesito borrar los archivos del celular conectado a la pc por USB.


luego de conectar abro en mi PC y veo la carpeta que quiero vaciar como:

"Equipo\J7 Neo\Phone\WhatsApp\Media\WhatsApp Documents\Sent"

o

"Equipo\J7 Neo\Phone\DCIM\XXXX'


Utilicé un memo en donde guardo todas las capetas que quiero vaciar.

+-------------------------------------------------------------------------------------------------+
| E:\Borrar
| Equipo\J7 Neo\Phone\WhatsApp\Media\WhatsApp Documents\Sent
| "Equipo\J7 Neo\Phone\DCIM\XXXX' |
+-------------------------------------------------------------------------------------------------+

Luego leo el memo y voy borrando con una función fBorrarTodosLosArchivos que bajé de embarcadero....

En la pruebas en el disco "E:\Borrar" se borran todos los archivos

Pero en la carpeta de Celu no se borra nada, el problema es que no lee la lista de archivos como en las capetas.

Estoy usando Delphi 10



Código Delphi [-]
procedure TForm1.btBorrarCelularClick(Sender: TObject);
var
  i:Integer;
  f, a :String;
begin

    for i:=0 to memCarpetasCelular.Lines.Count-1 do begin
      f:=memCarpetasCelular.Lines[i];
      a:=f;
      if f<>'' then begin
        if copy(f,length(f)-3,1)<>'.' then begin
          memCarpetaControl.lines.add(fBorrarTodosLosArchivos(f));
        end
        else begin
          try
          deletefile(a);
            memCarpetaControl.lines.add('ok borrado '+a);
          except
            memCarpetaControl.lines.add('error '+a);
          end;
        end;;
      end;
    end;

end;

function TForm1.fBorrarTodosLosArchivos(f:string):String;
var
  i      : Integer;
  aFiles : TStringlist;
begin
  result:='error en '+f ;
  aFiles := TStringlist.Create;
  try
    GetFileList(aFiles,f,'*.*');
    for i:=0 to aFiles.Count-1 do begin
        DeleteFile(aFiles[i]);
    end;
    result:='ok borrado '+f
  finally
    aFiles.Free;
  end;
end;


También probé este procedimiento que está en embarcadero y me pasa lo mismo.

Código Delphi [-]
procedure DeleteOneDirectory(path:string);
var
   l_attr      : word;
   l_SearchRec : TSearchRec;
begin
   if FindFirst(path+'\*.*',faAnyFile,l_SearchRec) = 0 then begin
      Repeat
         if (l_SearchRec.Name <> '.') and (l_SearchRec.Name <> '..') then  begin
          try
            DeleteFile (PChar(path+'\'+l_SearchRec.Name)) ;
          except
            Showmessage('error '+ path+'\'+l_SearchRec.Name);
          end;
         end;
       until FindNext(l_SearchRec) <> 0;
       FindClose(l_SearchRec);
   end;
end;

Bueno, espero se entienda....

Desde ya, gracias por su atención.

Casimiro Notevi 12-06-2019 23:49:13

Es que esas rutas no existen en android, serán algo asi como, por poner un ejemplo:

/storage0/android/data/WhatsApp/files/

Carmelo Cash 13-06-2019 00:16:17

Gracias Casimiro,

pero desde Windows me ve estas carpetas?

/storage/emulated/0/DCIM/XXXX

y como apunto al celu desde windows?

tal vez tenga que hacer una APP para instalar en el celu. no?

Casimiro Notevi 13-06-2019 09:38:13

Cita:

Empezado por Carmelo Cash (Mensaje 532391)
y como apunto al celu desde windows?

La verdad es que con windows no lo sé, yo uso linux.

Neftali [Germán.Estévez] 14-06-2019 08:59:37

Creo que para acceder vía USB a un dispositivo Android puedes hacerlo vía Android Debug Bridge (ADB).
ADB posee comandos para trabajar con ficheros (copiar, borrar,...)
Busca información sobre "ADB Delete files Android" a ver si por ahí puedes sacar información.

How to remove file on android using ADB


La franja horaria es GMT +2. Ahora son las 00:30:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi