FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
api SHFILEOPSTRUCT
Muy buenas
He visto una muy buena explicacion sobre copiar directorios y ficheros La he implementado añadiendole FOF_SILENT para que no muestre los ficheros La pregunta es: Hay alguna forma de crear una funcion para que cuando la ejecutemos cancele el progreso de copia es por si una vez lanzada la copia, la queremos cancelar Muchas gracias Antonio |
#2
|
||||
|
||||
Hola
Creo que sería más fácil ayudarte si mostraras tu código, puesto que así, sin más ni más, lo único que se me ocurre es un botón cancelar, que haga falsa una variable global, y un siclo que se esté ejecutando hasta que termine el copiado o la variable tome valor falso, para que esto funcione en el siclo además de tu implementación debe estar la instrucción Application.ProcessMessages
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
#3
|
|||
|
|||
Shfileopstruct?
procedure TForm1.CopiaGClick(Sender: TObject);
// funcion copiar function CopiaTodo(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_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_SILENT or FOF_NOERRORUI; end; Result := ShFileOperation(F); end; var ORIGEN, DESTINO : String; Begin ORIGEN := Tabladirectorios.FieldByName('ORIGEN').AsString; DESTINO := Tabladirectorios.FieldByName('DESTINO').AsString; CopiaTodo(ORIGEN + '\*.*', DESTINO); end; quisiera saber si hay alguna manera de que no se bloquee el programa mientras copia si se puede cancelar el proceso, si se quiere y si hay alguna manera de hacer las copias incrementales Muchas gracias Antonio |
|
|
|