Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Shimaru

s RadioButtons

Recommended Posts

Boa tarde Pessoal, quero fazer o seguinte: quero fazer um controle de acesso no programa e para cada modulo colequei um radiobutton e qdo esse radiobutton estiver em checked = true quero que ele insira o nome do caption na tabela Nivel_Acesso, com 1 radiobutton ele funcionou perfeitamente mais quero colocar nesse meu programa 15 Radiobutton, quero saber como faço isso? Para o fucnionamento de 1 radiobutton coloquei o seguinte codigo no botao incluir:

 

if RadioButton1.Checked = True then

begin

Dados.Nivel_Acesso.Append;

Dados.Nivel_Acesso.FieldByname('modulo').AsString := RadioButton1.Caption ;

Dados.Nivel_Acesso.Post;

end;

 

 

Preciso saber se tenho que colocar esse codigo 15 vezes ou tem um jeito mais facil?, mesmo se precisar colocar 15 vezes me ajudem pq só consegui que fazer funcionar com 1!!

 

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Shimaru,

 

com certeza o pessoal vai dar uma melhorada no meu código, mas a solução que eu usaria seria a seguinte:

 

var

iContador: Integer;

begin

for iContador := 0 to ComponentCount -1 do

if Components[iContador] is TRadioButton then

if (Components[iContador] as TRadioButton).Checked then

begin

Dados.Nivel_Acesso.Append;

Dados.Nivel_Acesso.FieldByname('modulo').AsString := (Components[iContador] as TRadioButton).Caption ;

Dados.Nivel_Acesso.Post;

end;

end;

 

É a primeira vez que eu respondo no forum, e espero ter ajudado.

 

Grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Shimaru,

 

com certeza o pessoal vai dar uma melhorada no meu código, mas a solução que eu usaria seria a seguinte:

 

var

iContador: Integer;

begin

for iContador := 0 to ComponentCount -1 do

if Components[iContador] is TRadioButton then

if (Components[iContador] as TRadioButton).Checked then

begin

Dados.Nivel_Acesso.Append;

Dados.Nivel_Acesso.FieldByname('modulo').AsString := (Components[iContador] as TRadioButton).Caption ;

Dados.Nivel_Acesso.Post;

end;

end;

 

É a primeira vez que eu respondo no forum, e espero ter ajudado.

 

Grande abraço.

Obrigado pela ajuda Tico_Beer, sua resposta deu certo sim, ta do jeito que eu quero, só que esqueci de falar que nessa tabela tbm vai o codigo para os modulos que são as 2 primeiras letras no nome dos modulos. Ex: '01 - Cadastro de Clientes' e no meu codigo antigo eu conseguia fazer ele funcionar, mais com esse codigo nao consigo. Ta aqui o codigo antigo:

 

Dados.Nivel_Acesso.FieldByname('modulo').AsString := RadioButton1.Caption ;

Dados.Nivel_Acesso.FieldByname('codmodulo').AsString := Copy(RadioButton1.Caption, 1,2);

Dados.Nivel_Acesso.Post;

 

Peço novamente sua ajuda!!

Abraços...

 

 

Boa Tarde, esse problema citado acima ja resolvi e estou agora com problema de cadastrar dois campos iguais preciso que o programa pegue o codigo do usuario que esta selecionado e o modulo e verifique se essa 'dupla' de informações ja estao cadastradas o codigo ficou assim:

var

iContador: Integer;

begin

for iContador := 0 to ComponentCount -1 do

if Components[iContador] is TRadioButton then

if (Components[iContador] as TRadioButton).Checked then

begin

Dados.Nivel_Acesso.Append;

Dados.Nivel_Acesso.FieldByname('modulo').AsString := (Components[iContador] as TRadioButton).Caption ;

Dados.Nivel_Acesso.FieldByName('codfunc').AsString := Dados.Usuario.FieldByName('coduser').AsString;

Dados.Nivel_Acesso.FieldByname('codmodulo').AsString := Copy(Dados.Nivel_Acesso.FieldByname('modulo').AsString, 1,2);

Dados.Nivel_Acesso.Post;

 

end;

end;

 

Agradeço novamente a ajuda de vcs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.