FoxPro/Visual FoxPro - Rutas en FOXPRO 6

 
Vista:
Imágen de perfil de Edgardo
Val: 18
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Rutas en FOXPRO 6

Publicado por Edgardo (12 intervenciones) el 09/05/2019 17:00:58
Estoy trabajando con mini programa en FoxPro 6, en el archivo de inicio pongo las siguientes órdenes:

SET DEFAULT TO c:\sueldos
SET PATH TO clases,forms,menus,datos,prgs,bmps,reports

Cuando en los siguientes formularios pongo que abra algún archivo o algún formulario sin la ruta me pone que dicho archivo no existe:

error11
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Rutas en FOXPRO 6

Publicado por J (1 intervención) el 09/05/2019 17:08:31
Has probado a poner c:\sueldos\prg en el default ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Rutas en FOXPRO 6

Publicado por Fidel José (657 intervenciones) el 10/05/2019 01:05:35
En general conviene utilizar la ruta de datos completa, que puede variar según donde instales el programa.

Supongamos que tenemos un archivo txt que contiene algunas cuestiones de configuración, que llamamos "localizar.txt" y está en la raíz de la aplicación.
Supongamos también que el contenido de ese archivo es:
<folder>\\servidor\sistema\MiEmpresa</folder>

Supongamos que los dbf van a residir únicamente en una carpeta llamada "Datos"

1) Al inicio de la aplicación (main.prg), creo una propiedad de _screen a la que llamaré "dDatos" y le atribuyo el valor de la tag "folder" del archivo "localizar.txt"
ADDPROPERTY(_screen,"dDatos",ADDBS(STREXTRACT(FILETOSTR("localize.txt"),"<folder>","</folder>"))+"Datos")

2) Luego, en cualquier lugar de la aplicación, puedo abrir las tablas con el siguiente comando
USE ADDBS(_screen.ddatos)+"empleado" IN 0 SHARED
USE ADDBS(_screen.ddatos)+"meses" IN 0 SHARED

SELECT EMPLEADO
browse
SELECT MESES
browse

* Cerrar tablas
USE IN EMPLEADO
USE IN MESES

3) No utilices SELECT 1, SELECT 2 etc. Eso es obsoleto. Es mejor dejar que Visual Fox administre la apertura de tablas y le atribuya el area de trabajo.

En cuanto al uso de la cláusula EXCLUSIVE, trata de reemplazarla por SHARED, con el correspondiente control de bloqueos. En un futuro tu aplicación podrá trabajar en modo multiusuario. Corregir esto cuando la aplicación ha crecido te lleva a una montaña de problemas.

Al utilizar la cláusula SHARED también tendrás que utilizar una forma de bloqueo de registro y de desbloqueo. Los comandos APPEND BLANK e INSERT INTO producen un bloqueo automático sobre el nuevo registro. Pero el comando REPLACE para modificar un registro existente necesitará el bloqueo del registro para modificarlo.

Lee en la ayuda sobre bloqueo de tablas y de registros y toma la opción que más te convenga.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Rutas en FOXPRO 6

Publicado por Abel (286 intervenciones) el 10/05/2019 15:06:45
y cual es la ruta donde están ubicadas las tablas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar