Shimaru 0 Denunciar post Postado Janeiro 14, 2008 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
Tico_Beer 0 Denunciar post Postado Janeiro 14, 2008 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
Shimaru 0 Denunciar post Postado Janeiro 15, 2008 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