Buscar

Usercontrol - componentes - ucidle e uccontrol - parte 3

nome

Exio

Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.

Apresentação

    Baixe o código fonte completo do exemplo clicando aqui.

    Nessa parte de nosso tutorial, veremos dois novos componentes: UCIdle e UCControl,   naturalmente, os dois componentes estão presentes na paleta UCMain. O que faz cada um? O UCIdle controla o tempo que a aplicação fica inativa e o segundo componente, o UCControl é usado para definir quais controles um usuário poderá acessar num form que pode ou não ser o principal.

1 - UCIdle

    Adicione um componente UCIdle no datamodule. Uma coisa interessante é que esse componente não exige muitas configurações, ele é muito parecido com um componente Timer. No Object Inspector, defina a propriedade UserControl do componente UCIdle para ucMyControl; e a propriedade TimeOut defina um valor qualquer - eu estou definindo como exemplo, o valor 15000. O tempo é contado da mesma forma quando adicionamos um componente Timer na aplicação - para cada mil, um segundo. O que acontece quando adicionamos esse componente em nossa aplicação? Ele ficará contando o período de inatividade da aplicação, caso o tempo decorra sem qualquer interferência do usuário, a janela de login é chamada novamente.
    Um detalhe importante deve ser apresentado, esse componente não desativa
a conexão com o banco de dados, simplesmente, "desloga" o usuário, exigindo um novo login na aplicação. Esse é um daqueles componentes com bastante relevância. Ambientes com muitos usuários, exigem uma responsabilidade no registro de dados das aplicações. Ao saírem para almoço ou um lanche e ficarem logados, qualquer pessoa pode alterar dados sem o responsável saber, esse componente acaba com o problema de manter os usuários durante o perído integral de trabalho, logados no sistema.
    Compile e execute o nosso pequeno sistema; depois de se logar, não toque mais no
mouse. Aguarde a passagem do tempo e veja o que acontece.



UCIdle - Inserido no DataModule de nosso sistema



Propriedades do componente UCIdle - Simples e Rápido

    Não há muito o que se falar do UCIdle, ele simplesmente tem uma função bem definida. Verifica se o usuário está usando a aplicação, se não estiver, desloga o usuário. É interessante ressaltar também que, você pode encerrar a conexão com o banco de dados no evento onLogOff do componente UserControl. Se a sua apicação fica realizando testes de conexão e de mensagens, isso contribuirá enormemente para a diminuição do tráfego.

2 - UCControl

   O UCControl é um componente mais especializado, a sua principal função é criar
direitos de acessos em form's. Quando adicionado em um form, é permitido ao desenvolvedor, selecionar componentes que poderão ter o acesso controlado. Um exemplo simples e claro seria: um botão de imprimir poderia estar habilitado para um usuário x e não habilitado para o usuário y.

2.1 - Exemplo de controle de objetos em um form de nossa aplicação

    Adicione um novo Form em nosso exemplo. Adicione quatro botões, três checkbox e um componente UCControl. Salve o form. Deixe parecido com os da figura abaixo:



   Vamos informar que o form2 deverá usar o datamodule (pressione SHIFT + F11). Não esqueça de fazer a chamada ao Form2 através do item de menu principal. Escolha qualquer um dos itens existente no menu Cadastro. Eu fiz o link com a opção Bancos. Clique
sobre o componente UCControl e no Object Inspector definas as propriedades como:

GroupName : Segundo Form - UCControl
UserControl : dmUC.ucMyControl

    A propriedade NotAllowed quando definida para naInvisible, faz com que os componetes que o usuário não tem direito de acesso fiquem invisíveis. Se definida para naDisable, os controles ficam desabilitados.


    
    Dê dois cliques sobre o componentes UCControl, ou se preferir, poderá clicar na
propriedade Components e em seguida, pressionar o botão de retiscências para que a janela de seleção de componentes seja aberta.



   A janela de Seleção de Componentes do Form torna-se disponível - Disponível somente
em tempo de projeto. Nessa janela, iremos selecionar os componentes que sofrerão restrição quando a aplicação estiver sendo executada.



  Voltando ao nosso exemplo. Selecione todos os componentes ou aqueles que desejar e
transfira-os para a lista de componentes selecionados. Para confirmar as modificações pressione o botão Ok. Feito isso, parece que nada ocorreu de espetacular em nosso pequeno sistema. Porém, você terá uma surpresa. Compile nosso aplicativo e execute-o. Em tempo de execução, acesse a janela de Cadastro de Usuarios. Selecione um usuário e pressione no botão Acessos. Na janela de Permissões de Usuário, você terá além da opção Itens de Menu a opção Controles. Defina os direitos do usuário de acordo com a sua vontade. Em seguida, faça o login com o usuário para o qual foram definidas as novas restrições de acesso.




Definindo o acesso para a usuária "pintinha"




Acesso ao Segundo Form com o login da usuária "pintinha". UCControl teve a propriedade NotAllowed definida para naDisabled

   Aguardem um pouco mais que já estamos finalizando esse passeio pelo mundo dos controles de usuários.

Abraços - Exio

Publicidade

Vote no artigo




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes do artigo

Categoria: Componentes
Adicionado dia: 25/03/07
Por: Exio
Visualizado: 32012 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009