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 21-06-2003
cone220 cone220 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 53
Poder: 22
cone220 Va por buen camino
Copiando archivos

Estoy desarrollando una aplicación que busca una serie de archivos, y cuando los encuentra los copia a un directorio predeterminado. Para ello estoy utilizando el CopyFile. Pero tengo un problema: si el archivo se esta creando, la aplicación ya lo copia, y obviamente, el archivo copiado es inválido. Cómo puedo chequear que el archivo no este en uso por otra aplicación en el momento que inicio la copia???
Responder Con Cita
  #2  
Antiguo 21-06-2003
dabas dabas is offline
Miembro
 
Registrado: jun 2003
Ubicación: En mi casa
Posts: 39
Poder: 0
dabas Va por buen camino
Yo lo que sé, es que si creas una variable para ese archivo usando


Var archivo:File;
...
AssignFile(archivo, 'nombre archivo');
{$I-}
Reset(archivo);
{$I+}
If IoResult=0 then ShowMessage('El archivo existe');


Verificas si el archivo ya existe.
Pero desconozco si existe algun metodo mas efectivo.
Responder Con Cita
  #3  
Antiguo 22-06-2003
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 22
Julià T. Va por buen camino
hola cone220:

puedes abrir el fichero en modo exclusivo, si el fichero está abierto por otro proceso, no lo podrás abrir, y si el fichero lo abres, ningún otro proceso lo podrá modificar cuando lo estes copiando "manualmente" en este caso.

Ahí va el código

Var
f:TFileStream;
begin
f:=TFileStream.Create(nombrefichero,fmOpenRead or fmShareExclusive);
//es decir lo abro en modo lectura y exclusivo
.....
tu código para copiar el fichero
.....
f.Free;
end;
Responder Con Cita
  #4  
Antiguo 23-06-2003
cone220 cone220 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 53
Poder: 22
cone220 Va por buen camino
Lo probé asi y me dió resultado. Muchas gracias
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


La franja horaria es GMT +2. Ahora son las 04:16:16.


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