Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marciocorbolan

Problema com mascara

Recommended Posts

Boa tarde,

 

 

Estou querendo fazer algumas mascaras para facilitar o tratamento de dados no meu form, porem não tenho muita experiência com isso, alguém pode me dar uma ajuda?

 

 

Mascará de CPF

 

Atualmente estou utilizando a mascara descrita abaixo.

MaskEdit4.EditMask := '###.###.###-##;0;_';

 

A principio a mascara me atende perfeitamente, mas quando o preenchimento não é feito por completo, ocorre um erro! Por exemplo, se a pessoa não preencher o campo com os 11 dígitos seguinte erro abaixo.

erromascara.th.png

 

O que posso fazer para solucionar o problema?

 

 

 

Mascará de Dinheiro

 

Atualmente estou utilizando a mascara descrita abaixo.

MaskEdit2.EditMask := 'R$ ###,###,##0.00;0;_';

 

A principio a mascara me atende, mas gostaria de uma mascara que aceita-se mais dígitos e que só mostra-se os pontos e vírgulas a medida que fossem precisos. Por exemplo, o campo estando em branco, só e somente a medida que a pessoa for digitando o valor, as vírgulas e pontos irão aparecer. Abaixo vai uma imagem do meu problema atual, antes de ter qualquer valor os pontos e vírgulas já aparecem, além de limitar a quantidade de dígitos.

erromascara2.th.png

 

O que posso fazer para solucionar o problema?

 

 

 

Mascará de Número

 

Atualmente estou utilizando a mascara descrita abaixo.

mskEdtNumero.EditMask := '#;0;_';

 

A principio a mascara me atende, mas gostaria de uma mascara que aceita-se mais dígitos. O que posso fazer para solucionar o problema?

 

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho esta função bobinha que executo no OnExit dos meus campos monetários:

function FormataMonetario(Origem: String): String;
var
 Aux       : String;
 i: Integer;
begin
 Aux   := '';

  for i := 1 to Length(Origem) do
   if (Origem[i] in ['0' .. '9']) then
     Aux := Aux + Origem[i];

 While Length(Aux) < 3 do
   Aux := '0' + Aux;

 Insert(DecimalSeparator, Aux, Length(aux) - 1);

 Result  := 'R$ ' + Aux;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.