Fórum controle de menu #373899

20/08/2009

0

boa tarde amigos so meio iniciante ainda em delphi e to com uma duvida q nao consigo resolver de geito nenhum....




e o seguinte


estou criando um sitema de comercio onde tenho um formulario principal um formulario de Acesso onde esse Acesso vem de Usuarios= vendedores onde vao acessar o sistema ate ai esta tudo bem

fiz uma tabela detalhe para q seja detalhe da tabela vendedor essa tabela e uma tabela chamada perfil de usuarios onde ela eu tenho os campos
(Nome) onde esse nome eu pego todas as acoes q estao dentro de um ActionManager ligado a um ActionMaiMenuBar e um campo (Permissao) onde onde vao ficar os Valores S ou N referente ao nome da acao do menu ate ai consegui fazer o codigo q é o seguinte;



var
i: integer;

begin

for i:=1 to pred (fprincipal.acao.ActionCount) do
begin
with datasource3.DataSet do
begin

append;
FieldByName (´nome´).AsString:= (fprincipal.acao.Actions[i].Name);
FieldByName (´permissao´).AsString:= ´F´;
post;

aki carrego valores da acao e ponho tudo pra F para aparecer tudo desabilitado

gostaria de saber como faço no formulario princiapal ele verificar na tabela perfil a ação pelo nome e se o campo permissao estiver em F ele desabilitar aquela ação dentro do actionManager e no caso se For S ele deixar Habilitado isso nao to conseguindo implementar

logo de Antemao nao quero usar o tal Componente UserControl queria saber o codigo ou alguma ideia posso ate usar user control mas assim nunca vo ser um progrador de verdade ja q estou em faze de iniciamento ainda

agradeço a qualquer atenção


Keliniciante

Keliniciante

Responder

Posts

20/08/2009

Facc

pelo que eu entendi vc quer um controle do que o usuário pode ou não pode acessar. Se for isso, aconselho usar o UserControl, ele faz tudo isso e muito mais e o melhor, é FREE!

O site do componente [url]www.usercontrol.net[/url]


Responder

Gostei + 0

20/08/2009

Keliniciante

no final o texto ta escrito q eu nao quero usar o componente user control amigo


Responder

Gostei + 0

20/08/2009

Facc

então vc quer reinventar a roda...

[url]http://www.linhadecodigo.com.br/Artigo.aspx?id=822[/url]

tem um outro componente, mas te dou uma dica... opte por soluções que facilitam sua vida.


Responder

Gostei + 0

20/08/2009

Keliniciante

pelo meu projeto ja ter cadastro de usuarios q sao os Vendedores do sistema q ja estao ligados ao contas a Pagar no sistema entre mestre e detalhe entao se eu for usar o user control eu vo ter que desmanchar coisas q ja estao pronta ai fica mais complicado etendeu amigo


Responder

Gostei + 0

20/08/2009

Martins

no final o texto ta escrito q eu nao quero usar o componente user control amigo


Como está seu código?

vc poderia acrescentar a ele algo como:
ActionManager1.Action4.Enabled:= False;


Não testei esse código, mas é uma idéia e vc poderia ver o que consegue.

Qualquer coisa, retorne aqui.

Boa sorte e bons códigos.


Responder

Gostei + 0

20/08/2009

Martins

no final o texto ta escrito q eu nao quero usar o componente user control amigo


Como está seu código?

vc poderia acrescentar a ele algo como:
ActionManager1.Action4.Enabled:= False;


Não testei esse código, mas é uma idéia e vc poderia ver o que consegue.

Qualquer coisa, retorne aqui.

Boa sorte e bons códigos.


Responder

Gostei + 0

21/08/2009

Osocram

Olha.. eu ja fiz algo parecido a algum tempo atras.

Fiz uma tela de segurança no meu sistema....
Dae por exemplo fiz uma rotina que trazia todas as telas abertas do sistema, dae eu verificava se tinha ou não no meu segurança... e perguntava se o usuario queria cadastrar ou atualizar.

Ao selecionar o formulario tinha uma funçao que pegava todos os TActionList do form (pegava o Nome, Caption); geralmente o caption era p facilicar a vida do usuario p saber qual action era aquilo.. então sempre deixava caption ´entendivel´.

Dae no evento ONUpdate do ActionList eu disparava uma função que fazia um select no banco trazendo aquele tela, os action e eu setava .enable true ou false.

Não sei se ficou claro.
Tbm não sei se respondi a sua pergunta.

Ja adiantando essas rotias eu perdi numa formatação
:(
Incluisive iria precisar dele p um projeto novo.. e vou ter q refazer novamente


Responder

Gostei + 0

24/08/2009

Keliniciante

OPA PESSOA MUITAS VEZES REPOSTAS TEORICAS AJUDAM BASTATE MAS MUITAS DAS VEZES NAO SE RESOLVE
O Q SE RESOLVE DE VERDADE E CODIGO DENTRO DA LOGICA EM QUE VALE A PERGUNTA


DEPOIS DE MUITO QUEBRAR A CABEÇA ESTA AKI


dataset.first;
while not dataset.eof do begin
TAction(FindComponent( dataset.FieldByName(´nome´).AsString )).enabled := (dataset.FieldByName(´nome´).AsString = ´V´);
dataset.next;


NO ONSHOW DO FORMULARIO FAZ COM Q BLOQUEIE ACOES Q NAO ESTEJAM COM V NO CASO O F

MESMO ASSIM VALEU A ATENÇÃO DE VOCES


Responder

Gostei + 0

24/08/2009

Fabiojt

Fiz algo parecido usando o logida da video aula do Rodrigo Carreiro, https://www.devmedia.com.br/cursos/listcurso.asp?curso=117 (Sistema de login e permissão)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar