Duvida um pouco simples sobre Delphi
Sou novo aqui no fórum, não consegui encontrar um post com a minha duvida, mas se houver alguma e eu nao tenha achado, me desculpe.
Meu problema é o seguinte, sou iniciante no delphi e estou criando um pequeno cadastro, nele tenho um ComboBox de tipo de pessoa com duas opções: Física e Jurídica, eu ocultei (o box do visible deixei false) os campos como RG, CPF, Data de nascimento, sexo, IE, CNPJ, razao social e os labels. Eu quero que quando eu clicar em fisica ele mostre os respectivos campos de pessoa fisica (RG, CPF, Data de nascimento, sexo) e juridica os respectivos campos de juridica (IE, CNPJ, razao social). Se alguem puder me ajudar eu fico muito agradecido.
segue o codigo que eu estava tentando usar:
begin
if
ComboBox1.Items.IndexOf('Física')
DBEdit3.Visible := True;
DBEdit5.Visible := True;
DBEdit6.Visible := True;
DBEdit9.Visible := True;
Label5.Visible := True;
Label6.Visible := True;
Label3.Visible := True;
Label9.Visible := True;
else if
ComboBox1.Items.IndexOf('Jurídica')
DBEdit7.Visible := True;
DBEdit8.Visible := True;
Label7.Visible := True;
Label8.Visible := True;
end;
lembrando que nao esta dando certo ele da alguns erros um deles é "E2012 Type of expression must be BOOLEAN"
Meu problema é o seguinte, sou iniciante no delphi e estou criando um pequeno cadastro, nele tenho um ComboBox de tipo de pessoa com duas opções: Física e Jurídica, eu ocultei (o box do visible deixei false) os campos como RG, CPF, Data de nascimento, sexo, IE, CNPJ, razao social e os labels. Eu quero que quando eu clicar em fisica ele mostre os respectivos campos de pessoa fisica (RG, CPF, Data de nascimento, sexo) e juridica os respectivos campos de juridica (IE, CNPJ, razao social). Se alguem puder me ajudar eu fico muito agradecido.
segue o codigo que eu estava tentando usar:
begin
if
ComboBox1.Items.IndexOf('Física')
DBEdit3.Visible := True;
DBEdit5.Visible := True;
DBEdit6.Visible := True;
DBEdit9.Visible := True;
Label5.Visible := True;
Label6.Visible := True;
Label3.Visible := True;
Label9.Visible := True;
else if
ComboBox1.Items.IndexOf('Jurídica')
DBEdit7.Visible := True;
DBEdit8.Visible := True;
Label7.Visible := True;
Label8.Visible := True;
end;
lembrando que nao esta dando certo ele da alguns erros um deles é "E2012 Type of expression must be BOOLEAN"
Silvio Souza
Curtidas 0
Melhor post
Mateus Ribeiro
01/07/2016
Boa tarde!
Está mais ou menos correto. Quase lá!
Tente isso, no evento OnChange do deu ComboBox, coloque:
Existe algumas maneiras mais dinâmicas e visualmente mais profissionais (ao meu ver) para resolver o problema... Porém seguindo seu método, creio que isso resolva.
Boa sorte!
Está mais ou menos correto. Quase lá!
Tente isso, no evento OnChange do deu ComboBox, coloque:
Case ComboBox1.ItemIndex Of
0:begin
// Mostra os componentes referente a FÍSICO
DBEdit3.Visible := True;
DBEdit5.Visible := True;
DBEdit6.Visible := True;
DBEdit9.Visible := True;
Label5.Visible := True;
Label6.Visible := True;
Label3.Visible := True;
Label9.Visible := True;
// Oculta os componentes referente a JURÍDICO
DBEdit7.Visible := False;
DBEdit8.Visible := False;
Label7.Visible := False;
Label8.Visible := False;
end;
1:begin
// Mostra os componentes referente a JURÍDICO
DBEdit7.Visible := True;
DBEdit8.Visible := True;
Label7.Visible := True;
Label8.Visible := True;
// Oculta os componentes referente a FÍSICO
DBEdit3.Visible := False;
DBEdit5.Visible := False;
DBEdit6.Visible := False;
DBEdit9.Visible := False;
Label5.Visible := False;
Label6.Visible := False;
Label3.Visible := False;
Label9.Visible := False;
end;
end;
Existe algumas maneiras mais dinâmicas e visualmente mais profissionais (ao meu ver) para resolver o problema... Porém seguindo seu método, creio que isso resolva.
Boa sorte!
GOSTEI 1
Mais Respostas
Silvio Souza
01/07/2016
Muito Obrigado! Deu super certo, realmente quem manja é outra coisa né hahaha, obrigado msm e boa tarde
GOSTEI 1