Ver Mensaje Individual
  #1  
Antiguo 23-03-2007
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Reputación: 22
Oxa78 Va por buen camino
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
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita