fazer mascara dinamica com o dbcombobox

14/06/2020

0

bom dia estou desenvolvendo um sistema e quero que ao escolher no bdcombobox a pessoa fisica ou juridica e coloca em um dbedit a mascara de cnpj quando escolher o juridico e a mascara de cpf quando escolher o fisica

alguem me ajuda neste codigo
Socrates Foschera

Socrates Foschera

Responder

Posts

17/06/2020

Marcos Junior

Bom dia, Socrates Foschera você já tentou ir nos eventos onGEt e onSet do componente que está lincado ao seu dbCombobox e colocar a mudança da mascara dinamicamente devido com a escolha ou como a informação venha da sua base de dados? Vai lá e tenta que vai da certo e depois nos da um feedback aqui...
Responder

17/06/2020

Socrates Foschera

Bom dia, Socrates Foschera você já tentou ir nos eventos onGEt e onSet do componente que está lincado ao seu dbCombobox e colocar a mudança da mascara dinamicamente devido com a escolha ou como a informação venha da sua base de dados? Vai lá e tenta que vai da certo e depois nos da um feedback aqui...

preciso colocar em um case ou if?
como ficaria o codigo
Responder

18/06/2020

Marcos Junior

Bom dia...

/*Exemplo real desta manipulação*/

procedure TDM_Cad.ApolloTabEventosDOSCODTCEPEGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
if (Sender.AsString = '900001') then
Text := 'Vencimento base/Soldo'
else if (Sender.AsString = '900002') then
Text := 'Subsídio'
else if (Sender.AsString = '900003') then
Text := 'Proventos pela média das remunerações'
else if (Sender.AsString = '900005') then
Text := 'Complemento para pagamento de piso'
else if (Sender.AsString = '910001') then
Text := 'Desconto previdenciário';
end;

obs.: Ao verificar o valor do "Sender" que é a informação vinda da minha base de dados eu insiro uma valor no "Text" que será exibido em tela.

procedure TDM_Cad.ApolloTabEventosDOSCODTCEPESetText(Sender: TField; const Text: string);
begin
if (Text = 'Vencimento base/Soldo') then
Sender.AsString := '900001'
else if (Text = 'Subsídio') then
Sender.AsString := '900002'
else if (Text = 'Proventos pela média das remunerações') then
Sender.AsString := '900003'
else if (Text = 'Complemento para pagamento de piso') then
Sender.AsString := '900005'
else if (Text = 'Desconto previdenciário') then
Sender.AsString := '910001';
end;

obs.: Ao verificar o valor do "Text" que é a exibida na minha tela/forme eu passo um valor para o "Sender" e esse valor será salvo na minha base de dados.

- Você pode seguir o mesmo principio, no GET quando a informação vier do banco você verifica se é pessoa fisica ou juridica e coloca a mascara correta em runtime e quando
você for inserir alguma informação você faz a mesma coisa para colocar a mascara correta. Em vez de você manipular a informação que seerá passada você vai mudar a mascara
que será recebida pelo seu componente DBEdt. Só lembrando que o DBEdit não tem a propriedade EditMask, isso veem do field com componente que recebe as informações, seja sua
query, clientdataset ou etc...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar