La importancia de las url en vfp9
Artículo original: The importance of Paths in VFP (http://weblogs.foxite.com/andykramek/archive/2005/03/21/197.aspx [2])
Autor:Andy Kramek (http://www.tightlinecomputers.com [3])
Traducido por: Ana María Bisbé York (amby@telefonica.net [4])
Para: PortalFox (http://www.portalfox.com [5])
Uno de los problemas que he visto con mayor frecuencia en los foroses cómo trabaja VFP con los archivos. Sobre este punto el Administrador de proyectos es una bendición y una maldición, ambas cosas. Una bendición porque, una vez que trabajamos desde el Administrador de proyecto, el controla por nosotros los aspectos relacionados con encontrar y abrir archivos . Una maldición, porque somos de la tendencia a olvidar que VFP requiere internamente de rutas. Unapregunta frecuente es algo así:
Cuando llamo desde el Administrador de programas mi formulario abre sus tablas; pero si lo hago por programa, me abre el cuadro de diálogo Buscar. ¿Qué está mal?
La respuesta es, por supuesto, que VFP no ha recibo la ruta de búsqueda. Aunque nunca lo he visto formalmente documentado, parece ser que VFP tiene un método muy estricto cuando se le pide encontrar algo.Por ejemplo al llamar a una función VFP verifica primero el programa que se está ejecutando actualmente, luego otros programas en memoria, luego el directorio actual, luego los directorios que están en su propia ruta de búsqueda y finalmente la ruta de búsqueda de Windows. De forma similar, cuando buscamos por un nombre de tabla con referencia incompleta (por ejemplo: USE account, a diferencia deUSE C:\Myfiles\account.dbf), busca primero en la carpeta seleccionada actualmente, luego entre su propia ruta y finalmente en la ruta de búsqueda de Windows.
Vea que las carpetas de su propia ruta se verifican siempre antes que el nivel del sistema operativo. La importancia de esto es que cuando le asigna a VFP su propia ruta de búsqueda, buscará los archivos sin tener que ir a través delsistema operativo - claramente será mucho más eficiente ya que la ruta necesita incluir solamente aquellos lugares que son estrictamente relevantes para VFP.
El directorio predeterminado
En ausencia de cualquier otra información Visual FoxPro utiliza la unidad y el directorio actualmente seleccionados como su "ruta" y podrá restablecer esta configuración utilizando simplemente:
SET PATH TOSin embargo, para aplicaciones más sofisticadas, y ciertamente para el desarrollo, tendrá una estructura de directorios y debe establecer siempre la ruta de búsqueda adecuada que incluya todos los directorios requeridos. Lo primero que debe hacer es establecer el directorio predeterminado y existen varias formas (como siempre) para hacerlo:
* Especificar Default en al Archivo deconfiguración (CONFIG) utilizando DEFAULT =
* Establecer la ruta predeterminada directamente en el código utilizando SET DEFAULT TO
* Cambiar de directorio interactivamente utilizando SET DEFAULT TO (GetDir()). (Los comandos 'CD' (o 'CHDIR') se pueden utilizar para cambiar tanto la unidad como el directorio a una localización especificada).
¡Ajá! LOCFILE() cambia la ruta.
Observe queutilizando las funciones "Get" o "Put" (ejemplo GetDir()) generalmente no cambia ni el directorio predeterminado ni la ruta. La excepción a esta regla es una característica aparentemente no documentada (en VFP) de la función LOCFILE() la que agrega la carpeta seleccionada a la ruta de búsqueda de VFP como muestra el siguiente código:
*** Limpia la ruta
SET PATH TO
? SET( 'path' ) && Devuelve nadaUSE LOCFILE( 'account' ) && Localiza un archivo
? SET( 'path' ) && Devuelve C:\Projects\Data
Este comportamiento ha formado parte del lenguaje al menos desde FoxPro 2.6W y es interesante, está documentada en la Ayuda de FoxPro 2.6W de esta forma:
El diálogo Open (Abrir) puede ser utilizado para localizar un archivo. Al escoger un archivo del diálogo, se devuelve el nombre del archivo con...
Regístrate para leer el documento completo.