• Domingo 19 de Mayo de 2024, 05:47

Autor Tema:  Problema Con Verificación De Existencia De Fichero  (Leído 1409 veces)

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Problema Con Verificación De Existencia De Fichero
« en: Martes 13 de Septiembre de 2005, 13:39 »
0
Salu2.

   Hasta ahora verificaba la existencia de un fichero con el comando Getattr(Direccion del fichero), si me devolvia el valor 32, el fichero existe.

Si el fichero existe le voy agregando un numero al nombre hasta que no exista, para poder crearlo.

   Pues bien, en 2 de mis discos duros la copia es perfecta, pero tengo uno en el que el formateo es de sectores de 4k en lugar de 512bytes y el valor devuelto pasa a ser 8224
¿Alguien sabe por que ocurre esto?

   Es cierto que podría usar ese valor, 8224, para verificar la existencia, pero sabiendo por que ocurre podría preveer el Formateo en sectores de 1k y 2k.

Muchas gracias.


P.D.
Lo uso para las copias de las DB poniendoles la fecha seguido del nombre, y comprimidas en .zip.

Ejem.

Código: Text
  1. base.mdb==> Base_050913.zip, si este fichero existe pasa a ser Base_050913_1.zip y así hasta que el fichero no exista.
  2.  
  3. Dim AttrDev%
  4. AttrDev = GetAttr(ValDir)
  5.  
  6.   If AttrDev <> 32 Then
  7.   no existe
  8.  
Mi mujer tiene un físico bárbaro!!!. Einstein.

Juanolo

  • Miembro MUY activo
  • ***
  • Mensajes: 202
    • Ver Perfil
Re: Problema Con Verificación De Existencia De Fichero
« Respuesta #1 en: Martes 13 de Septiembre de 2005, 15:38 »
0
Hola Sagutxo!

Para saber si existe el fichero, yo uso la siguiete funcioncilla, alojada en algún módulo:

Código: Text
  1. Public Function ExisteArchivo(ArchTmp As String) As Boolean
  2.     If Len(Dir$(ArchTmp)) = 0 Then
  3.         ExisteArchivo = False
  4.     Else
  5.         ExisteArchivo = True
  6.     End If
  7. End Function
  8.  

Y la utilizo:

Código: Text
  1. If ExisteArchivo(Base_050913_1.zip) then
  2.    ...
  3. End If
  4.  

Sé que no responde a tu pregunta específica, pero quizás te pueda servir.

Salu2.
La luz que sólo se ilumina a sí misma, es oscuridad.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Problema Con Verificación De Existencia De Fichero
« Respuesta #2 en: Martes 13 de Septiembre de 2005, 16:47 »
0
Salu2.

   Si, funciona a la perfección.

No pensé ni por un momento que fuera tan sencillo.

   Me he comido un montón de aplicaciones, de ApliGuide, y la que no me ha dado desbordamiento usa un mensaje de error del windows cuando existe.

Muchas gracias.
Mi mujer tiene un físico bárbaro!!!. Einstein.

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Problema Con Verificación De Existencia De Fichero
« Respuesta #3 en: Miércoles 14 de Septiembre de 2005, 11:43 »
0
Mas sencillo aun.    :hola:

La funcion Dir que viene ya definida en el modulo SystemObject
te devuelve el nombre del fichero si este existe y un String vacio "" si no existe.

Código: Text
  1.  
  2. base.mdb==> Base_050913.zip, si este fichero existe pasa a ser Base_050913_1.zip y así hasta que el fichero no exista.
  3.  
  4. If Dir(ValDir) = "" Then
  5.      El Fichero no Existe
  6. End If
  7.  
  8.  

Podeis buscarlo en la ayuda. Es realmente comodo

Saludos

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Problema Con Verificación De Existencia De Fichero
« Respuesta #4 en: Miércoles 14 de Septiembre de 2005, 12:51 »
0
Salu2.
Gracias, ese ejemplo tambien funciona.

   Pos ya sabeis, la funcion Getattr y supongo que setattr y fileattr fallan en HD en el que su formateo no sea alla hecho en sectores de 512bytes

 :smartass:
Mi mujer tiene un físico bárbaro!!!. Einstein.