Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Sagutxo en Martes 13 de Septiembre de 2005, 13:39
Título: Problema Con Verificación De Existencia De Fichero
Publicado por: Sagutxo en Martes 13 de Septiembre de 2005, 13:39
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
base.mdb==> Base_050913.zip, si este fichero existe pasa a ser Base_050913_1.zip y así hasta que el fichero no exista.
Dim AttrDev%
AttrDev = GetAttr(ValDir)
If AttrDev <> 32 Then
no existe
Título: Re: Problema Con Verificación De Existencia De Fichero
Publicado por: Juanolo en Martes 13 de Septiembre de 2005, 15:38
Hola Sagutxo!
Para saber si existe el fichero, yo uso la siguiete funcioncilla, alojada en algún módulo:
Código: Text
Public Function ExisteArchivo(ArchTmp As String) As Boolean
If Len(Dir$(ArchTmp)) = 0 Then
ExisteArchivo = False
Else
ExisteArchivo = True
End If
End Function
Y la utilizo:
Código: Text
If ExisteArchivo(Base_050913_1.zip) then
...
End If
Sé que no responde a tu pregunta específica, pero quizás te pueda servir.
Salu2.
Título: Re: Problema Con Verificación De Existencia De Fichero
Publicado por: Sagutxo en Martes 13 de Septiembre de 2005, 16:47
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.
Título: Re: Problema Con Verificación De Existencia De Fichero
Publicado por: patitofeo en Miércoles 14 de Septiembre de 2005, 11:43
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
base.mdb==> Base_050913.zip, si este fichero existe pasa a ser Base_050913_1.zip y así hasta que el fichero no exista.
If Dir(ValDir) = "" Then
El Fichero no Existe
End If
Podeis buscarlo en la ayuda. Es realmente comodo
Saludos
Título: Re: Problema Con Verificación De Existencia De Fichero
Publicado por: Sagutxo en Miércoles 14 de Septiembre de 2005, 12:51
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