Sobre el PDF

Hola, soy yo otra vez, recuerdas que me enviaste este código para abrir un archivo .PDF desde una aplicación en VB:
Dim llamada As String
Dim a As Long
llamada = Chr(34) & "c:\archivos de programa\adobe\acrobat 4.0\reader\acrord32.exe" & Chr(34) & "" & Chr(34) & "d:\fotos temporales\final" & "\" & "hoja2.pdf" & Chr(34)
MsgBox (llamada)
a = Shell(llamada, 3)
Bueno, que sucedería si el directorio donde esta instalado el Adob Acrobat no es C:\archivos de pro...; o esta en D:\xxxx; o tiene otra version de Acrobat.
Hay alguna manera de que primero se ubique el ACRORD32.EXE, ¿en el disco duro y luego recién abra el archivo .PDF?
Disculpa la molestia.
Gracias
Edison

1 Respuesta

Respuesta
1
En la respuesta que te di, estaba haciendo la suposición de que la aplicación que vas a desarrollar, tiene un proceso de instalación en cada máquina donde se va a utilizar, durante el cual se le indica la situación de lector de Acrobat, y esta dirección y nombre se graban, por ejemplo en un archivo INI, que se lee al iniciar cada sesión de la aplicación.
Para evitar esto, habría en efecto, la solución que indicas de buscar automáticamente ACRORD32.EXE en el disco, pero eso, es difícil de programar (se necesita una rutina de búsqueda recursiva que no es fácil de hacer) y además, si el disco es un poco grande puede tardar demasiado en encontrar el archivo.
Fíjate que cuando en el Explorador de Windows utilizas la opción de buscar en todo tu disco duro un determinado archivo, puede tardar bastante en encontrarlo, y no lo vas a hacer tu mejor que Microsoft.
... ¿Y si el lector de Acrobat está en una unidad de red? ¿Lo vas a buscar también en todas las posibles unidades de red?
Por otra parte, Nadie garantiza que Acrobat mantenga el nombre ACRORD32.EXE
Ni siquiera ahora es así: te puedes encontrar máquinas que tienen instalada la versión Read/Write de Acrobat y ese caso ya tiene otro nombre
Por lo tanto, si en todo caso hay que informar al programa del nombre del lector de PDF's, ya que esto es propio de la máquina en la que se instala, ¿por qué no informarle de su situación?
No te de reparos el tener unos parámetros de instalación que se guardan en un archivo, y que se leen al iniciar la aplicación. Realmente toda aplicación bien hecha debe estar así. El poner dentro de la aplicación cosas como nombres de archivos, directorios etc es una mala práctica ya que la aplicación queda supeditada a unas condiciones determinadas.
En vez de utilizar un archivo INI puedes utilizar el registro de Windows para guardar los valores de los parámetros, pero eso es más complicado.
Suerte :-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas