validando campo para não dar erro.
Bom Dia...
Não consegui descobrir ainda uma maneira para não acontecer um erro no exit do campo.
Exemplo:
No On exit do campo eu edito o valor digitado desta forma..
edtValor.Text:= FormatFloat(´R$ #,0.00´, (StrToFloat(edtValor.Text)));
E na hora de inserir eu tiro o ponto.
Funciona uma beleza!
Mas no exit do edtValor.text se o usuário digitar o valor, e voltar para o campo da pau.
Diz que nao é um valor Float etc...
Outra coisa se o usuário digitar 10,,0,0,0 da erro.
Ou seja depende do usuário colocar certo o valor!
Isso eu não queria.
Preciso de uma maneira para editar o valor da maneira correta mesmo o usuário querendo errar o valor...
Ou seja, para não acontecer o erro, de maneira alguma!
obrigado.
Não consegui descobrir ainda uma maneira para não acontecer um erro no exit do campo.
Exemplo:
No On exit do campo eu edito o valor digitado desta forma..
edtValor.Text:= FormatFloat(´R$ #,0.00´, (StrToFloat(edtValor.Text)));
E na hora de inserir eu tiro o ponto.
Funciona uma beleza!
Mas no exit do edtValor.text se o usuário digitar o valor, e voltar para o campo da pau.
Diz que nao é um valor Float etc...
Outra coisa se o usuário digitar 10,,0,0,0 da erro.
Ou seja depende do usuário colocar certo o valor!
Isso eu não queria.
Preciso de uma maneira para editar o valor da maneira correta mesmo o usuário querendo errar o valor...
Ou seja, para não acontecer o erro, de maneira alguma!
obrigado.
Lynx
Curtidas 0
Respostas
Arc
14/07/2005
Tenta isso
edtValor.text := formatfloat(´#,0.00´,StrToFloat(StringReplace(edtValor.text, ´.´, ´´, [rfReplaceAll])));
Espero ter ajudado
edtValor.text := formatfloat(´#,0.00´,StrToFloat(StringReplace(edtValor.text, ´.´, ´´, [rfReplaceAll])));
Espero ter ajudado
GOSTEI 0
Lynx
14/07/2005
realmente funcionou!!
Muito Obrigado.
Mas só uma dúvida, eu sei que ninguém vai cadastrar um valor 0,75.
Mas tem como usar isso e conseguir cadastrar este valor...
porque nao vai poder digitar a virgula e se colocar, 075 vai para 75 reais.
Muito Obrigado.
Mas só uma dúvida, eu sei que ninguém vai cadastrar um valor 0,75.
Mas tem como usar isso e conseguir cadastrar este valor...
porque nao vai poder digitar a virgula e se colocar, 075 vai para 75 reais.
GOSTEI 0
Lynx
14/07/2005
é porque no evento onkeypress eu coloco isso.
if key in [´0´..´9´,#8] then
key := key
else
key := 0;
para o cara somente numeros.
Se eu deixo digitar virgula, com a dica que você escreveu vai dar erro se ele digitar (2 virgulas juntas) ,, etc...
if key in [´0´..´9´,#8] then
key := key
else
key := 0;
para o cara somente numeros.
Se eu deixo digitar virgula, com a dica que você escreveu vai dar erro se ele digitar (2 virgulas juntas) ,, etc...
GOSTEI 0
Arc
14/07/2005
if key in [´0´..´9´,#8] then
key := key
else
key := 0;
if key in [´0´..´9´,8,´,´]then
key := key
else
key := 0;
Digita os valores sem ponto
Digite a ´,´ somente se tiver decimal
GOSTEI 0
Lynx
14/07/2005
já funcionou valeu..
tratei o erro com try tb...
obrigado
tratei o erro com try tb...
obrigado
GOSTEI 0