fazer mascara dinamica com o dbcombobox
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
alguem me ajuda neste codigo
Socrates Foschera
Curtidas 0
Respostas
Marcos Junior
14/06/2020
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...
GOSTEI 0
Socrates Foschera
14/06/2020
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
GOSTEI 0
Marcos Junior
14/06/2020
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...
/*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...
GOSTEI 0