Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-01-2008
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Question Eliminar mensaje de confirmacion

Hola Foro, estoy realizando un programa el cual copia unos ficheros de una carpeta a otra, pero si en la carpeta destino existe ya un fichero con el mismo nombre, windows muestra el mensaje de si deseo sobreescribir. Me gustaria saber de que manera puede evitar de que salga ese mensaje e indicarle que sobreescriba todos los ficheros.

Lo mismo me ocurre, cuando elimino una serie de ficheros, antes de eliminar windows muestra el mensaje de confirmacion y me gustaría que este no se muestre y yo desde código indicarle que "Si".

Bueno, si alguien tiene alguna idea.
Gracias y saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #2  
Antiguo 27-01-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Si utilizas la API de Windows SHFileOperation para copiar/mover/eliminar archivios, creo que hay una opción (un flag) para decirle que no muestre esos mensajes.

Si esto no fuera así, tendrás que usar otras funciones, como DeleteFile y CopyFile, de SysUtils, creo.



Salu2.
Responder Con Cita
  #3  
Antiguo 28-01-2008
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Post

Si utilizo la API de windows. El codigo que utilizo es:

Código:
procedure TFnuevoej.copiar(origen, destino: string);
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
wFunc := FO_COPY;
pFrom := PChar(origen+#0);
pTo := PChar(destino+#0);
fFlags:= FOF_SILENT;
end;
SHFileOperation(Dados);
end;

procedure TFnuevoej.borrar(destino: string);
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
Wnd:= Self.Handle;
wFunc := FO_DELETE;
pFrom := PChar(destino+#0);
fFlags:= FOF_SILENT;
end;
SHFileOperation(Dados);
end;
En ambas acciones pongo "Fflags:= FOF_SILENT" y creo que esto es a lo que te refieres, pero me sigue saliendo igual los mensajes de windows.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #4  
Antiguo 28-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Podrías revisar la ayuda de la función "SHFileOperation()". La "bandera" que usas sirve para no mostrar el diálogo de progreso en la tarea, pero, no para lo que quieres hacer. En todo caso tendrías que combinarla con la bandera "FOF_NOCONFIRMATION" e incluso con la bandera "FOF_NO_UI".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 01-02-2008
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Thumbs up

Tienes razon he combinado las banderas:

Código:
fFlags:= FOF_SILENT or FOF_NOCONFIRMATION;
Y ya no me pide la confirmacion de borrar, ni la de sobreescribir.

Gracias.
__________________
El saber no ocupa lugar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Confirmacion de entrega de un correo fox OOP 1 06-06-2008 16:38:42
No hay disco en la unidad. ¿como eliminar el mensaje? dim Varios 0 03-05-2007 19:18:02
Confirmación de cerrar ventana. gontxalo OOP 13 26-05-2005 10:33:34
Confirmación de acción obiwuan PHP 2 23-09-2003 20:07:38


La franja horaria es GMT +2. Ahora son las 22:29:14.


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
Copyright 1996-2007 Club Delphi