Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   FileStream pa copiar todo un directorio o carpeta (https://www.clubdelphi.com/foros/showthread.php?t=41699)

Oxa78 23-03-2007 00:09:39

FileStream pa copiar todo un directorio o carpeta
 
Saludos :

Hace un tiempo preguntaba como copiar archivos desde el servidor hacia las pc clientes. Bueno busque y probe varios procedimientos como :

Código Delphi [-]

Function CopiaCarpeta(Origen,Destino : String) : LongInt;
  var
    F : TShFileOpStruct;
    sOrigen, sDestino : String;
  Begin
    Result := 0;
    sOrigen := Origen + #0;
    sDestino := Destino + #0;

    with F do
    begin
      Wnd   := Application.Handle;
      wFunc := FO_COPY;
      pFrom := @sOrigen[1];
      pTo   := @sDestino[1];
      fFlags := FOF_NOERRORUI or FOF_NOCONFIRMATION ;
    end;

    Result := ShFileOperation(F);
  End;

  procedure Copiar(From, Hacia: String);
  var
    Operation: _ShFileOpStruct;
  begin
    Operation.wFunc := fo_copy;
    Operation.pFrom := PChar(ExcludeTrailingPathDelimiter(From));
    Operation.pTo := PChar(ExcludeTrailingPathDelimiter(Hacia));
    ShFileOperation(Operation);
  end;

Funciona bien para copair archivos desde el servidor hacia los clientes, pero si quiero copiar archivos del cliente hacia el servidor, simplmente no funciona.
A pesar de q tengo todos los permisos y todo.

Entonces investigue las Indy especificamente el ejemplo Image Server q copia archivos, de este modo realice pruebas y resultaron positivas.

Pero ahora estoy en otro problema, deseo copiar todo un directorio o carpeta q contenga digamos 100 archivos, pero al tratar de decirle al stream q quiero todo el directorio no acepta.

Ejemplo para copiar solo un archivo
Código Delphi [-]
fStream := TFileStream.Create(ExtractFileDir(ParamStr(0)) + '\File.exe',fmOpenRead  + fmShareDenyNone);


Trate de copair toda la carpeta con esto :

Código Delphi [-]
fStream := TFileStream.Create(ExtractFileDir(ParamStr(0)) + '\Carpeta1\*.*',fmOpenRead  + fmShareDenyNone);

Alguien puede ayudarme por favor

Muchas Gracias


La franja horaria es GMT +2. Ahora son las 01:58:56.

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