editando valor.

Delphi

13/07/2005

Boa Noite.

Vou torrar a paciencia de vocês mais um pouco... :lol:

Vou editar um valor no exit do campo desta maneira.
edtValor.Text:= FormatFloat(´R$ #,0.00´, (StrToFloat(edtValor.Text)));

Até ai tudo bem...

Mas se o usuário digitar uma virgula ?
vai dar erro...

ou se ele digitar 050 ?

vai aparecer 5,00.

Deu para entender ?

ele vai precisar digitar a virgula....


Tem como o usuário não precisar digitar a virgula, ou melhor ele não poder digitar ponto ou virgula e o valor ser editado corretamente no exit do campo.


Obrigado


Lynx

Lynx

Curtidas 0

Respostas

Marcusbraga

Marcusbraga

13/07/2005

Se não me engano ele só da se voce digitar o ponto


o que voce pode fazer é colocar no evento

onkeypress

if key in [´0´..´9´,´,´ ,#8] then
key := key
else
key := 0;

isso só permite que voce digite

numeros de 0 a 9, a virgula e o backspace


GOSTEI 0
Lynx

Lynx

13/07/2005

mas se ele digitar exemplo:


2,44,4,4 da pau...

tem como validar isso ?
para ele n precisar digitar a virgula.

Exemplo:
050 = 0,50

etc


GOSTEI 0
Lynx

Lynx

13/07/2005

o que eu precisava, é que no onenter do campo deseditar o valor...
pq quando sai e já estiver com virgula da pau...


GOSTEI 0
Marcusbraga

Marcusbraga

13/07/2005

A virgula não da pau, o ponto é que da e voce pode usar a mesma função

texttocurr

antes de formatar o valor

ex:

no on exit

converte:= texttocurr(edit1.text);
edit1.text := formatfloat(´R$ #,0.00´, converte);


GOSTEI 0
Marcusbraga

Marcusbraga

13/07/2005

esse negócio de ele formatar sozinho não tem como

se fosse 050 e saisse 0,50 até teria como fazer uma função pra isso
mas em outro valor tipo 35535 le poderia interpretar de varias formas

35.535,00 ou 3553,50 ou 355,35 como ele saberia onde colocar a virgula seria muito complicado o que voce pode fazer

voce poderia fazer isso

no evento onexit

try
converte:= texttocurr(edit1.text);
edit1.text := formatfloat(´R$ #,0.00´, converte);
except
Showmessage(´ Valor inválido!!´);
end;


GOSTEI 0
Lynx

Lynx

13/07/2005

o pau que eu refiro, é quando sai do campo e o valor já estiver editado com virgula...

e se o cara digitar virgula errado etc...

da muito pau


GOSTEI 0
POSTAR