Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Recorrer 1 tabla (https://www.clubdelphi.com/foros/showthread.php?t=75689)

mantraxer21 12-09-2011 21:05:04

Recorrer 1 tabla
 
Estimados:

Cómo se hace (literalmente) poder recorrer 1 tabla de mi bd (firebird) y si el valor por ejemplo de esa tabla trae true, entonces desabilitar una opción del menu...

Tabla: Menu
idMenu(1)
Menu (Mantenedor)
Enabled (true)

Alguien puede ayudar a trabajar esta opción ?

Saludos Cordiales

mantraxer21 12-09-2011 21:07:15

Datos de la Tabla
 
Datos de la tabla:

Menu:

id Menu Enabled idTipoUsuario
1 Mantenedor True 1
2 Usuarios True 1
3 Informes False 2

oscarac 12-09-2011 21:12:09

tiene algo de codigo fuente?

ecfisa 12-09-2011 21:15:47

Cita:

recorrer 1 tabla de mi bd (firebird) y si el valor por ejemplo de esa tabla trae true, entonces desabilitar una opción del menu
Hola mantraxer21.

En realidad, según te interpreto, no es la tabla la que devuelve el valor verdadero o falso sino alguno de sus campos.

¿ En base a que campo o campos queres realizar la evaluacion ?

Saludos.

oscarac 12-09-2011 21:21:33

aqui hay un ejuemplo de creacion de Menus utilizando archivos de texto

newtron 13-09-2011 09:01:04

Hola.

Yo lo que hago es tener en una tabla solamente las opciones del menú que van a estar habilitadas guardando el caption del menú. Cuando se ejecuta el programa deshabilito primero todas las opciones del menú y luego me recorro la tabla habilitando las opciones que están en ella. En la tabla guardo el texto del menú de arriba +'#' + las opciones del menú.

Código:

      // Primero deshabilito todo
      for N:=0 To MainMenu.Items.Count-1 do begin
        for M:=0 To MainMenu.Items[N].Count-1 do begin
          MainMenu.Items[N].Items[M].Enabled := False;
        end;
      end;
      // Habilito opciones de la tabla
      DataModule1.EDBQuery1.first;
      while not DataModule1.EDBQuery1.Eof do begin
        sAux:=DataModule1.EDBQuery1.FieldByName('OPCION').AsString;
        for N:= 0 to MainMenu.Items.Count-1 do begin
          if StrTran(MainMenu.Items[N].Caption,'&','') = Copy(sAux,1,Pos('#',sAux)-1) then begin
            for M:=0 To MainMenu.Items[N].Count-1 do begin
              if Copy(sAux,Pos('#',sAux)+1,100)=MainMenu.Items[N].Items[M].Caption then begin
                MainMenu.Items[N].Items[M].Enabled := True;
                break;
              end;
            end;
          end;
        end;
        DataModule1.EDBQuery1.Next;
      end;

Aclaro: strtran es una función que tengo para buscar y sustituir, en este caso la uso para que ignore el carácter '&' de los textos de los menús.

Saludos


La franja horaria es GMT +2. Ahora son las 00:07:06.

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