Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tengo Problema al deshabilitar opciones de un menu (https://www.clubdelphi.com/foros/showthread.php?t=79654)

steelha 26-07-2012 18:43:25

Tengo Problema al deshabilitar opciones de un menu
 
Buenas tardes
Escribo ahora para ver si me ayudan a solucionar un problemas. Estoy tratando de des-habilitar las opciones de un tmainmenu. Esto viene definido según el valor de una variable, la cual toma el valor al momento del usuario loguearse (este valor esta guardado en una tabla).

Lo que sucede es que antes de tener el código funciona de maravilla, pero aun pongo el codigo en comentario la aplicación sale así como si nada, me explico: me logueo, carga la ventana, presenta todo y se cierra. Aca dejo el código que me afecta no se porque se ve bien (eso creo yo).

Código Delphi [-]
procedure Tfrmprincipal.FormShow(Sender: TObject);
begin
  imgfondo.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\imagen\fondo.jpg');
  nivel_usuario := frmLogin.nivel;

{  N0CuentasdeUsuarios1.Enabled := False;

  case nivel_usuario of
    0:begin
          Mantenimiento1.Enabled := False;
          Consultas1.Enabled     := False;
      end;
    1-4:begin
          N1Status1.Enabled     := False;
          N3Cargos1.Enabled     := False;
          N4Miembros1.Enabled   := False;
          I1.Enabled            := False;
          N0CuentasdeUsuarios1.Enabled := False;
      end;
    9:begin
          N0CuentasdeUsuarios1.Enabled := True;
      end;
  end;
  Salir1.Enabled         := True; }
end;

Caminante 26-07-2012 22:44:01

Código Delphi [-]
procedure Tfrmprincipal.FormShow(Sender: TObject);
begin
  imgfondo.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\imagen\fondo.jpg');
  nivel_usuario := frmLogin.nivel;

{  N0CuentasdeUsuarios1.Enabled := False;

  case nivel_usuario of
    0:begin
          Mantenimiento1.Enabled := False;
          Consultas1.Enabled     := False;
      end;
    1-4:begin
          N1Status1.Enabled     := False;
          N3Cargos1.Enabled     := False;
          N4Miembros1.Enabled   := False;
          I1.Enabled            := False;
          N0CuentasdeUsuarios1.Enabled := False;
      end;
    9:begin
          N0CuentasdeUsuarios1.Enabled := True;
      end;
  end;
  Salir1.Enabled         := True; }
end;
[/quote]

No se si entendí bien pero para empezar si en una sentencia case deseas especificar un rango de opciones se usa ".." es decir "1..4" la forma que has escrito nunca la había visto en un case.

ecfisa 26-07-2012 23:00:32

Cita:

Empezado por Caminante (Mensaje 438285)
No se si entendí bien pero para empezar si en una sentencia case deseas especificar un rango de opciones se usa ".." es decir "1..4" la forma que has escrito nunca la había visto en un case.

Muy buen ojo mi amigo... ;)

Saludos. :)

AzidRain 27-07-2012 02:51:08

En tu caso ya no te sirve mi ayuda, iba a sugerirte el componente Usercontrol (Brasileño) que hace que todo eso de los permisos y logueos sea pan camido, pero lo dejo por si alguien que entre al hilo buscando ayuda similar le sirva: Aquí su página Recomiendo mucho su uso ya que son libres, vienen con código y son multilenguajes. Bastante fáciles de usar por cierto.

steelha 27-07-2012 14:47:43

Gracias amigos Caminante, ecfisa :) la costumbre de imprimir rangos de paginas :). Pero aun así porque sucede que me saca la prueba esta en que el usuario posee nivel 0, debería solo tener habilitado la opción de salir. Pero aun asi presenta las opciones deshabilitadas y la opción de salir habilitada pero inmediatamente se termina la ejecución del programa, si lo pongo en comentario como esta ahora también hace lo mismo pero si quito todo el código. funciona perfecto.

Gracias de antemanos por toda la ayuda y consejos suministrados por cada uno de ustedes, es increible todo lo que he aprendido viendo ejemplos y comentarios de los Master como caral, ecfisa, roman y muchos otros mas que ahora mismo no tengo a mano pero que también colaboraron a la produccion de esta película, a mis padres, mis hermanos, tecnicos ... o.O aahhh estos no son los premios Oscar :) pero GRACIAS de todo modo por querer colaborar en mi aprendizaje continuo. Y este premio Grammy se lo dedico a ustedes Usuarios de CLUB DELPHI.

steelha 27-07-2012 19:17:28

Muchas gracias, problema resuelto :)

steelha 27-07-2012 19:20:40

Gracias Azidrain por los componentes, lo he descargado pero para instalar me pide que compile el indy protocol el cual recientemente descargue he instale con un supuesto instalador que anda por ahi :) pero al tratar de compilar me da un error .... pero esto es parte de otra historia sin fin


La franja horaria es GMT +2. Ahora son las 05:27:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi