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ãodesativa 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: 35546 vezes