Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 31-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
ay caro tienes razon, lo escribi rapido y sin mirarlo mucho :

Código Delphi [-]
 
 
const
   menus_a_desactivar : string = 'general, menu1,menu2,...etc';
 
function  MirarSiEsMenuADesactivar(c : TMenuItem) : boolean;
begin
         result := Pos(Lowercase(Trim(stringreplace(c.Caption,'&','',[rfIgnoreCase,rfReplaceAll]))),menus_a_desactivar) <> 0;
end;
 
procedure Desactivar(c : TComponent);
var
        i : integer
begin
         for i := 0 to c.ComponentCount - 1  do
            Desactivar(c.Components[i]);
 
         if c is TMenuItem then 
         if MirarSiEsMenuADesactivar(c) then 
         try 
         (c as TMenuItem).Enabled := false;
         except end;
end;
 
...
         if nivel_usuario < 2 then Desactivar(Application);
...

seria algo asi. Otra manera tambien seria teniendo los nombres de los TMenuItems en una lista (los nombres tal cual: MenuItem1, MenuItem2,...en el otro ejemplo se buscaban por 'caption') y hacer algo como

Código Delphi [-]
 
var
   s : TStringList;
begin
  s := TStringList.Create(self);
  s.Add('MenuItem1');
  s.Add('General1');
  s.Add('VerForm1')
 
  for i := 0 to s.Count - 1 do 
  (Application.FindComponent(s[i]) as TMenuItem).Enabled := nivel_usuario < 2;
 
  s.Free;

Mas o menos son equivalentes. saludos.

Última edición por coso fecha: 31-10-2008 a las 19:46:18.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBGrid con posibilidad de agrupar en niveles... Neftali [Germán.Estévez] OOP 3 29-11-2004 00:58:42
programa por niveles marcelofabiani Varios 2 21-10-2003 18:27:17
Niveles de Acceso/ UTECYBER Varios 5 07-10-2003 20:56:23
Niveles de Acceso/ UTECYBER OOP 5 07-10-2003 20:53:18
niveles en programas marcelofabiani Varios 1 10-05-2003 22:30:15


La franja horaria es GMT +2. Ahora son las 20:54:27.


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