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

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

Aceitar