Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Por Favor


dhyeggo

Pergunta

Boa noite

Gostaria de saber se alguém pode me ajudar... gostaria de fazer o seguinte...

como faço para....

eu vou colocar em uma tela para calculos um combobox onde vai ter alguns produtos cadastrados,

e mais abaixo 10 campos denominados de A até J.

Cada produto da minha combobox vai usar apenas alguns campos, alguns mais outros menos, portanto como faço para que cada veiz que eu selecionar um produto na minha combobox dos 10 campos abaixo ele habilite apenas o que cada item da combobox necessitar o resto fica desabilitado...

alguém pode me ajudar por favor...

grato

att

diego

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Bem, pode ter forma melhor (se tiver postem aí biggrin.gif ), mas se eu entendi direito você pode colocar no OnExit do combobox uma pesquisa SQL que posiciona a tabela no registro do produto em questão, aí é so você testar com IFs se o produto tem aquele campo ou não, se tiver você habilita o enabled do campo se não você desabilita.

Link para o comentário
Compartilhar em outros sites

  • 0

bom, supondo que você realmente utilize os campos de A a J, eu daria estes nomes aos componentes dos campos em questão (p.e. um edit teria o nome CampoA, um segundo CampoB e assim por diante).

Para viabilizar minha proposta, associado a cada produto, haveria um campo chamado (p.e.) CAMPOS_DO_CALCULO(VARCHAR 10) onde estariam indicados os campos que fazem parte do cálculo desejado. Por exemplo, o produto Goiabada teria seu respectivo campo CAMPOS_DO_CALCULO preenchido com 'ABDJ' enquanto que o Marmelada seria 'CDFHI'.

Deste modo, para cada evento OnChange do ComboBox, seria obtido do produto selecionado o respectivo campo CAMPOS_DO_CALCULO e de posse deste faria o seguinte:

procedure Form1.ComboBox1OnChange(...);
var
  Letra :Byte;
  Control :TControl;
begin
...
// obtém o campo CAMPOS_DO_CALCULO aqui
...
  for Letra := Ord('A') to Ord('J') do
  begin
    Control := Form1.FindComponent('Campo'+Char(Letra)) as TControl;
    if Assigned(Control) then
      Control.Enabled := Pos(Char(Letra), CAMPOS_DO_CALCULO) > 0;
  end;
end;

isto funciona, veja se lhe serve.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...