Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2012
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Paso a detallar:
Tabla Permisos:
  • id (AutoInc)
  • idUsuario
  • idTipoUsuario
  • ItemName
Entonces, en un form, tengo un TreeView, el cual cargo con todos los items del menu ppal en el create del form.


Al elegir el Item, se guarda en la tabla de permisos.
Debes optar una de dos alternativas.
Son permisos o restricciones.
Es decir (permiso) El usuario no verá ningin item hasta q le asignes alguno.
o (restriccion ) ve todos los items, salvo los q quieras ocultar.

Lo mas facil es reestringir, ya q el menu se ve completo en principio, y le vas ocultando items segun corresponda.
Al producirse un cambio de usuario, el menu debera verse completo por un instante, hasta q se oculten los items (restricciones) del nuevo usuario.
Imágenes Adjuntas
Tipo de Archivo: jpg untitled2.jpg (37,6 KB, 8 visitas)

Última edición por juanlaplata fecha: 13-07-2012 a las 14:25:47.
Responder Con Cita
  #2  
Antiguo 13-07-2012
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 275
Poder: 17
webmasterplc Va por buen camino
tienes algun ejemplo en codigo si puedes
Responder Con Cita
  #3  
Antiguo 13-07-2012
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Cargar menu en Treeview:

Código Delphi [-]
procedure Cargar_Menu(topItem:TTreeNode;Items:TMenuItem); 
var i:integer;     
     Nodo: TTreeNode;     
     items2:TMenuItem; 
begin 
for i:=0 to Items.Count-1 do    
  begin         
    with TTreeview1.Items do              
    begin              
      if(Items[i].Caption <>'-')and(Items[i].Visible)then                  
        begin                  
        Nodo:= AddChild(TopItem, StringReplace(Items[i].Caption,'&','',[]));                   
        items2:=  Items[i];                  
        Cargar_Menu(Nodo,items2);                  
        end;              
    end;    
  end; 
end;



Ocultar Items:
Código Delphi [-]
procedure Permisos_Menu(idUs, tipoUs:integer); 
var i:integeR;     
     item : Tcomponent; 
begin permisos.Close; 
  permisos.Params[0].AsInteger:=idUs; 
  permisos.Params[1].AsInteger:=TipoUs; 
  permisos.Open; permisos.First; 
  for i:= 0 to permisos.RecordCount-1 do    
    begin    
    item:=findComponent(permisosItemName.AsString);    
    if item <> nil then  item.visible := False ;    
    permisos.Next;    
    end; 
end;

Última edición por juanlaplata fecha: 13-07-2012 a las 15:14:20.
Responder Con Cita
Respuesta



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
Es posible que en el Form1 sea reconocido algún componente del mismo. mrnovice OOP 2 08-07-2008 19:43:52
TmainMenu no en top del form jonmendi OOP 1 14-04-2008 17:19:53
¿ Es posible realizar una inserción sin tener una transaccion abierta ? TrUnkS Conexión con bases de datos 1 03-02-2007 02:10:34
Es posible al mismo tiempo Sum(...), Group y Join ? gluglu SQL 1 29-12-2005 15:22:57
Es posible tener varias bases de datos.... Carlosguiland MySQL 5 24-06-2004 20:39:10


La franja horaria es GMT +2. Ahora son las 09:03:47.


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
Copyright 1996-2007 Club Delphi