FoxPro/Visual FoxPro - Cuando el directorio no existe

   
Vista:

Cuando el directorio no existe

Publicado por victor perez vperezr@cwpanama.net (278 intervenciones) el 18/03/2011 18:50:37
Hola,

Tengo el siguiente inconveniente.

1. En el PRG principal de mi sistema establezco lo siguiente
SET DEFAULT TO ALLTRIM(almpath.ruta)

2. Luego al acceder al sistema, si el usuario tiene nivel "5" que es administrativo se ejectua la siguiente sentencias:

IF 6=MESSAGEBOX("Estas trabajando DATA en " + AlmPath.ruta + CHR(13)+ "Desea
Cambiar ?",32+4+256, "AVISO")
SET DEFAULT TO C:\clinica
MESSAGEBOX("Trabajaras en el Directorio C:\CLINICA")
Woperacional="ADMINISTRATIVO"
ELSE
MESSAGEBOX("CONTINUARAS TRABAJANDO EN " + ALMPATH.RUTA)
WOPERACIONAL="USUARIO"
ENDIF

El problema viene cuando el directorio "C:\clinica" no existe. El sistema me manda un error que lo atrapo mediante el sistema de errores que tengo en un PRG pero no se debe cumplir la sentencia que sigue que es el MESSAGEBOX que dice que trabajo ahora en el subdirectorio C:\clinica.

Si no existe el subdirectorio especificado por el set default entonces, no se ejecuta ningun cambio y seguire trabajando segun lo establecido en Almpath.ruta

Esto me ayuda a mi a saber cuando estoy en fase de programacion y cuando en fase REAL (alterando las tablas reales).

El asunto es que en mi clinica tengo el programa instalado en F:\clinica en un computador (el que uso YO). En Casa lo tengo en D:\clinica o en C:\clinica

Trabajo en el sistema desde mi casa o desde la clinica asi q es engorroso tener que estar cambiando la programacion dependiendo donde me encuentro.

Lo que deseo es que el sistema me diga, que si no existe el C:\clinica, pues no se realizaron cambios en el DEfault y seguiria trabajando en la ruta establecida en AlmPath.

Saludos,

Victor,
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

Cuando el directorio no existe

Publicado por neo (1601 intervenciones) el 18/03/2011 20:35:18
revisa la funcion Directory()

Ejemplo:
If Directory("C:\Clinica")
Wait Window "Si existe"
else
Wait window "No existe"
endif
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
Imágen de perfil de Mauricio

Cuando el directorio no existe

Publicado por Mauricio (1367 intervenciones) el 19/03/2011 00:41:11
Victor, puedes probar esto, pero antes en el PRG prncipal, deberias de crear una variable global`
para que puedas usarla para saber si no existe un directorio......
GLOBAL dir_existe
Dir_existe = DIRECTORY("c:/clinica")
SET DEFAULT TO ALLTRIM(almpath.ruta)
*
2. Luego al acceder al sistema, si el usuario tiene nivel "5" que es administrativo se ejectua la siguiente sentencias:
*
IF MESSAGEBOX("Estas trabajando DATA en " + AlmPath.ruta + CHR(13)+ "Desea
Cambiar ?",32+4+256, "AVISO") = 6
IF !Dir_existe && No existe Clinica, pero puedes crearlo con MD clinica
MESSAGEBOX(" Directorio C:\CLINICA No Existe")
MESSAGEBOX("CONTINUARAS TRABAJANDO EN " + ALMPATH.RUTA)
RETURN
ELSE
SET DEFAULT TO C:\clinica
MESSAGEBOX("Trabajaras en el Directorio C:\CLINICA")
Woperacional="ADMINISTRATIVO"
ENDIF
ENDIF
*
Comenta si te funciona..............
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

Cuando el directorio no existe

Publicado por victor perez (278 intervenciones) el 20/03/2011 03:32:57
Gracias. Excelentes respuestas. Las voy a probar.

Victor,
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

Cuando el directorio no existe

Publicado por VICTOR PEREZ (278 intervenciones) el 20/03/2011 03:48:48
Hola Mauricio,

Tus sentencias funcionan bien... en donde se aplica tambien el consejo de NEO.

Solo que hay dos errores:

1.- No se pone Global Variable sino Public Variable

2.- En el If/Endif donde se ubica que el Directorio C:\clinica No Existe...hay que quitar el Return.

Por lo demas todo funciona muy bien.

Gracias
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