PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Cadastro de Operadores do Sistema #368255

08/02/2009

0

Olá,

Estou fazendo um módulo para cadastro de operadores no sistema, onde cada operador receberá níveis diferentes de poder para cada um dos módulos que compõe o sistema.

Entre outros campos, na tabela CadOperadores, existem os campos CAD_CLIENTES, CAD_FORNECEDORES, VENDAS, LCTO_CAIXA e RELATORIOS. São do tipo integer;

A idéia é que no programa, haja uma interface para que, ao se cadastrar um operador, possa se atribuir nível 1 ou nível 2 a cada um dos campos acima.

Estou desenvolvendo a interface da seguinte forma: coloquei dois TlistBox. No primeiro, tem os seguintes ´Items´ inseridos: Cadastro de Clientes, Cadastro de Fornecedores, Vendas de Produtos, Lançamentos no Livro Caixa e Relatórios. O segundo não está em branco.

Existem botões permitindo que cada uma desses ´Items´ possam ser movidos do ListBox1 para o ListBox2 ou vice-versa.

Ao clicar no botão ´Gravar´ deve haver uma rotina que verifique onde está cada ´Items´. Se, por exemplo, ´Lançamentos do Livro Caixa´ estiver no ListBox1, o campo LCTO_CAIXA da tabela CadOperadores := 1; se estiver ListBox2, o campo LCTO_CAIXA da tabela CadOperadores := 2.

A dúvida é: como fazer isso, ou seja, verificar onde cada ´Items´ está e gravar o respectivo valor na tabela?

Até o momento a única idéia que me veio, seria:

For I := 0 to ListBox1.Items.Count-1 do
if ListBox1.Items[I] = ´Lançamentos do Livro Caixa´ then
CDSOperadores.FieldByName(´LCTO_CAIXA´).asInteger := 1
else
CDSOperadores.FieldByName(´LCTO_CAIXA´).asInteger := 2;

Até que funcionaria, mas me parece um pouco trabalhoso demais. Será que não há uma maneira mais simples de se fazer essa rotina.
Lembro que citei apenas 5 campos da tabela, mas na verdade são mais 50 e também quero fazer 3 níveis. Aí seriam 3 TListBox. Fazer esses ´IFs´ para cada campo e um for para cada TListBox?

Qualquer dica ajuda.
Obrigado


Armindo

Armindo

Responder

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

Aceitar