PDA

Ver la Versión Completa : Recorrer Menú???


darkone2k4
10-03-2010, 23:12:04
salu2 amigos.

Les escribo por lo siguiente:
En mi BD tengo una tabla "perfil" con los siguientes campos:

1.- Código, que es el código asignado al perfil.
2.- TAG, que equivale al tag asignado a cada opción del menú.
3.- Estado, del tipo boolean que me indica si está activo o no una opción del menu.

Como puedo recorrer el mainmenú y sus opciones para que, dependiendo del TAG y el estado, activar o desactivar una opción del menú al momento de cargar el formulario principal???

Desde ya, muchas gracias.

AzidRain
10-03-2010, 23:21:47
Si estas haciendo un control de usuarios, te recomiendo UserControl, un componente brasileño muy bueno y que te evita perder tiempo. Te permite hacer precisamente lo que deseasy por si fuera poco es libre.

rgstuamigo
10-03-2010, 23:31:18
Me equivoqué de lugar, si pueden borren este tema, haré la pregunta en la sección que corresponda....

Ya he movido y unido ambos hilos...;)


Como puedo recorrer el mainmenú y sus opciones para que, dependiendo del TAG y el estado, activar o desactivar una opción del menú al momento de cargar el formulario principal???

Desde ya, muchas gracias.

El tema ya se ha tratado en multiples ocasiones, puedes mirar al final de ésta misma página entre los "temas similares" por ejemplo éste (http://www.clubdelphi.com/foros/showthread.php?t=48961) Hilo.;)
Saludos...:)

Caro
10-03-2010, 23:34:36
Hola darkone2k4, para recorrer puedes hacer lo siguiente:


for ind :=0 to ComponentCount-1 do
begin
if Components[ind] is TMenuItem then
if TMenuItem(Components[ind]).Tag = Query.FieldByName('Tag').AsInteger then
TMenuItem(Components[ind]).Visible := Query.FieldByName('Estado').AsBoolean; //Visible o Enabled (el que necesites)
end;


Saluditos

darkone2k4
11-03-2010, 19:29:12
Hola darkone2k4, para recorrer puedes hacer lo siguiente:


for ind :=0 to ComponentCount-1 do
begin
if Components[ind] is TMenuItem then
if TMenuItem(Components[ind]).Tag = Query.FieldByName('Tag').AsInteger then
TMenuItem(Components[ind]).Visible := Query.FieldByName('Estado').AsBoolean; //Visible o Enabled (el que necesites)
end;


Saluditos
Muchas gracias por la respuesta, era justo lo que necesitaba!!!!