Ir al contenido


Foto

[RESUELTO] copiar o mover archivos...


  • Por favor identifícate para responder
2 respuestas en este tema

#1 charlie_spiel

charlie_spiel

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 14 marzo 2011 - 11:26

hola, espero que me puedan orientar.. lo que pasa es que tengo una carpeta que tiene videos (*. wmv, *.avi, *.mpg) y en esa misma carpeta tengo imagenes (*.jpeg, *.png)

y entonces quiero hacer un programa con el cual pueda mover los archivos de video (*.wmv, *.avi, *.mpg) a otro directorio..

este es el codigo que llevo..



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var lpFileOp: TSHFileOpStruct;
  3. begin
  4. CreateDir('C:\VidResp');
  5. lpFileOp.Wnd := Self.Handle;
  6. lpFileOp.wFunc := FO_MOVE;
  7. lpFileOp.pFrom := PChar('C:\games\snaps\*.wmv' + #0#0);
  8. lpFileOp.pTo := PChar('C:\VidResp\' + #0#0);
  9. lpFileOp.pFrom := PChar('C:\games\snaps\*.mpg' + #0#0);
  10. lpFileOp.pTo := PChar('C:\VidResp\' + #0#0);
  11. lpFileOp.pFrom := PChar('C:\games\snaps\*.avi' + #0#0);
  12. lpFileOp.pTo := PChar('C:\VidResp\' + #0#0);
  13. lpFileOp.fFlags:= FOF_SILENT or FOF_FILESONLY;
  14. lpFileOp.fAnyOperationsAborted := FALSE;
  15. lpFileOp.hNameMappings := nil;
  16. lpFileOp.lpszProgressTitle := PChar('Modificando archivos' + #0#0);
  17. SHFileOperation(lpFileOp);
  18. application.MessageBox('Los videos han sido deshabilitados!!', 'Realizado', MB_ICONINFORMATION);
  19. end;



y entonces el problema que me genera es el siguiente.. de digo que mueva los formatos (*.wmv, *.mpg, *.avi)
y resulta que los unicos archivos que mueve son los *.avi y mi pregunta seria la siguiente..

como le puedo hacer para mover archivos de la extencion que quiera a otro directorio....??
o que codigos me recomendarian usar..??

muchas gracias por su atencion..
  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 15 marzo 2011 - 01:22

Observa estos cambios:



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var lpFileOp: TSHFileOpStruct;
  3. begin
  4. CreateDir('C:\VidResp');
  5. lpFileOp.Wnd := Self.Handle;
  6. lpFileOp.wFunc := FO_MOVE;
  7. lpFileOp.pFrom := PChar('C:\games\snaps\*.wmv' + #0 + 'C:\games\snaps\*.mpg' + #0 + 'C:\games\snaps\*.avi' +
  8. #0#0);
  9. lpFileOp.pTo := PChar('C:\VidResp\' + #0#0);
  10. lpFileOp.fFlags:= FOF_SILENT or FOF_FILESONLY;
  11. lpFileOp.fAnyOperationsAborted := FALSE;
  12. lpFileOp.hNameMappings := nil;
  13. lpFileOp.lpszProgressTitle := PChar('Modificando archivos' + #0#0);
  14. SHFileOperation(lpFileOp);
  15. application.MessageBox('Los videos han sido deshabilitados!!', 'Realizado', MB_ICONINFORMATION);
  16. end;



Según la documentación de Microsoft, la lista de archivos debe ir, cada archivo separado por un carácter nulo y un doble nulo al final.


Saludos.
  • 0

#3 charlie_spiel

charlie_spiel

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 15 marzo 2011 - 09:35

muchisimas gracias.. si, ya se soluciono el problema..
  • 0




IP.Board spam blocked by CleanTalk.