Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Funcion DIR no me resuelve

Estas en el tema de Funcion DIR no me resuelve en el foro de Visual Basic clásico en Foros del Web. Hola. Hice un programa que imprime caratulas (JPG) en el cual en este foro me ayudaron bastante. Pero ahora se me produce una complicacion con ...
  #1 (permalink)  
Antiguo 25/11/2008, 21:39
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Funcion DIR no me resuelve

Hola.
Hice un programa que imprime caratulas (JPG) en el cual en este foro me ayudaron bastante. Pero ahora se me produce una complicacion con la sentencia DIR que no solo busca carpetas sino que tambien encuentra archivos pese a que pensaba que poniendole vbDirectory solo me buscaria directorios o carpetas. En un pedido hay mas de 100 caratulas sean todas slim o grandes. Los datos a buscar(jpg) e imprimir vienen en numero de cuatro digitos, que estan en carpetas que tamben empiezan con ese mismo numero y siguen con partes de nombre que no tomo en cuenta ya que no me viene ese dato
Los dos datos son, por ejemplo:
numero cant:1256 2
0883 4
1502 1

previamente tengo el dato si es slim o grande

Voy a poner la estructura de mis carpetas para que se entienda

carpeta donde hay fotos a buscar:
"\\Ventana\G\Fotos\CARAT_A\1236 Iglesia de Lujan" rem Carpeta en red

Nombre del el archivo que esta dentro de la carpeta:
"1236 Canon ARO22 iglesia de Lujan.cld"

Otro Nombre del el archivo que esta dentro de esta carpeta:
"1236 Grande iglesia de Lujan.jpg"

Otro Nombre del el archivo que esta dentro de esta carpeta:
"1236 Slim iglesia de Lujan.jpg"



rutacompleta :
"\\Ventana\G\Fotos\CARAT_A\1236 Iglesia de Lujan"

la variable "Tipo" puede ser = "Slim" o tipo ="Grande"


'///////////////////////////////////////////////////////////////
'/ Inicio del programa de buscqueda de caratulas en rigido' /
'///////////////////////////////////////////////////////////////
For i = 1 To t ' t = cantidad de pedido'
path = "\\Ventana\g\Fotos\CARAT_" & Tipo & "\"
Numeropedido = path & pedido(i, 0) & " *.*"
dirname = Dir(Numeropedido, vbDirectory)
Archivo = pedido(i, 0) & Tamaño & "*.jpg"
MsgBox "Archivo " & Archivo
ArchivoaBuscar = Dir(path & "\" & dirname & "\" & Archivo)
RutaFoto = path & dirname & "\" & ArchivoaBuscar 'ruta completa y nombre del archivo'
next

La busqueda seria algo \\Ventana\g\Fotos\CARAT_A\1236 *.*" para encontrar el directorio pero no se porque en algunos casos me encuentra primero el archivo con exentesion cld por lo cual me da errorr. Imagino que es por una cuestion de ubicacion del archivo en el disco rigido porque en algunos casos falla y en otro no.
No puedo usar la sentencias para cambiar de directorios ya que esta en red y las sentecias son para el discos local(por lo menos es lo que creo)
Se que debe ser dificil de entender ya que me fue dificil redactarlo como para que se entienda.

Por ejemplo me falla cuando busco el "1236 *.*" tendria que posicionarse en el directorio :
"\\Ventana\G\Fotos\CARAT_A\1236 Iglesia de Lujan"
y luego dentro de este encontrar el archivo:
"1236 Slim iglesia de Lujan.jpg"

Si pongo dentro del programa
dirname = Dir(Numeropedido, vbDirectory)
msgbox dirname
me aparece "1236 Canon ARO22 iglesia de Lujan.cld"
con lo que me da error porque tendria que aparecer


Sin alguien puede ayudarme y no entendio tratare nuevamente de explicame gracias.
  #2 (permalink)  
Antiguo 25/11/2008, 21:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Funcion DIR no me resuelve

Ese es el comportamiento normal de la función Dir. Para evitar que sucedan problemas cuando no hay ninguna carpeta que coincida con el parámetro de búsqueda (y por consiguiente devuelva primeramente un archivo) podrías comprobar con GetAttr si el valor devuelto realmente es un directorio.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/11/2008, 22:31
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Funcion DIR no me resuelve

La carpeta si coincide con el parametro de busqueda por lo que probe con el buscador de windos y me encuentra primero el archivo con extencion .cld y luego la carpeta seguida por los archivos. El problema es cuando primero encuentre el cld . Cual es la instruccion para buscar el siguiente archivo?
  #4 (permalink)  
Antiguo 25/11/2008, 22:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Funcion DIR no me resuelve

Dir nuevamente, pero sin ningún parámetro
Código vb:
Ver original
  1. Siguiente_Archivo = Dir
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 26/11/2008, 07:06
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Funcion DIR no me resuelve

Gracias me sirvio.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:26.