Mascara para o DBedit ou maskedit

Delphi

21/09/2012

Pessoal, estou com algumas dúvidas com relação a máscaras.
Tenho o seguinte campo:
Vlr_contrato = Decimal, 10, 2

Estou usando o DBEDIT com a seguinte instrução no onexit dele:
DBEdit1.Text := FloatToStrF(StrToFloat(DBEdit1.Text), ffNumber,12,2);

Aí eu tenho 2 problemas:
1º - Tenho uma consulta com gbgrid, quando eu movo as teclas de navegação do DBGRID, esse dbedit não aparece formatado.
2º - Caso eu digite o valor 1200,25 aparece o erro: [b]is not a valid BCD value[/b]

Usando o maskedit com a mascara 999.999.99,99. Aí, quando eu vou digitar o valor:
1.200,25 , aparece o erro: [b].1 .200,25 is not a valid BCD value[/b]

Alguém poderia me dar uma dica de como trabalhar com esse tipo de formatação ?

Marcos Barbosa

Marcos Barbosa

Curtidas 0

Respostas

Claudia Nogueira

Claudia Nogueira

21/09/2012

Não precisa formatar nada no DBEdit já que ele já está ligado a um campo com esse tipo de dado.
Vai nos fields do dataset, seleciona o campo e coloca a máscara ###,###,##0.00;-###,###,##0.00 em DisplayFormat.
GOSTEI 0
Pjrm1470

Pjrm1470

21/09/2012

Normalmente esses campos nos TField, apresentam a propriedade EditMask!
Colocando uma mascará no Field, automaticamente qualquer componente "Data Control" já recebe a mascara, sendo DBEdit, DBGrid, etc...
GOSTEI 0
Marcos Barbosa

Marcos Barbosa

21/09/2012

Oh, coloquei no field do clientedataset e vou testar, depois posto o resultado aqui.
GOSTEI 0
Marcos Barbosa

Marcos Barbosa

21/09/2012

A vocês dois um muito obrigado, está funcionando tanto para insert quanto p update.
GOSTEI 0
POSTAR