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