FoxPro/Visual FoxPro - Manejo de menu

 
Vista:

Manejo de menu

Publicado por Ada (26 intervenciones) el 04/09/2009 00:33:35
Hola!!

Solicito de su colaboración, estoy realizando un programa en Vfp9 al cual le he diseñado un menu con las opciones "Archivo" - "Consultas" - "Reportes" - "Administrar",, el programa tiene control de usuarios, quiero todos los usuarios excepto el administrador no tengan acceso a la opción Administrar, ¿cómo hago para tener esa opcion enable igual como se maneja con un boton de comando o una caja de texto.?

Gracias....
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

RE:Manejo de menu

Publicado por andy (228 intervenciones) el 04/09/2009 00:53:44
A ver si entendi lo que quieres hacer, establece un codigo para validar el usuario y luego pones, por ejemplo:

IF administrador=.t.
THISFORM.command1.ENABLED=.t.
ELSE
THISFORM.command1.ENABLED=.f.
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

RE:Manejo de menu

Publicado por Ada (26 intervenciones) el 04/09/2009 01:15:19
No hice un menu con botones. Lo que hice fue una barra de menu con varios submenu con el diseñador para ello, eso me creó un archivo .mnx,, quiero inhabilitar el menu Administrar para algunos usuarios.

Gracias,,, espero mas opiniones por favor
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

RE:Manejo de menu

Publicado por juan286 (185 intervenciones) el 04/09/2009 23:06:13
mira debes para lograr esto debe colocar un campo k se llame tipo de usuario en ella debe haber colocar administrador o empleado mas la id empleado y la contraseña correct

bueno esto serria algo asi

if ( casilla1 = id and casilla2 = contraseña and casilla3 = "Empleado")
set skip of bar 1 of session .t.
*Esta son para las opcion de submenu solamente + tarde te envio para el menu

*Esto dice k el submenu en la posicion 1 esta desacticado
set skip of bar 1 of archivo .F. o .T.
************************************
supongamos k tienes dos opciones en el submenu consultas
set skip of bar 1 of consultas .f.
set skip of bar 2 of consultas .f.
***********************************
else

if ( casilla1 = id and casilla2 = contraseña and casilla3 = "Administrador")
set skip of bar 1 of session .t.
*Esta son para las opcion de submenu solamente + tarde te envio para el menu

*Esto dice k el submenu en la posicion 1 esta desacticado
set skip of bar 1 of archivo .F. o .T.
************************************
supongamos k tienes dos opciones en el submenu consultas
set skip of bar 1 of consultas .f.
set skip of bar 2 of consultas .f.
***********************************
endif
endif
espero k con esto puedas hacerlo bien

Espero no haberte confundido mas de lo debido.....
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

RE:Manejo de menu

Publicado por juan286 (185 intervenciones) el 04/09/2009 23:10:33
para las opcion de lo que se encuentas en la barra de menu
esta opcion es
SET SKIP OF MENU _MSYSMENU .T.
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

RE:Manejo de menu

Publicado por juan286 (185 intervenciones) el 04/09/2009 23:15:43
Lo siento me equivoque de comando este es para eso lo coloca para desacticar el menu

SET SKIP OF PAD _MSM_EDIT OF _MSYSMENU .T.

editar de foxpro solo copialo y pruebaloen ventana de comandos
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

RE:Manejo de menu

Publicado por neo (1604 intervenciones) el 05/09/2009 01:17:42
Pero para eso, el programa que hiciste, debe saber por medio de un ingreso de usuario quien es el administrador. ya de ahi, solo crea una variable pública en el programa inicial. Después valida en el ingreso de usuario si Escribe por ejemplo: "Administrador" entonces que se pueda utilizar la opcion del menu.
Si no es "Administrador" en la opcion del menu elige Skip for y utiliza la variable publica.

Ejemplo:

Digamos que ya tienes un formulario de ingreso. En el boton Aceptar valida esto:

If Empty(Thisform.text1.value)
messagebox("Debe ingresar un usuario",0+46,"Atencion")
Return .f.

else

do case
case Thisform.text1.value="Administrador"
Var_publica="Admin"
Wait Window "Bienvenido Administrador" timeout .8
otherwise
var_publica="User"
Wait Window "Bienvenido Usuario" timeout .8
endcase

endif

Ya solo faltaria agregar en la opcion de menu en donde dice "Skip for" o "Saltar por" solo escribe: Var_Publica="User"

Suerte
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
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Manejo de menu

Publicado por Mauricio (1541 intervenciones) el 05/09/2009 14:49:12
Ada, esto es facil:
A cada usuario que tienes le creas un campo que diga por ejemplo ACCESO tipo logico, todos tendran .F. y alguno o algunos tendran .T.
Luego en el menu en la opcion de Adminitrar te vas a la ultima casilla que dice OPCION, aca dice "Saltar por" o dice "SKIP FOR", le digitas !acceso.
Todos los usuarios que tengan .F. no tendran acceso a esta opcion.
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

RE:Gracias Mauricio

Publicado por Ada (26 intervenciones) el 05/09/2009 16:50:28
Gracias Mauricio.. eso es realmente lo que necesitaba.. funciona perfecto.... a todos los demas muchas gracias sus opiniones son igualmete valiosas...
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