Un lugar de encuentro para los programadores de habla hispana

Un lugar de encuentro para los programadores de habla hispana

Buscar

Entrar

Puedes acceder utilizando tu cuenta de usuario del foro.

Si no dispone de cuenta, puede crear una accediendo al formulario de registro del foro.



Copiar, Mover, Borrar o Renombrar archivos Imprimir
Ideas - Delphi

Si queremos hacer una operación de este tipo al estilo Windows, el siguiente ejemplo mueve un fichero que indicamos a la unidad A: utilizando la función SHFileOperation() que recibe como parámetro una estructura TSHFileOpStruct. La función devuelve un valor 0 si no encuentra errores.

 
procedure TForm1.Button1Click(Sender: TObject);
var lpFileOp: TSHFileOpStruct;
begin
 
    { Relleno de la estructura }
    lpFileOp.Wnd := Self.Handle;
    lpFileOp.wFunc := FO_MOVE;
    lpFileOp.pFrom := PChar('C:\d51.gif' + #0#0);
    lpFileOp.pTo := PChar('A:\' + #0#0);
    lpFileOp.fFlags:= FOF_SIMPLEPROGRESS or FOF_FILESONLY;
    lpFileOp.fAnyOperationsAborted := FALSE;
    lpFileOp.hNameMappings := nil;
    lpFileOp.lpszProgressTitle := PChar('Trasladando archivos al disco D' + #0#0);
 
    { Mover el archivo }
    SHFileOperation(lpFileOp);
 
end;
 
Si en lugar de moverlo queremos hacer una copia lo conseguimos sustituyendo en las líneas anteriores:
 
lpFileOp.wFunc := FO_COPY;
 
Si es borrar el fichero:
 
lpFileOp.wFunc := FO_DELETE;
 
e ignora la línea
 
lpFileOp.pTo := PChar('A:\' + #0#0);
 
Si se trata de renombrarlo:
 
lpFileOp.wFunc := FO_RENAME;
 
 
Comentarios (0)
Para escribir un comentario debes estar registrado