Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2007
nelem nelem is offline
Miembro
 
Registrado: sep 2007
Posts: 50
Poder: 17
nelem Va por buen camino
Borrar archivos de un directorio

Buenos días a ver si podeis ayudarme estoy intentando borrar un archivo pdf cuando el usuario le cierre pero no se si esto se puede hacer porque no veo la manera de saber cuando el usuario me cierra el pdf. Otra opcion seria ir recorriendo un directorio y el archivo que no este abierto borrarlo pero tampoco se como puedo saber si un archivo esta en uso o no.


Muchas gracias por su ayuda
Responder Con Cita
  #2  
Antiguo 29-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que no hay otra opción que ir haciendo un "pooling" sobre el fichero a ver si está abierto.
A no ser que lo hayas abierto tú desde programa.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 29-10-2007
nelem nelem is offline
Miembro
 
Registrado: sep 2007
Posts: 50
Poder: 17
nelem Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Creo que no hay otra opción que ir haciendo un "pooling" sobre el fichero a ver si está abierto.
A no ser que lo hayas abierto tú desde programa.
Hola los archivos les guardo yo en disco y les abro. Pero no se como puedo saber el momento que me le cierran.
Responder Con Cita
  #4  
Antiguo 29-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Puedes explicar cómo los abres? ¿Desde el programa?
De todas formas, creo que algun sistema de pooling no te lo quita nadie.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 29-10-2007 a las 12:47:59.
Responder Con Cita
  #5  
Antiguo 29-10-2007
nelem nelem is offline
Miembro
 
Registrado: sep 2007
Posts: 50
Poder: 17
nelem Va por buen camino
A ver te escribo el codigo donde ruta contiene la ruta del pdf

ShellExecute(GetDesktopWindow(),nil, PChar(Ruta),
nil, nil, SW_SHOWNORMAL);
PathAplicacion := BuscaExecutable('pdf');
EjecutaAplicacion(PathAplicacion);


function EjecutaAplicacion(prmNombreArchivo :string):Boolean;
var Retorno :Integer;
begin
Retorno := ShellExecute(Application.Handle, 'open', PChar(prmNombreArchivo), nil, nil, SW_SHOWNORMAL);
Result := True;
case Retorno of
0 :begin
MessageDlg('El sistema operativo no tiene recursos sufcientes para esta operación.', mtInformation, [mbOK], 0);
Result := False;
end;
ERROR_FILE_NOT_FOUND :begin
MessageDlg('No se ha encontrado el archivo especificado.', mtInformation, [mbOK], 0);
Result := False;
end;
ERROR_PATH_NOT_FOUND :begin
MessageDlg('No se ha encontrado el archivo especificado.', mtInformation, [mbOK], 0);
Result := False;
end;
ERROR_BAD_FORMAT :begin
MessageDlg('El ejecutable no es una aplicación válida para Win32.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_ACCESSDENIED :begin
MessageDlg('El sistema operativo ha denegado el acceso al archivo indicado.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_ASSOCINCOMPLETE :begin
MessageDlg('La asociación del archivo es incompleta o no válida.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_DDEBUSY, SE_ERR_DDEFAIL, SE_ERR_DDETIMEOUT :begin
MessageDlg('The DDE transaction failed.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_DLLNOTFOUND :begin
MessageDlg('La biblioteca dinámica no ha sido encontrada.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_NOASSOC :begin
MessageDlg('There is no application associated with the given filename extension.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_OOM :begin
MessageDlg('There was not enough memory to complete the operation.', mtInformation, [mbOK], 0);
Result := False;
end;
SE_ERR_SHARE :begin
MessageDlg('A sharing violation occurred.', mtInformation, [mbOK], 0);
Result := False;
end;
end;
end;
Responder Con Cita
  #6  
Antiguo 29-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Ok. Gracias.
Si ejecutas con Shellexecute y todo ha ido bien, esa función te devuelve (si no recuerdo mal) un apuntador (Handle) de la ventana que ha abierto.
Con ese Handle podrías hecer un "poooling" cada x tiempo para ver si esa ventana sigue abierta.

De todas formas, no se si es complicar mucho la vida, porque eso tampoco te asegura que deje de estar bloqueado ese fichero.
Tal vez lo más seguro sea un pooling en disco cada cierto tiempo (utilizando un timer) aunque eso puede ser muy lento a veces.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 29-10-2007
nelem nelem is offline
Miembro
 
Registrado: sep 2007
Posts: 50
Poder: 17
nelem Va por buen camino
Gracias

Ok muchas gracias por tu ayuda voy a probar a ver si consigo hacer algo.
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
Borrar un directorio con contenido Mariana Varios 9 27-02-2008 09:59:53
borrar archivos de un directorio kapullok_2006 Varios 4 21-11-2007 10:54:25
borrar archivos d un directorio\subdirectorios segun su extension. No me funciona :( images API de Windows 5 11-06-2007 23:14:30
Metodo para borrar directorio VolaRe Varios 4 25-07-2004 16:29:52
Borrar archivos de un directorio Magneto Varios 1 13-08-2003 13:20:34


La franja horaria es GMT +2. Ahora son las 05:31:07.


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