Ver Mensaje Individual
  #8  
Antiguo 31-01-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
¿Es posible evitar el mensaje que genera Windows señalando que la carpeta no existe y preguntando si deseo crearla, cada vez que utilizo dicho código?
Hola radenf.

Supongo que así tendría que funcionarte:
Código Delphi [-]
...
uses ShellApi;

procedure SHFileCopy(hWndOwner: HWND; const SourceFile, TargetFile: string);
var
  SHFileOpStruct: TSHFileOpStruct;
  Aborted : Bool;
begin
  Aborted := False;
  with SHFileOpStruct do
  begin
    Wnd    := hWndOwner;
    wFunc  := FO_COPY;
    pFrom  := PChar(SourceFile);
    pTo    := PChar(TargetFile);
    fFlags := FOF_NOCONFIRMMKDIR + FOF_SILENT;
    fAnyOperationsAborted := Aborted;
  end;
  try
    SHFileOperation(SHFileOpStruct);
  except
    raise Exception.Create('Error copiando la carpeta');
  end;
end;

Llamada:
Código Delphi [-]
var
  Origen, Destino: string;
begin
  ...
  Destino:= MakePath(Edit2, Date,(Edit4.Text));
  Origen := ExcludeTrailingPathDelimiter(Directory(OpenDialog1.Directory));
  SHFileCopy(Handle, Origen, Destino);
  ...
end;
No conozco el componente SelectDirectoryDialog y no puedo probar si devuelve un valor finalizado con delimitador. Tal vez sea innecesario el uso de la funcion ExcludeTrailingPathDelimiter.

Saludos.

Edito: Hay un error en esta línea:
Código Delphi [-]
Origen := ExcludeTrailingPathDelimiter(Directory(OpenDialog1.Directory));
Era:
Código Delphi [-]
Origen := ExcludeTrailingPathDelimiter(ExtractFilePath(OpenDialog1.FileName));
Disculpas
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 31-01-2013 a las 00:34:17. Razón: ortografía, aclaración
Responder Con Cita